Compare commits

..

2 commits

4 changed files with 33 additions and 24 deletions

View file

@ -1,10 +1,10 @@
M0:a:P Nilsen-Lund,1842-1914|h:P Nilsen-Lund,1842-1914|c:Bb|m:3/4 Miadanadana|t:FFPM 194 Andriananahary ô, Endrey
T0:{:.,S|S.,S:S.,S:S.,S|M/D:D.,D|R:F:T.,T|D:${DC}-/D|T.,D:R:(D.,T)|D.,R:M/D|T.,D:R:(D.,T)|D.,R:${DC}M.:}
T0:{:.,S|S.,S:S.,S:S.,S|M/D:D.,D|R:F:T.,T|D${DC}:${Farany}-/D|T.,D:R:(D.,T)|D.,R:M/D|T.,D:R:(D.,T)|D.,R:${DC}M.:-.}
N1:s,s,s,s,s,s,s,mdddrft,t,ddt,drdt,drmdt,drdt,drm
N2:s,s,s,s,s,s,s,s,s,l,l,l,l,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,
N2:s,s,s,s,s,s,s,s,s,l,l,l,l,s,s,s,s,s,s,s,s,-s,s,s,s,s,s,s,s,s,s,s,
N3:mmmmmmmdmmmrrrrmmrmfmrmrdmrmfmrmrd
N4:dddddddddl,l,f,r,s,s,dds,s,s,s,dddds,s,s,s,ddd
Y1:Andri_ananahary ô, Endrey ny voninahitrao!${D:Ny tany sy ny lanitra Mamelatra ny lazanao}/Ny asanao rehetra, e!Ny famonjena lehibe, ${D:Mitari-dalana anay, Hidera ny Anaranao}
N4:dddddddddl,l,f,r,s,s,dds,s,s,s,-dddds,s,s,s,ddd
Y1:Andri_ananahary ô, Endrey ny voninahitrao! ${D:Ny tany sy ny lanitra Mamelatra ny lazanao/}Ny asanao rehetra, e! Ny famonjena lehibe,/${D:Mitari-dalana anay, Hidera ny Anaranao}
Y2:Ry Zanakondry Masina,/Jesosy\ izay isaoranay!/${D:He, I_anao ni_antra\ anay/Ka nentinao ny otanay;/}Ny menarana resinao,/Ny fasana vinakinao/${D:Ka I_anao nanokatra/Ny lanitra hidiranay!}
Y3:Ô, ry Fanahy Masina/Izay mitarika anay/${D:Hanetry tena sy hanaiky/Fa mpanota izahay;/}Mitaona sy mananatra anay/Handray ny avotra/${D:Ka manamasina anay,/Mba raiso ny fisaoranay!}
Y4:Ny vo_avonjy mbaminny/Anjely mankasitraka;/${D:Ny tany sy ny lanitra/Mikambana hanandratra/}Anao, ry Ray sy Zanaka,/Anao Fanahy Masina/${D:Izay maneho famonjena/Feno fiti_avana!}

View file

@ -1,5 +1,5 @@
M0:|c:Eb|m:4/4|t:FFPM 310 Misy maro ao an-tsaha|a:F.J. Crosby 1820-1915 Nad. Ramboatiana 1850-1945 (dikany malalaka)|h:W.B. Bradbury 1816-1868
U0:z8:yyyyy8624y44444/yyyyy8624y44C/ yyy4/yyy4/y4444C/ yyy4/ yyy4/ y4444${DC}4
U0:z8:yyyyy8624y44444/yyyyy8624y44${Farany}C/ yyy4/yyy4/y4444C/ yyy4/ yyy4/ y4444${DC}4
N1:drm5rdmsl lsmrdmrss/ drm5rdmsl lsdrmrd/ ssl5/ d'ls5/ lsfrmdr/ ssl5/ dls5/ lssrmFs
N2:#t, drd8mff mdtddttt/drd8mf fmdddtd /d7/ d7/ ddtrddt/ d7/ d7/ ddtrddt
N3:#r mfs4fmsd4sfmssrs/ mfs4fmsd4mfsfm/ mmf5/ lfm5/ fmrs4/ mmf5/ lfm5/ fmrtlls

View file

