Skip to main content

SongDefinitionSchema

@zylem/game-lib


@zylem/game-lib / audio / SongDefinitionSchema

Variable: SongDefinitionSchema

const SongDefinitionSchema: TObject<\{ bpm: TNumber; clips: TArray<TUnion<[TObject<\{ id: TString; kind: TLiteral<"notes">; length: TNumber; name: TOptional<TString>; notes: TArray<TObject<\{ duration: TNumber; id: TOptional<...>; pitch: TInteger; start: TNumber; velocity: TOptional<...>; \}>>; start: TNumber; trackId: TString; \}>, TObject<\{ gain: TOptional<TNumber>; id: TString; kind: TLiteral<"audio">; length: TNumber; name: TOptional<TString>; offset: TOptional<TNumber>; start: TNumber; trackId: TString; url: TString; \}>]>>; id: TString; instruments: TArray<TObject<\{ effects: TOptional<TArray<TObject<\{ id: TString; options: TOptional<TRecord<..., ...>>; type: TUnion<[..., ..., ..., ...]>; wet: TOptional<TNumber>; \}>>>; envelope: TOptional<TObject<\{ attack: TNumber; decay: TNumber; release: TNumber; sustain: TNumber; \}>>; id: TString; name: TString; oscillator: TOptional<TUnion<[TLiteral<"sine">, TLiteral<"square">, TLiteral<"sawtooth">, TLiteral<"triangle">]>>; preset: TUnion<[TLiteral<"synth">, TLiteral<"polySynth">, TLiteral<"fmSynth">, TLiteral<"amSynth">, TLiteral<"membraneSynth">, TLiteral<"metalSynth">, TLiteral<"noiseSynth">, TLiteral<"pluckSynth">]>; volume: TOptional<TNumber>; \}>>; lengthBars: TInteger; loop: TOptional<TObject<\{ enabled: TBoolean; end: TNumber; start: TNumber; \}>>; masterVolume: TOptional<TNumber>; name: TString; timeSignature: TObject<\{ denominator: TInteger; numerator: TInteger; \}>; tracks: TArray<TObject<\{ color: TOptional<TString>; id: TString; instrumentId: TOptional<TString>; kind: TUnion<[TLiteral<"instrument">, TLiteral<"audio">]>; mute: TOptional<TBoolean>; name: TString; pan: TOptional<TNumber>; solo: TOptional<TBoolean>; volume: TOptional<TNumber>; \}>>; \}>

Defined in: packages/game-lib/src/lib/audio/song-definition.ts:175