monadgroup / axiom

A powerful realtime node-based audio synthesizer.
Other
678 stars 31 forks source link

Allow to choose MIDI device #152

Closed suhr closed 5 years ago

suhr commented 5 years ago

I tried to use MIDI (via loopmidi) on Windows, but it didn't work. And when I tried to ensure that axiom uses the right midi device, I have found out there's no way to select a midi device.

cpdt commented 5 years ago

I'm assuming this is for the standalone editor? Yes, that doesn't support actual MIDI input at the moment (just 'previewing' with key presses). At the moment if you want to use MIDI input the best way is to run the Axiom VST plugin in a host that supports that.

I'll leave this open as a tracking issue for if/when MIDI input to the standalone editor is implemented, but it's not high on the list currently simply due to the fact that Axiom is primarily designed to work as a DAW plugin, we just have the standalone for testing/playing around with. But as always, if you or anyone else wants to take up the challenge, feel free to give implementing it yourself a shot! I'm always happy to provide a rough overview of what the changes would probably look like.

nixpulvis commented 5 years ago

How does one use the "MIDI Channel" module then?

cpdt commented 5 years ago

@nixpulvis "MIDI Channel" is a kind of filter for MIDI events. Each event has a channel number from 1-32, only those with a matching channel will "pass through" the MIDI Channel node. A lot of DAWs allow sending MIDI from different places to one plugin with a specific channel, so you could use the module here to 'emulate' multiple instruments in the one Axiom plugin instance.

nixpulvis commented 5 years ago

@cpdt Ah thanks, I get it. It would be really cool to have proper MIDI in/out support for the editor. I've got a few things I'd love to use together with this tool used as both a sequencer (MIDI out) and synth (MIDI in).

cpdt commented 5 years ago

Hey @suhr! I've had the chance to implement this, and it's now in master. It'll be in the next release. It's pretty basic support at the moment though, it'll just take MIDI from whatever PortMidi determines to be the default input - there isn't a GUI to change which input is used yet.

No MIDI output support just yet, I'll have a look at that when I get the chance. Should be pretty easy to add.