gibber-cc / gibberwocky

Streamlined live coding for Ableton Live, Max/MSP/Jitter, and MIDI
http://gibberwocky.cc
MIT License
175 stars 11 forks source link

adding new track #10

Closed magwa101 closed 6 years ago

magwa101 commented 6 years ago

Live 10, OSX 10.13.3, Max 8, gibberwocky 1.2.

In the gibberwocky.demo I add a new track with instrument Analog, so it is track 4. I put the gibberwocky midi M4L into the new track 4. The gibberwocky lom only shows the name of the device and that it has an instrument rack, but does not show device parameters.

charlieroberts commented 6 years ago

If it's a Rack I think the LOM only exposes its Macros for control, so you'll need to map whatever you want to use onto a Macro. Does that help?

magwa101 commented 6 years ago

It does not see the macros either, but get this, I dragged a device over from the lom (amazing feature btw!) and I got this: tracks['4-Ambient Strings'].devices['Instrument Rack']['undefined'] then I edited it to something obvious: tracks['4-Ambient Strings'].devices['Instrument Rack']['Attack'] and it became addressable. However the values seem "off": 'Attack' went to 25 and 'Attack' went to 88.

magwa101 commented 6 years ago

I ungrouped it and yes, all the parameters of the "racked" devices came up, very nice!!

magwa101 commented 6 years ago

Here's a fun clue, I put an M4L LFO Midi in front of a plugin from AAS (strum 2, amazing sound). I can assign the LFO Midi to control a "configure" parameter from the Strum 2, then I can modulate the LFO device from gibber, like this: tracks['8-Instrument Rack'].devices['Max MIDI Effect']'Offset'

There's something flakey about parameter addressing in Live. Their OSC is basically "unsupported" right?

charlieroberts commented 6 years ago

Yes, I need to do some cleanup on the drag and drop stuff. FYI, you can normally shorten it to (assuming it's the fourth track in your set):

tracks[3].devices[0].attack

...and if you leave off devices[0] it will search through the device chain to find the first device with an attack parameter and control that. So, really it could just be tracks[3].attack, which can be fun for quick typing.