SongPlayer
@zylem/game-lib / audio / SongPlayer
Interface: SongPlayer
Defined in: packages/game-lib/src/lib/audio/song-player.ts:26
Properties
definition
readonlydefinition:object
Defined in: packages/game-lib/src/lib/audio/song-player.ts:27
bpm
bpm:
number
clips
clips: (\{
id:string;kind:"notes";length:number;name?:string;notes:object[];start:number;trackId:string; \} | \{gain?:number;id:string;kind:"audio";length:number;name?:string;offset?:number;start:number;trackId:string;url:string; \})[]
id
id:
string
instruments
instruments:
object[]
lengthBars
lengthBars:
number
loop?
optionalloop?:object
loop.enabled
enabled:
boolean
loop.end
end:
number
loop.start
start:
number
Beats.
masterVolume?
optionalmasterVolume?:number
Master fader in dB.
name
name:
string
timeSignature
timeSignature:
object=TimeSignatureSchema
timeSignature.denominator
denominator:
number
timeSignature.numerator
numerator:
number
tracks
tracks:
object[]
ready
readonlyready:Promise<void>
Defined in: packages/game-lib/src/lib/audio/song-player.ts:30
Resolves once Tone.js and every audio clip are loaded.
state
readonlystate:SongPlayerState
Defined in: packages/game-lib/src/lib/audio/song-player.ts:28
Methods
dispose()
dispose():
void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:55
Returns
void
on()
on<
K>(event,handler): () =>void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:54
Type Parameters
K
K extends keyof SongPlayerEvents
Parameters
event
K
handler
Returns
() => void
pause()
pause():
void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:33
Returns
void
play()
play(
fromBeat?):Promise<void>
Defined in: packages/game-lib/src/lib/audio/song-player.ts:32
Starts (or resumes) playback; needs a prior user gesture the first time.
Parameters
fromBeat?
number
Returns
Promise<void>
position()
position():
number
Defined in: packages/game-lib/src/lib/audio/song-player.ts:38
Playhead in beats.
Returns
number
preview()
preview(
trackId,pitch,duration?,velocity?):Promise<void>
Defined in: packages/game-lib/src/lib/audio/song-player.ts:51
Plays one note on a track's instrument right now (for auditioning).
Parameters
trackId
string
pitch
number
duration?
number
velocity?
number
Returns
Promise<void>
seconds()
seconds():
number
Defined in: packages/game-lib/src/lib/audio/song-player.ts:40
Playhead in seconds at the current tempo.
Returns
number
seek()
seek(
beat):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:36
Parameters
beat
number
Returns
void
setBpm()
setBpm(
bpm):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:41
Parameters
bpm
number
Returns
void
setLoop()
setLoop(
loop):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:42
Parameters
loop
\{ enabled: boolean; end: number; start: number; \} | null
Type Literal
\{ enabled: boolean; end: number; start: number; \}
enabled
boolean = ...
end
number = ...
start
number = ...
Beats.
null
Returns
void
setMasterVolume()
setMasterVolume(
volume):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:49
dB.
Parameters
volume
number
Returns
void
setTrackMute()
setTrackMute(
trackId,mute):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:43
Parameters
trackId
string
mute
boolean
Returns
void
setTrackPan()
setTrackPan(
trackId,pan):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:47
Parameters
trackId
string
pan
number
Returns
void
setTrackSolo()
setTrackSolo(
trackId,solo):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:44
Parameters
trackId
string
solo
boolean
Returns
void
setTrackVolume()
setTrackVolume(
trackId,volume):void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:46
dB.
Parameters
trackId
string
volume
number
Returns
void
stop()
stop():
void
Defined in: packages/game-lib/src/lib/audio/song-player.ts:35
Stops and rewinds to the start.
Returns
void
update()
update(
definition):Promise<void>
Defined in: packages/game-lib/src/lib/audio/song-player.ts:53
Swaps in a new definition, keeping the playhead and state.
Parameters
definition
bpm
number = ...
clips
(\{ id: string; kind: "notes"; length: number; name?: string; notes: object[]; start: number; trackId: string; \} | \{ gain?: number; id: string; kind: "audio"; length: number; name?: string; offset?: number; start: number; trackId: string; url: string; \})[] = ...
id
string = ...
instruments
object[] = ...
lengthBars
number = ...
loop?
\{ enabled: boolean; end: number; start: number; \} = ...
loop.enabled
boolean = ...
loop.end
number = ...
loop.start
number = ...
Beats.
masterVolume?
number = ...
Master fader in dB.
name
string = ...
timeSignature
\{ denominator: number; numerator: number; \} = TimeSignatureSchema
timeSignature.denominator
number = ...
timeSignature.numerator
number = ...
tracks
object[] = ...
Returns
Promise<void>