Fix: DC Farany DC
This commit is contained in:
parent
15d5674dfa
commit
d4174635c4
1 changed files with 18 additions and 18 deletions
|
|
@ -250,10 +250,10 @@ actual class FMediaPlayer actual constructor(
|
||||||
|
|
||||||
navigationSteps.add(
|
navigationSteps.add(
|
||||||
NavigationStep(
|
NavigationStep(
|
||||||
marker,
|
marker,
|
||||||
currentIndex,
|
currentIndex,
|
||||||
targetGrid = target
|
targetGrid = target
|
||||||
))
|
))
|
||||||
println("Lien DS créé : Saut immédiat à $gridIndex vers Segno $target")
|
println("Lien DS créé : Saut immédiat à $gridIndex vers Segno $target")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -292,7 +292,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
val hasDcAfter = metadataList.any { (_, gi, _, _, mk, _, _, _) ->
|
val hasDcAfter = metadataList.any { (_, gi, _, _, mk, _, _, _) ->
|
||||||
(gi ?: 0) > currentIndex &&
|
(gi ?: 0) > currentIndex &&
|
||||||
(dcGPattern.matches(mk.trim()) ||
|
(dcGPattern.matches(mk.trim()) ||
|
||||||
dcRegex.matches(mk.trim()))
|
dcRegex.matches(mk.trim()))
|
||||||
}
|
}
|
||||||
if (hasDcAfter) {
|
if (hasDcAfter) {
|
||||||
navigationSteps.add(
|
navigationSteps.add(
|
||||||
|
|
@ -325,8 +325,8 @@ actual class FMediaPlayer actual constructor(
|
||||||
}
|
}
|
||||||
// Soufflet
|
// Soufflet
|
||||||
marker.trim() == "<" || marker.trim() == ">" ||
|
marker.trim() == "<" || marker.trim() == ">" ||
|
||||||
marker.trim().contains("cres", ignoreCase = true) ||
|
marker.trim().contains("cres", ignoreCase = true) ||
|
||||||
marker.trim().contains("dim", ignoreCase = true) -> {
|
marker.trim().contains("dim", ignoreCase = true) -> {
|
||||||
val symbol = when {
|
val symbol = when {
|
||||||
marker.trim() == "<" -> '<'
|
marker.trim() == "<" -> '<'
|
||||||
marker.trim() == ">" -> '>'
|
marker.trim() == ">" -> '>'
|
||||||
|
|
@ -350,7 +350,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
val explicitDynAfter = metadataList
|
val explicitDynAfter = metadataList
|
||||||
.filter { (_, gi, _, _, mk, _, _, _) ->
|
.filter { (_, gi, _, _, mk, _, _, _) ->
|
||||||
(gi ?: 0) >= pair.endGrid &&
|
(gi ?: 0) >= pair.endGrid &&
|
||||||
extractDynamic(mk) != null
|
extractDynamic(mk) != null
|
||||||
}
|
}
|
||||||
.minByOrNull { it.gridIndex ?: 0 }
|
.minByOrNull { it.gridIndex ?: 0 }
|
||||||
?.let { m -> extractDynamic(m.marker) }
|
?.let { m -> extractDynamic(m.marker) }
|
||||||
|
|
@ -411,7 +411,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
|
|
||||||
val step = navigationSteps.find {
|
val step = navigationSteps.find {
|
||||||
it.gridIndex == currentIndex &&
|
it.gridIndex == currentIndex &&
|
||||||
!it.alreadyDone
|
!it.alreadyDone
|
||||||
}
|
}
|
||||||
|
|
||||||
if (step != null) {
|
if (step != null) {
|
||||||
|
|
@ -479,7 +479,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
sequencer?.tempoFactor = 0.0001f
|
sequencer?.tempoFactor = 0.0001f
|
||||||
delay(beatDuration)
|
delay(beatDuration)
|
||||||
|
|
||||||
// println("et là je saut vers ${step.targetGrid}")
|
// println("et là je saut vers ${step.targetGrid}")
|
||||||
seekToGrid(step.targetGrid)
|
seekToGrid(step.targetGrid)
|
||||||
synthetizer?.channels?.forEach { it?.controlChange(64, 0) }
|
synthetizer?.channels?.forEach { it?.controlChange(64, 0) }
|
||||||
sequencer?.tempoFactor = 1f
|
sequencer?.tempoFactor = 1f
|
||||||
|
|
@ -493,7 +493,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
sequencer?.tempoInBPM = targetBpm
|
sequencer?.tempoInBPM = targetBpm
|
||||||
sequencer?.start()
|
sequencer?.start()
|
||||||
}
|
}
|
||||||
// println("Après de sauter bpm=$targetBpm")
|
// println("Après de sauter bpm=$targetBpm")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -697,17 +697,17 @@ actual class FMediaPlayer actual constructor(
|
||||||
synthetizer?.channels?.let { channels ->
|
synthetizer?.channels?.let { channels ->
|
||||||
for (i in 0 until 4) {
|
for (i in 0 until 4) {
|
||||||
if (i < channels.size) {
|
if (i < channels.size) {
|
||||||
val userVol = voiceVolumes[i] / 127f
|
val userVol = voiceVolumes[i] / 127f
|
||||||
val globalVol = currentGlobalVolume
|
val globalVol = currentGlobalVolume
|
||||||
|
|
||||||
val finalVol = (127f * userVol * globalVol * currentDynamicFactor).toInt().coerceIn(0, 127)
|
val finalVol = (127f * userVol * globalVol * currentDynamicFactor).toInt().coerceIn(0, 127)
|
||||||
|
|
||||||
// println("Voice[$i] user=${voiceVolumes[i]} global=$currentGlobalVolume dynFactor=$currentDynamicFactor → finalVol=$finalVol")
|
// println("Voice[$i] user=${voiceVolumes[i]} global=$currentGlobalVolume dynFactor=$currentDynamicFactor → finalVol=$finalVol")
|
||||||
|
|
||||||
channels[i].controlChange(7, finalVol)
|
channels[i].controlChange(7, finalVol)
|
||||||
channels[i].controlChange(11, finalVol)
|
channels[i].controlChange(11, finalVol)
|
||||||
|
|
||||||
if (finalVol == 0) channels[i].controlChange(123, 0)
|
if (finalVol == 0) channels[i].controlChange(123, 0)
|
||||||
/*val targetVolume = voiceVolumes[i].toInt()
|
/*val targetVolume = voiceVolumes[i].toInt()
|
||||||
|
|
||||||
channels[i].controlChange(7, targetVolume)
|
channels[i].controlChange(7, targetVolume)
|
||||||
|
|
@ -728,7 +728,7 @@ actual class FMediaPlayer actual constructor(
|
||||||
actual fun changeInstru(noInstru: Int) {
|
actual fun changeInstru(noInstru: Int) {
|
||||||
val pgm = noInstru
|
val pgm = noInstru
|
||||||
synthetizer?.channels?.let {
|
synthetizer?.channels?.let {
|
||||||
channels ->
|
channels ->
|
||||||
for (i in 0 until 4) {
|
for (i in 0 until 4) {
|
||||||
channels[i].programChange(pgm)
|
channels[i].programChange(pgm)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue