[LAD] wanted: good online reading material for RT audio/midi software design?
torbenh
torbenh at gmx.de
Thu Feb 25 01:59:35 UTC 2010
On Thu, Feb 25, 2010 at 01:00:34AM -0000, James Morris wrote:
> On Wed, February 24, 2010 23:15, Harry Van Haaren wrote:
> 1) MODEL:
> jack_process callback - where midi data is output, timebase polled,
the model is a datastructure.
its the sequence or data that is your document.
>
> 2) VIEW:
> the gui - where the user controls generation of notes and is shown notes
> that play
additionally the process_thread could be considered a view too.
this view is a linear view, which only sees short parts of the model.
so generally you can get away with providing a copy of the model.
>
> 3) CONTROLLER:
> i) time pattern: 1d - note position & duration
> ii) pitch pattern: 2d - pitch & velocity
controllers modify your model.
if your model has a bit of complexity, you cant share your model in a
lockfree manner between the 2 views.
so basically both views must own a copy of the model. and you need to
figure out a way to apply controllers to both copies of the model.
or use rcu techniques, to modify one copy of the model. and then do
an atomic exchange.
--
torben Hohn
More information about the Linux-audio-dev
mailing list