Fix: DC Farany DC

This commit is contained in:
hasinarak3@gmail.com 2026-03-16 14:56:06 +03:00
commit df5e8567cd

View file

@ -3,13 +3,16 @@ package mg.dot.feufaro.midi
import SharedScreenModel import SharedScreenModel
import kotlinx.coroutines.* import kotlinx.coroutines.*
import mg.dot.feufaro.getConfigDirectoryPath import mg.dot.feufaro.getConfigDirectoryPath
import mg.dot.feufaro.viewmodel.MidiMarkers
import java.io.File import java.io.File
import java.util.prefs.Preferences import java.util.prefs.Preferences
import javax.sound.midi.MetaMessage import javax.sound.midi.MetaMessage
import javax.sound.midi.MidiSystem import javax.sound.midi.MidiSystem
import javax.sound.midi.Sequence import javax.sound.midi.Sequence
import javax.sound.midi.Sequencer import javax.sound.midi.Sequencer
import javax.sound.midi.ShortMessage
import javax.sound.midi.Synthesizer import javax.sound.midi.Synthesizer
import javax.sound.midi.Track
import javax.sound.sampled.AudioSystem import javax.sound.sampled.AudioSystem
import javax.sound.sampled.FloatControl import javax.sound.sampled.FloatControl
@ -291,7 +294,6 @@ actual class FMediaPlayer actual constructor(
(dcGPattern.matches(mk.trim()) || (dcGPattern.matches(mk.trim()) ||
dcRegex.matches(mk.trim())) dcRegex.matches(mk.trim()))
} }
if (hasDcAfter) { if (hasDcAfter) {
navigationSteps.add( navigationSteps.add(
NavigationStep( NavigationStep(
@ -482,13 +484,11 @@ actual class FMediaPlayer actual constructor(
synthetizer?.channels?.forEach { it?.controlChange(64, 0) } synthetizer?.channels?.forEach { it?.controlChange(64, 0) }
sequencer?.tempoFactor = 1f sequencer?.tempoFactor = 1f
navigationSteps.filter { it.isFin }.forEach { faranyStep -> navigationSteps.filter { it.isFin && step.gridIndex > it.gridIndex }
if (step.gridIndex > faranyStep.gridIndex) { .forEach {
faranyStep.finActive = true it.finActive = true
faranyStep.alreadyDone = false it.alreadyDone = false
} }
}
if (sequencer?.isRunning == false) { if (sequencer?.isRunning == false) {
sequencer?.tempoInBPM = targetBpm sequencer?.tempoInBPM = targetBpm
sequencer?.start() sequencer?.start()