Skip to main content

SongPlayer

@zylem/game-lib


@zylem/game-lib / audio / SongPlayer

Interface: SongPlayer

Defined in: packages/game-lib/src/lib/audio/song-player.ts:26

Properties​

definition​

readonly definition: 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?​

optional loop?: object

loop.enabled​

enabled: boolean

loop.end​

end: number

loop.start​

start: number

Beats.

masterVolume?​

optional masterVolume?: number

Master fader in dB.

name​

name: string

timeSignature​

timeSignature: object = TimeSignatureSchema

timeSignature.denominator​

denominator: number

timeSignature.numerator​

numerator: number

tracks​

tracks: object[]


ready​

readonly ready: 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​

readonly state: 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​

SongPlayerEvents[K]

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>