[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.

>  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