Blog moves to new location

On Janary 7 2013 we launced our new web site for Jamoma, consolidating resources that previously were spread at several different locations (such as the blog and tutorials).

The new web site can be found at:

The new blog can be found at

The new blog also have a new URL for the RSS feed:

All blog posts, and the rest of the content of this site, have been moved across to the new location. This is the last and final post on this blog, so:

Please update your bookmarks, and welcome to follow us at the new Jamoma web site!


YAMLProj - C++ projects for the rest of us

Over the past spring we have done major under-the-hood changes to how C++ projects are maintained in Jamoma. Instead of needing to maintain parallel Xcode and Visual Studio projects (and potential additional projects for iOS and Linux), we now maintin project using simple YAML text files.

Tim has just posted on how this is done on his blog. It is well worth a read, for Jamoma developers as well as others that might be looking for a simple cross-platform project maintenance solution.


Ramping and dataspace

Here's a sneak peek of the newest feature added to Jamoma: Support for dataspaces.

In this example the parameter myPos is used to keep track of the position of a point in space. The parameter is using the position dataspace. By default position will be described using Cartesian coordinates (xyz), but spherical coordinates (add) can be used as an alternative way of describing position.

When ramping, the ramp will happen according to the dataspace used to describe the target value. This way the point can move along straight lines as well as e.g. perform spiraling movements.


New Usability Features

Besides working on the next big thing [Video preview of Jamoma 0.6], we are also improving the current Jamoma version in many ways, including usability.
Last year we have already seen the addition of Clippings for all the distro and UserLib modules.
With Jamoma 0.5.6.b7, we started to take advantage of the new usability features in Max6:

1. Autocompletion

Sometimes it is really hard to remember all the Jamoma externals and its attributes, or even to spell them correctly.
For allowing faster development of Jamoma modules, we started to implement autocompletion. At the moment, it works for the most frequently used externals. We will add this features for all externals in the next updates.

2. Gain and Mix widget

Hav you ever been confused which of the dials in a jamoma module is a gain dial and which dial is for dry/wet mixing? When you now click on either one of them, the menu will display the name of the dial and it's current value:

3. Tooltips

Have you ever wondered about the functionality of a specific numberbox in a Module?
Yes, you can take a look into the reference page, but that is not always convenient.
We now take advantage of Max6's toolbar. When you hover with the mouse over a GUI element, its description will be displayed at the bottom of the patcher:

The cool thing is that this also works for your existing private modules. Moreover, adding tooltips to existing modules doesn't requiere any extra work.

How is that possible? We now added some code to jcom.parameter and jcom.message. When a module is initialized, the @description message of jcom.parameter or jcom.message will automatically used to tag a connected GUI element. See the inside of jmod.degrade~

Inside jmod.degrade~


Addressing Jamoma modules using aliases

While we're on the screencast bandwagon, here's a video illustrating a new feature that has been implemented this week: The ability to use aliases for the names of Jamoma modules. The main purpose of this is to be able to change the names of modules dynamically so that the names reflect the content that it is currently being used for. Hopefully this will help making cue scripts more content-related and easier to read, edit and work on.

The feature will be available in the next installed, and I hope to get the time to make one the coming weekend.

If you have questions or comments, please get in touch with us at one of the mailing lists.


Vimeo channel and a TextMate demo

Today saw some further work on the TextMate bundle discussed yesterday, and an updated zip file will be posted shortly to the blog post from yesterday. I've also made a screen cast demoing it, and uploaded to Vimeo.

While at it, I created a Jamoma channel at Vimeo. I hope this will be useful for instruction videos as well as videos showcasing Jamoma in use. Please subscribe to the channel, and if you have videos relating to Jamoma, feel free to add them to the channel.


TextMate bundle for cue scripts

TextMate screenshot

Everyone that has been doing a bit of coding, know that syntax highlighting is extremely useful. In order to simplify manual editing of Jamoma cue scripts, I've just added a OSC TextMate bundle to the Documentation repository.

