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 _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@email-addr-hidden http://lists.linuxaudio.org/listinfo/linux-audio-devReceived on Thu Feb 25 04:15:02 2010
This archive was generated by hypermail 2.1.8 : Thu Feb 25 2010 - 04:15:02 EET