Update scene bar calculation to include pattern events
This commit is contained in:
@@ -61,7 +61,11 @@ function dawProjectTransformer(data: ProjectRawData, exporterParams: ExporterPar
|
||||
let offset = 0;
|
||||
|
||||
scenes.forEach((scene, sceneIndex) => {
|
||||
const sceneBars = Math.max(...scene.patterns.map((p) => p.bars));
|
||||
const sceneBars = Math.max(
|
||||
1,
|
||||
...scene.patterns.map((pattern) => pattern.bars),
|
||||
...Object.values(scene.patternEvents).map((pattern) => pattern?.bars || 0),
|
||||
);
|
||||
const dawScene: DawScene = {
|
||||
name: customSceneNames[scene.name] || scene.name,
|
||||
clipSlot: [],
|
||||
@@ -113,7 +117,7 @@ function dawProjectTransformer(data: ProjectRawData, exporterParams: ExporterPar
|
||||
sceneBars,
|
||||
sceneIndex,
|
||||
sceneName: customSceneNames[scene.name] || scene.name,
|
||||
sceneTimeSignature: data.scenesSettings.timeSignature,
|
||||
sceneTimeSignature: scene.timeSignature,
|
||||
});
|
||||
|
||||
dawScene.clipSlot.push({
|
||||
|
||||
@@ -26,7 +26,11 @@ function midiTransformer(data: ProjectRawData, exporterParams: ExporterParams) {
|
||||
) * TICKS_PER_BEAT;
|
||||
|
||||
scenes.forEach((scene) => {
|
||||
const sceneMaxBars = Math.max(...scene.patterns.map((p) => p.bars));
|
||||
const sceneMaxBars = Math.max(
|
||||
1,
|
||||
...scene.patterns.map((pattern) => pattern.bars),
|
||||
...Object.values(scene.patternEvents).map((pattern) => pattern?.bars || 0),
|
||||
);
|
||||
scene.patterns.forEach((pattern) => {
|
||||
let track = midiTracks.find((t) => t.padCode === pattern.pad);
|
||||
if (!track) {
|
||||
|
||||
@@ -42,7 +42,11 @@ export function reaperTransform(data: ProjectRawData, exporterParams: ExporterPa
|
||||
let offset = 0;
|
||||
|
||||
scenes.forEach((scene, sceneIndex) => {
|
||||
const sceneBars = Math.max(...scene.patterns.map((p) => p.bars));
|
||||
const sceneBars = Math.max(
|
||||
1,
|
||||
...scene.patterns.map((pattern) => pattern.bars),
|
||||
...Object.values(scene.patternEvents).map((pattern) => pattern?.bars || 0),
|
||||
);
|
||||
scene.patterns.forEach((pattern) => {
|
||||
let track = tracks.find((c) => c.padCode === pattern.pad);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user