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 [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
