The library documents itself · Sound
stzSoundTransport
25 own methods · 7 forms written with extensions, listed under their method
the source: base/sound/stzSoundTransport.ring(opens in a new tab) · All classes · The area reference: Sound
Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
No method of this class is run on this page: the class reaches files, the network, processes, the clock, chance or sound, and an example run here would only be an example of its effects. Each method carries the explanation the library gives of itself.
Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
State
what it is doingno extension
IsPlaying
(no comment in the source: the name reads as a sentence) is playingno extension
IsPaused
(no comment in the source: the name reads as a sentence) is pausedno extension
IsStopped
(no comment in the source: the name reads as a sentence) is stoppedno extension
LastError
(no comment in the source: the name reads as a sentence) last errorno extension
Refusals
How many moves the state machine refused. A transport that is being driven wrongly says so in a number rather than misbehaving quietly.no extension
PositionInFrames
Frames the DEVICE has consumed, not frames the graph has produced: the producer runs ahead by a ring's worth, so asking it would report a position up to a third of a second in the future. What the listener has heard is what the device has taken.no extension
PositionInSeconds
(no comment in the source: the name reads as a sentence) position in secondsno extension
SampleRate
(no comment in the source: the name reads as a sentence) sample rateno extension
Underruns
Frames the producer could not supply in time. Zero is the answer you want, and it is counted rather than guessed.no extension
Play
the movesQCSXTZZZIBWU
PlayFor
Play, and stop by itself after pnSeconds. The stop happens in Tick(), so it needs someone to be ticking -- RunFor and DriveWith both do.QCSXTZZZIBWU
Pause
(no comment in the source: the name reads as a sentence) pauseQCSXTZZZIBWU
Resume
The graph carries on from where it was: pausing did not rewind it, so an envelope half way through its decay is still half way through it.QCSXTZZZIBWU
Stop
(no comment in the source: the name reads as a sentence) stopQCSXTZZZIBWU
Rewind
Back to the top: the graph rewinds and the clock goes with it. Only legal when stopped, because rewinding under a running device is a jump.QCSXTZZZIBWU
Tick
being driven -------------------------------------------------------- One step. Cheap on purpose: it reads a counter and decides whether the sound has run out. Call it as often as you like.no extension
RunToEnd
Tick until it stops, without a reactive loop. This DOES occupy the thread -- it is the honest version of PlayFor for a script that has nothing else to do, and it still reports the position while it runs.no extension
RunFor
Same as PlayFor: Play, and stop by itself after pnSeconds. The stop happens in Tick(), so it needs someone to be ticking -- RunFor and DriveWith both do.no extension
DriveWith
THE REACTIVE CONVERGENCE. The transport does not own a loop; it owns a STEP. Hand it a stzReactive and the loop that already exists calls the step, alongside every timer, stream and task that loop is already carrying -- which is the whole point of there being one loop.QCSXTZZZIBWU
OnStarted
what to callno extension
OnFinished
(no comment in the source: the name reads as a sentence) on finishedno extension
OnTick
(no comment in the source: the name reads as a sentence) on tickno extension
Release
housekeepingno extension

