MIDI.js
MIDI.js copied to clipboard
Implementing a MIDI mixer
Hi,
I'm thinking of implementing a web based MIDI mixer that would allow me to
- mute / unmute / solo individual tracks
- individually set volume on each track
Would this be possible using MIDI.js? Do you have any ideas about the general approach I could take?
Hi- I'm currently working with library on a project and currently on this feature. I'm interested in this as well and will post back here with my findings.
All the best, Diran O. http://dreamthinkdesign.com
Sounds cool,
I've been playing around with it a bit. Seems like MIDI.setVolume(channel, volume) is available to set the volume on an individual channel. However, none of the plugins seems to implement it properly, just using a master volume and ignoring the channel argument.
So far I've looked into the Web Audio plugin and implementing it there would be really simple.
Has anyone had luck implementing this? It's still on my TODO list. I'm thinking if there's a way to run as node through audioContext, this would be pretty simple.
I experimented a bit. Now my memory is getting a bit fuzzy about what I did though. I looked at making it an audioContext node but came to the conclusion that it could just as well be a scaling factor like masterVolume, but kept for individual channels - in that case the implementation could more or less be the same for all plugins. Is there somewhere natural to place shared code between plugins?
Then about keeping track of the individual channels - would the best thing there be to keep it in root.channels[channel].volume?
Or should there be some sort of separate "mixer settings"?
A workaround--a hassle-full kind--would be to split the channel so there is only 1 track per channel.
An application that can do this would be Logic Pro (for OS X). Dunno for Windows though.