@signalsandsorcery/plugin-sdk 2.35.3 → 2.35.5
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/dist/index.d.mts +229 -4
- package/dist/index.d.ts +229 -4
- package/dist/index.js +1101 -466
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +842 -209
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -141,6 +141,20 @@ interface TrackExternalFxEntry {
|
|
|
141
141
|
/** False when bypassed. */
|
|
142
142
|
enabled: boolean;
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Outcome of copying a source track's FX chain onto another track
|
|
146
|
+
* (`copyTrackFxFrom`). Partial success is normal — a third-party plugin
|
|
147
|
+
* missing from this machine lands in `externalMissing` while everything else
|
|
148
|
+
* still copies. @since SDK 2.41.0
|
|
149
|
+
*/
|
|
150
|
+
interface TrackFxCopyResult {
|
|
151
|
+
/** Built-in FX categories (reverb/delay/eq/…) re-applied on the dest. */
|
|
152
|
+
builtIn: string[];
|
|
153
|
+
/** External inserts successfully rebuilt on the dest. */
|
|
154
|
+
externalCopied: number;
|
|
155
|
+
/** External plugin names that failed to load (missing from this machine). */
|
|
156
|
+
externalMissing: string[];
|
|
157
|
+
}
|
|
144
158
|
/**
|
|
145
159
|
* Stereo peak levels of a panel bus's OUTPUT (post-FX, post-fader). dBFS,
|
|
146
160
|
* floored at -120 ("no signal"). Drives the strip's stereo meter.
|
|
@@ -637,6 +651,16 @@ interface PluginHost {
|
|
|
637
651
|
* picker components consume one type.
|
|
638
652
|
*/
|
|
639
653
|
getAvailableFx?(): Promise<InstrumentDescriptor[]>;
|
|
654
|
+
/**
|
|
655
|
+
* Force a plugin re-scan and return the refreshed FX list. Unlike
|
|
656
|
+
* `getAvailableFx` (served from a cache), this re-walks the plugin
|
|
657
|
+
* directories AND clears the engine's failed-probe blacklist, so a plugin
|
|
658
|
+
* installed mid-session, or one that crashed a previous scan and was
|
|
659
|
+
* blacklisted, reappears without an app restart. Backs the FX picker's
|
|
660
|
+
* "Rescan" button. Slow (20-60s). Absent on pre-2.40 hosts — callers should
|
|
661
|
+
* fall back to `getAvailableFx`. @since SDK 2.40.0
|
|
662
|
+
*/
|
|
663
|
+
rescanAvailableFx?(): Promise<InstrumentDescriptor[]>;
|
|
640
664
|
/**
|
|
641
665
|
* The panel's bus state for a scene. `{ engaged: false, … }` when the
|
|
642
666
|
* panel has no bus there — reading NEVER creates one. When engaged, this
|
|
@@ -692,6 +716,17 @@ interface PluginHost {
|
|
|
692
716
|
setTrackExternalFxEnabled?(trackId: string, fxIndex: number, enabled: boolean): Promise<void>;
|
|
693
717
|
/** Open the native editor window for an external FX. */
|
|
694
718
|
showTrackExternalFxEditor?(trackId: string, fxIndex: number): Promise<void>;
|
|
719
|
+
/**
|
|
720
|
+
* Copy a SOURCE track's whole FX chain (built-in fx-toggle categories AND
|
|
721
|
+
* external inserts with their states) onto an owned track. The source is
|
|
722
|
+
* addressed by DB row id and may live in ANOTHER scene (transition
|
|
723
|
+
* crossfade/fade layers copy from the from/to scenes) — only the DEST is
|
|
724
|
+
* ownership-asserted, mirroring `getTrackSound`. Partial success is normal:
|
|
725
|
+
* missing third-party plugins land in `externalMissing` and everything else
|
|
726
|
+
* still copies. Feature-gate on `typeof host.copyTrackFxFrom === 'function'`.
|
|
727
|
+
* @since SDK 2.41.0
|
|
728
|
+
*/
|
|
729
|
+
copyTrackFxFrom?(destTrackId: string, sourceTrackDbId: string): Promise<TrackFxCopyResult>;
|
|
695
730
|
/** Subscribe to transport state changes. Returns unsubscribe function. */
|
|
696
731
|
onTransportEvent(listener: TransportEventListener): UnsubscribeFn;
|
|
697
732
|
/** Subscribe to deck boundary events. Returns unsubscribe function. */
|
|
@@ -3012,6 +3047,18 @@ interface FadeMeta {
|
|
|
3012
3047
|
soundLabel: string;
|
|
3013
3048
|
/** Fade position 0..1 — WHERE in time the fade midpoint sits. */
|
|
3014
3049
|
sliderPos: number;
|
|
3050
|
+
/**
|
|
3051
|
+
* GROUP fades (verbatim multi-track fades, e.g. a bass voice group): shared
|
|
3052
|
+
* id linking every member track of one fade — by convention the first
|
|
3053
|
+
* member copy's dbId. Absent on classic single-track fades; old metas parse
|
|
3054
|
+
* unchanged. All members of a group share direction/gesture/sliderPos.
|
|
3055
|
+
* @since SDK 2.41.0
|
|
3056
|
+
*/
|
|
3057
|
+
groupId?: string;
|
|
3058
|
+
/** Stable member order within the group (e.g. bass voiceIndex). @since SDK 2.41.0 */
|
|
3059
|
+
memberIndex?: number;
|
|
3060
|
+
/** Per-member caption, e.g. the bass voice partition label. @since SDK 2.41.0 */
|
|
3061
|
+
memberLabel?: string;
|
|
3015
3062
|
}
|
|
3016
3063
|
/** A fade entry resolved from scene data: the fade track's dbId + its metadata. */
|
|
3017
3064
|
interface FadeEntry {
|
|
@@ -3026,6 +3073,34 @@ declare function asFadeMeta(val: unknown): FadeMeta | null;
|
|
|
3026
3073
|
* fade is intrinsically a single track.
|
|
3027
3074
|
*/
|
|
3028
3075
|
declare function parseFades(sceneData: Record<string, unknown>): FadeEntry[];
|
|
3076
|
+
/**
|
|
3077
|
+
* One GROUP fade assembled from its member entries: N tracks fading together
|
|
3078
|
+
* as a unit (verbatim group fades — e.g. a copied bass voice group). Scalars
|
|
3079
|
+
* (direction/gesture/sliderPos) come from the first member; creation writes
|
|
3080
|
+
* them identically across members. Generic over the entry type so callers can
|
|
3081
|
+
* split live-resolved entries without losing their extra fields.
|
|
3082
|
+
* @since SDK 2.41.0
|
|
3083
|
+
*/
|
|
3084
|
+
interface GroupFadeEntryOf<E extends FadeEntry> {
|
|
3085
|
+
groupId: string;
|
|
3086
|
+
direction: FadeDirection;
|
|
3087
|
+
gesture: FadeGesture;
|
|
3088
|
+
sliderPos: number;
|
|
3089
|
+
/** Members sorted by memberIndex (creation order fallback). */
|
|
3090
|
+
members: E[];
|
|
3091
|
+
}
|
|
3092
|
+
/** The plain-entry specialization (scene-data parse results). @since SDK 2.41.0 */
|
|
3093
|
+
type GroupFadeEntry = GroupFadeEntryOf<FadeEntry>;
|
|
3094
|
+
/**
|
|
3095
|
+
* Partition parsed fade entries into classic single-track fades and group
|
|
3096
|
+
* fades (entries sharing a `groupId`). Pure; keyed for the panel-core render
|
|
3097
|
+
* split — drift-resync and curve re-apply deliberately keep iterating the
|
|
3098
|
+
* FLAT entry list so they need no group awareness. @since SDK 2.41.0
|
|
3099
|
+
*/
|
|
3100
|
+
declare function splitFadeEntries<E extends FadeEntry>(entries: E[]): {
|
|
3101
|
+
singles: E[];
|
|
3102
|
+
groups: GroupFadeEntryOf<E>[];
|
|
3103
|
+
};
|
|
3029
3104
|
/**
|
|
3030
3105
|
* Build a ONE-sided volume-automation curve for a fade over `bars` at `bpm`.
|
|
3031
3106
|
*
|
|
@@ -3125,6 +3200,55 @@ interface FadeTrackRowProps {
|
|
|
3125
3200
|
}
|
|
3126
3201
|
declare function FadeTrackRow({ layer, direction, gesture, effect, sliderPos, onMuteToggle, onSoloToggle, onVolumeChange, onPanChange, onDelete, onSliderChange, levels, accentColor, }: FadeTrackRowProps): React$1.ReactElement;
|
|
3127
3202
|
|
|
3203
|
+
/**
|
|
3204
|
+
* GroupFadeTrackRow — a transition GROUP fade: N verbatim-copied member tracks
|
|
3205
|
+
* (a bass voice group) fading together under ONE slider.
|
|
3206
|
+
*
|
|
3207
|
+
* The multi-track sibling of {@link FadeTrackRow}: a header with the direction
|
|
3208
|
+
* badge + group label + group mute/solo/delete, one locked TrackRow per member
|
|
3209
|
+
* (per-member volume/pan/mute/solo stay live; sound/generation controls are
|
|
3210
|
+
* omitted — "controlled by omission"), and a single shared fade slider. The
|
|
3211
|
+
* copies are byte-exact (MIDI + preset + FX), so unlike a generated fade there
|
|
3212
|
+
* is no per-member gesture nuance — the whole group rides one 'volume' curve.
|
|
3213
|
+
*
|
|
3214
|
+
* @since SDK 2.41.0
|
|
3215
|
+
*/
|
|
3216
|
+
|
|
3217
|
+
/** One member track of the group fade. */
|
|
3218
|
+
interface GroupFadeMemberLayer extends FadeLayer {
|
|
3219
|
+
/** Short per-member caption, e.g. the bass partition ('low', 'offbeats'). */
|
|
3220
|
+
memberLabel?: string;
|
|
3221
|
+
}
|
|
3222
|
+
interface GroupFadeTrackRowProps {
|
|
3223
|
+
/** Header label, e.g. 'Bassline (3 voices)'. */
|
|
3224
|
+
groupLabel: string;
|
|
3225
|
+
/** 'in' (enters across the loop) or 'out' (leaves across the loop). */
|
|
3226
|
+
direction: FadeDirection;
|
|
3227
|
+
/** Shown read-only (group fades are always 'volume'). */
|
|
3228
|
+
gesture: FadeGesture;
|
|
3229
|
+
/** Fade position 0..1 — WHERE in time the fade sits. Defaults centered. */
|
|
3230
|
+
sliderPos?: number;
|
|
3231
|
+
/** Member tracks in group order. */
|
|
3232
|
+
members: GroupFadeMemberLayer[];
|
|
3233
|
+
/** Per-member controls (members are normal tracks). */
|
|
3234
|
+
onMemberMuteToggle: (trackId: string) => void;
|
|
3235
|
+
onMemberSoloToggle: (trackId: string) => void;
|
|
3236
|
+
onMemberVolumeChange: (trackId: string, volume: number) => void;
|
|
3237
|
+
onMemberPanChange: (trackId: string, pan: number) => void;
|
|
3238
|
+
/** Group controls — act on every member together. */
|
|
3239
|
+
onMuteAll: () => void;
|
|
3240
|
+
onSoloAll: () => void;
|
|
3241
|
+
/** Delete the whole group fade (all member tracks). */
|
|
3242
|
+
onDelete: () => void;
|
|
3243
|
+
/** Move the fade point for the whole group. Omit to render read-only. */
|
|
3244
|
+
onSliderChange?: (pos: number) => void;
|
|
3245
|
+
/** Shared meter handle (welds a peak meter to each member). */
|
|
3246
|
+
levels?: TrackLevelsHandle;
|
|
3247
|
+
/** Left-border accent. Defaults to transition purple. */
|
|
3248
|
+
accentColor?: string;
|
|
3249
|
+
}
|
|
3250
|
+
declare function GroupFadeTrackRow({ groupLabel, direction, gesture, sliderPos, members, onMemberMuteToggle, onMemberSoloToggle, onMemberVolumeChange, onMemberPanChange, onMuteAll, onSoloAll, onDelete, onSliderChange, levels, accentColor, }: GroupFadeTrackRowProps): React$1.ReactElement;
|
|
3251
|
+
|
|
3128
3252
|
/**
|
|
3129
3253
|
* FadeModal — "add a fade" picker for a transition scene.
|
|
3130
3254
|
*
|
|
@@ -3345,10 +3469,23 @@ interface TransitionDesignerProps {
|
|
|
3345
3469
|
* Build a crossfade pair — the panel's existing handler (create two tracks, one
|
|
3346
3470
|
* morphed clip, copy each preset). Should reject on failure. Safe to call
|
|
3347
3471
|
* concurrently.
|
|
3472
|
+
*
|
|
3473
|
+
* OMIT for a FADE-ONLY board (group families like bass, where a 1:1 MIDI
|
|
3474
|
+
* crossfade is undefined): the two index-paired columns become two stacked
|
|
3475
|
+
* one-sided sections (origin subjects fade out, target subjects fade in)
|
|
3476
|
+
* with no drag/gap/pairing. @since optional in SDK 2.41.0
|
|
3348
3477
|
*/
|
|
3349
|
-
onCreateCrossfade
|
|
3478
|
+
onCreateCrossfade?: (origin: CrossfadeSelection, target: CrossfadeSelection) => Promise<void>;
|
|
3350
3479
|
/** Build a one-sided fade — the panel's existing handler. Should reject on failure. */
|
|
3351
3480
|
onCreateFade: (selection: FadeSelection, direction: FadeDirection, gesture: FadeGesture) => Promise<void>;
|
|
3481
|
+
/**
|
|
3482
|
+
* Collapse a column's family tracks into designer SUBJECTS (group families:
|
|
3483
|
+
* one cell per voice group, carrying the anchor's dbId). Applied per column
|
|
3484
|
+
* after `listSceneFamilyTracks`. @since SDK 2.41.0
|
|
3485
|
+
*/
|
|
3486
|
+
mapColumnSubjects?: (sceneId: string, tracks: SceneFamilyTrack[]) => Promise<SceneFamilyTrack[]>;
|
|
3487
|
+
/** Per-row progress estimate override for fades (LLM-free creates). @since SDK 2.41.0 */
|
|
3488
|
+
fadeEstimateMs?: number;
|
|
3352
3489
|
/**
|
|
3353
3490
|
* Build an AUDIO-only one-sided transition (stutter / chopped / delay). When
|
|
3354
3491
|
* provided, one-sided rows render an effect selector; absent (MIDI panels) →
|
|
@@ -3360,7 +3497,7 @@ interface TransitionDesignerProps {
|
|
|
3360
3497
|
/** data-testid prefix. */
|
|
3361
3498
|
testIdPrefix?: string;
|
|
3362
3499
|
}
|
|
3363
|
-
declare function TransitionDesigner({ host, fromSceneId, toSceneId, transitionSceneId, excludeSourceDbIds, onCreateCrossfade, onCreateFade, onCreateAudioTransition, familyLabel, testIdPrefix, }: TransitionDesignerProps): React$1.ReactElement;
|
|
3500
|
+
declare function TransitionDesigner({ host, fromSceneId, toSceneId, transitionSceneId, excludeSourceDbIds, onCreateCrossfade, onCreateFade, onCreateAudioTransition, mapColumnSubjects, fadeEstimateMs, familyLabel, testIdPrefix, }: TransitionDesignerProps): React$1.ReactElement;
|
|
3364
3501
|
|
|
3365
3502
|
/**
|
|
3366
3503
|
* Transition Designer — pure helpers for the per-panel transition staging board.
|
|
@@ -4658,6 +4795,72 @@ interface PanelGroupExtension<M = unknown> extends GroupParseSpec<M> {
|
|
|
4658
4795
|
isComplete?(group: ResolvedTrackGroup<M, GeneratorTrackState>, parsed: TrackGroupMeta<M>): boolean;
|
|
4659
4796
|
renderGroup(group: ResolvedTrackGroup<M, GeneratorTrackState>, ctx: GroupRenderContext): ReactNode;
|
|
4660
4797
|
}
|
|
4798
|
+
/**
|
|
4799
|
+
* One member of a verbatim group fade — a SOURCE track (from/to scene) whose
|
|
4800
|
+
* MIDI + sound + FX are copied byte-exact into the transition scene.
|
|
4801
|
+
* @since SDK 2.41.0
|
|
4802
|
+
*/
|
|
4803
|
+
interface VerbatimFadeMember {
|
|
4804
|
+
/** Source track DB row id. */
|
|
4805
|
+
dbId: string;
|
|
4806
|
+
/** Source track display name (per-member fade caption). */
|
|
4807
|
+
name: string;
|
|
4808
|
+
role?: string;
|
|
4809
|
+
/** Stable order within the group (bass: voiceIndex; anchor = 0). */
|
|
4810
|
+
memberIndex: number;
|
|
4811
|
+
/** Short per-member label, e.g. the bass partition ('low', 'offbeats'). */
|
|
4812
|
+
memberLabel?: string;
|
|
4813
|
+
/** Opaque family meta round-tripped into `writeGroupMetas` (bass: BassVoiceMeta). */
|
|
4814
|
+
familyMeta?: unknown;
|
|
4815
|
+
}
|
|
4816
|
+
/**
|
|
4817
|
+
* Group-shaped transition behavior for families whose "track" is a VOICE
|
|
4818
|
+
* GROUP of N tracks (bass basslines). Registering this switches the panel's
|
|
4819
|
+
* Transition Designer to FADE-ONLY (`fadeOnly: true` is the only supported
|
|
4820
|
+
* mode — a 1:1 MIDI crossfade is undefined between groups of different voice
|
|
4821
|
+
* counts) with one board cell per GROUP, and `onCreateFade` routes to the
|
|
4822
|
+
* core's `handleCreateVerbatimGroupFade`: every member is copied VERBATIM
|
|
4823
|
+
* (MIDI clamped to the transition span + exact sound + FX chain — NO LLM) and
|
|
4824
|
+
* the whole group fades together under one slider. @since SDK 2.41.0
|
|
4825
|
+
*/
|
|
4826
|
+
interface PanelTransitionGroupAdapter {
|
|
4827
|
+
/** v1: group families are fade-only; crossfade rows never render. */
|
|
4828
|
+
fadeOnly: true;
|
|
4829
|
+
/**
|
|
4830
|
+
* Collapse a scene's family tracks into designer SUBJECTS: one entry per
|
|
4831
|
+
* group (carrying the ANCHOR's dbId so exclude/row keys work unchanged)
|
|
4832
|
+
* plus loose tracks passed through. Called per column after
|
|
4833
|
+
* `listSceneFamilyTracks`.
|
|
4834
|
+
*/
|
|
4835
|
+
mapColumnSubjects(sceneId: string, tracks: SceneFamilyTrack[]): Promise<SceneFamilyTrack[]>;
|
|
4836
|
+
/**
|
|
4837
|
+
* Expand a subject (anchor dbId) back into its ordered members. A loose
|
|
4838
|
+
* track returns a single member with memberIndex 0.
|
|
4839
|
+
*/
|
|
4840
|
+
expandSubject(sceneId: string, subjectDbId: string): Promise<VerbatimFadeMember[]>;
|
|
4841
|
+
/**
|
|
4842
|
+
* Persist the family's own group metas for the COPIED tracks in the
|
|
4843
|
+
* transition scene (bass: `track:<newDbId>:bassVoice` rows sharing
|
|
4844
|
+
* groupId = newAnchorDbId) so the Tracks view renders them as a proper
|
|
4845
|
+
* family group.
|
|
4846
|
+
*/
|
|
4847
|
+
writeGroupMetas(transitionSceneId: string, copies: Array<{
|
|
4848
|
+
newDbId: string;
|
|
4849
|
+
member: VerbatimFadeMember;
|
|
4850
|
+
}>, newAnchorDbId: string): Promise<void>;
|
|
4851
|
+
/** Scene-data key suffixes to delete per member on rollback/delete (bass: ['bassVoice']). */
|
|
4852
|
+
cleanupKeySuffixes: string[];
|
|
4853
|
+
/**
|
|
4854
|
+
* Default fade midpoint per direction. Bass staggers them (out→0.35,
|
|
4855
|
+
* in→0.65) so the outgoing and incoming groups avoid low-end overlap.
|
|
4856
|
+
* Default 0.5.
|
|
4857
|
+
*/
|
|
4858
|
+
defaultSliderPos?(direction: 'in' | 'out'): number;
|
|
4859
|
+
/** Progress-bar pacing for one group fade (LLM-free; default the designer's fade estimate). */
|
|
4860
|
+
fadeEstimateMs?: number;
|
|
4861
|
+
/** Group-fade row header label, e.g. `Bassline (3 voices)`. Default `Group (N tracks)`. */
|
|
4862
|
+
groupRowLabel?(memberCount: number): string;
|
|
4863
|
+
}
|
|
4661
4864
|
interface GeneratorPanelAdapter<M = unknown> {
|
|
4662
4865
|
identity: PanelIdentity;
|
|
4663
4866
|
features: PanelFeatureFlags;
|
|
@@ -4677,6 +4880,12 @@ interface GeneratorPanelAdapter<M = unknown> {
|
|
|
4677
4880
|
generation: PanelGenerationStrategy;
|
|
4678
4881
|
/** Custom multi-track group rows (bass voice groups). */
|
|
4679
4882
|
groupExtensions?: PanelGroupExtension<M>[];
|
|
4883
|
+
/**
|
|
4884
|
+
* Group-shaped transition behavior (fade-only designer + verbatim group
|
|
4885
|
+
* fades). Registering this is what lights up `features.transitionDesigner`
|
|
4886
|
+
* for group families. @since SDK 2.41.0
|
|
4887
|
+
*/
|
|
4888
|
+
transitionGroup?: PanelTransitionGroupAdapter;
|
|
4680
4889
|
/** Patch the default TrackRow props per row (drum's sampleName fallback). */
|
|
4681
4890
|
mapTrackRowProps?(track: GeneratorTrackState, props: SDKTrackRowProps): SDKTrackRowProps;
|
|
4682
4891
|
}
|
|
@@ -4712,6 +4921,8 @@ interface ResolvedCrossfadePair extends CrossfadePairMeta {
|
|
|
4712
4921
|
interface ResolvedFade extends FadeEntry {
|
|
4713
4922
|
track: GeneratorTrackState;
|
|
4714
4923
|
}
|
|
4924
|
+
/** A GROUP fade (verbatim multi-track fade) resolved against live track state. @since SDK 2.41.0 */
|
|
4925
|
+
type ResolvedGroupFade = GroupFadeEntryOf<ResolvedFade>;
|
|
4715
4926
|
interface UseTransitionOpsInputs {
|
|
4716
4927
|
host: PluginHost;
|
|
4717
4928
|
adapter: GeneratorPanelAdapter;
|
|
@@ -4738,6 +4949,16 @@ interface TransitionOps {
|
|
|
4738
4949
|
handleCrossfadeSlider(pair: ResolvedCrossfadePair, pos: number): void;
|
|
4739
4950
|
handleFadeDelete(fade: ResolvedFade): Promise<void>;
|
|
4740
4951
|
handleFadeSlider(fade: ResolvedFade, pos: number): void;
|
|
4952
|
+
/** True while any verbatim group fade is being created. @since SDK 2.41.0 */
|
|
4953
|
+
isCreatingGroupFade: boolean;
|
|
4954
|
+
/**
|
|
4955
|
+
* Verbatim GROUP fade (adapter.transitionGroup families): copy every member
|
|
4956
|
+
* of the subject's voice group byte-exact (MIDI + sound + FX — NO LLM) into
|
|
4957
|
+
* the transition scene and fade them together. @since SDK 2.41.0
|
|
4958
|
+
*/
|
|
4959
|
+
handleCreateVerbatimGroupFade(subject: FadeSelection, direction: FadeDirection): Promise<void>;
|
|
4960
|
+
handleGroupFadeSlider(group: ResolvedGroupFade, pos: number): void;
|
|
4961
|
+
handleGroupFadeDelete(group: ResolvedGroupFade): Promise<void>;
|
|
4741
4962
|
}
|
|
4742
4963
|
declare function useTransitionOps({ host, adapter, activeSceneId, isConnected, isAuthenticated, sceneContext, tracks, setTracks, loadTracks, setCrossfadePairsMeta, setFadesMeta, resolvedCrossfadePairs, resolvedFades, }: UseTransitionOpsInputs): TransitionOps;
|
|
4743
4964
|
|
|
@@ -4808,6 +5029,10 @@ interface GeneratorPanelCore {
|
|
|
4808
5029
|
crossfadeMemberDbIds: Set<string>;
|
|
4809
5030
|
resolvedFades: ResolvedFade[];
|
|
4810
5031
|
fadeMemberDbIds: Set<string>;
|
|
5032
|
+
/** Classic single-track fades (resolvedFades minus group members). @since SDK 2.41.0 */
|
|
5033
|
+
resolvedSingleFades: ResolvedFade[];
|
|
5034
|
+
/** Verbatim group fades, memberIndex-ordered. @since SDK 2.41.0 */
|
|
5035
|
+
resolvedGroupFades: ResolvedGroupFade[];
|
|
4811
5036
|
resolvedGenericGroups: Record<string, ResolvedGroupsResult<unknown, GeneratorTrackState>>;
|
|
4812
5037
|
genericGroupMemberDbIds: Set<string>;
|
|
4813
5038
|
availableInstruments: InstrumentDescriptor[];
|
|
@@ -4944,7 +5169,7 @@ declare function useAnySolo(host: Pick<PluginHost, 'isAnySoloActive' | 'onTrackS
|
|
|
4944
5169
|
* Registry checks semver.gte(PLUGIN_SDK_VERSION, manifest.minHostVersion)
|
|
4945
5170
|
* during activation and marks incompatible plugins accordingly.
|
|
4946
5171
|
*/
|
|
4947
|
-
declare const PLUGIN_SDK_VERSION = "2.
|
|
5172
|
+
declare const PLUGIN_SDK_VERSION = "2.40.0";
|
|
4948
5173
|
|
|
4949
5174
|
/**
|
|
4950
5175
|
* FX Preset Definitions
|
|
@@ -5092,4 +5317,4 @@ interface PickTopKOptions {
|
|
|
5092
5317
|
*/
|
|
5093
5318
|
declare function pickTopKWeighted<T>(scored: ReadonlyArray<ScoredCandidate<T>>, options?: PickTopKOptions): T | null;
|
|
5094
5319
|
|
|
5095
|
-
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, 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, EQUAL_POWER_GAIN, 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 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, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, 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 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 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 ResolvedGroupsResult, type ResolvedTrackGroup, type SDKTrackRowProps, SLIDER_UNITY, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, 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 VolumeAutomationPoint, VolumeSlider, type WaveformPeaks, WaveformView, type WaveformViewProps, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildFadeVolumeCurve, buildRowSlots, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, drawWaveform, formatConcurrentTracks, hashString, moveItem, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, pxToCell, reconcileSlots, resizeNoteDuration, resolveTrackGroups, rowKey, rowType, scorePromptMatch, sliderToDb, slotsEqual, soundIdentity, synthesizeCuePoints, tokenizePrompt, trackDataKey, transposeNotes, useAnySolo, useGeneratorPanelCore, usePanelBus, useSceneState, useSoundHistory, useTrackExternalFx, useTrackLevel, useTrackLevels, useTrackMeter, useTrackReorder, useTransitionOps, useTransportPlaying };
|
|
5320
|
+
export { AUDIO_EFFECTS, AUDIO_EFFECT_LABEL, 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, EQUAL_POWER_GAIN, 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, type MidiClipData, type MidiWriteResult, type MixInterpolation, Modal, type ModalProps, 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 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 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, SamplePackCTACard, type SamplePackCTACardProps, type SamplePackCTACardStatus, type SamplePackCardInfo, type SavePluginPresetOptions, type SceneChangeListener, type SceneFamilyTrack, type ScoredCandidate, ScrollingWaveform, type ScrollingWaveformProps, type SettingDefinition, 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, analyzeWavPeak, asAudioEffect, asCrossfadeMeta, asFadeMeta, asTransitionDesignerDraft, buildCrossfadeInpaintPrompt, buildCrossfadeVolumeCurves, buildFadeVolumeCurve, buildRowSlots, calculateTimeBasedTarget, cellToPx, centerScrollTop, computePeaks, createSurgeSoundAdapter, dbIdsFromKeys, dbToSlider, defaultFadeGesture, drawWaveform, formatConcurrentTracks, hashString, moveItem, newTrackState, normalizeSlots, padPair, padSlots, parseCrossfadePairs, parseFades, parseLLMNoteResponse, parseTrackGroups, pickTopKWeighted, pitchToName, pluginFxToToggleFx, 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 };
|