If you want to start using it straight away, you can download it here:

Download file "OSC for"

1 comment

Jamoma 0.5.4.rc1

Jamoma 0.5.4.rc1 (release candidate 1) has been uploaded. All issues related to OSX Lion are believed to be solved. There are no major changes as compared to the previous beta 2 release. Still, please give it a try. If we do not hear any complaints, this will be released as 0.5.4 the coming weekend.


"Quiet is distinguished" by Ricardo del Pozo

Quiet is distinguished

The installation “Quit is distinguished” by Ricardo del Pozo will be shown at Union Scene in Drammen in Multisal 2 the 2nd and 3rd of October. Here's more from his blog:

This is a completely new sound piece for 16 speakers, and I’m am really exited to be able to present it in such a nice space. I will post more on this subject soon.

About my work in general:

Through digital real-time processes and spatialization techniques Ricardo’s work aims at addressing the formal aspects of sound and video and their inherent properties as artistic value.

Ricardo’s work explores the borderline between installations and electro acoustic music, existing somewhere in between categories. The work deals with formal questions concerning the sound and the moving image and how the relationship between them creates virtual, physical and mental space. The installation you’ll see at the open studio is a work in progress where Ricardo has been exploring algorithmic composition for both video and audio, and in what way these generative systems, to an extent, dissolve the perception of time.


Jamoma 0.5.4.b2

A new installer is now available, with the changes and fixes reported and done in the last few weeks. Most importantly the four Plugtastic externals have been renamed. If you installed the previous beta, please remove the previous versions of these files manually:

  • plug.out≈.mxo
  • plug.out≈.maxhelp
  • plug.parameter#.mxo
  • plug.parameter#.maxhelp
  • plug.loader (found in /Max 5/Cycling '74/max-startup)

Also please check the Patches/extras and Patches/clippings folders for stray Plugtastic files.

Plugtastic is not currently fully operationally, and attempts to build Audio Unit plugins will cause Max to crash. We are currently working on this.

Change log since 0.5.4b1:

  • Various bug fixes i dataspaces (used by jcom.parameter and jcom.dataspace):
    • No longer crash if requesting a non-existing dataspace
    • @dataspace time: Fixed convertions to and from sample rate
  • jcom.filter~ fixed
  • jcom.parameter: @ramp/function now defaults to linear
  • jcom.parameter: @ramp/function can now be set at instantiation
  • Fixed an issue in help patch
  • jcom.parameter.array: Fixed error messages in help patch
  • jcom.dbap: src_weights now work in 1D and 3D, not just 2D
  • Plugtastic:
    •≈ renamed to≈
    • plug.out≈ renamed to jcom.plug.out≈
    • plug.loader renamed to jcom.plug.loader
    • plug.parameter# renamed to jcom.plug.parameter#


Jamoma 0.5.4b1

We have just uploaded a new Jamoma installer for Mac. The most important changes in this version are:

  • Addresses a number of OSX Lion issues
  • Requires OSX 10.6 or newer
  • Sneak-peek of the new Plugtastic objects, but with minimal testing recently
  • Dataspace: The pitch dataspace has been merged into the time dataspace

Please consider this version to be a beta. There might still be issues with OSX Lion, and there might be problems that we are not yet aware of if running the installer on OSX 10.6. If you’re in the process of testing out and migrating to OSX Lion please try it out. If you have an important project coming up in the next few days, I would recommend holding of.

As for the dataspace change: If you use custom modules with jcom.parameter or jcom.dataspace externals and @dataspace pitch, please change this to @dataspace time. The benefit is that there are more units to convert between than before.

Enjoy, and please report any bugs or issues to our issue tracker. If it is working well, we’ll be pleased to know on our mailing lists. The previous release (0.5.4b4) is still available for download.


Last months in Jamoma

While we hope you all enjoy a nice summer, we thought you will also enjoy to hear some news from Jamoma.

New in Jamoma

Since the last post from our “Last months” series dating back to may, a number of things happened. The full list of changes being not the funniest thing to read, you can see these changes in action using the installer of Jamoma 0.5.3 available both for Mac AND PC. Also worth noting that a new UserLib installer was released on the 18th of July. Please visit Jamoma download page to give it a go.

Another great news you may have missed is a new development project within Jamoma: Plugtastic. As previously mentioned, Plugtastic allows the building of Jamoma-based patches as plugins (AudioUnit at the moment). Initially developed by 74objects, Timothy Place not only decided to open source Plugtastic but also offered to include it in the main Jamoma distribution. We are thankful for all the efforts Tim put in Plugtastic and we hope it will get a fair interest and feedback from Jamoma community.

Platform support

As previously announced, with the release of Mac OS 10.7, Jamoma has to drop support of OS 10.5. As a consequence, Jamoma 0.5.4 and above will require Snow Leopard. Of course, Jamoma 0.5.3 will remain available for users who have to work under 10.5.

Concerning Mac OS 10.7 support, Trond Lossius spent some time testing how good Jamoma works on Lion. However, a few problems remain at the time of this writing. If you already did the update to Lion, please get in touch with us to share your experience or help.

Public appearance

Nils Peters did a presentation of Jamoma during the CNMAT Max/MSP summer school 2011. In case you could not make it to this summer course edition, you can have fun going thru the Prezi presentation Nils did.

Thanks to Renaud Rubiano invitation, Théo De La Hogue and Julien Rabin participated to a workshop hosted by, in Paris. While the workshop was not strictly dedicated to Jamoma, a nice amount of tests and practice was done on Jamoma 0.6 in particular regarding its features for interoperability. Without a doubt, you will soon read more information about this on Jamoma blog. Stay tuned.

Regarding the artistic side, Jamoma has been used in Trond Lossius’ latest multi-channel installation at Hâkon’s hall in Bergen. If you planed to visit Bergen from now onto mid-september, be sure to go and hear this installation in such a beautiful place.

New contact address

As a conclusion note, while it is usually advised to share your feedbacks or feature requests with the whole Jamoma community thru the forum page, you can now also reach the core Jamoma team at this address. This may be useful if you want to get in touch to offer hosting of a workshop, offer support or get involved in whatever way you would like to discuss off-list.

We hope you all have a nice summer. Thanks for your support.


Granular Toolkit to be reimplemented in Jamoma

For the past 10 years the Granular Toolkit (GTK) by Nathan Wolek has been a welcome and much used extension to MaxMSP for granular synthesis and processing.

Nathan Wolek has just announced that in order to ensure future usability as well as enable the code to be used in other hosting environments, he has decided to end development of GTK in its current form, and instead reimplement as new granular components in Jamoma.

The source code for the externals in GTK will be open-surced under a BSD license, so that it remains possible to maintain the current code for projects that depends on it.

This is exciting news for Jamoma, and will certainly boost the feature sets and useability of the DSP and AudioGraph libraries. With the recent open-sourcing and inclusion of Plugtastic (wrapping AudioGraph externals into Audio Unit plugins), it also opens up exciting possibilities for creating granulation plugins in the future.


Jamoma sprint #1: Jamoma Dataspace

For a while we have been airing the idea of doing development sprints: Focused efforts over a limited period of time targeting specific goals for Jamoma.

Jamoma dataspace

For the last week Trond Lossius has done a lot of work on merging the pitch and time dataspaces, as well as writing up unit tests for dataspaces. He has set this development effort as a (minor) milestone.

Hopefully these development sprints will help a lot to get some specific areas more stable or featured and will ease the release of Jamoma updates. If you want to come and help Trond finishing this effort, just get in touch thru the forum.


Changes to the ObjectiveMax repository

This blog post is intended at developers and users that do not use the Jamoma installers, but rather check out the code from GitHub, and compile externals and frameworks themselves.

At the BOD meeting yesterday it was decided to move the ObjectiveMax repository. This has previously been hosted at Tim's Github account, but has now been moved to become part of the jamoma context. The new location is here.

ObjectiveMax is a high-level API for writing objects in C, C++, and Objective-C targetted for Max and Max-like environments. In Jamoma ObjectiveMax is a submodule of the supports submodule, located in the objectivemax folder. It is used in the various Jamoma frameworks for interfacing with the MaxMSP SDK.

The Jamoma repositories have been updated today, but there will probably be some work required for each of us to get our local repositories in line. Here is what I did to get this up and running locally:

1) Update supports

