AuburnSounds / Dplug

Audio plugin framework. VST2/VST3/AU/AAX/LV2 for Linux/macOS/Windows.
https://dplug.org/
Other
483 stars 32 forks source link

MIDI Output #577

Open p0nce opened 3 years ago

p0nce commented 3 years ago

Sometimes requested by prospective Dplug users:

rstephane commented 2 years ago

Hello, I would love to have a midi out solution in dplug !!! when do you may work on such possibility ? thx !

p0nce commented 2 years ago

@rstephane no SYSEX ok with you?

p0nce commented 2 years ago

MidiQueue, used to sanitize MIDI input, can be reused as is to sanitize the user MIDI output (and allow out-of-buffer note off for instance).

rstephane commented 2 years ago

@rstephane no SYSEX ok with you?

Yes, I don't need SYSEX :) jsut midi out ;-) almost ;-)

rstephane commented 2 years ago

I did not think of it :( I would need 8 full midi message at the smae time (that represent 8 tracks of 8 notes). tell me if I a not clear :)

Le jeu. 27 janv. 2022 à 17:19, p0nce @.***> a écrit :

@rstephane https://github.com/rstephane what is the maximum amount of MIDI message you possibly would want to send in a 400ms buffer?

— Reply to this email directly, view it on GitHub https://github.com/AuburnSounds/Dplug/issues/577#issuecomment-1023398375, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJK2BUGO37MNVMEVXP3RWDUYFWBXANCNFSM5C26RJQQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

p0nce commented 2 years ago

OK I have everything I need :)

p0nce commented 2 years ago

LV2 probably needs a new output port lv2_events_out. Example from whalesynth:

 lv2:port [
            a lv2:OutputPort, atom:AtomPort ;
            atom:bufferType atom:Sequence ;
            lv2:index 4 ;
            lv2:name "Events Output" ;
            lv2:symbol "lv2_events_out" ;
            rsz:minimumSize 2048
         ] ;
p0nce commented 2 years ago

In Cubase / FLStudio and Studio One + Windows, currently putting an Arpejoe in VST2 or VST3 tends to do the following: all sound is off, even if the MIDI effect is on another track. Not sure what happens.

p0nce commented 2 years ago

How Chtulu works (VST2 + Reaper): (same for Kirnu)

How MidiShaper works (VST2 + Reaper):

In order to be a MIDI effects with a chance to work in hosts, one need to:

For some reason, I've not seen those fake "MIDI effects" in VST3 format.

p0nce commented 2 years ago

OK now that Arpejoe example does midi in, audio bypass, it works good on Windows. It is classified as "VST" not "VSTi" in most hosts.

Tests so far:

=> Bitwig and REAPER have best model for tracks

p0nce commented 2 years ago

TODO implement AUv2