Getting my feet wet creating audio plugins in Rust with nih-plug and vizia.

Chose to write a background MIDI recorder and it's going surprisingly well so far. Will need a stylistic overhaul at some point, but functionality fist.

This is with note generator for debugging, but it works within Bitwig Studio recording my controllers, too.

#rust #nih-plug #bitwig #midi #plugin #vizia

Made quite a bit of progress on Mucap.

Improvements in the data backend, notes are now drawn in the correct place, vertical auto-scaling.

Got tired of looking at it and gave it a slight visual overhaul. Also, navigation is finished, currently works well with touchpads (or H/V-scrollwheel mice). Will also add a mouse-mode at some point.

#rust #nih_plug #bitwig #midi #plugin #vizia

More Mucap progress.

Selection is now working. Now just to write the actual MIDI data to a temp file and put the path on the clipboard.

#rust #nih_plug #bitwig #midi #plugin #vizia #vst #mucap

First usefully working Mucap version. It can record, copy and paste.

Gotta use Ctrl+V in Bitwig, not sure if drag & drop is currently possible in this framework.

#rust #nih_plug #bitwig #midi #plugin #vizia #vst #mucap

@ponygol yooo neat, this really reminds me of birds midi cap. if you managed to both get this to keep timing/snap to beats when selecting the midi & deal well with multichannel midi, itd solve two of my biggest frustrations with that plugin. idk if you even intend on selling this yet, but i got excited there for a second haha. either way good luck with this project

@tildesounds I am not planning on selling this, it's going to be Free / Open Source.

Could you share your ideas for snapping and multichannel? I've been thinking about these, but there are plenty way this could be done.

For snapping I consider using the transport info to capture the location of bars (quarters I fear clutter too much) and just snap to that. It may look weird when transport starts/stops a lot but should work.

For multichannel I'm still very undecided, happy for suggestions.

@ponygol yea the bar snapping thing pretty much would fix it perfectly.
for multichannel the main thing would be that bitwig outputs mpe as multichannel midi, the way midi cap handles it is really cumbersome. literally just outputting all channels onto the same piano roll and copying them all together would already be perfect.

@tildesounds Sounds good. I currently draw all channels in the same grid and export all to one MIDI track. It's a lot less effort and if it makes MPE work, even better.

If you use multiple channels for distinct MIDI tracks, like the sequencer of a launchpad doing drums while playing something else live, filtering channels in the DAW and have one Mucap instance per channel might be easiest.

@ponygol yea honestly that sounds perfect. the issues for me really start happening once the plugin tries to separate out the multiple channels even tho i dont want it to