MAJ: edition des accords dans la progression

This commit is contained in:
lrdlg
2026-07-28 11:23:43 +02:00
parent a680173138
commit 17903b63a9
6 changed files with 366 additions and 52 deletions
+48
View File
@@ -7,6 +7,54 @@ Conventions :
---
## [2.8] — édition des accords dans la progression
### Ajouté
- **Édition d'un slot existant.** Chaque slot porte un bouton ✎ : il **recharge la configuration de l'accord** (type, tensions, altérations, voicing, drop, basse/slash, tonalité) dans les commandes principales. On retouche librement — y compris rejouer une autre fondamentale — puis **✓ mettre à jour** réécrit l'accord dans le même slot en conservant sa durée, ou **✕ annuler** laisse le slot intact. Re-cliquer ✎ sort du mode édition.
- Chaque slot mémorise désormais sa **configuration source**, ce qui le rend ré-éditable. Les slots générés par preset et par ✦ suggérer sont éditables de la même façon.
- La configuration voyage dans les sessions `.json`.
### Corrigé
- **Robustesse audio** : une éventuelle défaillance de l'aperçu Web Audio n'interrompt plus l'interface ni la sortie MIDI (l'aperçu échoue silencieusement, le reste continue).
### Notes
- L'édition regénère l'accord à partir des commandes (sans voice-leading automatique), pour un résultat prévisible.
- Les slots issus d'anciennes sessions (sans configuration mémorisée) restent supprimables/déplaçables ; l'édition fine nécessite qu'ils aient été créés en 2.8+.
---
## [2.7] — Key Mode : contrôle complet du type et des tensions
### Corrigé
- **En Key Mode, les tensions altérées ♭9, ♯9, ♯11, ♭5, ♯5 n'avaient aucun effet.** Le constructeur diatonique ne câblait que 6, m7, M7, 9, 11, 13 (et no3). Les cinq altérations manquantes sont désormais appliquées comme colorations chromatiques sur l'accord diatonique.
- **En Key Mode, les boutons de type paraissaient morts.** C'était en partie voulu (la qualité vient du degré de la gamme), mais sans aucune échappatoire.
### Ajouté
- **Type override en Key Mode.** Les boutons de type deviennent des interrupteurs : par défaut aucun n'est allumé (mode « auto », qualité diatonique du degré) ; cliquer un type l'**épingle** (LED allumée) et force cette qualité sur la fondamentale jouée, avec accès complet aux tensions et altérations ; re-cliquer le même type revient en auto. La fondamentale **reste dans la tonalité** dans tous les cas (les notes hors gamme restent muettes).
- L'état d'épinglage est enregistré dans les sessions `.json`.
### Modifié
- Hors Key Mode, les boutons de type conservent leur comportement de sélection unique (radio) inchangé.
- Nommage diatonique unifié : l'astérisque `*` (harmonisation dans la tonalité) est conservé et suffixe le nom complet, tensions comprises (`Dm7(♭9)*`).
---
## [2.6] — export tracker (.txt)
### Ajouté
- **Export d'un fichier texte pour trackers** (Polyend Tracker Mini et similaires), en plus du `.mid`. Le fichier contient une grille de pattern façon tracker : chaque note de l'accord occupe une piste (`T1..Tn`, de la plus grave à la plus aiguë), la basse a sa propre colonne (`B`), les accords sont plaqués et tenus. `OFF` coupe une voix, `...` maintient.
- **Sélecteur de résolution** : 1 step = 1/16, 1/8 (défaut) ou 1/4 (un pas par temps). Il détermine l'espacement des accords sur la grille et doit correspondre à la résolution de pattern choisie sur le tracker.
- **Section de référence** sous la grille : pour chaque accord, ses notes en notation tracker **et leur numéro MIDI**, avec la plage de steps occupée.
- Gestion correcte des changements de nombre de voix : quand un accord a moins de notes que le précédent, un `OFF` est écrit sur les pistes libérées. Une ligne `OFF` finale ferme le pattern.
- En-tête localisé (FR/EN) reprenant tonalité, BPM, résolution et conventions de notation.
### Notes d'implémentation
- Convention d'octave : MIDI 60 = `C-4`. Le numéro MIDI est indiqué à côté de chaque note dans la section de référence, ce qui lève toute ambiguïté si l'affichage d'octave du tracker diffère.
- Le fichier texte utilise les accords plaqués (voicing courant), indépendamment du mode de performance choisi pour le `.mid`.
- La résolution retenue est enregistrée dans les sessions `.json`.
---
## [2.5] — interface bilingue
### Ajouté