X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git;a=blobdiff_plain;f=documentation_fr.md;h=d7d2f2cb4e961e3fa219cd1760ab592e69090535;hp=a55ae73de4873ff80174c157bca7d2e9a811b39f;hb=HEAD;hpb=faed2fa84ff988067532ae880df1ca00efb6a993 diff --git a/documentation_fr.md b/documentation_fr.md index a55ae73..4caf75e 100644 --- a/documentation_fr.md +++ b/documentation_fr.md @@ -10,6 +10,8 @@ appui sur une touche. ## Pré-requis et installation +(Voir la section suivante pour Windows) + - Il faut avoir ffmpeg d'installé. Pour cela, il faut installer le paquet `libav-tools` (debian) : sudo apt-get install libav-tools @@ -47,6 +49,30 @@ Pour compiler kivy avec la librairie SDL2, il faut certains paquets installés: cf [Installation Kivy](https://kivy.org/docs/installation/installation-linux.html) +## Installation sous Windows + +Le processus suivant a permis d’installer music sampler sous windows: + +- [Installer python 3.9.\* (prendre la version 64bit!)](https://www.python.org/downloads/windows) +- Dans une invite de commande (`cmd.exe`), lancer: + + pip install music_sampler + pip install docutils pygments pypiwin32 PySDL2 kivy.deps.sdl2 kivy.deps.glew + +- [Télécharger ffmpeg (64bit, static)](https://ffmpeg.zeranoe.com/builds/) + et mettre le contenu du dossier `bin` dans le dossier avec les musiques +- [Télécharger la police Ubuntu](https://www.1001fonts.com/ubuntu-font.html) + et installer Ubuntu-R et Ubuntu-B (Regular et Bold) *pour tous les utilisateurs* (clic droit sur la police) +- [Télécharger la police Symbola](https://fontlibrary.org/en/font/symbola) + et l’installer *pour tous les utilisateurs* (clic droit sur la police) +- Écrire un fichier `run.bat` avec: + + :::bash + @echo off + music_sampler + +- Lancer `run.bat` pour démarrer le programme. + ## Version compilée Une version compilée peut être créée avec pyinstaller: @@ -103,7 +129,9 @@ gardées d'une fois sur l'autre. ### Options disponibles au lancement Toutes les options au lancement sont facultatives ; la plupart du temps lancer -le programme dans le bon dossier suffit. +le programme dans le bon dossier suffit. La plupart d'entre elles peuvent être +définies également dans le fichier de config (à part `--config` bien sûr). Les +arguments en ligne de commande ont toujours la priorité. * `-h, --help` : affiche une liste des options disponibles. * `-c CONFIG, --config CONFIG` : précise le fichier de configuration à charger @@ -111,20 +139,21 @@ le programme dans le bon dossier suffit. music_sampler). * `-p MUSIC_PATH, --music-path MUSIC_PATH` : précise le chemin des musiques (par défaut, le dossier courant). - * `-d, --debug` : Affiche les informations de déboggage (désactivé par défaut) + * `--no-debug, --debug` : Affiche les informations de déboggage (désactivé par + défaut) * `-V, --version` : affiche la version courante et quitte (utilisable uniquement pour la version compilée). * `-L, --language` : change la langue de l'application. Actuellement: fr, en (par défaut 'fr') - * `--no-focus-warning`: Ne pas afficher d'avertissement lorsque l'application - perd le focus. + * `--focus-warning, --no-focus-warning`: Afficher / Ne pas afficher + d'avertissement lorsque l'application perd le focus (activé par défaut). Les options suivantes sont plutôt réservées à un usage avancé de music_sampler, ou en cas de problème avec la configuration standard : - * `-m, --builtin-mixing` Effectue en interne le mixage des sons. Par défaut, - music_sampler confie le mixage au système : n'activer cette option que si le - système n'y parvient pas. + * `--no-builtin-mixing, --builtin-mixing` Effectue en interne le mixage des + sons. Par défaut, music_sampler confie le mixage au système : n'activer + cette option que si le système n'y parvient pas. * `-l LATENCY, --latency LATENCY` : latence. Préciser "low", "high" ou un nombre de secondes (par défaut, "high") * `-b BLOCKSIZE, --blocksize BLOCKSIZE` : taille des blocs. Nombre de frames @@ -138,6 +167,7 @@ ou en cas de problème avec la configuration standard : (nombre d'octets pour chaque frame). Par défaut : 2. * `--device DEVICE` : sélectionne le périphérique de son. * `--list-devices` : Affiche la liste des périphériques de son disponibles. + * `--load-all-musics` : Charger toutes les musiques au démarrage (défaut: True) * `-- ARGS` : Arguments à passer à la librairie Kivy. ## Configurer les touches @@ -158,6 +188,9 @@ ne se lance pas du tout. Le fichier contient plusieurs sections : :::yaml + config: + ... + aliases: ... @@ -171,6 +204,15 @@ Le fichier contient plusieurs sections : ... +### `config` + +La section config permet d'enregistrer les paramètres habituellement donnés en +ligne de commande. Les '-' dans le nom du paramètre long doivent être remplacés +par des '_' (par exemple '--music-path' -> 'music_path'). Pour les switches +(`debug`, `focus_warning`, `builtin_mixing`), utilisez la version sans le 'no-' +et spécifiez `true` / `false` en valeur. Notez que les arguments donnés en ligne +de commande sont toujours prioritaires sur les valeurs du fichier. + ### `music_properties` : propriétés des musiques Cette section sert à définir des propriétés globales des musiques. @@ -232,6 +274,12 @@ secondes d'intervalle, le second appui est ignoré. - `repeat_delay: x` (par défaut : 0) : délai de "sécurité" en cas d'appuis successifs sur la touche. La touche est désactivée (grisée et barrée) pendant toute la durée des actions puis le délai de x secondes. +- `actions: liste`: Liste des actions à effectuer en appuyant sur la touche. + +### Propriété `common` + +Une entrée spéciale `common` s'applique à toutes les touches. Les propriétés +définies dans cette entrée peuvent être modifiées individuellement. ### `keys` : actions sur les touches @@ -239,6 +287,8 @@ Cette section sert à décrire, pour chaque touche, la liste des actions successives. Notez que la plupart des actions (hors `wait` et quelques cas particuliers, voir plus bas) sont quasi-instantanées. +*Cette section est obsolète et remplacée par une clé `actions` contenant une +liste dans la section `key_properties` pour chaque touche.* #### Exemples @@ -322,6 +372,8 @@ Met en pause la musique "music1.mp3" pour 10 secondes et la relance après, en avançant de 5 secondes dans la musique. #### Liste des actions possibles: +- `comment`: ne fait aucune action, mais affiche un message dans la zone des actions + * `message: "some text"` le message à afficher - `play` : joue une musique. music_sampler ne joue qu'une musique à la fois : si la musique demandée est déjà en train d'être jouée, elle n'est pas relancée ou jouée "par dessus". Paramètres : @@ -412,14 +464,31 @@ successivement mais sans attendre (donc presque simultanément) : ne pas hésite suite de celle-ci puisqu'elles seront systématiquement interrompues. - `interrupt_wait`: interrompt l'attente (de `wait` ou fin d'un fondu avec attente) et passe directement à l'action suivante. Paramètre : - * `wait_id: name` : précise l'identifiant du `wait` à stopper (défini par - `set_wait_id`, voir les actions `wait` et `stop`). Pour interrompre - plusieurs `wait` d'un seul coup, il faut mettre plusieurs - `interrupt_wait`. + * `wait_id: name` (facultatif) précise l'identifiant du `wait` à stopper + (défini par `set_wait_id`, voir les actions `wait` et `stop`). Si absent, + interrompt toutes les attentes. +- `pause_wait`: met une attente en pause (uniquement pour une attente ayant une + durée définie). La touche qui attend cet événement ne continuera pas tant que + l'attente n'est pas reprise. Paramètres : + * `wait_id: name` (facultatif) précise l'identifiant du `wait` à mettre en + pause. Si absent, met en pause toutes les attentes compatibles. +- `unpause_wait`: reprend une attente en pause (uniquement pour une attente + ayant une durée définie). Le compte à rebours reprendra pour la touche + correspondante en train d'attendre. Paramètres: + * `wait_id: name` (facultatif) précise l'identifiant du `wait` à reprendre. + Si absent, reprend toutes les attentes compatibles. +- `reset_wait`: réinitialise une attente (uniquement pour une attente ayant une + durée définie). Si l'attente est en pause, le compte à rebours ne recommencera + au début que lorsque l'attente sera reprise. Paramètres: + * `wait_id: name` (facultatif) précise l'identifiant du `wait` à + réinitialiser. Si absent, réinitialise toutes les attentes compatibles. - `run_command` : lance une commande. Paramètres : * `command: my_command` : précise la commande à lancer. * `wait: true/false` (facultatif, défaut : false) : si `wait` est true, attend que la commande ait fini de s'exécuter. +- `load_music/unload_music` : charger/décharger une musique en mémoire. + Uniquement utile en combinaison avec l’option `load_all_musics`. + * `music: "music.mp3" la musique à charger/décharger. ### `aliases` : définir des alias