@ -1,8 +1,8 @@
M0:|c:E|m:6/4|r:Faingana|t:FFPM 539 - Faly dia faly izahay mpanomponao|n:15|l:11|a:J.A. Houlder 1844-192|h:(Plaistow, 67)
S0:/|:!
T0:{|M:-:M!(F:M):F|(S:-:D)!D:-:-|D:-:D!(R:D):R|(M:F):M!R:-:-/M:-:M!(F:M):F|(S:-:D)!D:-:-|M:-:M!(R:D):R|D:-:-!-:-:/S|S:-:F!(R:M):F|S:-:M!D:-:S|S:-:F!(R:M):F|S:-:M!D:-/S|L:-:F!D:-:L|S:-:M!D:-:S|(S:L):S!(S:F):M|(M:-:-!R):-:-/M:-:M!(F:M):F|(S:-:D)!D:-:-|D:-:D!(R:D):R|(M:F):M!R:-:-|M:-:M!(F:M):F|(S:-:D)!D:-:-|M:-:M!(R:D):R|D:-:-!-
N1:mmfmfsd'd'ddrdrmfmr/mmfmfsd'd'mmrdrd/ssfrmfsmdssfrmfsmd/slfd'lsmdsslssfmmr/mmfmfsd'd'ddrdrmfmr/mmfmfsd'd'mmrdrd
N2:ddrdrm-mddt,l,t,drdt,/ddrdrm-mddt,l,t,d/dt,t,t,drmds,dt,t,t,drms,s,/dddl,ddddmmfmr-ddt,/ddrdrm-mddt,l,t,drdt,/ddrdrm-mddt,l,t,d
N3:sss-sd'ssmms-ss-ss/sss-sd'sssss-fm/mrrfmrdsmmrrfmrdsm/mflffmsmsd'-ss-ss-/sss-sd'ssmms-ss-ss/sss-sd'sssss-fm
N4:ddd-dd-ddds,-s,-d-ds,/ddd-dd-ds,s,s,-s,d/ds,s,s,-s,dddds,s,s,-s,ddd/dddddddddd-dt,-ds,-/ddd-dd-ddds,-s,-d-ds,/ddd-dd-ds,s,s,-s,d
L1:Fa_ly _di__a _fa__ly _i_za_hay __mpa_no__mpo _nao,/Izay _mi_hi__ra _e__to _a_na_tre__ha_nao. _/Fa _be _fi_a__ntra _Hi_a_nao, _ry _Je_so _To__mpo _ti_a_nay!/Ka _fe_no _ha_ra_vo_a_na _to_ko__a _i__za_hay;
T0:{|M:-:M!(F:M):F|(S:-:D)!D:-:-|D:-:D!(R:D):R|(M:F):M!R:-:-/M:-:M!(F:M):F|(S:-:D)!D:-:-|M:-:M!(R:D):R|D:-:-!${Farany}-:-/S|S:-:F!(R:M):F|S:-:M!D:-:S|S:-:F!(R:M):F|S:-:M!D:-/S|L:-:F!D:-:L|S:-:M!D:-:S|(S:L):S!(S:F):M|(M:-:-!${DC}R):-:-/
N1:mmfmfsd'd'ddrdrmfmr/mmfmfsd'd'mmrdrd/ssfrmfsmdssfrmfsmd/slfd'lsmdsslssfmmr
N2:ddrdrm-mddt,l,t,drdt,/ddrdrm-mddt,l,t,d/dt,t,t,drmds,dt,t,t,drms,s,/dddl,ddddmmfmr-ddt,
N3:sss-sd'ssmms-ss-ss/sss-sd'sssss-fm/mrrfmrdsmmrrfmrdsm/mflffmsmsd'-ss-ss-
N4:ddd-dd-ddds,-s,d-ds,/ddd-dd-ds,s,s,-s,d/ds,s,s,-s,dddds,s,s,-s,ddd/dddddddddd-dt,-ds,-
L1:Fa_ly _di_a _fa_ly _i_za_hay _mpa_no_mpo _nao,/Izay _mi_hi_ra _e_to _a_na_tre_ha_nao. _Fa/be _fi_a_ntra _Hi_a_nao, _ry _Je_so _To_mpo _ti_a_nay!/Ka_ fe_no _ha_ra_vo_a_na _to_ko_a _i_za_hay;

View file

@ -84,18 +84,18 @@ actual class FMediaPlayer actual constructor(
applyVoiceStates()
sequencer?.addMetaEventListener { meta ->
if(meta.type == 47){
onFinished()
}
}
/*
sequencer?.addMetaEventListener { meta ->
if (meta.type == 0x51) { // 0x51 "Set Tempo"
if (sequencer?.tempoInBPM != targetBpm) {
println("Tempo MIDI détecté (120), forçage à $targetBpm")
applyBpm()
val pendingDc = getPendingDcStep()
if (pendingDc != null) {
println("onFinished : DC pending → saut direct vers ${pendingDc.targetGrid}")
pendingDc.alreadyDone = true
seekToGrid(pendingDc.targetGrid)
play()
} else {
onFinished()
}
}
}*/
}
} else {
// Créeons une fichier vide au 1er lancement de l'application, après MidiWriterKotlin l'écrasera
val f0file = File("${getConfigDirectoryPath()}whawyd3.mid")
@ -253,9 +253,10 @@ actual class FMediaPlayer actual constructor(
// DC
dcGPattern.matches(marker.trim()) -> {
var indx = if((last_grid - currentIndex) <= 0) {
val indx = if((last_grid - currentIndex) <= 0) {
currentIndex - 1
} else currentIndex
// println("monn index est $indx car dernier est $last_grid et curr $currentIndex")
navigationSteps.add(
NavigationStep(
marker,
@ -355,6 +356,14 @@ actual class FMediaPlayer actual constructor(
}
}
}
private fun getPendingDcStep(): NavigationStep? {
return navigationSteps.firstOrNull { step ->
!step.alreadyDone &&
step.hairPin == null &&
step.dynamic == null &&
!step.isHold
}
}
private fun startNavigationMonitor(sharedScreenModel: SharedScreenModel) {
var dcDone = sharedScreenModel.getDcDone()
val dsDone = sharedScreenModel.getDsDone()
@ -364,8 +373,8 @@ actual class FMediaPlayer actual constructor(
sharedScreenModel.activeIndex.collect { currentIndex ->
val availableIndices = navigationSteps.map { it.gridIndex }
// println("bpm:$targetBpm _ ${sequencer?.tempoInBPM}")
// println("MONITOR : Reçu Index $currentIndex | Index en mémoire : $availableIndices ")
// println("bpm:$targetBpm _ ${sequencer?.tempoInBPM}| Index en mémoire : $availableIndices")
// println("i $currentIndex ")
if (sequencer?.isRunning == true) {
if (Math.abs(sequencer!!.tempoInBPM - targetBpm) > 0.1) {