overdrivenpotato / rust-vst2

VST 2.4 API implementation in rust. Create plugins or hosts.
MIT License
221 stars 23 forks source link

Output API #18

Closed suhr closed 7 years ago

suhr commented 7 years ago

The Plugin trait seems to lack any output methods like processReplacing or sendVstEventsToHost.

Boscop commented 7 years ago

There are process() and process_f64() for audio output and the Host opCode ProcessEvents which is sendVstEventsToHost. But currently the Host doesn't relay the incoming midi events, it just ignores them... But it would be easy to add a handler for that. We should add a method like this to the host.. And then do the dispatching on the host like this. So that it can be called just like host.automate():

host.process_events(events);
suhr commented 7 years ago

So, AudioBuffer is bidirectional? Well, that was not very clear from the documentation. (I wanted MIDI output though)

overdrivenpotato commented 7 years ago

Fixed in #19.

About AudioBuffer, the current description is:

A buffer containing ChannelBuffer buffers for each input/output.

Any suggestions on how to make this clearer?

augustl commented 7 years ago

I'm a complete noob, so maybe I'm reading this the wrong way.

But isn't OP talking about plugins having the ability to send MIDI events to the outside world? While the first response is about hosts being able to send MIDI events to plugins?

I'm trying to figure out how to write a plugin that sends MIDI events, and I can't seem to figure it out. This issue is the closest I've gotten :)

Boscop commented 7 years ago

@augustl There isn't much going on here.. Please join our telegram group. Sending MIDI events is not very complicated :)