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;
|
let offset = 0;
|
||||||
|
|
||||||
scenes.forEach((scene, sceneIndex) => {
|
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 = {
|
const dawScene: DawScene = {
|
||||||
name: customSceneNames[scene.name] || scene.name,
|
name: customSceneNames[scene.name] || scene.name,
|
||||||
clipSlot: [],
|
clipSlot: [],
|
||||||
@@ -113,7 +117,7 @@ function dawProjectTransformer(data: ProjectRawData, exporterParams: ExporterPar
|
|||||||
sceneBars,
|
sceneBars,
|
||||||
sceneIndex,
|
sceneIndex,
|
||||||
sceneName: customSceneNames[scene.name] || scene.name,
|
sceneName: customSceneNames[scene.name] || scene.name,
|
||||||
sceneTimeSignature: data.scenesSettings.timeSignature,
|
sceneTimeSignature: scene.timeSignature,
|
||||||
});
|
});
|
||||||
|
|
||||||
dawScene.clipSlot.push({
|
dawScene.clipSlot.push({
|
||||||
|
|||||||
@@ -26,7 +26,11 @@ function midiTransformer(data: ProjectRawData, exporterParams: ExporterParams) {
|
|||||||
) * TICKS_PER_BEAT;
|
) * TICKS_PER_BEAT;
|
||||||
|
|
||||||
scenes.forEach((scene) => {
|
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) => {
|
scene.patterns.forEach((pattern) => {
|
||||||
let track = midiTracks.find((t) => t.padCode === pattern.pad);
|
let track = midiTracks.find((t) => t.padCode === pattern.pad);
|
||||||
if (!track) {
|
if (!track) {
|
||||||
|
|||||||
@@ -42,7 +42,11 @@ export function reaperTransform(data: ProjectRawData, exporterParams: ExporterPa
|
|||||||
let offset = 0;
|
let offset = 0;
|
||||||
|
|
||||||
scenes.forEach((scene, sceneIndex) => {
|
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) => {
|
scene.patterns.forEach((pattern) => {
|
||||||
let track = tracks.find((c) => c.padCode === pattern.pad);
|
let track = tracks.find((c) => c.padCode === pattern.pad);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user