"`changedNote.totalPitchbendInSemitones" returns 0 always, used to work, what changed? "changedNote.pitchbend.asSignedFloat()" works

I am using an MPESynthesiser derived class as the base for my synth. In it I have:

	void notePitchbendChanged(MPENote changedNote) override {

		DBG("NOTE PITCH BEND CHANGED IN SYNTHESISER " << changedNote.pitchbend.asSignedFloat());
		DBG("NOTE PITCH BEND CHANGED IN SYNTHESISER " << changedNote.totalPitchbendInSemitones);

		//===============
		//LEGACY MODE
		//===============
		if (legacyOnOff) {

			const ScopedLock sl(voicesLock);

			for (auto* voice : voices) {
				MPESynthesiserVoiceInherited* voiceInherited = (MPESynthesiserVoiceInherited*)voice;

				voiceInherited->setLegacyPitchWheelAmount(changedNote.totalPitchbendInSemitones);
				voiceInherited->notePitchbendChanged();
			}
		}

		//===============
		//MPE MODE
		//===============
		else {
			MPESynthesiser::notePitchbendChanged(changedNote);
		}
	}

However, while it previously (on old versions of JUCE a few years ago) worked fine with changedNote.totalPitchbendInSemitones, this now returns 0 every time.

I have running on initialization to configure MPE vs. Legacy mode:


	//UPDATE LEGACY MODE
	void updateLegacyMode() {

		DBG("UPDATE LEGACY MODE");
		if (legacyOnOff) {

			DBG("SYNTHESISER: MPE Legacy Mode || PITCH GLOBAL WHEEL" << mpePitchWheelGlobal);
			enableLegacyMode(mpePitchWheelGlobal);
			setPressureTrackingMode(MPEInstrument::allNotesOnChannel);
			setPitchbendTrackingMode(MPEInstrument::allNotesOnChannel);
			setTimbreTrackingMode(MPEInstrument::allNotesOnChannel);

		}
		else {

			DBG("SYNTHESISER: MPE Mode");
			MPEZoneLayout zoneLayout;
			zoneLayout.setLowerZone(15, mpePitchWheelChannel, mpePitchWheelGlobal);
			setZoneLayout(zoneLayout);
		}

		// update voices
		for (auto* voice : voices) {
			MPESynthesiserVoiceInherited* voiceInherited = (MPESynthesiserVoiceInherited*)voice;
			voiceInherited->setLegacyPitchWheelMode(legacyOnOff);
		}
	}

I can see this is running and it is setting the Legacy Mode to a pitch wheel value of not 0.

Yet I can’t get anything useful out of changedNote.totalPitchbendInSemitones. It always reads 0, while changedNote.pitchbend.asSignedFloat() gives real data.

Did something change? This used to work. What might it be? I can just re-write it to use changedNote.pitchbend.asSignedFloat(), set that into my voices, and manage it in there, but I don’t know why this is not working.

Thanks for any help.