Skip to content

Releases: boubou666/doot

doot v1.13.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 10:36
d26578f

Corrigé

  • Le tour complet ne bloque plus le callback tkinter : le squelette finit son
    animation et disparaît au lieu de rester affiché indéfiniment sous Windows.

doot v1.13.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 21:36
91eb931

Modifié

  • careless-whisper, rickroll et spooky-scary-skeletons gagnent une
    basse en seconde voix et affichent désormais deux squelettes. Les trois
    accompagnements finissent exactement avec leur mélodie et conservent son
    accordage.

doot v1.12.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 20:44
b18647f

Ajouté

  • Une mélodie peut avoir autant de voix parallèles que de lignes RTTTL. Elles
    partagent le tempo et sont mixées sans saturation. doot --melodies annonce
    le nombre de voix.
  • doot --play affiche un squelette par voix, sans plafond : le groupe est
    rangé en grille dans un seul overlay et chacun hoche uniquement sur ses
    propres notes, pendant que la piste mixée ne démarre qu'une fois.
  • megalovania gagne la basse de son arrangement en seconde voix.
  • megalovania (le riff quatre fois puis les deux thèmes) et
    this-is-halloween (ostinato, couplet et refrain), relevés sur des
    arrangements Online Sequencer.

Modifié

  • Le recentrage automatique d'une mélodie vise le milieu de son ambitus, plus
    la médiane : un riff de basse répété sous un thème aigu n'envoie plus le
    thème dans les aigus. Les mélodies déjà fournies ne bougent pas.
  • Le lecteur RTTTL accepte les octaves 1 à 8 (la norme s'arrête à 4–7), pour
    les notes de basse d'un riff.

Supprimé

  • Les canaux de distribution PyPI et AUR sont abandonnés. GitHub Releases devient
    l'unique source publiée ; la recette AUR et son .SRCINFO quittent le dépôt.
    Le PKGBUILD local reste disponible pour une construction manuelle sous Arch.

doot v1.11.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 17:35
524f6f7

Ajouté

  • careless-whisper : le riff de sax de George Michael en doots, relevé sur
    le canal sax d'un MIDI, en sol mineur (une quarte au-dessus du disque).
  • Les notes plus longues que le coup de trompette sont tenues : la partie
    stable du doot est bouclée en fondu enchaîné, puis sa finale jouée. Une
    blanche n'est plus un toot suivi d'un silence.

Modifié

  • La copie de la recette AUR et son .SRCINFO ciblent désormais l'archive
    vérifiée de la version 1.10.0.

doot v1.10.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:49
f30b21d

Ajouté

  • doot --play MELODIE joue n'importe quelle mélodie en doots, depuis un
    fichier RTTTL (le format des sonneries Nokia) : un nom parmi les
    mélodies fournies ou déposées dans <data>/melodies/, ou un chemin.
    doot --melodies les liste, --transpose N décale de N demi-tons. Chaque
    mélodie est ramenée par octaves entières au plus près du ré5 du doot.
  • spooky-scary-skeletons : le riff d'intro, les couplets et le pont d'Andrew
    Gold en doots, relevés sur un arrangement piano, à 135 BPM.

Modifié

  • --rickroll est désormais un raccourci de --play rickroll : la partition
    sort du code pour doot/assets/melodies/rickroll.rtttl, à l'identique. Le
    module rickroll.py devient melodie.py, et le WAV rendu s'appelle
    melodie.wav.
  • La copie de la recette AUR et son .SRCINFO ciblent désormais l'archive
    vérifiée de la version 1.9.0.

doot v1.9.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:09
7ed8861

Ajouté

  • doot --rickroll : le squelette joue le refrain de Never Gonna Give You Up
    en doots. Le coup de trompette du doot.mp3 est isolé dans
    doot/assets/doot-note.wav et relu plus ou moins vite pour chaque note, en
    la♭ majeur à 113 BPM ; rien n'est synthétisé. À chaque coup le squelette
    hoche la tête (7°, 6 % plus grand, autour du poing), sur les trois overlays.

Corrigé

  • install.ps1 échouait sous Windows PowerShell 5.1 sur SyntaxError: '(' was never closed : le script Python qui installe desktop-overlay était
    passé à python -c en un argument, et PowerShell 5.1 n'échappe pas les
    guillemets qu'il contient. Il passe maintenant par un fichier temporaire.
    pwsh 7 n'avait pas ce défaut, ce qui l'a caché à la CI depuis la 1.8.0.

Modifié

  • La copie de la recette AUR et son .SRCINFO ciblent désormais l'archive
    vérifiée de la version 1.8.0 et desktop-overlay 0.2.1.

doot v1.8.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 20:54
c905519

Modifié

  • L'énumération des écrans, la géométrie partagée et la préparation des
    fenêtres tkinter viennent désormais de desktop-overlay 0.2.1. Doot garde
    son choix aléatoire d'écran, ses textes français et ses méthodes historiques
    derrière un adaptateur mince.
  • Les installeurs autonomes vérifient le wheel 0.2.1 par SHA-256 ; la recette
    Arch dépend du paquet partagé python-desktop-overlay.
  • Les nouvelles versions sont distribuées par GitHub Releases : le paquet
    référence le wheel 0.2.1 du moteur et son SHA-256, sans compte PyPI pour le
    moteur.

Corrigé

  • Sous Windows, les styles click-through et sans activation sont posés avant
    le premier affichage de la fenêtre.
  • Les coordonnées tkinter négatives utilisent maintenant une géométrie signée
    valide pour les écrans placés à gauche ou au-dessus de l'écran principal.

doot v1.7.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 16:53
4bce776

Corrigé

  • L'attente des sons natifs à la sortie du programme ne court plus contre
    les fils de lecture. _laisse_finir parcourait _en_cours sans le verrou
    pendant qu'un fil qui finit s'en retire : un fil s'achevant juste à ce
    moment-là levait un RuntimeError au moment même où doot s'arrêtait. La
    copie de l'ensemble se prend désormais sous le verrou, et les join se
    font sans lui, sans quoi la lecture attendue ne pourrait plus se retirer et
    chaque sortie durerait le délai entier. Signalé par la revue du même code
    porté dans butbutbut.

doot v1.7.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 13:23
0e4ebd3

Corrigé

  • Le daemon ne tourne plus aveugle toute la session. L'unité s'installait
    WantedBy=default.target, donc elle démarrait avec le gestionnaire
    utilisateur, avant que la session ne publie DISPLAY et WAYLAND_DISPLAY.
    Comme l'environnement d'un processus ne change plus une fois qu'il tourne,
    chaque doot échouait ensuite sur no display name and no $DISPLAY sans que
    l'unité cesse d'afficher active. Elle s'accroche désormais à la session
    graphique, et à plasma-workspace.target quand celle-ci a démarré, Plasma
    publiant ces variables au même moment. L'installeur emploie reenable pour
    que la mise à jour retire le lien périmé vers default.target, et le daemon
    refuse de démarrer sans affichage plutôt que de boucler, ce qui laisse
    systemd le relancer avec l'environnement complet.

doot v1.7.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 18:55
5598bb7

Ajouté

  • --formation canon chorégraphie les salves : les apparitions alternent les
    bords dans le sens gauche, haut, droite, bas et parcourent les écrans
    disponibles dans l'ordre. random conserve le tirage indépendant par défaut.
    La formation est enregistrée par les installeurs et restaurée lors des mises
    à jour.

Corrigé

  • Sous Windows, un PID périmé condamnait doot au silence. Quand la machine
    s'arrête, le daemon est tué sans pouvoir effacer son doot.pid. Le test de
    vie se contentait d'un OpenProcess réussi — or l'objet noyau d'un processus
    survit à sa mort tant qu'un handle traîne quelque part, et l'appel réussit
    donc encore. doot se croyait déjà lancé et se retirait à chaque ouverture de
    session, définitivement, pendant que --status annonçait un daemon « actif »
    qui n'existait plus. Le handle est désormais interrogé avec
    WaitForSingleObject : signalé, le processus est mort et la place est libre.
    Les handles sont au passage déclarés sur 64 bits, pour ne plus être rendus
    tronqués à CloseHandle.