In Terminal, located at the folder of the main Jamoma repository, run the following 4 commands one by one (you can past them all into Terminal in one go):

git submodule foreach git submodule foreach git checkout master
git submodule foreach git submodule foreach git pull
git submodule foreach git submodule foreach git submodule init
git submodule foreach git submodule foreach git submodule update
By now all support submodules should be updated to refer to rather than

2) Update objectivemax

Now try updating the objectivemax submodules (you can all four commands into Terminal in one go):
git submodule foreach git submodule foreach git submodule foreach git checkout master
git submodule foreach git submodule foreach git submodule foreach git pull
git submodule foreach git submodule foreach git submodule foreach git submodule init
git submodule foreach git submodule foreach git submodule foreach git submodule update

3) Check to see if objectivemax is working

Now try pulling the objectivemax submodules:

git submodule foreach git submodule foreach git submodule foreach git submodule foreach git pull

4) If it is not, fix it

This command might bring up error messages, as the .git/config file inside the objectivemax folder might still be referencing If so, see from the error messages in Terminal which submodule failed to be pulled. If you e.g. see that the objectivemax submodule inside AudioGraph failed, you can edit the file with this command (provided that you are on Mac with TextMate installed):

mate Modules/AudioGraph/supports/objectivemax/.git/config 
Change this line:

	url = git://

	url =
This will update the repository reference and make it writeable, so that you can commit changes in the future.

Now go back to step 3, and loop through 3 and 4 until it's all OK.

If you get into problems, please use the jamoma-devel mailing list to get support.


As reported on Jamoma dev list, you can also use the attached Ruby script that will take care of this. Just put the script in your "Tools" folder then run it from Terminal. When done, you can run the usual script "update.rb" with the following arguments : "master all". This will checkout all Git modules and submodules from the master branch and do the submodule initialisation and update. Hope this helps.

Télécharger le fichier  "updateRemotes.rb"


New Mac and PC release

New beta release : Jamoma Modular 0.5.3b is out

A new version of Jamoma was just uploaded. Alongside with the usual optimizations, bug fixes and all, Jamoma 0.5.3 brings some great news: for the first time in a year, Jamoma installer is available both on Mac and Windows!

If you did follow the recent activities on the forum or on Github, something has certainly not escaped of your attention: a lot of work has been put on the Windows version of Jamoma. Indeed, Adrian Gierakowski that we mentioned here before spent a lot of time working on the Windows versions of the frameworks and externals and fixing the installer amongst other things. Without a doubt, Adrian deserve a huge “thank you” for all the work he is doing!

No matter how nice this news is, just like with any beta version, this one comes with a grain of salt. At the time of this writing, the following externals are known to crash under Windows:

  • jcom.fft≈
  • jcom.dac≈
  • jcom.adc≈
  • jcom.split≈

Also worth noting that and are currently broken.

It may take some time before these problems are fixed but we hope it will not last for long. If you want to give a hand at working on this, you are more than welcome to join the Jamoma community of developers.

In any case, be sure to head over the download page and grab the installer:

  • For Mac: Jamoma-0.5.3-b2.dmg
  • For Windows:


Support of Mac OS 10.5 roadmap

