Update MIDI clip duration calculations using loopDuration instead of bar counts
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
} from '../../../types/types';
|
||||
import { EFFECTS } from '../../constants';
|
||||
import abletonTransformer, {
|
||||
AblArrangementSection,
|
||||
AblClip,
|
||||
AblGroupLane,
|
||||
AblScene,
|
||||
@@ -305,13 +306,9 @@ async function buildMidiClip(
|
||||
const midiClipTemplate = await loadTemplate<ALSMidiClip>('midiClip', abletonVersion);
|
||||
const midiClip = structuredClone(midiClipTemplate.MidiClip);
|
||||
|
||||
const beats = getQuarterNotesPerBar(
|
||||
koClip.timeSignature.numerator,
|
||||
koClip.timeSignature.denominator,
|
||||
);
|
||||
const time = koClip.offset * beats;
|
||||
const time = koClip.offset;
|
||||
const start = time;
|
||||
const end = time + koClip.sceneBars * beats;
|
||||
const end = time + koClip.duration;
|
||||
|
||||
midiClip['@Id'] = clipIdx;
|
||||
midiClip['@Time'] = time;
|
||||
@@ -319,12 +316,12 @@ async function buildMidiClip(
|
||||
midiClip.CurrentEnd['@Value'] = end;
|
||||
midiClip.Loop.LoopOn['@Value'] = 'true';
|
||||
midiClip.Loop.LoopStart['@Value'] = 0;
|
||||
midiClip.Loop.LoopEnd['@Value'] = koClip.bars * beats;
|
||||
midiClip.Loop.LoopEnd['@Value'] = koClip.loopDuration;
|
||||
if (midiClip.Loop.OutMarker) {
|
||||
midiClip.Loop.OutMarker['@Value'] = koClip.bars * beats;
|
||||
midiClip.Loop.OutMarker['@Value'] = koClip.loopDuration;
|
||||
}
|
||||
midiClip.Loop.HiddenLoopStart['@Value'] = 0;
|
||||
midiClip.Loop.HiddenLoopEnd['@Value'] = koClip.bars * beats;
|
||||
midiClip.Loop.HiddenLoopEnd['@Value'] = koClip.loopDuration;
|
||||
setColorValue(midiClip, color);
|
||||
midiClip.Name['@Value'] = koClip.sceneName;
|
||||
midiClip.TimeSignature.TimeSignatures.RemoteableTimeSignature.Numerator['@Value'] =
|
||||
@@ -335,7 +332,7 @@ async function buildMidiClip(
|
||||
if (clipForLauncher) {
|
||||
midiClip['@Time'] = 0;
|
||||
midiClip.CurrentStart['@Value'] = 0;
|
||||
midiClip.CurrentEnd['@Value'] = koClip.bars * beats;
|
||||
midiClip.CurrentEnd['@Value'] = koClip.loopDuration;
|
||||
}
|
||||
|
||||
// ableton group notes
|
||||
|
||||
Reference in New Issue
Block a user