Skip to content
This repository has been archived by the owner on Jul 27, 2022. It is now read-only.

MIDI Support? Native VST Control? #45

Open
Andersama opened this issue Nov 24, 2017 · 2 comments
Open

MIDI Support? Native VST Control? #45

Andersama opened this issue Nov 24, 2017 · 2 comments

Comments

@Andersama
Copy link
Contributor

VSTs typically process or output midi, one of the tutorials mentions it but not in full. A nice part of having some VSTs and often their key feature is the ability to automate some controls using midi messages.

This is potentially extremely useful for live streaming purposes, any VST for example that allows automation of a gain control*, or any other processing effect that maybe an audio processional would be familiar with.

A sort've hackish way around this is to have a VST host within this VST host with a plugin which gives the user the option to pick a midi hardware device as it's source...it's not pretty. Most of any VST plugin assumes that midi is being provided via hardware, not that it needs to provide it and just eyeballing a few VST hosts midi support is pretty much always included.

Another interesting idea may be to pass along any captured midi control codes and treating them as OBS hotkeys*...which would just naturally over time extend creative control over OBS features as more plugins add hotkey support...

I've already found examples of people using the WebSockets API w/ a bit of powershell and .NET to do this in a round about way on Windows. It seems like people'd probably like this feature, especially since it'd make it nice to do scene selections, or fire off animations, etc...

Little busy myself but*
http://www.music.mcgill.ca/~gary/rtmidi/
may be useful along w/ this:
http://teragonaudio.com/article/How-to-make-your-own-VST-host.html#sending_midi_messages

This would mean that somewhere there needs to be a midi device selection in some part of the filters GUI

@DDRBoxman
Copy link
Member

I've actually played with rtmidi over in my obs midi plugin that I started writing. https://github.com/DDRBoxman/obs-midi

If I get some free time I might look into this.

@Andersama
Copy link
Contributor Author

I think the current implementation just needs to add:

void processMidi(AEffect *plugin, VstEvents *events) {
  dispatcher(plugin, effProcessEvents, 0, 0, events, 0.0f);
}

and then to call that w/ the midi events captured by rtmidi...I think that's about it?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants