fixed midi sync led

This commit is contained in:
2025-08-18 21:42:19 +02:00
parent ed737f526f
commit 7e11e3e72b
2 changed files with 13 additions and 3 deletions
+11 -2
View File
@@ -1137,8 +1137,10 @@ void JaySynth::handleMidiEvent (const MidiMessage& m)
if (m.isSongPositionPointer())
{
SynthDebug("SongPositionPointer\n");
m_clock_cnt_bar = (6 * m.getSongPositionPointerMidiBeat()) % m_numMidiClocksPerBar;
SynthDebug("getSongPositionPointerMidiBeat(): %u -> %u clocks\n", m.getSongPositionPointerMidiBeat(), m_clock_cnt_bar);
double bar_16 = 1 + ((double)m.getSongPositionPointerMidiBeat()/4);
double bar_4 = (bar_16 - (int)bar_16);
m_clock_cnt_bar = (int)(bar_4*4);
SynthDebug("getSongPositionPointerMidiBeat(): %f -> %u clocks", bar_4, m_clock_cnt_bar);
}
if (m.isQuarterFrame())
{
@@ -1171,10 +1173,17 @@ void JaySynth::handleMidiEvent (const MidiMessage& m)
info.bpm = (uint32_t)(bpm + 0.5);
info.type = 1;
if (m_clock_cnt_bar == 0)
{
info.type = 2;
SynthDebug("1111111111111111111111111");
}
else
{
SynthDebug("-------------------------");
}
listeners.call (&JaySynthListener::synthChanged, SYNTH_CHANGED_MIDICLOCK, &info);
}
}