MIDI CC 07 (Volume) on PCCH sets Master Volume\n\n- When MIDI CC 07 is received on the Performance Change Channel (PCCH) and PCCH is enabled, set the synth-wide Master Volume.\n- When PCCH is off, normal per-TG volume operation is preserved.\n- Adds a log message for traceability.\n\nSee: https://github.com/probonopd/MiniDexed/discussions/920#discussioncomment-13196467

feature/midi-cc07-master-volume
probonopd 2 weeks ago
parent eb3a9273b4
commit c99e8249e9
  1. 8
      src/mididevice.cpp

@ -279,10 +279,18 @@ void CMIDIDevice::MIDIMessageHandler (const u8 *pMessage, size_t nLength, unsign
{
m_pSynthesizer->BankSelectLSBPerformance (pMessage[2]);
}
else if (pMessage[1] == MIDI_CC_VOLUME) // CC 07 on PCCH: Master Volume
{
float fMasterVolume = (float)pMessage[2] / 127.0f;
m_pSynthesizer->setMasterVolume(fMasterVolume);
LOGNOTE("MIDI CC07 (Volume) on PCCH: Set Master Volume to %d (%.3f)", pMessage[2], fMasterVolume);
break; // Do not process further for TGs
}
else
{
// Ignore any other CC messages at this time
LOGNOTE("Ignoring CC %d (%d) on Performance Select Channel %d\n", pMessage[1], pMessage[2], nPerfCh);
break; // Already handled PCCH message
}
}
}

Loading…
Cancel
Save