FR: Support for all MIDI message types
-
Christoph,
First off, I would like to thank you for this amazing development tool for music :)
I am quite happy to be taking the plunge and learning as much about coding in HISE every day since watching and following the David Healey tutorial video: "How to make a synth"
Now, my main goals with HISE involve making MIDI plugins; some to be released as free utilities, and others as a paid product.
In my tests it seems that HISE does not receive or pass (thru) some MIDI message types:
MIDI clock
MTC
MMC
SysEx
etc.Then there is Program Change, which HISE can accept and use, but not generate or pass (thru).
My concern:
When using HISE to make MIDI plugins, blocking these messages may deny users access to certain features that are needed for the next plugin in the chain (often a VSTi).Therefore, if I am to produce MIDI plugins I am apprehensive about blocking those messages, and I, myself as a MIDI plugin customer would not be happy if a plugin that I purchased were to deny the passage of those messages to the output stage.
Personally, I do a lot of orchestral template mockups in a system where the articulation switching of VSTis is managed by expression maps (in Dorico, Nuendo, Bidule and Reaper) which are changed via incoming program change messages. Currently, I can't actually use any of my HISE produced MIDI plugins within this system, as without PC messages, it blocks the articulation switching.
In addition, there are many VSTis that can utilize program change messages directly to change patches. Kontakt, Omnisphere and VSL for starters.
And from my observation, it seems that many electronic producers with outboard gear setups require MTC (MIDI time code) and/or MIDI clock to sync devices.
I also have use-cases for plugin designs involving MIDI clock, MTC and SysEx and would love to have access to them for making custom MIDI controller managers.
Given that, I would like to add a feature request of three different levels (sorted from lowest to highest complexity):
- a function to pass all unused MIDI messages directly to the MIDI output (without any processing)
- a method of allowing HISE users to get and set MIDI messages in raw MIDI hex (so we can roll our own)
- a feature set in the Message class for these other MIDI message types, similar to the ones available for note on, note off and CC.
Thanks for your time,
Craig -
@VirtualVirgin great request, well argued and I agree. I did testing with MIDI FX and found it lacking. The plan was to pest Chris about it later once I get to work on that stuff, but I'll gladly +1 your post here.
There are regular posts about MIDI FX plugins not working in DAWs as well. I don't know how much of this is HISE and how much DAWs themselves.
I think HISE is very well positioned to do this as well. MIDI FX scene is a desert, and yet so much could be done there. Some DAWs have their own internal tools that let you create solutions to work flow problems, but general commercial solutions are few and far in between.
-
@VirtualVirgin Agree!
+1