In case you missed Timothy Place’s message on Jamoma Development forum, we would like to draw your attention on a particular point concerning the support of Mac OS 10.5.

Apple has released Xcode 4. The fact is that you cannot build Jamoma with Xcode 4 unless we drop OS 10.5 support. For now, we are continuing to build with Xcode 3, but… Apple has announced that OS 10.7 will ship in the next couple of months. Xcode 4 will be needed to compile on 10.7.

Given these conditions, the least painful path forward for collective Jamoma development is to drop support for OS 10.5 at the time when OS 10.7 is released. That is this summer, and coincides with our plans for Jamoma 0.6. If that sounds like a major problem for you, please let us hear about it. Or to quote the oblique strategies : “Voice your suspicions”.


Last months in Jamoma

It has been a while since no update was posted on this blog. However, while things are quiet on the surface does not mean nothing is going on. As a matter of facts, since everyone came back from the nice and productive workshop we had at BEK in Bergen, a number of things have been worked on.

First thing first, we would like to cheerfully thanks again everyone at BEK for hosting Jamoma workshop and every organization that made this possible :, fourMs lab from the University of Oslo, Galamus, GMEA and Ircam. These friendly and productive times mean a lot for the work getting done on Jamoma and for the work to come.

Recent developments

Jamoma saw some initial support for working with matrices. This will allow amongst other things to write objects for Jitter. Thanks to Timothy Place!

Since the efforts initiated during the workshop, the trajectoryLib got more work done beside some new additions to the dataspaceLib. Thanks to Nils Peters’ efforts, it now offers “orientation” dataspace (euler <> quaternion <> axis/angle) and “speed” dataspace (mph <-> km/h, etc.). On a related subject, Trond Lossius started working on new library that has been discussed for quite some time : spatLib.

The previously code-named deviceManager received a amount of work by Théo De La Hogue. The now called Network Device Manager allows remote control of Jamoma applications or Max/MSP patches within the Jamoma network. Stay tuned for soon to come demo!

Jamoma also received a nice contribution from Nathan Wolek. The WindowFunctionLib has been expanded and will surely be a basis for more great stuff in the future. Thanks Nathan and welcome !

Finally, beside all these improvements or features additions, it is worth noting that a lot of attention and work has been done on Unit Testing. This should really help release fully tested and stable Jamoma versions. Of course, you are still more than welcome to report any bug that may have escaped from our attention on Jamoma forum.


The paper written by Théo De La Hogue, Laurent Garnier and Julien Rabin entitled “Jamoma Modular: a C++ library for the development of modular applications for creation” got accepted for the french conference Journées d’Informatique Musicale that will be held at the University Jean Monnet in Saint Etienne, France.


Jamoma Modular 0.5.2 released

New Jamoma release !

We are happy to announce that Jamoma Modular 0.5.2 for Mac is now released. Please visit Jamoma download page to grab a copy of the installer. A lot of work has been done since the last release (dating back to June 2010): new features, bug fixes from a list too long to be detailed here. We hope you enjoy this new step.

We are unfortunately not able to propose a Windows release at this time because of the lack of developers involved in this platform. If you want to help testing, developing and building installers for Windows, please get in touch with Jamoma members.

As usual, thanks for your support and feedback.


Spotlight: new modules coming to UserLib

Some time ago, Adrian Gierakowski shared a nice patch showing use of a new jcom.hub feature to mix between presets.

Today, Adrian just posted a message on the Jamoma User forum to annouce some of his modules are now public. This "ag.granular.suite" collection contains a number of FTM/Gabor-based modules for granulation processes and control. Be sure to watch Adrian's video inserted below to have an overview of the nice features his modules have.

ag.granular.suite tutorial 01 - overview from Adrian Gierakowski on Vimeo.

It is really nice to know about people's use of Jamoma. If you would like to have some of your modules available in the User Library or featured on this blog, please get in touch with us thru the forum.