Program change messages to [vst~ "Pianoteq 4 STAGE.vst'"] ?
Hi all,
Anyone out there using Pianoteq (4 STAGE) with Max?
It's the first time I've tried using a virtual instrument plug-in in Max. (Trying to streamline things and avoid the latency in MainStage, ya know?) Everything seems to work as explained in the vst~ reference. Notes respond to "midievent 144 pitch velocity" messages just fine. "midievent 176 64 127" and "midievent 176 64 0" work the sustain pedal just fine. But I can't get program changes happening.
I've set up Pianoteq to receive program changes 1 and 2 on channel 1 with 2 contrasting patches so it's easy to hear whether it's working. I send "midievent 192 1" and "midievent 192 2" messages to the vst~ object in Max but nothing changes. Sending a "pgmnames" message results in the list of patch names out the 9th outlet, as expected, but that's the only program change-ish thing that's working. In fact, I don't even know which default Pianoteq patch Max opens.
Does anyone know how this is supposed to work.
Cheers, Bill
I use Pianoteq all the time with max but I don't use program changes mostly because a lot of VSTs don't respond to them. Instead I use the write and read messages to save and load respectively fxp files.
If you wanted to use program changes, you could easily keep a coll object around, using indexes as the program change number and a string parameter representing the fxp you want to load.
Thanks for the info, DHJDHJDHJ. :-) (David, is that you again?)
So, can a "read" message with a preset name as its argument only open user presets (which I've successfully managed to do, thank you!) or can it open all of them? If it's all of them, where are they?
FWIW you don't need a midievent to send program changes. Instead use an integer.
Hey, thanks Rick. That's really neat!
How the [bleep] did you work that out? And are program changes the only things that don't need "midievent" in front of them?
There's still more plot to be unravelled, though. AFAICT Pianoteq normally needs each individual program change to be entered in its MIDI Mappings page. Or am I wrong? It seems odd that it would respond to simple integers…
And only the programs of the first instrument (D4) respond to integers, or come out of the 9th outlet in response to a "pgmnames" message. The others (Bleuthner, K1, YC5, etc.) don't seem to be accessible. Unless there's some secret bank select message?
I didn't know that either but I don't think I'd ever switch to that approach. Think about it. If you use program changes, then you have to manage the patches differently in every plugin, subject to how each plugin is designed. Some use bank switching, some have their own midi mapping mechanisms and so forth.
On the other hand, if you just save and load fxp files, then patch management is the same for all plugins. Just tweak the sound as desired, save it to an fxp and you're done.
If you go that route, I recommend you adopt the convention of prefixing each patch name with the plugin name. That way, the it's much easier to see what patches are available for each plugin.
@Bill That solution is in the docs and the help file, just brought it up to make you aware of the possibility. Don't know any way myself to do a bank select message in pianoteq.
I also use fxp files along with umenu to manage my presets
Ah, there it is… Message -> int. When I found Message -> midievent I didn't look any further. (Note to self: read EVERYthing in the reference document.)