@signalsandsorcery/plugin-sdk 2.36.1 → 2.38.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.mts +139 -4
- package/dist/index.d.ts +139 -4
- package/dist/index.js +880 -710
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +783 -615
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -111,7 +111,7 @@ const [prompts, setPrompts, setPromptsForScene] = useSceneState(activeSceneId, {
|
|
|
111
111
|
|
|
112
112
|
```typescript
|
|
113
113
|
import {
|
|
114
|
-
PLUGIN_SDK_VERSION, //
|
|
114
|
+
PLUGIN_SDK_VERSION, // current API version — see src/constants/sdk-version.ts
|
|
115
115
|
FX_CATEGORIES, // ['eq', 'compressor', 'chorus', 'phaser', 'delay', 'reverb']
|
|
116
116
|
FX_PRESET_CONFIGS, // Preset definitions for all 6 FX categories
|
|
117
117
|
} from '@signalsandsorcery/plugin-sdk';
|
package/dist/index.d.mts
CHANGED
|
@@ -120,6 +120,38 @@ interface PanelBusState {
|
|
|
120
120
|
/** User FX chain, top-to-bottom (master section excluded). */
|
|
121
121
|
fx: PanelBusFxEntry[];
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* One plugin a track freeze depends on (missing-deps reporting on the
|
|
125
|
+
* drawer's Freeze tab). @since SDK 2.46.0
|
|
126
|
+
*/
|
|
127
|
+
interface FreezeDep {
|
|
128
|
+
/** Stable scan identity when known; null on legacy external-FX entries. */
|
|
129
|
+
identifier: string | null;
|
|
130
|
+
name: string;
|
|
131
|
+
kind: 'instrument' | 'fx';
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* A track's freeze state — the drawer Freeze tab's model. Frozen = the
|
|
135
|
+
* track plays a FADER-NEUTRAL stem while its sound chain is disabled;
|
|
136
|
+
* volume/pan/mute/solo stay live, and mixing never marks a freeze stale.
|
|
137
|
+
* @since SDK 2.46.0
|
|
138
|
+
*/
|
|
139
|
+
interface TrackFreezeState {
|
|
140
|
+
frozen: boolean;
|
|
141
|
+
/** Only meaningful when frozen: sound inputs changed since the stem rendered. */
|
|
142
|
+
stale: boolean;
|
|
143
|
+
/** Which inputs changed ('midi' | 'preset' | 'instrument' | 'external-fx' | 'role'). */
|
|
144
|
+
staleReasons: string[];
|
|
145
|
+
/** PROVEN-missing plugins (blocks unfreeze; never populated on rumor). */
|
|
146
|
+
missingDeps: FreezeDep[];
|
|
147
|
+
/** Every plugin the active freeze recorded (empty when live). */
|
|
148
|
+
deps: FreezeDep[];
|
|
149
|
+
freezeId?: string;
|
|
150
|
+
frozenAt?: string;
|
|
151
|
+
wavPath?: string;
|
|
152
|
+
/** A fresh inactive freeze exists — re-freezing is instant. */
|
|
153
|
+
latentFreshFreeze: boolean;
|
|
154
|
+
}
|
|
123
155
|
/**
|
|
124
156
|
* One third-party (VST3/AU) FX insert on a TRACK's plugin chain, as shown to
|
|
125
157
|
* the panel UI. The track's instrument, the built-in FX-toggle plugins
|
|
@@ -750,6 +782,20 @@ interface PluginHost {
|
|
|
750
782
|
* @since SDK 2.41.0
|
|
751
783
|
*/
|
|
752
784
|
copyTrackFxFrom?(destTrackId: string, sourceTrackDbId: string): Promise<TrackFxCopyResult>;
|
|
785
|
+
/** The track's freeze state (frozen / stale + reasons / missing plugins). */
|
|
786
|
+
getTrackFreezeState?(trackId: string): Promise<TrackFreezeState>;
|
|
787
|
+
/**
|
|
788
|
+
* Freeze the track (renders take seconds — resolve = frozen). Idempotent
|
|
789
|
+
* while fresh; re-freezing a stale track re-renders. Refused for
|
|
790
|
+
* sample/audio tracks and transition scenes (message explains why).
|
|
791
|
+
*/
|
|
792
|
+
freezeTrack?(trackId: string): Promise<TrackFreezeState>;
|
|
793
|
+
/**
|
|
794
|
+
* Unfreeze: stem out, plugin chain (incl. per-FX bypass flags) restored;
|
|
795
|
+
* the stem is kept for instant re-freeze. Refuses while the track's
|
|
796
|
+
* plugins are provably missing — the message names them and the remedy.
|
|
797
|
+
*/
|
|
798
|
+
unfreezeTrack?(trackId: string): Promise<TrackFreezeState>;
|
|
753
799
|
/** Subscribe to transport state changes. Returns unsubscribe function. */
|
|
754
800
|
onTransportEvent(listener: TransportEventListener): UnsubscribeFn;
|
|
755
801
|
/** Subscribe to deck boundary events. Returns unsubscribe function. */
|
|
@@ -1030,6 +1076,32 @@ interface PluginHost {
|
|
|
1030
1076
|
* @since SDK 2.9.0
|
|
1031
1077
|
*/
|
|
1032
1078
|
onAllDecksStopped(listener: () => void): UnsubscribeFn;
|
|
1079
|
+
/**
|
|
1080
|
+
* Surge XT availability snapshot — the synth behind synth-layer tracks.
|
|
1081
|
+
* Panels that REQUIRE Surge (e.g. the livecode "Code" panel) gate their UI
|
|
1082
|
+
* on this and offer install. Optional — feature-check before calling.
|
|
1083
|
+
*
|
|
1084
|
+
* @since SDK 2.45.0
|
|
1085
|
+
*/
|
|
1086
|
+
getSurgeXtStatus?(): Promise<SurgeXtStatus>;
|
|
1087
|
+
/**
|
|
1088
|
+
* Kick the bundled Surge XT installer (same flow as the setup wizard /
|
|
1089
|
+
* connection panel). Resolves when the install attempt finishes; progress
|
|
1090
|
+
* streams via {@link onSurgeXtStatus}.
|
|
1091
|
+
*
|
|
1092
|
+
* @since SDK 2.45.0
|
|
1093
|
+
*/
|
|
1094
|
+
installSurgeXt?(): Promise<{
|
|
1095
|
+
success: boolean;
|
|
1096
|
+
error?: string;
|
|
1097
|
+
}>;
|
|
1098
|
+
/**
|
|
1099
|
+
* Subscribe to Surge XT status/progress changes (install started, progress
|
|
1100
|
+
* lines, completion). Returns an unsubscribe fn.
|
|
1101
|
+
*
|
|
1102
|
+
* @since SDK 2.45.0
|
|
1103
|
+
*/
|
|
1104
|
+
onSurgeXtStatus?(listener: (status: SurgeXtStatus) => void): UnsubscribeFn;
|
|
1033
1105
|
/** Get a value from scene-scoped plugin data. */
|
|
1034
1106
|
getSceneData<T = unknown>(sceneId: string, key: string): Promise<T | null>;
|
|
1035
1107
|
/** Set a value in scene-scoped plugin data. */
|
|
@@ -1815,6 +1887,18 @@ interface TransportEvent {
|
|
|
1815
1887
|
position?: number;
|
|
1816
1888
|
isPlaying?: boolean;
|
|
1817
1889
|
}
|
|
1890
|
+
/**
|
|
1891
|
+
* Surge XT availability snapshot for panel prerequisite gates.
|
|
1892
|
+
* @since SDK 2.45.0
|
|
1893
|
+
*/
|
|
1894
|
+
interface SurgeXtStatus {
|
|
1895
|
+
/** Surge XT is installed on this machine. */
|
|
1896
|
+
installed: boolean;
|
|
1897
|
+
/** An install kicked off via installSurgeXt (or the setup flow) is running. */
|
|
1898
|
+
installing: boolean;
|
|
1899
|
+
/** Human-readable progress line while installing. */
|
|
1900
|
+
progressMessage?: string;
|
|
1901
|
+
}
|
|
1818
1902
|
interface DeckBoundaryEvent {
|
|
1819
1903
|
deckId: string;
|
|
1820
1904
|
bar: number;
|
|
@@ -2493,6 +2577,29 @@ interface FxPresetDataEntry {
|
|
|
2493
2577
|
/** Persisted FX data format (stored as JSON in database) */
|
|
2494
2578
|
type FxPresetData = Partial<Record<FxCategory, FxPresetDataEntry>>;
|
|
2495
2579
|
|
|
2580
|
+
/**
|
|
2581
|
+
* useTrackFreeze — one track's freeze state + actions (@since SDK 2.47.0).
|
|
2582
|
+
*
|
|
2583
|
+
* Owned by TrackRow (always mounted) so the ❄ row badge and the drawer's
|
|
2584
|
+
* Freeze tab share ONE state — the drawer unmounts when closed, so state
|
|
2585
|
+
* lifted here survives open/close. Capability-gated: pass any host; when it
|
|
2586
|
+
* lacks `getTrackFreezeState` the hook is inert (`enabled: false`, no
|
|
2587
|
+
* fetches) and nothing renders.
|
|
2588
|
+
*/
|
|
2589
|
+
|
|
2590
|
+
interface UseTrackFreezeResult {
|
|
2591
|
+
/** Host supports the freeze surface (feature detection). */
|
|
2592
|
+
enabled: boolean;
|
|
2593
|
+
/** null until the first read resolves (or when reads fail / hook disabled). */
|
|
2594
|
+
state: TrackFreezeState | null;
|
|
2595
|
+
busy: 'freeze' | 'unfreeze' | null;
|
|
2596
|
+
error: string | null;
|
|
2597
|
+
refresh: () => Promise<void>;
|
|
2598
|
+
freeze: () => Promise<void>;
|
|
2599
|
+
unfreeze: () => Promise<void>;
|
|
2600
|
+
}
|
|
2601
|
+
declare function useTrackFreeze(host: PluginHost | undefined, trackId: string): UseTrackFreezeResult;
|
|
2602
|
+
|
|
2496
2603
|
/**
|
|
2497
2604
|
* TrackDrawer — the unified per-track drawer body.
|
|
2498
2605
|
*
|
|
@@ -2514,7 +2621,7 @@ type FxPresetData = Partial<Record<FxCategory, FxPresetDataEntry>>;
|
|
|
2514
2621
|
*/
|
|
2515
2622
|
|
|
2516
2623
|
/** The contextual tabs a track drawer can show, in display order. */
|
|
2517
|
-
type DrawerTab = 'fx' | 'pick' | 'history' | 'import' | 'edit';
|
|
2624
|
+
type DrawerTab = 'fx' | 'pick' | 'history' | 'import' | 'edit' | 'freeze';
|
|
2518
2625
|
interface TrackDrawerProps {
|
|
2519
2626
|
/** Which tab is active (controlled by the host TrackRow). */
|
|
2520
2627
|
activeTab: DrawerTab;
|
|
@@ -2535,6 +2642,12 @@ interface TrackDrawerProps {
|
|
|
2535
2642
|
* FX tab.
|
|
2536
2643
|
*/
|
|
2537
2644
|
externalFxHost?: PluginHost;
|
|
2645
|
+
/**
|
|
2646
|
+
* Lifted freeze state (@since SDK 2.47.0) — TrackRow owns useTrackFreeze
|
|
2647
|
+
* so its ❄ badge and this drawer share one state. When omitted, the drawer
|
|
2648
|
+
* runs its own hook off `externalFxHost` (direct-use backward compat).
|
|
2649
|
+
*/
|
|
2650
|
+
freeze?: UseTrackFreezeResult;
|
|
2538
2651
|
/** Available instrument plugins from engine scan. */
|
|
2539
2652
|
instruments?: InstrumentDescriptor[];
|
|
2540
2653
|
/** Currently loaded instrument plugin ID (null = default Surge XT). */
|
|
@@ -2576,7 +2689,7 @@ interface TrackDrawerProps {
|
|
|
2576
2689
|
/** Optional single-note preview when the user adds a note. */
|
|
2577
2690
|
onAuditionNote?: (pitch: number, velocity: number, durationMs: number) => void;
|
|
2578
2691
|
}
|
|
2579
|
-
declare function TrackDrawer({ activeTab, onTabChange, trackId, fxState, onFxToggle, onFxPresetChange, onFxDryWetChange, fxDisabled, externalFxHost, instruments, currentPluginId, isLoading, onSelect, onRefresh, editorStage, onShowEditor, onBackToInstruments, selectedInstrumentName, soundHistory, soundHistoryCursor, onRestoreSound, onToggleFavorite, onImportSound, importSoundLabel, editNotes, onNotesChange, editBars, editBpm, editSnap, onAuditionNote, }: TrackDrawerProps): React$1.ReactElement;
|
|
2692
|
+
declare function TrackDrawer({ activeTab, onTabChange, trackId, fxState, onFxToggle, onFxPresetChange, onFxDryWetChange, fxDisabled, externalFxHost, freeze, instruments, currentPluginId, isLoading, onSelect, onRefresh, editorStage, onShowEditor, onBackToInstruments, selectedInstrumentName, soundHistory, soundHistoryCursor, onRestoreSound, onToggleFavorite, onImportSound, importSoundLabel, editNotes, onNotesChange, editBars, editBpm, editSnap, onAuditionNote, }: TrackDrawerProps): React$1.ReactElement;
|
|
2580
2693
|
|
|
2581
2694
|
/**
|
|
2582
2695
|
* useTrackLevels — drives the cosmetic per-track strip meters.
|
|
@@ -4050,6 +4163,28 @@ interface UseTrackExternalFxResult {
|
|
|
4050
4163
|
}
|
|
4051
4164
|
declare function useTrackExternalFx(host: PluginHost, trackId: string): UseTrackExternalFxResult;
|
|
4052
4165
|
|
|
4166
|
+
/**
|
|
4167
|
+
* TrackFreezeSection — the drawer's Freeze tab body (@since SDK 2.46.0).
|
|
4168
|
+
*
|
|
4169
|
+
* Presentational: TrackDrawer owns the freeze state (it also needs it to
|
|
4170
|
+
* lock the sound-editing tabs while frozen) and passes it down with the two
|
|
4171
|
+
* actions. Freezing renders the track's sound chain to a FADER-NEUTRAL stem
|
|
4172
|
+
* on the same track and disables the plugins — volume, pan, mute and solo
|
|
4173
|
+
* stay fully live, so freezing never changes the mix. Unfreezing restores
|
|
4174
|
+
* the chain (including per-FX bypass flags) and keeps the stem for instant
|
|
4175
|
+
* re-freeze.
|
|
4176
|
+
*/
|
|
4177
|
+
|
|
4178
|
+
interface TrackFreezeSectionProps {
|
|
4179
|
+
/** null = state not loaded yet (host fetch in flight or failed). */
|
|
4180
|
+
state: TrackFreezeState | null;
|
|
4181
|
+
busy: 'freeze' | 'unfreeze' | null;
|
|
4182
|
+
error: string | null;
|
|
4183
|
+
onFreeze: () => void;
|
|
4184
|
+
onUnfreeze: () => void;
|
|
4185
|
+
}
|
|
4186
|
+
declare function TrackFreezeSection({ state, busy, error, onFreeze, onUnfreeze, }: TrackFreezeSectionProps): React$1.ReactElement;
|
|
4187
|
+
|
|
4053
4188
|
/**
|
|
4054
4189
|
* PanSlider Component
|
|
4055
4190
|
*
|
|
@@ -5543,7 +5678,7 @@ declare function useAnySolo(host: Pick<PluginHost, 'isAnySoloActive' | 'onTrackS
|
|
|
5543
5678
|
* Registry checks semver.gte(PLUGIN_SDK_VERSION, manifest.minHostVersion)
|
|
5544
5679
|
* during activation and marks incompatible plugins accordingly.
|
|
5545
5680
|
*/
|
|
5546
|
-
declare const PLUGIN_SDK_VERSION = "2.
|
|
5681
|
+
declare const PLUGIN_SDK_VERSION = "2.46.0";
|
|
5547
5682
|
|
|
5548
5683
|
/**
|
|
5549
5684
|
* FX Preset Definitions
|
|
@@ -5702,4 +5837,4 @@ interface PickTopKOptions {
|
|
|
5702
5837
|
*/
|
|
5703
5838
|
declare function pickTopKWeighted<T>(scored: ReadonlyArray<ScoredCandidate<T>>, options?: PickTopKOptions): T | null;
|
|
5704
5839
|
|
|
5705
|
-
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, type AdjacentPairAnalysis, type AudioEffect, type AudioInputDevice, type BulkAddPlaceholderTrack, type ComposeProgressEvent, type ComposeProgressListener, type ComposeSceneOptions, type ComposeSceneResult, ConfirmDialog, type ConfirmDialogProps, type CoreTrackHandlers, type CreateTrackOptions, type CrossfadeInpaintInput, type CrossfadeLayer, type CrossfadeMeta, CrossfadeModal, type CrossfadeModalProps, type CrossfadePairMeta, type CrossfadeSelection, type CrossfadeSlot, CrossfadeTrackRow, type CrossfadeTrackRowProps, type CrossfadeVolumeCurves, DB_MAX, DB_MIN, DEFAULT_FX_CATEGORY_DETAIL, DEFAULT_FX_DRY_WET, DRAG_DEAD_ZONE, type DeckBoundaryEvent, type DeckBoundaryListener, type DesignerRowSlots, DownloadPackButton, type DownloadPackButtonProps, type DownloadPackButtonVariant, type DrawerTab, type DrumKit, EMPTY_FX_DETAIL_STATE, EMPTY_FX_STATE, ENSEMBLE_MAX_VOICES, ENSEMBLE_MIN_VOICES, ENSEMBLE_STYLES, EQUAL_POWER_GAIN, type EnforceVoiceOptions, type EnforceVoiceResult, type EnsembleAnalysis, type EnsembleNote, type EnsembleStyle, type EnsembleStyleRules, type EnsembleVoiceSpec, type ExportMidiBundleOptions, type ExportMidiBundleResult, type ExportedPluginData, FX_CATEGORIES, FX_CHAIN_ORDER, FX_DISPLAY_LABELS, FX_ENGINE_PLUGIN_NAMES, FX_PRESET_CONFIGS, type FadeDirection, type FadeEntry, type FadeGesture, type FadeLayer, type FadeMeta, FadeModal, type FadeModalProps, type FadeSelection, FadeTrackRow, type FadeTrackRowProps, type FxCategory, type FxCategoryDetailState, type FxPreset, type FxPresetConfig, type FxPresetData, type FxPresetDataEntry, FxToggleBar, type FxToggleBarProps, GUTTER_W, type GenerationServices, type GeneratorPanelAdapter, type GeneratorPanelCore, GeneratorPanelShell, type GeneratorPanelShellProps, type GeneratorPanelSlots, type GeneratorPlugin, type GeneratorTrackState, type GeneratorType, type GroupFadeEntry, type GroupFadeEntryOf, type GroupFadeMemberLayer, GroupFadeTrackRow, type GroupFadeTrackRowProps, type GroupParseSpec, type GroupRenderContext, type ImportCandidateScene, type ImportCandidateTrack, ImportTrackModal, type ImportTrackModalProps, type InstrumentDescriptor, TrackDrawer as InstrumentDrawer, type TrackDrawerProps as InstrumentDrawerProps, type InstrumentSampler, type InstrumentZone, type LLMCandidate, type LLMContent, type LLMFunctionDeclaration, type LLMGenerationConfig, type LLMGenerationRequest, type LLMGenerationResult, type LLMNoteResponse, type LLMPart, type LLMSystemInstruction, type LLMTool, type LLMToolUseRequest, type LLMToolUseResponse, type LLMUsageMetadata, LevelMeter, type LevelMeterProps, type ListAudioFilesOptions, type ListImportableTracksOptions, MIN_NOTE_DURATION_BEATS, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, type MotionKind, type MusicalContext, OffsetScrubber, type OffsetScrubberProps, PLUGIN_SDK_VERSION, PX_PER_BEAT, PanSlider, type PanelBusFxEntry, type PanelBusLevels, type PanelBusState, type PanelFeatureFlags, type PanelGenerationStrategy, type PanelGroupExtension, type PanelIdentity, PanelMasterStrip, type PanelMasterStripProps, type PanelShuffleAdapter, type PanelSoundAdapter, type PanelTransitionGroupAdapter, type ParsedEnsemble, type PeakAnalysis, PianoRollEditor, type PianoRollEditorProps, type PickTopKOptions, type PluginAppTool, type PluginAppToolInputSchema, type PluginAppToolResult, type PluginAudioTextureRequest, type PluginAudioTextureResult, type PluginCapabilities, type PluginChordSegment, type PluginChordTiming, type PluginConcurrentTrackInfo, type PluginCuePoints, type PluginDownloadOptions, PluginError, type PluginErrorCode, type PluginFileDialogOptions, type PluginFxCategoryDetailState, type PluginGenerationContext, type PluginGenerationContextOptions, type PluginHost, type PluginHttpRequestOptions, type PluginHttpResponse, type PluginManifest, type PluginMidiNote, type PluginPresetData, type PluginPresetInfo, type PluginRegistration, type PluginSampleFilter, type PluginSampleImportResult, type PluginSampleInfo, type PluginSampleTrackInfo, type PluginSceneContext, type PluginSceneInfo, type PluginSettingsSchema, type PluginSettingsStore, type PluginSkill, type PluginSkillInputSchema, type PluginStatus, type PluginStemSplitResult, type PluginStemTrackInfo, type PluginSynthInfo, type PluginTrackFxDetailState, type PluginTrackHandle, type PluginTrackInfo, type PluginTrackLevel, type PluginTrackRuntimeState, type PluginTransportState, type PluginTrimWindow, type PluginUIProps, type PostProcessOptions, RESIZE_HANDLE_PX, ROW_HEIGHT, type ReadMidiClip, type ReadMidiResult, type RecordingChunkFinalizedEvent, type RecordingTargetInfo, type ResolveGroupsOptions, type ResolvedCrossfadePair, type ResolvedFade, type ResolvedGroupFade, type ResolvedGroupsResult, type ResolvedTrackGroup, type SDKTrackRowProps, SLIDER_UNITY, STYLE_RULES, SUBMIT_ENSEMBLE_TOOL_NAME, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type SceneTrackSummary, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, type ShufflePresetOptions, type ShufflePresetResult, SorceryProgressBar, type SoundHistoryEntry, type StemType, type SurgeSoundAdapterOverrides, type SynthesizeCuePointsOptions, TEXTURAL_ROLES, TRANSITION_DESIGNER_DRAFT_KEY, TrackDrawer, type TrackDrawerProps, type TrackExternalFxEntry, TrackExternalFxSection, type TrackExternalFxSectionProps, type TrackFxDetailState, type TrackFxState, type TrackGroupMember, type TrackGroupMeta, type TrackLevelsHandle, TrackMeterStrip, type TrackMeterStripProps, type TrackMeterView, TrackRow, type TrackRowDragProps, type TrackSoundHistory, type TrackSoundSnapshot, type TrackStateChangeListener, TransitionDesigner, type TransitionDesignerDraft, type TransitionDesignerProps, type TransitionOps, type TransitionRowType, type TransportEvent, type TransportEventListener, type UnsubscribeFn, type UseGeneratorPanelCoreOptions, type UsePanelBusResult, type UseSoundHistoryOptions, type UseSoundHistoryResult, type UseTrackExternalFxResult, type UseTrackReorderOptions, type UseTrackReorderResult, type UseTransitionOpsInputs, type VerbatimFadeMember, type VolumeAutomationPoint, VolumeSlider, type WaveformPeaks, WaveformView, type WaveformViewProps, analyzeEnsemble, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildEnsembleSystemPrompt, buildFadeVolumeCurve, buildRowSlots, buildSubmitEnsembleParameters, buildViolationRetrySuffix, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, defaultVoiceSpecs, describeViolations, drawWaveform, effectivePxPerBeat, enforceVoice, foldPitchToRegister, formatConcurrentTracks, hashString, moveItem, nearestPitchWithPc, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseEnsembleArgs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, promptEnterToGenerate, pxToCell, reconcileSlots, resizeNoteDuration, resolveTrackGroups, rowKey, rowType, scorePromptMatch, sliderToDb, slotsEqual, soundIdentity, splitFadeEntries, synthesizeCuePoints, tokenizePrompt, trackDataKey, transposeNotes, useAnySolo, useGeneratorPanelCore, usePanelBus, useSceneState, useSoundHistory, useTrackExternalFx, useTrackLevel, useTrackLevels, useTrackMeter, useTrackReorder, useTransitionOps, useTransportPlaying };
|
|
5840
|
+
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, type AdjacentPairAnalysis, type AudioEffect, type AudioInputDevice, type BulkAddPlaceholderTrack, type ComposeProgressEvent, type ComposeProgressListener, type ComposeSceneOptions, type ComposeSceneResult, ConfirmDialog, type ConfirmDialogProps, type CoreTrackHandlers, type CreateTrackOptions, type CrossfadeInpaintInput, type CrossfadeLayer, type CrossfadeMeta, CrossfadeModal, type CrossfadeModalProps, type CrossfadePairMeta, type CrossfadeSelection, type CrossfadeSlot, CrossfadeTrackRow, type CrossfadeTrackRowProps, type CrossfadeVolumeCurves, DB_MAX, DB_MIN, DEFAULT_FX_CATEGORY_DETAIL, DEFAULT_FX_DRY_WET, DRAG_DEAD_ZONE, type DeckBoundaryEvent, type DeckBoundaryListener, type DesignerRowSlots, DownloadPackButton, type DownloadPackButtonProps, type DownloadPackButtonVariant, type DrawerTab, type DrumKit, EMPTY_FX_DETAIL_STATE, EMPTY_FX_STATE, ENSEMBLE_MAX_VOICES, ENSEMBLE_MIN_VOICES, ENSEMBLE_STYLES, EQUAL_POWER_GAIN, type EnforceVoiceOptions, type EnforceVoiceResult, type EnsembleAnalysis, type EnsembleNote, type EnsembleStyle, type EnsembleStyleRules, type EnsembleVoiceSpec, type ExportMidiBundleOptions, type ExportMidiBundleResult, type ExportedPluginData, FX_CATEGORIES, FX_CHAIN_ORDER, FX_DISPLAY_LABELS, FX_ENGINE_PLUGIN_NAMES, FX_PRESET_CONFIGS, type FadeDirection, type FadeEntry, type FadeGesture, type FadeLayer, type FadeMeta, FadeModal, type FadeModalProps, type FadeSelection, FadeTrackRow, type FadeTrackRowProps, type FreezeDep, type FxCategory, type FxCategoryDetailState, type FxPreset, type FxPresetConfig, type FxPresetData, type FxPresetDataEntry, FxToggleBar, type FxToggleBarProps, GUTTER_W, type GenerationServices, type GeneratorPanelAdapter, type GeneratorPanelCore, GeneratorPanelShell, type GeneratorPanelShellProps, type GeneratorPanelSlots, type GeneratorPlugin, type GeneratorTrackState, type GeneratorType, type GroupFadeEntry, type GroupFadeEntryOf, type GroupFadeMemberLayer, GroupFadeTrackRow, type GroupFadeTrackRowProps, type GroupParseSpec, type GroupRenderContext, type ImportCandidateScene, type ImportCandidateTrack, ImportTrackModal, type ImportTrackModalProps, type InstrumentDescriptor, TrackDrawer as InstrumentDrawer, type TrackDrawerProps as InstrumentDrawerProps, type InstrumentSampler, type InstrumentZone, type LLMCandidate, type LLMContent, type LLMFunctionDeclaration, type LLMGenerationConfig, type LLMGenerationRequest, type LLMGenerationResult, type LLMNoteResponse, type LLMPart, type LLMSystemInstruction, type LLMTool, type LLMToolUseRequest, type LLMToolUseResponse, type LLMUsageMetadata, LevelMeter, type LevelMeterProps, type ListAudioFilesOptions, type ListImportableTracksOptions, MIN_NOTE_DURATION_BEATS, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, type MotionKind, type MusicalContext, OffsetScrubber, type OffsetScrubberProps, PLUGIN_SDK_VERSION, PX_PER_BEAT, PanSlider, type PanelBusFxEntry, type PanelBusLevels, type PanelBusState, type PanelFeatureFlags, type PanelGenerationStrategy, type PanelGroupExtension, type PanelIdentity, PanelMasterStrip, type PanelMasterStripProps, type PanelShuffleAdapter, type PanelSoundAdapter, type PanelTransitionGroupAdapter, type ParsedEnsemble, type PeakAnalysis, PianoRollEditor, type PianoRollEditorProps, type PickTopKOptions, type PluginAppTool, type PluginAppToolInputSchema, type PluginAppToolResult, type PluginAudioTextureRequest, type PluginAudioTextureResult, type PluginCapabilities, type PluginChordSegment, type PluginChordTiming, type PluginConcurrentTrackInfo, type PluginCuePoints, type PluginDownloadOptions, PluginError, type PluginErrorCode, type PluginFileDialogOptions, type PluginFxCategoryDetailState, type PluginGenerationContext, type PluginGenerationContextOptions, type PluginHost, type PluginHttpRequestOptions, type PluginHttpResponse, type PluginManifest, type PluginMidiNote, type PluginPresetData, type PluginPresetInfo, type PluginRegistration, type PluginSampleFilter, type PluginSampleImportResult, type PluginSampleInfo, type PluginSampleTrackInfo, type PluginSceneContext, type PluginSceneInfo, type PluginSettingsSchema, type PluginSettingsStore, type PluginSkill, type PluginSkillInputSchema, type PluginStatus, type PluginStemSplitResult, type PluginStemTrackInfo, type PluginSynthInfo, type PluginTrackFxDetailState, type PluginTrackHandle, type PluginTrackInfo, type PluginTrackLevel, type PluginTrackRuntimeState, type PluginTransportState, type PluginTrimWindow, type PluginUIProps, type PostProcessOptions, RESIZE_HANDLE_PX, ROW_HEIGHT, type ReadMidiClip, type ReadMidiResult, type RecordingChunkFinalizedEvent, type RecordingTargetInfo, type ResolveGroupsOptions, type ResolvedCrossfadePair, type ResolvedFade, type ResolvedGroupFade, type ResolvedGroupsResult, type ResolvedTrackGroup, type SDKTrackRowProps, SLIDER_UNITY, STYLE_RULES, SUBMIT_ENSEMBLE_TOOL_NAME, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type SceneTrackSummary, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, type ShufflePresetOptions, type ShufflePresetResult, SorceryProgressBar, type SoundHistoryEntry, type StemType, type SurgeSoundAdapterOverrides, type SurgeXtStatus, type SynthesizeCuePointsOptions, TEXTURAL_ROLES, TRANSITION_DESIGNER_DRAFT_KEY, type TrackCreatedContext, TrackDrawer, type TrackDrawerProps, type TrackExternalFxEntry, TrackExternalFxSection, type TrackExternalFxSectionProps, TrackFreezeSection, type TrackFreezeSectionProps, type TrackFreezeState, type TrackFxDetailState, type TrackFxState, type TrackGroupMember, type TrackGroupMeta, type TrackLevelsHandle, TrackMeterStrip, type TrackMeterStripProps, type TrackMeterView, TrackRow, type TrackRowDragProps, type TrackSoundHistory, type TrackSoundSnapshot, type TrackStateChangeListener, TransitionDesigner, type TransitionDesignerDraft, type TransitionDesignerProps, type TransitionOps, type TransitionRowType, type TransportEvent, type TransportEventListener, type UnsubscribeFn, type UseGeneratorPanelCoreOptions, type UsePanelBusResult, type UseSoundHistoryOptions, type UseSoundHistoryResult, type UseTrackExternalFxResult, type UseTrackFreezeResult, type UseTrackReorderOptions, type UseTrackReorderResult, type UseTransitionOpsInputs, type VerbatimFadeMember, type VolumeAutomationPoint, VolumeSlider, type WaveformPeaks, WaveformView, type WaveformViewProps, analyzeEnsemble, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildEnsembleSystemPrompt, buildFadeVolumeCurve, buildRowSlots, buildSubmitEnsembleParameters, buildViolationRetrySuffix, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, defaultVoiceSpecs, describeViolations, drawWaveform, effectivePxPerBeat, enforceVoice, foldPitchToRegister, formatConcurrentTracks, hashString, moveItem, nearestPitchWithPc, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseEnsembleArgs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, promptEnterToGenerate, pxToCell, reconcileSlots, resizeNoteDuration, resolveTrackGroups, rowKey, rowType, scorePromptMatch, sliderToDb, slotsEqual, soundIdentity, splitFadeEntries, synthesizeCuePoints, tokenizePrompt, trackDataKey, transposeNotes, useAnySolo, useGeneratorPanelCore, usePanelBus, useSceneState, useSoundHistory, useTrackExternalFx, useTrackFreeze, useTrackLevel, useTrackLevels, useTrackMeter, useTrackReorder, useTransitionOps, useTransportPlaying };
|
package/dist/index.d.ts
CHANGED
|
@@ -120,6 +120,38 @@ interface PanelBusState {
|
|
|
120
120
|
/** User FX chain, top-to-bottom (master section excluded). */
|
|
121
121
|
fx: PanelBusFxEntry[];
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* One plugin a track freeze depends on (missing-deps reporting on the
|
|
125
|
+
* drawer's Freeze tab). @since SDK 2.46.0
|
|
126
|
+
*/
|
|
127
|
+
interface FreezeDep {
|
|
128
|
+
/** Stable scan identity when known; null on legacy external-FX entries. */
|
|
129
|
+
identifier: string | null;
|
|
130
|
+
name: string;
|
|
131
|
+
kind: 'instrument' | 'fx';
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* A track's freeze state — the drawer Freeze tab's model. Frozen = the
|
|
135
|
+
* track plays a FADER-NEUTRAL stem while its sound chain is disabled;
|
|
136
|
+
* volume/pan/mute/solo stay live, and mixing never marks a freeze stale.
|
|
137
|
+
* @since SDK 2.46.0
|
|
138
|
+
*/
|
|
139
|
+
interface TrackFreezeState {
|
|
140
|
+
frozen: boolean;
|
|
141
|
+
/** Only meaningful when frozen: sound inputs changed since the stem rendered. */
|
|
142
|
+
stale: boolean;
|
|
143
|
+
/** Which inputs changed ('midi' | 'preset' | 'instrument' | 'external-fx' | 'role'). */
|
|
144
|
+
staleReasons: string[];
|
|
145
|
+
/** PROVEN-missing plugins (blocks unfreeze; never populated on rumor). */
|
|
146
|
+
missingDeps: FreezeDep[];
|
|
147
|
+
/** Every plugin the active freeze recorded (empty when live). */
|
|
148
|
+
deps: FreezeDep[];
|
|
149
|
+
freezeId?: string;
|
|
150
|
+
frozenAt?: string;
|
|
151
|
+
wavPath?: string;
|
|
152
|
+
/** A fresh inactive freeze exists — re-freezing is instant. */
|
|
153
|
+
latentFreshFreeze: boolean;
|
|
154
|
+
}
|
|
123
155
|
/**
|
|
124
156
|
* One third-party (VST3/AU) FX insert on a TRACK's plugin chain, as shown to
|
|
125
157
|
* the panel UI. The track's instrument, the built-in FX-toggle plugins
|
|
@@ -750,6 +782,20 @@ interface PluginHost {
|
|
|
750
782
|
* @since SDK 2.41.0
|
|
751
783
|
*/
|
|
752
784
|
copyTrackFxFrom?(destTrackId: string, sourceTrackDbId: string): Promise<TrackFxCopyResult>;
|
|
785
|
+
/** The track's freeze state (frozen / stale + reasons / missing plugins). */
|
|
786
|
+
getTrackFreezeState?(trackId: string): Promise<TrackFreezeState>;
|
|
787
|
+
/**
|
|
788
|
+
* Freeze the track (renders take seconds — resolve = frozen). Idempotent
|
|
789
|
+
* while fresh; re-freezing a stale track re-renders. Refused for
|
|
790
|
+
* sample/audio tracks and transition scenes (message explains why).
|
|
791
|
+
*/
|
|
792
|
+
freezeTrack?(trackId: string): Promise<TrackFreezeState>;
|
|
793
|
+
/**
|
|
794
|
+
* Unfreeze: stem out, plugin chain (incl. per-FX bypass flags) restored;
|
|
795
|
+
* the stem is kept for instant re-freeze. Refuses while the track's
|
|
796
|
+
* plugins are provably missing — the message names them and the remedy.
|
|
797
|
+
*/
|
|
798
|
+
unfreezeTrack?(trackId: string): Promise<TrackFreezeState>;
|
|
753
799
|
/** Subscribe to transport state changes. Returns unsubscribe function. */
|
|
754
800
|
onTransportEvent(listener: TransportEventListener): UnsubscribeFn;
|
|
755
801
|
/** Subscribe to deck boundary events. Returns unsubscribe function. */
|
|
@@ -1030,6 +1076,32 @@ interface PluginHost {
|
|
|
1030
1076
|
* @since SDK 2.9.0
|
|
1031
1077
|
*/
|
|
1032
1078
|
onAllDecksStopped(listener: () => void): UnsubscribeFn;
|
|
1079
|
+
/**
|
|
1080
|
+
* Surge XT availability snapshot — the synth behind synth-layer tracks.
|
|
1081
|
+
* Panels that REQUIRE Surge (e.g. the livecode "Code" panel) gate their UI
|
|
1082
|
+
* on this and offer install. Optional — feature-check before calling.
|
|
1083
|
+
*
|
|
1084
|
+
* @since SDK 2.45.0
|
|
1085
|
+
*/
|
|
1086
|
+
getSurgeXtStatus?(): Promise<SurgeXtStatus>;
|
|
1087
|
+
/**
|
|
1088
|
+
* Kick the bundled Surge XT installer (same flow as the setup wizard /
|
|
1089
|
+
* connection panel). Resolves when the install attempt finishes; progress
|
|
1090
|
+
* streams via {@link onSurgeXtStatus}.
|
|
1091
|
+
*
|
|
1092
|
+
* @since SDK 2.45.0
|
|
1093
|
+
*/
|
|
1094
|
+
installSurgeXt?(): Promise<{
|
|
1095
|
+
success: boolean;
|
|
1096
|
+
error?: string;
|
|
1097
|
+
}>;
|
|
1098
|
+
/**
|
|
1099
|
+
* Subscribe to Surge XT status/progress changes (install started, progress
|
|
1100
|
+
* lines, completion). Returns an unsubscribe fn.
|
|
1101
|
+
*
|
|
1102
|
+
* @since SDK 2.45.0
|
|
1103
|
+
*/
|
|
1104
|
+
onSurgeXtStatus?(listener: (status: SurgeXtStatus) => void): UnsubscribeFn;
|
|
1033
1105
|
/** Get a value from scene-scoped plugin data. */
|
|
1034
1106
|
getSceneData<T = unknown>(sceneId: string, key: string): Promise<T | null>;
|
|
1035
1107
|
/** Set a value in scene-scoped plugin data. */
|
|
@@ -1815,6 +1887,18 @@ interface TransportEvent {
|
|
|
1815
1887
|
position?: number;
|
|
1816
1888
|
isPlaying?: boolean;
|
|
1817
1889
|
}
|
|
1890
|
+
/**
|
|
1891
|
+
* Surge XT availability snapshot for panel prerequisite gates.
|
|
1892
|
+
* @since SDK 2.45.0
|
|
1893
|
+
*/
|
|
1894
|
+
interface SurgeXtStatus {
|
|
1895
|
+
/** Surge XT is installed on this machine. */
|
|
1896
|
+
installed: boolean;
|
|
1897
|
+
/** An install kicked off via installSurgeXt (or the setup flow) is running. */
|
|
1898
|
+
installing: boolean;
|
|
1899
|
+
/** Human-readable progress line while installing. */
|
|
1900
|
+
progressMessage?: string;
|
|
1901
|
+
}
|
|
1818
1902
|
interface DeckBoundaryEvent {
|
|
1819
1903
|
deckId: string;
|
|
1820
1904
|
bar: number;
|
|
@@ -2493,6 +2577,29 @@ interface FxPresetDataEntry {
|
|
|
2493
2577
|
/** Persisted FX data format (stored as JSON in database) */
|
|
2494
2578
|
type FxPresetData = Partial<Record<FxCategory, FxPresetDataEntry>>;
|
|
2495
2579
|
|
|
2580
|
+
/**
|
|
2581
|
+
* useTrackFreeze — one track's freeze state + actions (@since SDK 2.47.0).
|
|
2582
|
+
*
|
|
2583
|
+
* Owned by TrackRow (always mounted) so the ❄ row badge and the drawer's
|
|
2584
|
+
* Freeze tab share ONE state — the drawer unmounts when closed, so state
|
|
2585
|
+
* lifted here survives open/close. Capability-gated: pass any host; when it
|
|
2586
|
+
* lacks `getTrackFreezeState` the hook is inert (`enabled: false`, no
|
|
2587
|
+
* fetches) and nothing renders.
|
|
2588
|
+
*/
|
|
2589
|
+
|
|
2590
|
+
interface UseTrackFreezeResult {
|
|
2591
|
+
/** Host supports the freeze surface (feature detection). */
|
|
2592
|
+
enabled: boolean;
|
|
2593
|
+
/** null until the first read resolves (or when reads fail / hook disabled). */
|
|
2594
|
+
state: TrackFreezeState | null;
|
|
2595
|
+
busy: 'freeze' | 'unfreeze' | null;
|
|
2596
|
+
error: string | null;
|
|
2597
|
+
refresh: () => Promise<void>;
|
|
2598
|
+
freeze: () => Promise<void>;
|
|
2599
|
+
unfreeze: () => Promise<void>;
|
|
2600
|
+
}
|
|
2601
|
+
declare function useTrackFreeze(host: PluginHost | undefined, trackId: string): UseTrackFreezeResult;
|
|
2602
|
+
|
|
2496
2603
|
/**
|
|
2497
2604
|
* TrackDrawer — the unified per-track drawer body.
|
|
2498
2605
|
*
|
|
@@ -2514,7 +2621,7 @@ type FxPresetData = Partial<Record<FxCategory, FxPresetDataEntry>>;
|
|
|
2514
2621
|
*/
|
|
2515
2622
|
|
|
2516
2623
|
/** The contextual tabs a track drawer can show, in display order. */
|
|
2517
|
-
type DrawerTab = 'fx' | 'pick' | 'history' | 'import' | 'edit';
|
|
2624
|
+
type DrawerTab = 'fx' | 'pick' | 'history' | 'import' | 'edit' | 'freeze';
|
|
2518
2625
|
interface TrackDrawerProps {
|
|
2519
2626
|
/** Which tab is active (controlled by the host TrackRow). */
|
|
2520
2627
|
activeTab: DrawerTab;
|
|
@@ -2535,6 +2642,12 @@ interface TrackDrawerProps {
|
|
|
2535
2642
|
* FX tab.
|
|
2536
2643
|
*/
|
|
2537
2644
|
externalFxHost?: PluginHost;
|
|
2645
|
+
/**
|
|
2646
|
+
* Lifted freeze state (@since SDK 2.47.0) — TrackRow owns useTrackFreeze
|
|
2647
|
+
* so its ❄ badge and this drawer share one state. When omitted, the drawer
|
|
2648
|
+
* runs its own hook off `externalFxHost` (direct-use backward compat).
|
|
2649
|
+
*/
|
|
2650
|
+
freeze?: UseTrackFreezeResult;
|
|
2538
2651
|
/** Available instrument plugins from engine scan. */
|
|
2539
2652
|
instruments?: InstrumentDescriptor[];
|
|
2540
2653
|
/** Currently loaded instrument plugin ID (null = default Surge XT). */
|
|
@@ -2576,7 +2689,7 @@ interface TrackDrawerProps {
|
|
|
2576
2689
|
/** Optional single-note preview when the user adds a note. */
|
|
2577
2690
|
onAuditionNote?: (pitch: number, velocity: number, durationMs: number) => void;
|
|
2578
2691
|
}
|
|
2579
|
-
declare function TrackDrawer({ activeTab, onTabChange, trackId, fxState, onFxToggle, onFxPresetChange, onFxDryWetChange, fxDisabled, externalFxHost, instruments, currentPluginId, isLoading, onSelect, onRefresh, editorStage, onShowEditor, onBackToInstruments, selectedInstrumentName, soundHistory, soundHistoryCursor, onRestoreSound, onToggleFavorite, onImportSound, importSoundLabel, editNotes, onNotesChange, editBars, editBpm, editSnap, onAuditionNote, }: TrackDrawerProps): React$1.ReactElement;
|
|
2692
|
+
declare function TrackDrawer({ activeTab, onTabChange, trackId, fxState, onFxToggle, onFxPresetChange, onFxDryWetChange, fxDisabled, externalFxHost, freeze, instruments, currentPluginId, isLoading, onSelect, onRefresh, editorStage, onShowEditor, onBackToInstruments, selectedInstrumentName, soundHistory, soundHistoryCursor, onRestoreSound, onToggleFavorite, onImportSound, importSoundLabel, editNotes, onNotesChange, editBars, editBpm, editSnap, onAuditionNote, }: TrackDrawerProps): React$1.ReactElement;
|
|
2580
2693
|
|
|
2581
2694
|
/**
|
|
2582
2695
|
* useTrackLevels — drives the cosmetic per-track strip meters.
|
|
@@ -4050,6 +4163,28 @@ interface UseTrackExternalFxResult {
|
|
|
4050
4163
|
}
|
|
4051
4164
|
declare function useTrackExternalFx(host: PluginHost, trackId: string): UseTrackExternalFxResult;
|
|
4052
4165
|
|
|
4166
|
+
/**
|
|
4167
|
+
* TrackFreezeSection — the drawer's Freeze tab body (@since SDK 2.46.0).
|
|
4168
|
+
*
|
|
4169
|
+
* Presentational: TrackDrawer owns the freeze state (it also needs it to
|
|
4170
|
+
* lock the sound-editing tabs while frozen) and passes it down with the two
|
|
4171
|
+
* actions. Freezing renders the track's sound chain to a FADER-NEUTRAL stem
|
|
4172
|
+
* on the same track and disables the plugins — volume, pan, mute and solo
|
|
4173
|
+
* stay fully live, so freezing never changes the mix. Unfreezing restores
|
|
4174
|
+
* the chain (including per-FX bypass flags) and keeps the stem for instant
|
|
4175
|
+
* re-freeze.
|
|
4176
|
+
*/
|
|
4177
|
+
|
|
4178
|
+
interface TrackFreezeSectionProps {
|
|
4179
|
+
/** null = state not loaded yet (host fetch in flight or failed). */
|
|
4180
|
+
state: TrackFreezeState | null;
|
|
4181
|
+
busy: 'freeze' | 'unfreeze' | null;
|
|
4182
|
+
error: string | null;
|
|
4183
|
+
onFreeze: () => void;
|
|
4184
|
+
onUnfreeze: () => void;
|
|
4185
|
+
}
|
|
4186
|
+
declare function TrackFreezeSection({ state, busy, error, onFreeze, onUnfreeze, }: TrackFreezeSectionProps): React$1.ReactElement;
|
|
4187
|
+
|
|
4053
4188
|
/**
|
|
4054
4189
|
* PanSlider Component
|
|
4055
4190
|
*
|
|
@@ -5543,7 +5678,7 @@ declare function useAnySolo(host: Pick<PluginHost, 'isAnySoloActive' | 'onTrackS
|
|
|
5543
5678
|
* Registry checks semver.gte(PLUGIN_SDK_VERSION, manifest.minHostVersion)
|
|
5544
5679
|
* during activation and marks incompatible plugins accordingly.
|
|
5545
5680
|
*/
|
|
5546
|
-
declare const PLUGIN_SDK_VERSION = "2.
|
|
5681
|
+
declare const PLUGIN_SDK_VERSION = "2.46.0";
|
|
5547
5682
|
|
|
5548
5683
|
/**
|
|
5549
5684
|
* FX Preset Definitions
|
|
@@ -5702,4 +5837,4 @@ interface PickTopKOptions {
|
|
|
5702
5837
|
*/
|
|
5703
5838
|
declare function pickTopKWeighted<T>(scored: ReadonlyArray<ScoredCandidate<T>>, options?: PickTopKOptions): T | null;
|
|
5704
5839
|
|
|
5705
|
-
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, type AdjacentPairAnalysis, type AudioEffect, type AudioInputDevice, type BulkAddPlaceholderTrack, type ComposeProgressEvent, type ComposeProgressListener, type ComposeSceneOptions, type ComposeSceneResult, ConfirmDialog, type ConfirmDialogProps, type CoreTrackHandlers, type CreateTrackOptions, type CrossfadeInpaintInput, type CrossfadeLayer, type CrossfadeMeta, CrossfadeModal, type CrossfadeModalProps, type CrossfadePairMeta, type CrossfadeSelection, type CrossfadeSlot, CrossfadeTrackRow, type CrossfadeTrackRowProps, type CrossfadeVolumeCurves, DB_MAX, DB_MIN, DEFAULT_FX_CATEGORY_DETAIL, DEFAULT_FX_DRY_WET, DRAG_DEAD_ZONE, type DeckBoundaryEvent, type DeckBoundaryListener, type DesignerRowSlots, DownloadPackButton, type DownloadPackButtonProps, type DownloadPackButtonVariant, type DrawerTab, type DrumKit, EMPTY_FX_DETAIL_STATE, EMPTY_FX_STATE, ENSEMBLE_MAX_VOICES, ENSEMBLE_MIN_VOICES, ENSEMBLE_STYLES, EQUAL_POWER_GAIN, type EnforceVoiceOptions, type EnforceVoiceResult, type EnsembleAnalysis, type EnsembleNote, type EnsembleStyle, type EnsembleStyleRules, type EnsembleVoiceSpec, type ExportMidiBundleOptions, type ExportMidiBundleResult, type ExportedPluginData, FX_CATEGORIES, FX_CHAIN_ORDER, FX_DISPLAY_LABELS, FX_ENGINE_PLUGIN_NAMES, FX_PRESET_CONFIGS, type FadeDirection, type FadeEntry, type FadeGesture, type FadeLayer, type FadeMeta, FadeModal, type FadeModalProps, type FadeSelection, FadeTrackRow, type FadeTrackRowProps, type FxCategory, type FxCategoryDetailState, type FxPreset, type FxPresetConfig, type FxPresetData, type FxPresetDataEntry, FxToggleBar, type FxToggleBarProps, GUTTER_W, type GenerationServices, type GeneratorPanelAdapter, type GeneratorPanelCore, GeneratorPanelShell, type GeneratorPanelShellProps, type GeneratorPanelSlots, type GeneratorPlugin, type GeneratorTrackState, type GeneratorType, type GroupFadeEntry, type GroupFadeEntryOf, type GroupFadeMemberLayer, GroupFadeTrackRow, type GroupFadeTrackRowProps, type GroupParseSpec, type GroupRenderContext, type ImportCandidateScene, type ImportCandidateTrack, ImportTrackModal, type ImportTrackModalProps, type InstrumentDescriptor, TrackDrawer as InstrumentDrawer, type TrackDrawerProps as InstrumentDrawerProps, type InstrumentSampler, type InstrumentZone, type LLMCandidate, type LLMContent, type LLMFunctionDeclaration, type LLMGenerationConfig, type LLMGenerationRequest, type LLMGenerationResult, type LLMNoteResponse, type LLMPart, type LLMSystemInstruction, type LLMTool, type LLMToolUseRequest, type LLMToolUseResponse, type LLMUsageMetadata, LevelMeter, type LevelMeterProps, type ListAudioFilesOptions, type ListImportableTracksOptions, MIN_NOTE_DURATION_BEATS, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, type MotionKind, type MusicalContext, OffsetScrubber, type OffsetScrubberProps, PLUGIN_SDK_VERSION, PX_PER_BEAT, PanSlider, type PanelBusFxEntry, type PanelBusLevels, type PanelBusState, type PanelFeatureFlags, type PanelGenerationStrategy, type PanelGroupExtension, type PanelIdentity, PanelMasterStrip, type PanelMasterStripProps, type PanelShuffleAdapter, type PanelSoundAdapter, type PanelTransitionGroupAdapter, type ParsedEnsemble, type PeakAnalysis, PianoRollEditor, type PianoRollEditorProps, type PickTopKOptions, type PluginAppTool, type PluginAppToolInputSchema, type PluginAppToolResult, type PluginAudioTextureRequest, type PluginAudioTextureResult, type PluginCapabilities, type PluginChordSegment, type PluginChordTiming, type PluginConcurrentTrackInfo, type PluginCuePoints, type PluginDownloadOptions, PluginError, type PluginErrorCode, type PluginFileDialogOptions, type PluginFxCategoryDetailState, type PluginGenerationContext, type PluginGenerationContextOptions, type PluginHost, type PluginHttpRequestOptions, type PluginHttpResponse, type PluginManifest, type PluginMidiNote, type PluginPresetData, type PluginPresetInfo, type PluginRegistration, type PluginSampleFilter, type PluginSampleImportResult, type PluginSampleInfo, type PluginSampleTrackInfo, type PluginSceneContext, type PluginSceneInfo, type PluginSettingsSchema, type PluginSettingsStore, type PluginSkill, type PluginSkillInputSchema, type PluginStatus, type PluginStemSplitResult, type PluginStemTrackInfo, type PluginSynthInfo, type PluginTrackFxDetailState, type PluginTrackHandle, type PluginTrackInfo, type PluginTrackLevel, type PluginTrackRuntimeState, type PluginTransportState, type PluginTrimWindow, type PluginUIProps, type PostProcessOptions, RESIZE_HANDLE_PX, ROW_HEIGHT, type ReadMidiClip, type ReadMidiResult, type RecordingChunkFinalizedEvent, type RecordingTargetInfo, type ResolveGroupsOptions, type ResolvedCrossfadePair, type ResolvedFade, type ResolvedGroupFade, type ResolvedGroupsResult, type ResolvedTrackGroup, type SDKTrackRowProps, SLIDER_UNITY, STYLE_RULES, SUBMIT_ENSEMBLE_TOOL_NAME, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type SceneTrackSummary, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, type ShufflePresetOptions, type ShufflePresetResult, SorceryProgressBar, type SoundHistoryEntry, type StemType, type SurgeSoundAdapterOverrides, type SynthesizeCuePointsOptions, TEXTURAL_ROLES, TRANSITION_DESIGNER_DRAFT_KEY, TrackDrawer, type TrackDrawerProps, type TrackExternalFxEntry, TrackExternalFxSection, type TrackExternalFxSectionProps, type TrackFxDetailState, type TrackFxState, type TrackGroupMember, type TrackGroupMeta, type TrackLevelsHandle, TrackMeterStrip, type TrackMeterStripProps, type TrackMeterView, TrackRow, type TrackRowDragProps, type TrackSoundHistory, type TrackSoundSnapshot, type TrackStateChangeListener, TransitionDesigner, type TransitionDesignerDraft, type TransitionDesignerProps, type TransitionOps, type TransitionRowType, type TransportEvent, type TransportEventListener, type UnsubscribeFn, type UseGeneratorPanelCoreOptions, type UsePanelBusResult, type UseSoundHistoryOptions, type UseSoundHistoryResult, type UseTrackExternalFxResult, type UseTrackReorderOptions, type UseTrackReorderResult, type UseTransitionOpsInputs, type VerbatimFadeMember, type VolumeAutomationPoint, VolumeSlider, type WaveformPeaks, WaveformView, type WaveformViewProps, analyzeEnsemble, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildEnsembleSystemPrompt, buildFadeVolumeCurve, buildRowSlots, buildSubmitEnsembleParameters, buildViolationRetrySuffix, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, defaultVoiceSpecs, describeViolations, drawWaveform, effectivePxPerBeat, enforceVoice, foldPitchToRegister, formatConcurrentTracks, hashString, moveItem, nearestPitchWithPc, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseEnsembleArgs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, promptEnterToGenerate, pxToCell, reconcileSlots, resizeNoteDuration, resolveTrackGroups, rowKey, rowType, scorePromptMatch, sliderToDb, slotsEqual, soundIdentity, splitFadeEntries, synthesizeCuePoints, tokenizePrompt, trackDataKey, transposeNotes, useAnySolo, useGeneratorPanelCore, usePanelBus, useSceneState, useSoundHistory, useTrackExternalFx, useTrackLevel, useTrackLevels, useTrackMeter, useTrackReorder, useTransitionOps, useTransportPlaying };
|
|
5840
|
+
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, type AdjacentPairAnalysis, type AudioEffect, type AudioInputDevice, type BulkAddPlaceholderTrack, type ComposeProgressEvent, type ComposeProgressListener, type ComposeSceneOptions, type ComposeSceneResult, ConfirmDialog, type ConfirmDialogProps, type CoreTrackHandlers, type CreateTrackOptions, type CrossfadeInpaintInput, type CrossfadeLayer, type CrossfadeMeta, CrossfadeModal, type CrossfadeModalProps, type CrossfadePairMeta, type CrossfadeSelection, type CrossfadeSlot, CrossfadeTrackRow, type CrossfadeTrackRowProps, type CrossfadeVolumeCurves, DB_MAX, DB_MIN, DEFAULT_FX_CATEGORY_DETAIL, DEFAULT_FX_DRY_WET, DRAG_DEAD_ZONE, type DeckBoundaryEvent, type DeckBoundaryListener, type DesignerRowSlots, DownloadPackButton, type DownloadPackButtonProps, type DownloadPackButtonVariant, type DrawerTab, type DrumKit, EMPTY_FX_DETAIL_STATE, EMPTY_FX_STATE, ENSEMBLE_MAX_VOICES, ENSEMBLE_MIN_VOICES, ENSEMBLE_STYLES, EQUAL_POWER_GAIN, type EnforceVoiceOptions, type EnforceVoiceResult, type EnsembleAnalysis, type EnsembleNote, type EnsembleStyle, type EnsembleStyleRules, type EnsembleVoiceSpec, type ExportMidiBundleOptions, type ExportMidiBundleResult, type ExportedPluginData, FX_CATEGORIES, FX_CHAIN_ORDER, FX_DISPLAY_LABELS, FX_ENGINE_PLUGIN_NAMES, FX_PRESET_CONFIGS, type FadeDirection, type FadeEntry, type FadeGesture, type FadeLayer, type FadeMeta, FadeModal, type FadeModalProps, type FadeSelection, FadeTrackRow, type FadeTrackRowProps, type FreezeDep, type FxCategory, type FxCategoryDetailState, type FxPreset, type FxPresetConfig, type FxPresetData, type FxPresetDataEntry, FxToggleBar, type FxToggleBarProps, GUTTER_W, type GenerationServices, type GeneratorPanelAdapter, type GeneratorPanelCore, GeneratorPanelShell, type GeneratorPanelShellProps, type GeneratorPanelSlots, type GeneratorPlugin, type GeneratorTrackState, type GeneratorType, type GroupFadeEntry, type GroupFadeEntryOf, type GroupFadeMemberLayer, GroupFadeTrackRow, type GroupFadeTrackRowProps, type GroupParseSpec, type GroupRenderContext, type ImportCandidateScene, type ImportCandidateTrack, ImportTrackModal, type ImportTrackModalProps, type InstrumentDescriptor, TrackDrawer as InstrumentDrawer, type TrackDrawerProps as InstrumentDrawerProps, type InstrumentSampler, type InstrumentZone, type LLMCandidate, type LLMContent, type LLMFunctionDeclaration, type LLMGenerationConfig, type LLMGenerationRequest, type LLMGenerationResult, type LLMNoteResponse, type LLMPart, type LLMSystemInstruction, type LLMTool, type LLMToolUseRequest, type LLMToolUseResponse, type LLMUsageMetadata, LevelMeter, type LevelMeterProps, type ListAudioFilesOptions, type ListImportableTracksOptions, MIN_NOTE_DURATION_BEATS, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, type MotionKind, type MusicalContext, OffsetScrubber, type OffsetScrubberProps, PLUGIN_SDK_VERSION, PX_PER_BEAT, PanSlider, type PanelBusFxEntry, type PanelBusLevels, type PanelBusState, type PanelFeatureFlags, type PanelGenerationStrategy, type PanelGroupExtension, type PanelIdentity, PanelMasterStrip, type PanelMasterStripProps, type PanelShuffleAdapter, type PanelSoundAdapter, type PanelTransitionGroupAdapter, type ParsedEnsemble, type PeakAnalysis, PianoRollEditor, type PianoRollEditorProps, type PickTopKOptions, type PluginAppTool, type PluginAppToolInputSchema, type PluginAppToolResult, type PluginAudioTextureRequest, type PluginAudioTextureResult, type PluginCapabilities, type PluginChordSegment, type PluginChordTiming, type PluginConcurrentTrackInfo, type PluginCuePoints, type PluginDownloadOptions, PluginError, type PluginErrorCode, type PluginFileDialogOptions, type PluginFxCategoryDetailState, type PluginGenerationContext, type PluginGenerationContextOptions, type PluginHost, type PluginHttpRequestOptions, type PluginHttpResponse, type PluginManifest, type PluginMidiNote, type PluginPresetData, type PluginPresetInfo, type PluginRegistration, type PluginSampleFilter, type PluginSampleImportResult, type PluginSampleInfo, type PluginSampleTrackInfo, type PluginSceneContext, type PluginSceneInfo, type PluginSettingsSchema, type PluginSettingsStore, type PluginSkill, type PluginSkillInputSchema, type PluginStatus, type PluginStemSplitResult, type PluginStemTrackInfo, type PluginSynthInfo, type PluginTrackFxDetailState, type PluginTrackHandle, type PluginTrackInfo, type PluginTrackLevel, type PluginTrackRuntimeState, type PluginTransportState, type PluginTrimWindow, type PluginUIProps, type PostProcessOptions, RESIZE_HANDLE_PX, ROW_HEIGHT, type ReadMidiClip, type ReadMidiResult, type RecordingChunkFinalizedEvent, type RecordingTargetInfo, type ResolveGroupsOptions, type ResolvedCrossfadePair, type ResolvedFade, type ResolvedGroupFade, type ResolvedGroupsResult, type ResolvedTrackGroup, type SDKTrackRowProps, SLIDER_UNITY, STYLE_RULES, SUBMIT_ENSEMBLE_TOOL_NAME, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type SceneTrackSummary, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, type ShufflePresetOptions, type ShufflePresetResult, SorceryProgressBar, type SoundHistoryEntry, type StemType, type SurgeSoundAdapterOverrides, type SurgeXtStatus, type SynthesizeCuePointsOptions, TEXTURAL_ROLES, TRANSITION_DESIGNER_DRAFT_KEY, type TrackCreatedContext, TrackDrawer, type TrackDrawerProps, type TrackExternalFxEntry, TrackExternalFxSection, type TrackExternalFxSectionProps, TrackFreezeSection, type TrackFreezeSectionProps, type TrackFreezeState, type TrackFxDetailState, type TrackFxState, type TrackGroupMember, type TrackGroupMeta, type TrackLevelsHandle, TrackMeterStrip, type TrackMeterStripProps, type TrackMeterView, TrackRow, type TrackRowDragProps, type TrackSoundHistory, type TrackSoundSnapshot, type TrackStateChangeListener, TransitionDesigner, type TransitionDesignerDraft, type TransitionDesignerProps, type TransitionOps, type TransitionRowType, type TransportEvent, type TransportEventListener, type UnsubscribeFn, type UseGeneratorPanelCoreOptions, type UsePanelBusResult, type UseSoundHistoryOptions, type UseSoundHistoryResult, type UseTrackExternalFxResult, type UseTrackFreezeResult, type UseTrackReorderOptions, type UseTrackReorderResult, type UseTransitionOpsInputs, type VerbatimFadeMember, type VolumeAutomationPoint, VolumeSlider, type WaveformPeaks, WaveformView, type WaveformViewProps, analyzeEnsemble, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildEnsembleSystemPrompt, buildFadeVolumeCurve, buildRowSlots, buildSubmitEnsembleParameters, buildViolationRetrySuffix, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, defaultVoiceSpecs, describeViolations, drawWaveform, effectivePxPerBeat, enforceVoice, foldPitchToRegister, formatConcurrentTracks, hashString, moveItem, nearestPitchWithPc, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseEnsembleArgs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, promptEnterToGenerate, pxToCell, reconcileSlots, resizeNoteDuration, resolveTrackGroups, rowKey, rowType, scorePromptMatch, sliderToDb, slotsEqual, soundIdentity, splitFadeEntries, synthesizeCuePoints, tokenizePrompt, trackDataKey, transposeNotes, useAnySolo, useGeneratorPanelCore, usePanelBus, useSceneState, useSoundHistory, useTrackExternalFx, useTrackFreeze, useTrackLevel, useTrackLevels, useTrackMeter, useTrackReorder, useTransitionOps, useTransportPlaying };
|