Re: [linux-audio-dev] Musical language / OO design questions...

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Musical language / OO design questions...
From: Paul Winkler (slinkp_AT_angelfire.com)
Date: su tammi  23 2000 - 20:51:56 EST


David Olofson wrote:
> Anyway, what's *really* annoying with CW is just that it ignore edits
> after the start time of an event has been passed. When tweaking
> string harmonies with some notes that are several bars long, that
> becomes quite frustrating. As it can't play notes that should be
> playing, but whose start times are before where you are when you
> press start, you simply have to rewind and wait for several seconds
> to hear the full result.

That seems lazy. I've been thinking that eventually pysco should,
whether outputting realtime or rendering to a file, look at all
notes which start *or end* after the desired start time. Anything
which starts before your selection but ends during or after it will
be treated as if it actually started at the selection start. This
has its own weird consequence -- you get a bunch of spurious attacks
when you start playback -- but I think that's preferable to silence.
Usually. It would be good if you could turn it off. :)

> > But what if I follow David Slomin's suggestion to my question about
> > event scheduling? Where every possible way of changing the data in
> > an event caused an instantaneous and correct update to the data
> > being queued for output(). I wonder how hard that would be.
>
> Not too hard in theory, but hacking it into something not planned
> that way could end up as a speghetti nightmare I guess...

Well, pysco is pretty small, and my OO re-design will basically
starting from scratch since a lot of the old code is useless in the
new nested event paradigm.

> Perhaps
> having very similar APIs for the event database and the sequencer
> engine could help? Or, going the OOP way, where events are objects
> with methods used to gather data during playback; make sure the
> datbase->sequencer interface is connected to the edit methods.

That's the idea, I think.
Basically the sequencer would be designed in such a way that editing
any event causes an immediate update of any relevant previously
scheduled events.

Next step is to try it out, I suppose!
 

-- 
................    paul winkler    ..................
slinkP arts:   music, sound, illustration, design, etc.
A member of ARMS    ----->    http://www.reacharms.com
or http://www.mp3.com/arms or http://www.amp3.net/arms
personal page   ---->    http://www.ulster.net/~abigoo


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:23:26 EST