import { z } from 'zod'; import { ExportFormatId } from '../../../types/types'; const FORMAT_IDS: [ExportFormatId, ...ExportFormatId[]] = [ 'ableton', 'dawproject', 'midi', 'reaper', ]; export const exportFormSchema = z.object({ format: z.enum(FORMAT_IDS), abletonVersion: z.enum(['10', '11']), projectName: z.string(), includeArchivedSamples: z.boolean(), exportAllPadsWithSamples: z.boolean(), clips: z.boolean(), groupTracks: z.boolean(), drumRackGroupA: z.boolean(), drumRackGroupB: z.boolean(), drumRackGroupC: z.boolean(), drumRackGroupD: z.boolean(), sendEffects: z.boolean(), allScenes: z.boolean(), selectedScenes: z.array(z.string()), }); export type ExportFormValues = z.infer; export const PERSISTED_FIELDS: (keyof ExportFormValues)[] = [ 'format', 'abletonVersion', 'includeArchivedSamples', 'exportAllPadsWithSamples', 'clips', 'groupTracks', 'drumRackGroupA', 'drumRackGroupB', 'drumRackGroupC', 'drumRackGroupD', 'sendEffects', ];