I’m using Jamoma in it’s current incarnation as a framework for the Max patches for Tracker. Having tried it for a few days the benefits are clear. One of the week points of Cracker was that all transitions took to long. A practical reason for this was that any transition implied changing a lot of settings in patches for various processing algoritmhs. Using the mouse I could only change one at a time and this meant that abrupt changes was very hard to do.
This has improved enormously using Jamoma. On top of Jamoma I’ve made patches reading a cue script in text format adopting the syntax of Jade. Some features are still left to implement in particular a WAIT command so that execusion of commands can be delayed for a specified time.
Another benefit is that it’s much less demanding running the patch during concerts and I’m able to be much more aware of what’s happening elsewhere in the room not the least getting an idea of how the music/sound and dance integrate.
Here’s a screenshot of the patch and below is an excerpt from the cue script used to handle it. Hopefully it gives a certain idea of how cues are handled using Jamoma.
//——————————— // INIT: Initialisation EVENT INIT // Module matrise matrise frode_2_grain_midi 0.000 matrise tablas_2_grain_midi 0.000 matrise sinus_2_grain_midi 0.000 matrise grain_2_harm_midi 0.000 matrise grain_2_out_midi 0.000 matrise frode_2_harm_midi 0.000 matrise tablas_2_out_midi 0.000 // Module stress stress speed 1.000 stress mute 1 stress bypass 0 stress sr 0 stress defeat_meters 0 stress gain_midi 0.000 stress LFO_freq 4.000 // Module spillmusikk spillmusikk mute 1 spillmusikk bypass 0 spillmusikk sr 0 spillmusikk defeat_meters 0 spillmusikk gain_midi 0 spillmusikk speed 0.000 spillmusikk cue 1 spillmusikk loop 1 // Module letemusikk letemusikk mute 1 letemusikk bypass 0 letemusikk gain -120.000 letemusikk sr 0 letemusikk defeat_meters 0 letemusikk loop 1 letemusikk pan 64 letemusikk sensitivity 0.102 letemusikk decay 0.950 letemusikk cues 0 // Module seige seige mute 1 seige bypass 0 seige gain -76.200 seige sr 0 seige defeat_meters 0 seige gain_1_midi 120.000 seige gain_2_midi 120.000 seige setting 0 // Module frodeloop frodeloop mute 1 frodeloop bypass 0 frodeloop sr 0 frodeloop defeat_meters 0 frodeloop gain_midi 0.000 // Module tablas tablas mute 1 tablas bypass 0 tablas sr 0 tablas defeat_meters 0 tablas gain_midi 0 tablas morph 0 // Module graindelay graindelay mute 1 graindelay bypass 0 graindelay sr 0 graindelay defeat_meters 0 graindelay gain_midi 0.000 graindelay delay_window 74.000 graindelay delay_left 250.000 graindelay delay_right 750.000 graindelay delay_feedback 0.000 // Module delayctrl delayctrl state vcl // Module harmonizer harmonizer mute 1 harmonizer bypass 0 harmonizer gain -120.000 harmonizer sr 0 harmonizer defeat_meters 0 harmonizer gain_1_midi 0.000 harmonizer pan_1 20.000 harmonizer delay_1 1736.000 harmonizer trans_1 5.920 harmonizer gain_2_midi 0.000 harmonizer pan_2 40.000 harmonizer delay_2 3450.000 harmonizer trans_2 0.240 harmonizer gain_3_midi 0.000 harmonizer pan_3 85.000 harmonizer delay_3 1736.000 harmonizer trans_3 -0.020 harmonizer gain_4_midi 0.000 harmonizer pan_4 110.000 harmonizer delay_4 3450.000 harmonizer trans_4 0.060 harmonizer gain_dry_midi 110.000 // Module vignett vignett mute 1 vignett bypass 0 vignett sr 0 vignett defeat_meters 0 vignett gain_midi 0.000 vignett rate 0.000 vignett phase 0.330 vignett freqfact 0.500 vignett trigger 0 EVENT Vignett_1 // Module vignett vignett mute 0 vignett gain -6 vignett rate 0.000 vignett phase 0.330 vignett freqfact 0.500 vignett trigger 0 // Module graindelay graindelay mute 0 graindelay gain_midi 148.000 1000 // Module matrise matrise frode_2_grain_midi 127.000 500 matrise grain_2_out_midi 127.000 500 EVENT Frode_begynner // Module vignett vignett gain -90.000 vignett mute 1 EVENT Den_Seige_Inn // Module seige seige mute 0 seige gain_midi 120 4000 seige gain_1_midi 120.000 seige gain_2_midi 120.000 seige setting 0 EVENT Tidsmaskin_1 // Module frodeloop frodeloop mute 0 frodeloop gain_midi 120 // Module delayctrl delayctrl state 3sec // Module seige seige gain_midi 0.000 25000 EVENT Flimmer // Module frodeloop frodeloop gain_midi 0 10000 EVENT GitteStyrer // Module delayctrl delayctrl state gitte // Module seige seige mute 1 EVENT Tablas // Module frodeloop (drone) frodeloop mute 1 frodeloop gain -120 // Module seige seige mute 1 seige gain -120.000 // Module tablas tablas mute 0 tablas gain 0 tablas morph 0.043