[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-dev] fast forwarding the server
My proposal is similar, but adds a preroll point before the start of playback, and a silent fast forward or reposition mode which renders audio at maximum speed but doesn't wait for it to play through the output buffers. Like this:
1. Skip events until (new play position - preroll time).
2. Calculate stream events, render but don't buffer audio from the preroll point to the play position. This prerenders streams and ugens so they can make a contribution before normal playback starts.
3. Stream events and play audio from the play position in the usual way.
This gives enough 'lookback' to be musically useful when it's needed, allows users not to use any lookback at all if they don't want it (duplicating Victor's scheme) and also allows them to fast forward with full prerender from the start if they want to hear a piece with all elements in full every time (and don't mind waiting while it cooks before it reaches the fast forward position.)
On 7 Jan 2013, at 10:11, "Victor Bombi" <sonoro@xxxxxxxxxxxxxx> wrote:
> I would like to share how I implemented this feature in my Lua SCclient.
> Transport is not based on time but on beats (This is not essential to transport but allows to shedule without knowing the future musical tempo)
> Players are similar to EventStreamPlayers.
> When playing metronome is advanced and a new frame (specific beat lenght) is sequenced:
> 1- Players positioned in this frame are played : s_new and n_set messages are bundled sent and correspondig releases (n_set with gate = 0) are forwarded to a scheduler.
> 2- Players positioned before the frame are pulled: All streams are advanced till current frame but not played as case 1
> 3- Players with "last event played" positioned after the frame are reset (go to begining) and pulled as in case 2
> The sheduled events from case 1 (with releases gate = 0) are always sent so synths will never be left unreleased.
> Thats all. It works for musical structures based on sequencing and of course not for musical structures based on synth definitions but that's enough in most of the situations
> Best Regards
> Victor Bombi
> sc-dev mailing list
> info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> archive: https://listarc.bham.ac.uk/marchives/sc-dev/
> search: https://listarc.bham.ac.uk/lists/sc-dev/search/
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml