Sprites.Media.Sequencer.Transport

The Transport window: play and stop the tune, and the preview driver behind them. Actually playing the tune through each platform's sound is a later phase; these are the entry points. This page is a skeleton ahead of the build; each example's live preview is wired once the editor lands.

Sprites.Media.Sequencer.Transport

Sprites.Media.Sequencer.Transport.Window Void

Sprites.Media.Sequencer.Transport.Window(visible, data, model, playing)

The transport controls, play and stop, showing whether the tune is playing.

InputTypeDescription
visibleSprites.Reactive.ValueShows the window while true.
dataSprites.Reactive.ValueThe tune.
modelObjectThe platform descriptor.
playingSprites.Reactive.ValueTrue while playing.

Returns nothing.

const model = Sprites.Platform.NES.Sequencer;
const data = Sprites.Media.Sequencer.NewDocument(model);
const playing = Sprites.Reactive.Value(false);
const open = Sprites.Reactive.Value(false);
Sprites.Ui.Button.SetValue(open, true, 'Show transport');
Sprites.Media.Sequencer.Transport.Window(open, data, model, playing);
The transport window opened from a button, with play and stop.

Sprites.Media.Sequencer.Transport.Play Sprites.Reactive.Value

Sprites.Media.Sequencer.Transport.Play(data, model)

A driver that previews the tune, emitting note events over time; a later phase, a stub for now.

InputTypeDescription
dataSprites.Reactive.ValueThe tune.
modelObjectThe platform descriptor.

Returns a Sprites.Reactive.Value driver.

const model = Sprites.Platform.NES.Sequencer;
const data = Sprites.Media.Sequencer.NewDocument(model);
const driver = Sprites.Media.Sequencer.Transport.Play(data, model);
const label = Sprites.Logic.Select(Sprites.Logic.Equals(driver, undefined), 'no event yet', driver);
Sprites.Ui.Dom.Text('event = ', label);
The preview driver – a stub that will emit note events over time.