sfztools/sfizz-ui

loprog/hiprog support not working as expected in VST3 under Reaper

jamesd256 opened this issue · 1 comments

The bank used to test this functionality is here:

https://raw.githubusercontent.com/sfzinstruments/Discord-SFZ-GM-Bank/master/Discord%20GM/Discord%20GM%20Bank-test.sfz

Previously I had established that with this bank loaded, in Reaper's midi editor, sending a Bank/Program Select message into Sforzando was able to switch instruments in the above bank as expected when looking at the bank contents.

For instance, here is an extract from the bank:

<master>
loprog=0 hiprog=0 master_volume=0
master_label=1:1(1) - Acoustic Grand Piano - Salamander Grand
#include "Melodic/001-Acoustic Grand Piano.sfz"
<master>
loprog=1 hiprog=1 master_volume=7.5
master_label=1:2(2) - Bright Acoustic Piano - VCSL Yamaha Upright
#include "Melodic/002-Bright Acoustic Piano.sfz"
<master>
loprog=2 hiprog=2 master_volume=4.5
master_label=1:3(3) - Electric Grand Piano - Greg Sullivan Yamaha CP80
#include "Melodic/003-Electric Grand Piano.sfz"

In Reaper, leaving Bank MSB/LSB the same, and changing Program number to 2, and hitting 'Send Now' results in Sforzando switching to the Electric Grand Piano instrument.

Testing this in Sfizz 1.2.0 with its loprog/hiprog support, I would expect the behaviour to be the same as with Sforzando. However instead loading this bank for me seems to do something strange; as far as I can tell, the first instrument plays with a high attack value, creating a piano/violin kind of sound. Sending the program change from Reaper has no effect on the loaded instrument.

I can do more testing; some of the banks in the Discord GM set get both Sforzando and Sfizz to play all patches at once on midi input, and I haven't pinned down the differentiating factor yet. But the linked bank at least allows program change to switch included instruments from Reaper in Sforzando, which is what I'd like to achieve in Sfizz.

If there are any working examples of loprog/hiprog SFZ multi instrument patches working with VST3 sfizz, I can use that to work out what's going on and report back. Thanks!

@kinwie do you have any idea about this? :)