Re: Sequencers

Francis James Whittle <[email protected]> Fri, 30 Aug 2002 23:08:12 +1000
Newsgroups gmane.comp.gnu.octal.devel
Message-ID <[email protected]>
Interesting vision, I like these ideas...  Have some comments.

I may be barking up the wrong tree (perhaps in an entirely different 
forest) here, but 
> Here is my sequencer vision..
> 
> A sequencer type has a specific data format and an API for access and
> manipulation of its elements (such as notes). The data is converted
> into events at playtime. So the sequencers are event generators.

That makes almost perfect sense.  Hell, you could even write an entire 
object model on that paragraph.
One minor thing though ... not just "sequencers" -- in their classical 
sense -- but more kind of "event propagators", a sequencer being a 
type, piano roll another, et c.

> The editors are separate plugins but they use the APIs of the 
> particular
> sequencers. Because of the GUI code, the editors are platform 
> dependent
> while the sequencers are not. One type of sequencer data could be 
> edited
> with any editor supporting it. Most editors are probably
> sequencer-specific, but nothing says that an editor couldn't support
> several sequencer types. I don't know..

Don't see why the editors should be platform dependant, but anyway...
This idea would seem to be better placed as tieing an editor in with a 
propagator, and having extensions on both for similar types, or 
something like that.

> There is also a "container" sequencer type which allows placement of 
> data
> segments (what do you call them generally, patterns, blocks?) of all 
> kinds
> of sequencer types, and perhaps simple samples. They can even be 
> nested
> recursively! If there is a "main sequencer" it could be of this kind.

Sorta' like callbacks in ui coding, only not quite, you mean?  A 
"container" sequencer that has an event attached calling another...
Sounds useful.  An event could include 
Using a model like this, we could get into some really great 
event-driven stuff, that can be used to create some really complex 
sounds including live input, even network-run jam sessions (Relatively 
low bandwidth, too) -- other apps too!  .oO(Pressing the accelerator in 
your vehicle sim triggers an event in the octal backend for a truly 
dynamic engine noise).  Of course, that's if we want to take it that 
far...