Sign-Up for community.electrotap.com
  or Login if you have already registered

Planning an MVC version of Jamoma

Timothy Place 2008-11-03 16:04:00 UTC

Jamoma
0 Comments

While it’s true that we are still working to finish the 0.5 release of Jamoma, we are also planning for the future. Some of the more dramatic plans for the future of Jamoma we are lumping into what we call ‘Jamoma 0.6’.

Jamoma 0.5 is largely about compatibility with Max 5 (though there have been a lot of other improvements as well). Upon the release of 0.5 we are going to become more concerned with maintaining backwards compatibility. This is possible due to the extensive amount of work (and rework) we’ve done, and our confidence in the architecture we now have in place. It is desirable so that our patches won’t break and so that Jamoma can become more widely adopted.

This means we are approaching Jamoma 0.6 with caution, but also with optimism. One of the main goals of 0.6, as we currently see it, is a better separation of the ‘model’ and the ‘view’ layers that comprise a module. The essential functionality will be encapsulated as the model (the so-called ‘fat’ model), and the multiple views will then attach themselves to the model. With some careful planning, we believe that we can do this internally with modules while making no visible changes to patchers that use a module.

The benefits are many:

  • easier code for maintenance and debugging
  • clearer structure
  • more flexible — can make additional views (textual or graphical) without changing the model at all
  • ramping happens in the model, meaning that we can have audio-rate ramping directly implemented by parameters
  • reduced complexity

The approach we are taking is to first finish with stabilizing version 0.5. Then we have a series of prerequisites to address:

  • multichannel audio
  • addressing nodes and attaching to nodes (jcom.send and jcom.receive)
  • multichannel audio

So needless to say, this is a long-term project…

Share your own thoughts or comments...

Please log in to leave a comment.