Advice on creating graphical score external...

    Dec 20 2009 | 5:54 pm
    I have in mind to start development a Max based graphical score system. Basically its purpose would be to provide an environment that would allow me to take computational geometry, manipulate it, and map it on to musical parameters, anyway I want. Ultimately, I would like it to be something like Algoscore...
    I could write the entire thing from scratch, but that would be a lot of work. Now that M4L is here, I would like to leverage some of the wonderful features that Live has as a sequencer. My external would keep track of the geometric data and mappings. It would display the score in a separate window, (maybe with Is there a way I can have my score external and display sync up with what Live is playing? Is there a shared clock source?
    If anyone knows of a graphical score external please let me know. Otherwise, any feedback or ideas would be greatly appreciated.

    • Dec 20 2009 | 6:42 pm
      dear anthony. +1, i actually cannot believe cycling / anyone has not done this yet. it is 2009 AD after all. your wish is my max-life-long dream/ambition. the idea of finale // pwgl/enp // algoscore right inside max/m4l is mouthwatering. unfortunately, my programming sucks, so the only help i can offer is moral support! sorry, i know that is useless...
      i played with "MaxScore" for a while, a jmsl thing, which is worth a look, and could already be used in m4l with minor tweaking. i managed to build a sort of mini-sibelius / openmusic-y type thing with it. unfortunately i ran out of email addresses to keep getting the free 30 day trial thing (!), and other than that it costs a lot ($120 i think) for a jmsl licence. also, it is not very useful / expandable really, but in conjunction with "" a nice project overall. "ftm" 'track' and 'scoob' also worth a look, but always frustrating when you hit an ircam-like wall. i think it seems like something from scratch in java (no?) or C (++) (yes?) looks best bet for best possible implementation. however, my knowledge is weak here, as you can probably tell.
      i thought about the jitter angle, but might use a lot processing? as far as m4l goes, yes, syncing / timing for such a project would be rock solid between max device and live. in my experience so far. be wary of graphic-intensive floating windows update speed though - this sucks (at the moment) in m4l/live. good luck! keep us informed! sorry for almost useless post!
      EDIT: oops, just saw this was a "DEV" forum post sorry...
    • Dec 20 2009 | 9:35 pm
      You should look in the SDK for info about ITM. When Max is being run via Max-for-Live then Live serves the time source for the ITM 'clock'.
    • Dec 21 2009 | 12:28 am
      I think this is a great idea - and one that has long been missing from Max (the ill-fated [timeline] notwithstanding). I'd be happy to help out with testing, feedback, bug finding, etc., though my non-MaxMSP programming skills (other than Csound) are a little rusty.
    • Dec 21 2009 | 1:34 pm
      CNMAT has some jsui stuff for score display, jschord and jsmelody. as far as I remember they're quite basic... but you might like to give them a look... aa
    • Dec 21 2009 | 4:03 pm
      Thanks everyone for the feedback. I think right now I leaning towards a C++ external. There are some very interesting computational geometry libraries out there, like CGAL, that would be great to experiment with. I try to stay away from Java, expecially when doing things that are processor intensive.
      So the external would hold the logical representation of the score: geometric sequences, computational objects, algorithmic processes, patch objects, and all mapping information.
      Tim, i will look in to the ITM interface. Is it safe to assume that with ITM can choose to have an external clock source (like Ableton Live) or use an internal clock source (Max)?
      Also, if I were to render this graphical score, I imagine the most efficient way would be to use API drawing commands instead of formatting commands and sending it to Is there an API that uses that I can use as well?
    • Dec 21 2009 | 6:20 pm
      For OpenGL, you will want to use Jitter. This could be writing your own object (see the OB3D examples in the SDK) or using If you don't need 3d and wish to render in 2d then you can use the jgraphics API as we do in all of the UI objects.
      With ITM you can slave your object to any existing named transports or to the global transport using the itm_getnamed() function.
    • Dec 21 2009 | 10:04 pm
      Tim is there a Jitter SDK available for windows? I do not see it in the download section.
    • Dec 21 2009 | 10:13 pm
      Thanks to the flu going around, the web page has not been updated yet. You can download the now-integrated Max/MSP/Jitter SDK via this thread: