Update export options to include keeping unused patterns

This commit is contained in:
2026-07-14 09:26:17 +02:00
parent 73061663f5
commit 048dde39b5
4 changed files with 13 additions and 7 deletions

View File

@@ -105,16 +105,17 @@ function useExportProject() {
const exportFn = await getExporterFn(format);
const filteredData = filterScenes(projectRawData, exporterParams);
const exportData =
format === 'ableton' ? projectRawData : filterScenes(projectRawData, exporterParams);
const customSceneNames = getCustomSceneNames(
projectId,
filteredData.scenes.map((s) => s.name),
exportData.scenes.map((s) => s.name),
);
const result = await exportFn(
projectId,
filteredData,
exportData,
(stat: ExportStatus) => {
setPercentage(stat.progress);
setPendingStatus(stat.status);

View File

@@ -110,10 +110,10 @@ function ExportOptions({ disabled = false }: { disabled?: boolean }) {
helperText="Export all samples and create tracks for all pads with assigned samples, even if they are not used in patterns"
/>
<CheckboxField
name="clips"
title="Session clips instead of arrangements"
name="keepUnusedPatterns"
title="Keep unused patterns"
disabled={disabled}
helperText="Export as session clips for live performance."
helperText="Add group patterns that are not assigned to any scene as extra Session rows. They will not be added to the Song Arrangement."
/>
<CheckboxField
name="groupTracks"

View File

@@ -23,7 +23,9 @@ function sanitizeFileName(value: string): string {
}
const NOTES: Record<ExportFormatId, string> = {
ableton: `When samples are included, suitable single-pitch pads are automatically organized into Drum Racks, while chromatic or expressive pads remain on separate MIDI tracks. Recorded fader automation is exported for LVL, PTC, LPF, HPF, FX, ATK, REL, PAN, TUNE, VEL and MOD. Choke groups work between pads in the same Drum Rack. TIM automation, the EP effects and stretching algorithms remain approximations.`,
ableton: `Every genuine EP scene is exported to Session View. When the project has an authored EP Song, it is additionally laid out in Arrangement View. The device's default one-position Scene 1 state is treated as no authored Song, so it leaves Arrangement View empty.
When samples are included, suitable single-pitch pads are automatically organized into Drum Racks, while chromatic or expressive pads remain on separate MIDI tracks. Recorded fader automation is exported for LVL, PTC, LPF, HPF, FX, ATK, REL, PAN, TUNE, VEL and MOD. Choke groups work between pads in the same Drum Rack. TIM automation, the EP effects and stretching algorithms remain approximations.`,
dawproject: `Unfortunately, the DAWproject format does not currently support the "Sampler" instrument, so you will need to manually assign the samples in your DAW.`,
midi: `The simplest format supported by any DAW. But you have to assign the samples manually.`,
reaper: `Only basic sampler features are supported`,
@@ -46,6 +48,7 @@ function ExportProjectDialog({
projectName: `Project${projectId}`,
includeArchivedSamples: true,
exportAllPadsWithSamples: false,
keepUnusedPatterns: true,
clips: false,
groupTracks: true,
drumRackGroupA: false,

View File

@@ -14,6 +14,7 @@ export const exportFormSchema = z.object({
projectName: z.string(),
includeArchivedSamples: z.boolean(),
exportAllPadsWithSamples: z.boolean(),
keepUnusedPatterns: z.boolean(),
clips: z.boolean(),
groupTracks: z.boolean(),
drumRackGroupA: z.boolean(),
@@ -32,6 +33,7 @@ export const PERSISTED_FIELDS: (keyof ExportFormValues)[] = [
'abletonVersion',
'includeArchivedSamples',
'exportAllPadsWithSamples',
'keepUnusedPatterns',
'clips',
'groupTracks',
'drumRackGroupA',