Replies: 3 comments
-
Hey @DMW9400, I'm happy to hear that you're using ableton-js for your project! Regarding your question, unfortunately, Ableton doesn't give plugins access to the MIDI signals on every track. Instead, we can only listen to incoming MIDI from the device that is set as the control surface's input in Live's MIDI settings. If you'd like to receive MIDI from multiple MIDI tracks, the best way might be to create a Max for Live MIDI Effect that captures incoming MIDI and forwards it to your program using OSC. I hope this helps! |
Beta Was this translation helpful? Give feedback.
-
Thanks for the swift reply Leo! We look forward to conversations about building things out in the future. Right now we're trying to get the firing of individual drum cells within a drum rack to register with the system. Looking through various decompiled PYC files for DrumGroup, it looks like a property called "pressed_pads" may be the way forward if we can't get midi listeners implemented via the API. |
Beta Was this translation helpful? Give feedback.
-
Is it possible to access the MIDI that goes into the scripts for the control surfaces and forward it over UDP? Before it passes any of the MIDI transform functions in Python. Getting the raw MIDI of the Control Surface in a way that is perhaps more reliable than grab_midi. I notice you got access to the MIDI Map settings. Can the mappings be altered on the fly? For example to make dynamic Macros. This coincidentally is another part of Live that has handlers for MIDI Input, can ableton-js spy on those for the raw MIDI? I'm very much a novice at this stuff, so I have no idea if what I'm asking is technically possible. MIDI can come in through a script, bonjour/rtp, straight into a track and from Remote mappings. And once a MIDI Port is mapped to one of those, you can't map to it MIDI software outside of Live. MIDI 2.0 native drivers should allow multi-client MIDI Port connections to various apps though, at least according Microsoft's MIDI 2.0 github project (now in dev access). So perhaps my idea will be moot eventually. But I'm impressed with the access you got with ableton-js, which goes beyond the MFL API access and runs independently from it. So I figured I'd ask how far the reach of ableton-js extends in regards to MIDI I/O. |
Beta Was this translation helpful? Give feedback.
-
Hello all,
I'm working with a company called Lucid, who are developing with ableton-js for a project. We really appreciate how well implemented the current features are! We've begun extending the library to include the chain class and will be happy to submit a pull request once we've got certain issues resolved.
We are hoping to get midi listeners implemented correctly. I can see that there is a Midi.py file in the library that has a handler added in the AbletonJS.py file. Since Midi can belong to chains, tracks, clips, etc, I'm curious about how to actually add midi listeners to a given track, chain, or device on the JS end. I'm wondering if @leolabs you could provide any guidance on how that could be done. Many thanks!
Beta Was this translation helpful? Give feedback.
All reactions