chaosprint / glicol

Graph-oriented live coding language and music/audio DSP library written in Rust
https://glicol.org
MIT License
2.26k stars 75 forks source link

Can you add midi out feature? #100

Open galfaroth opened 2 years ago

galfaroth commented 2 years ago

I'd wish to connect the signal's input to my midi synthesizer.

BenLeadbetter commented 4 months ago

Would you consider going straight for the MIDI 2.0 protocol? The technology and adoption is still pretty young but might be worth considering for the extended feature set. Also the future proofing factor.

chaosprint commented 4 months ago

Would you consider going straight for the MIDI 2.0 protocol? The technology and adoption is still pretty young but might be worth considering for the extended feature set. Also the future proofing factor.

of course. I just looked at a few crates, and they don't have good support yet, but they are all in wip status. Do you have any recommended crates?

BenLeadbetter commented 4 months ago

I must admit, I'm the lead maintainer of the midi2 crate and I'm looking for some early adoption clients.. But yeah you're right, the rust MIDI 2.0 space (and the MIDI 2.0 space in general, tbh) is still very young.

BenLeadbetter commented 4 months ago

And for the transport layer, there's not yet a platform independent solution. midir doesn't support MIDI 2.0, yet for instance. MacOS is covered for MIDI 2.0 transport support via the coremidi crate - so perhaps it would be a macOS only feature?

chaosprint commented 4 months ago

And for the transport layer, there's not yet a platform independent solution. midir doesn't support MIDI 2.0, yet for instance. MacOS is covered for MIDI 2.0 transport support via the coremidi crate - so perhaps it would be a macOS only feature?

I think the specific implementation of midi input and output should go to glicol-cli and web ide.

The language level only needs to be responsible for reading special information.

This repo is responsible for language and audio synthesis.

I just submitted an issue in glicol-cli repo. https://github.com/glicol/glicol-cli/issues/39