Gratuit et sans pub, grâce à vous. Soutenir
Historique des versions

Changelog

Toutes les nouveautés, améliorations et corrections de RustMusic.

v0.4.3

Nouveautés

3 novembre 2026

Les noms qui réunissent plusieurs artistes, comme « Chris Brown/Nicki Minaj », deviennent enfin des artistes séparés, sans casser les groupes comme « AC/DC » : chaque cas douteux est vérifié, en direct, et tout reste annulable. Les compositeurs ont leur vue et leur page, les champs de saisie ont un focus plus net, le bouton jour / nuit retient son choix, les grands titres ne rognent plus le bas des lettres et l'icône macOS a la taille des autres.

Artistes multiples

Un duo devient deux artistes, un groupe reste un groupe : RustMusic vérifie avant de toucher à quoi que ce soit.

Chris Brown/Nicki Minaj

Chris BrownNicki Minaj

Billie Eilish & Khalid

Billie EilishKhalid

AC/DC

AC/DC

Simon & Garfunkel

Simon & Garfunkel
  • ●Réglages → Stockage & données → « Vérifier les artistes multiples », ou menu « … » d'un artiste → « Est-ce plusieurs artistes ? ». Chaque nom douteux (virgule, barre, « & », « x »…) est vérifié une fois : d'abord le tag ARTISTS du fichier, sinon MusicBrainz, à qui seuls les noms d'artistes sont envoyés
  • ●Sans réponse sûre, rien ne change : le nom vous est proposé, à séparer ou à garder en un seul artiste
  • ●La fenêtre suit la vérification en direct (progression, résultats, photos des artistes connus) et peut la laisser continuer en arrière-plan ; elle devient ensuite le bilan, où chaque séparation s'annule
  • ●Option « Vérifier après chaque scan » pour les nouveaux noms, et tag ARTISTS (Picard, Mp3tag) lu au scan : la liste exacte des artistes d'un morceau est utilisée telle quelle
  • ●Vos fichiers ne sont jamais modifiés : seuls les liens entre morceaux et artistes changent

Compositeurs

Pour la musique classique, les musiques de film ou simplement savoir qui a écrit quoi : les compositeurs ont leur rayon.

  • ●L'onglet Artistes bascule entre « Artistes » et « Compositeurs » (tag compositeur), et le choix est retenu
  • ●Chaque compositeur a sa page : ses albums, ses morceaux et ses interprètes, et son menu « … » lit, mélange, met en file ou ajoute à une playlist
  • ●On y arrive aussi depuis la fiche d'un morceau, la colonne Compositeur et la recherche. Les listes comme « Hans Zimmer, James Newton Howard » sont séparées, les mentions vides de sens comme « Various Composers » écartées
  • ●Photo : celle de l'artiste du même nom, sinon un portrait Deezer, sinon deux initiales colorées

Interface

  • ●Focus des champs de saisie repensé : recherches, filtres et formulaires s'allument d'un seul tenant dans la couleur d'accent ; en contraste élevé, un contour net épouse l'arrondi du champ

Corrections

  • ●Le bouton jour / nuit de la barre du haut retient son choix au redémarrage, et montre toujours le thème réellement affiché, y compris en mode « Système »
  • ●Les grands titres des pages d'artiste, d'album, de morceau, de genre, de playlist et de podcast ne coupent plus le bas des lettres comme « g », « p » ou « y »
  • ●Sur macOS, l'icône a la même taille que celle des autres applications dans le Dock et le sélecteur ⌘ Tab
  • ●Le bouton retour des réglages ramène toujours à l'accueil sur macOS et Linux, et à la page d'avant sous Windows

v0.4.2

Nouveautés

31 octobre 2026

Vos écoutes partent aussi vers Last.fm, la vue Dossiers montre ce que contiennent les dossiers, les tags des fichiers .m4a se modifient enfin et l'ALAC est reconnu comme sans perte. Un rescan suit les fichiers renommés, la musique peut repartir dès l'ouverture, RustMusic se pilote en ligne de commande, et le moment où un morceau compte comme écouté se règle.

Last.fm

Le service de suivi d'écoute le plus répandu, relié en un clic, sans jamais donner votre mot de passe.

  • ●Réglages → Écoute en ligne → « Connecter Last.fm » : RustMusic ouvre Last.fm dans votre navigateur, vous cliquez « Autoriser », et c'est fait. Votre mot de passe ne passe jamais par RustMusic
  • ●Mêmes règles que pour ListenBrainz : un morceau compte à la moitié ou après 4 minutes, le morceau en cours s'affiche sur votre profil si vous le souhaitez, et hors connexion les écoutes partent plus tard
  • ●Chaque profil relie son propre compte, et Last.fm et ListenBrainz peuvent recevoir vos écoutes en même temps
  • ●Votre propre clé d'API Last.fm si vous préférez, avec un guide en trois étapes pour la créer

Dossiers

  • ●Chaque dossier montre les pochettes de ce qu'il contient (une mosaïque s'il réunit plusieurs albums), son nombre de titres et sa meilleure qualité, par exemple « FLAC 24/96 » ou « DSD128 »
  • ●Les fichiers montrent leur titre, leur artiste et leur durée, et se lancent d’un bouton au survol
  • ●Option « Pochettes » dans la barre d'outils : sans elle, dossiers et fichiers sont illustrés, teintés selon leur qualité
  • ●Fil d'Ariane repensé, et barre d'outils sur une seule ligne

Lecture

  • ●Lancer la lecture au démarrage (Réglages → Général → Démarrage) : le dernier morceau repart tout seul, à la seconde près si « Reprendre là où je m'étais arrêté » est activé
  • ●Seuil d’écoute réglable (Réglages → Général → Lecture) : un morceau compte comme écouté après 1 minute ou la moitié, ou à 25, 50, 75, 80 ou 90 % de sa durée. Last.fm et ListenBrainz gardent leur propre règle
  • ●Commandes de lancement : /play, /pause, /playpause, /stop, /next, /prev, /show et /exit. Si RustMusic est ouvert, la commande lui est transmise sans ramener la fenêtre : de quoi piloter la musique depuis un Stream Deck, un raccourci ou un script

Tags

  • ●Les fichiers .m4a et .m4b (AAC et ALAC) se modifient : titre, artistes, album, année, genre, commentaire, compositeur, numéros de piste et de disque, pochettes. L'audio n'est jamais réécrit, et les autres données (paroles, ReplayGain, MusicBrainz) sont gardées
  • ●Le compositeur des .m4a, rangé par iTunes dans un champ à part, s'affiche désormais
  • ●Les totaux de pistes et de disques sont lus dans tous les formats

Bibliothèque

  • ●ALAC et AIFF reconnus sans perte : les fichiers déjà importés sont corrigés à la mise à jour
  • ●Le rescan retire les fichiers disparus et suit les fichiers renommés ou déplacés dans un même dossier de bibliothèque : plus de doublon, et note, écoutes, playlists et J'aime sont gardés. Rien n'est retiré si le scan est annulé ou si un dossier apparaît soudain vide
  • ●Genres réunis sans tenir compte de la casse : « Classical » et « classical » ne font plus qu'un

Interface

  • ●Page d'un genre comme celle d'une année : un sélecteur Albums / Morceaux / Artistes, et des albums triés par année, titre ou artiste
  • ●Compteur d'écoutes à jour en direct, dans les listes et sur la fiche d'un morceau
  • ●« Tout voir » des récemment joués et les titres likés montrent aussi les morceaux hors bibliothèque
  • ●Titres longs coupés proprement sous macOS sur l'accueil

Sous le capot

  • ●Accès à la base réorganisé : toutes les requêtes passent par des repositories, et les 269 commandes de l'interface sont rangées par domaine

v0.4.1

Nouveautés

27 octobre 2026

Les podcasts se lisent plus vite sans voix déformée et se parcourent par chapitres, les écoutes partent vers ListenBrainz, les playlists s'échangent en .m3u avec les autres lecteurs, et les compilations d'un serveur ne sont plus éclatées en dizaines d'albums. L'appli parle la langue du système dès le premier lancement, chaque profil a son image, et les réglages se replient.

Podcasts

Plus vite, sans voix de « chipmunk », et chapitre par chapitre.

0,5×0,75×1×1,25×1,5×2×3×
  • ●Vitesse de lecture de 0,5× à 3× depuis le lecteur (préréglages de 0,75× à 2×), avec la hauteur de la voix gardée. Chaque émission retient sa vitesse ; une vitesse par défaut se règle dans Réglages → Écoute en ligne. Pendant un épisode, la sortie exclusive cède la place à la sortie partagée
  • ●Chapitres, quand l'émission en fournit (dans le flux ou dans le fichier MP3) : repères sur la barre de progression, chapitre en cours sous le titre, et une liste pour y sauter, avec précédent et suivant
  • ●Vérification des nouveaux épisodes réglable : jamais, toutes les heures, toutes les 6 heures ou une fois par jour
  • ●Effacer l'historique d'écoute : tous les épisodes redeviennent non écoutés, sans position de reprise
  • ●« Vider la liste » dans le menu « … » de « À écouter » : chaque émission revient avec son prochain épisode
  • ●Menu « … » sur les cartes de « À écouter » : retirer l'émission de la liste, marquer l'épisode écouté, ouvrir l'émission

Suivi d'écoute

ListenBrainz
  • ●ListenBrainz (Réglages → Écoute en ligne) : chaque profil relie son compte par son jeton personnel. Les morceaux écoutés à moitié (ou 4 min) y sont envoyés, avec le morceau en cours si vous le souhaitez ; hors connexion, les écoutes attendent et partent plus tard ; la déconnexion demande confirmation, en indiquant les écoutes encore en attente

Playlists

.m3u · .m3u8
  • ●Import et export .m3u / .m3u8 : chaque liste devient une playlist, ses morceaux retrouvés même si elle a été écrite sur un autre ordinateur ; « Exporter en .m3u8 » dans le menu d'une playlist

Serveurs de musique

  • ●Compilations réunies : sans tag « artiste de l'album », Navidrome ou Jellyfin éclatent une compilation en un album par artiste. RustMusic les réunit en un seul album « Various Artists », comme pour les dossiers locaux, et deux albums différents au même titre restent séparés

Interface

  • ●Langue du système au premier lancement (français, anglais, allemand, espagnol ou italien, sinon anglais) ; une installation existante garde sa langue
  • ●Image de profil : une photo ou une image de votre choix, recadrée en carré, à la place de l'initiale
  • ●Réglages repliables : un clic sur le titre d'un groupe le replie ou le déplie, et l'appli s'en souvient ; une recherche rouvre tout
  • ●Plus de menu du navigateur au clic droit là où l'appli n'a pas son propre menu ; copier et coller restent dans les champs de saisie

Radios

  • ●Effacer l'historique : dernières radios écoutées et titres passés à l'antenne ; les favorites restent

Sous le capot

  • ●Compteurs d'albums par artiste des bibliothèques de serveur recalculés à chaque synchronisation
  • ●Ménage : environ 1 000 lignes de code inutilisées retirées et un index de base de données en double supprimé

v0.4.0

Version majeure

23 octobre 2026

Les radios, les podcasts et vos serveurs de musique arrivent dans RustMusic. Des milliers de radios en direct avec une pause en différé, les podcasts de chaque pays, et Navidrome, Jellyfin ou votre NAS comme sources, avec l'écoute hors ligne.

Radios

EN DIRECT

Des milliers de stations du monde entier, en direct, avec une pause qui ne fait rien perdre.

France InterfranceinfoBBC Radio 1BBC Radio 2NPRRadio ParadiseDeutschlandfunkSWR3Cadena SERLOS40Rai Radio 1Rai Radio 2
  • ●À activer dans Réglages → Écoute en ligne : une entrée « Radios » apparaît dans la barre latérale, illustrée du logo de la dernière radio écoutée
  • ●Annuaire libre Radio Browser : recherche par nom, « Les plus écoutées » du pays choisi, genres (Info, Pop, Rock, Jazz, Classique…) ou adresse d'un flux (.mp3, .m3u, .pls)
  • ●Pause en différé : la radio continue d’arriver pendant la pause, jusqu’à 30 minutes gardées. « Revenir au direct » rattrape le retard
  • ●Le lecteur passe en mode radio : logo, station, titre en cours quand la station l’annonce, bande « EN DIRECT ». Précédent et Suivant passent d’une radio favorite à l’autre
  • ●Radios favorites, 30 dernières écoutées, historique des titres passés, choix de la qualité du flux (AAC, MP3, débit) et flux HLS (Radio France…)
  • ●Reconnexion automatique après une coupure réseau, et lecture sur un lecteur réseau UPnP ou une enceinte Sonos

Podcasts

Les podcasts d'Apple Podcasts ou de n'importe quel flux RSS, avec le classement de chaque pays.

Les Grosses TêtesLEGENDThe Rest Is PoliticsThe Rest Is HistoryThe DailyCrime JunkieMordlustGemischtes HackNadie Sabe NadaLa RuinaLa ZanzaraElisa True Crime
Apple Podcasts RSS OPML
  • ●À activer dans Réglages → Écoute en ligne. Recherche dans Apple Podcasts ou adresse d'un flux RSS ; « Les plus écoutés » suit le classement Apple du pays choisi, par catégorie
  • ●Un clic ouvre la page de l'émission, avec ses épisodes et la lecture ; le clic droit propose un aperçu sans s'abonner
  • ●Écoute pendant le téléchargement : la lecture démarre au bout de quelques secondes, même après un saut loin devant
  • ●Reprise là où on s'était arrêté, épisodes non écoutés enchaînés, file d'attente des épisodes à part de la musique
  • ●Téléchargement automatique par émission, épisodes écoutés effacés après 24 h (réglable), et une page Téléchargements qui montre la place prise
  • ●Émissions favorites épinglées dans la barre latérale, et abonnements importés ou exportés en OPML

Serveurs de musique

Bêta

Votre musique hébergée chez vous devient une source, comme vos dossiers.

Navidrome Jellyfin Subsonic Gonic Airsonic MiniDLNA
  • ●Navidrome et tout serveur Subsonic (Gonic, Airsonic…), Jellyfin (mot de passe ou clé d’API) et serveurs DLNA des NAS (MiniDLNA…), trouvés tout seuls ou par leur adresse, dans Réglages → Stockage & données → Serveurs
  • ●Lecture immédiate pendant que le morceau arrive. Fichier d'origine (bit-perfect possible, DSD compris) ou MP3 320, 192 ou 128 kbit/s transcodé par le serveur, avec un cache de 2 Go
  • ●« Garder hors ligne » un morceau, un album, un artiste, un genre ou une playlist : ils restent jouables serveur éteint
  • ●J'aime, notes, écoutes et lecture en cours renvoyés au serveur ; playlists du serveur importées et modifiables dans les deux sens ; paroles du serveur quand il en a
  • ●Le mot de passe n'est jamais enregistré : seulement une empreinte, un jeton de session ou la clé d'API

Les serveurs de musique sont en bêta. Radios et podcasts sont désactivés par défaut : ils s’activent dans Réglages → Écoute en ligne.

Sources

  • ●Bouton « Source » en haut de la barre latérale : « Cet ordinateur », chaque serveur ou « Toutes les sources ». Il n’apparaît qu’avec un serveur
  • ●Chaque source a ses bibliothèques, ses playlists, ses titres aimés, son historique, sa recherche et son accueil ; changer de source ne coupe pas la lecture
  • ●« Toutes les sources » : un album présent en local et sur un serveur n’est qu’un résultat, avec la version de son choix

Recherche

  • ●Page de résultats refaite : meilleur résultat, morceaux avec qualité et durée, albums, artistes, filtres par type et « Tout lire »
  • ●La recherche ne fouille plus que les bibliothèques du profil actif

Interface

  • ●Un mégaphone dans la barre du haut présente les nouveautés de chaque version en quelques diapos, avec un bouton « Essayer »
  • ●Barre latérale organisable : sections, playlists épinglées, « Titres likés » et « Récemment joués » se déplacent, et l’ordre est retenu
  • ●Mégaphone et bouton de thème masquables (Réglages → Général → Intégration système)

Lecture

  • ●« Récemment joués » et les positions de reprise sont propres à chaque profil
  • ●En fin de file, la lecture s’arrête proprement et la barre de progression revient au début
  • ●Un seul morceau dans la file en répétition « Tout » est bien rejoué

Exemples tirés de Radio Browser et du classement Apple Podcasts (octobre 2026). Logos et pochettes appartiennent à leurs propriétaires ; RustMusic n'est affilié à aucune de ces radios ni de ces émissions.

v0.3.1

Nouveautés

18 octobre 2026

La télécommande s'ouvre aux amplis Denon, Marantz et Yamaha, et retrouve un ampli qui a changé d'adresse. Les réglages de sortie s'appliquent tout de suite, sans relancer l'appli, et une sortie qui lâche en pleine lecture est rouverte d'elle-même. L'ampli enchaîne enfin les morceaux servis par le serveur DLNA.

Télécommande d'ampli

Bêta

Denon, Marantz et Yamaha rejoignent Onkyo, Pioneer et Integra.

Denon Marantz Yamaha MusicCast
  • ●Denon, Marantz et Yamaha (MusicCast) sont trouvés sur le réseau, avec les mêmes réglages : marche, volume au demi-décibel, entrées avec leurs noms personnalisés, modes, graves et aigus, zone 2. Sous le nom de l'ampli, son modèle (« SR6015 »)
  • ●Sur l'entrée réseau, la liste et la lecture en cours s'affichent ; chez Yamaha, avec la pochette
  • ●Ampli retrouvé après un changement d'adresse sur le réseau (nouveau bail de la box). La recherche trouve aussi les amplis qui ne répondent pas aux annonces : elle interroge chaque adresse du réseau local
  • ●Molette façon iPod pour la navigation : un appui sur l'anneau pour une direction, un tour du doigt (ou la molette de la souris) pour défiler, OK au centre. Au choix, une ligne de touches plus compacte la remplace
  • ●Une longue liste de l'écran réseau défile dans sa case et suit le curseur, au lieu d'allonger le panneau

Lecture

  • ●Réglages de sortie appliqués tout de suite : changer de sortie, passer en exclusif ou en partagé, activer le DSD natif ou changer le profil de qualité relance le morceau en cours au même endroit, sans relancer l'appli. En pause, le changement s'applique à la reprise
  • ●Sortie audio perdue en pleine lecture (câble USB capricieux, DAC réinitialisé, format changé dans Windows) : elle est rouverte d'elle-même et le morceau reprend là où il s'était coupé. Si elle ne revient pas en 5 s, la lecture passe sur la sortie du système, avec un message
  • ●Linux, mode exclusif : le DAC reste dans la liste des sorties, sélectionné, au lieu de laisser place à « Dummy Output »
  • ●Linux : son retrouvé avec PipeWire seul, sans cookie PulseAudio (paquet Flatpak notamment), au lieu d'une sortie ALSA muette
  • ●Quitter un lecteur réseau pour une sortie locale reprend directement sur la sortie choisie

Serveur DLNA

DLNA
  • ●L'ampli enchaîne les morceaux d'un album ou d'un dossier au lieu de s'arrêter après le premier, et y trouve la pause. Un album ou un dossier annonce son vrai nombre de morceaux

Bibliothèque

  • ●Import plus rapide, surtout depuis un NAS : la pochette d'un dossier est lue une fois par dossier, et chaque fichier n'est ouvert qu'une fois. Sur 10 000 FLAC en partage réseau : 15 fichiers par seconde au lieu de 1,6. Un rescan ne relit plus les fichiers inchangés
  • ●Dossier introuvable au scan (partage non monté, disque débranché) : il est marqué « Inaccessible », un message le signale, et ses morceaux sont conservés au lieu d'être remis à zéro
  • ●Partage réseau remonté sous un autre nom (par son adresse puis par son nom, ou l'inverse) : RustMusic retrouve le même partage et propose de mettre la bibliothèque à jour ; morceaux, playlists, favoris et file d'attente suivent
  • ●Sélection : la même case à cocher dans toutes les listes de morceaux, même quand la colonne « # » est masquée, et un seul bouton « Sélectionner » par fiche
  • ●Barre d'état lisible pendant un import : une seule pastille suit le rescan avec le fichier en cours, sans rien recouvrir

Installation et système

winget Flatpak
  • ●Windows : RustMusic est dans winget (paquet LaRevueGeeK.RustMusic). « winget install rustmusic » l'installe, « winget upgrade » le tient à jour
  • ●Linux : paquet Flatpak (dev.rustmusic.RustMusic) préparé pour Flathub
  • ●Logo net sur écran haute densité : l'icône de la fenêtre et du dock part de l'image de 512 px
  • ●Linux : démarrage sous Wayland sans XWayland, et une vraie description du paquet .deb dans les logithèques

Soutien et licence

  • ●Après une mise à jour, une petite carte propose de soutenir le projet, une fois par version et jamais à la première installation ; « Plus tard » ou « Ne plus afficher »
  • ●Réglages → À propos → Soutenir RustMusic : Patreon, Ko-fi, PayPal et une étoile sur GitHub
  • ●Licence corrigée dans À propos : le texte présente maintenant la GNU GPL v3, avec le lien vers le texte complet, dans les 5 langues

v0.3.0

Nouveautés majeures

14 octobre 2026

RustMusic sort de l'ordinateur : la musique se lit sur les lecteurs, amplis et appareils AirPlay de la maison, et l'ampli se pilote depuis l'appli. L'atelier de tags est refait et va chercher ses valeurs sur MusicBrainz autant que sur Deezer.

Réseau

Bêta

Lire sur les lecteurs réseau, les enceintes Sonos et les appareils AirPlay de la maison.

Lecteurs réseau UPnP/DLNA

WiiM Sonos Denon Marantz Onkyo Yamaha UPnP / DLNA
  • ●À activer dans Réglages → Réseau. WiiM, amplis et lecteurs réseau (Onkyo, Denon, Marantz, Yamaha…) apparaissent dans le menu de sortie du lecteur, section « Lecteurs réseau »
  • ●C'est l'appareil qui lit : le fichier lui est envoyé tel quel, sans conversion, donc en hi-res s'il le permet
  • ●File, seek, pause, volume et enchaînement sans blanc fonctionnent comme en local ; titre, artiste, album et pochette s'affichent sur l'appareil
  • ●Changer de sortie en cours d'écoute reprend le morceau au même endroit, et le lecteur choisi est retrouvé au lancement. Un format que l'appareil annonce ne pas lire (DSD, souvent) est signalé tout de suite
  • ●Sonos : les enceintes apparaissent sous le nom de leur pièce, et dans un groupe la lecture est confiée à l'enceinte qui le pilote. Jusqu'à 24 bits / 48 kHz, avec un court blanc entre les morceaux

AirPlay

AirPlay Apple TV AirPort Express Shairport Sync Onkyo Denon Marantz
  • ●AirPlay 1 : amplis Onkyo, Denon, Marantz…, AirPort Express, Apple TV et Shairport Sync apparaissent dans la même section, avec leur icône
  • ●Ici, c'est RustMusic qui lit et envoie le son en qualité CD (16 bits / 44,1 kHz) : sa file, son enchaînement sans blanc, son Replay Gain, le seek et la pause restent actifs
  • ●La position affichée suit ce qu'on entend malgré les 2 s de décalage de l'appareil ; titre, artiste, pochette et progression s'affichent sur l'appareil, selon ce qu'il sait montrer
  • ●Pas encore pris en charge : appareils protégés par mot de passe, appareils AirPlay 2 uniquement, et DSD

Serveur DLNA et réseau

DLNA WireGuard OpenVPN
  • ●Avec un VPN actif (WireGuard, OpenVPN…), le serveur ne s'annonce plus dans le tunnel : les amplis du salon le retrouvent au lieu d'afficher « Aucun serveur »
  • ●Pause et déplacement dans le morceau depuis l'ampli ou son appli, y compris sur les appareils (Onkyo notamment) qui les refusaient
  • ●La recherche d'appareils part de chaque carte réseau : un VPN ou une carte virtuelle ne cache plus les appareils du salon
  • ●Une pastille « Réseau » dans le lecteur montre ce qui est actif (lecteurs, AirPlay, partage DLNA) et active ou coupe chacun d'un clic
  • ●macOS : RustMusic demande l'accès au réseau local, sans lequel macOS 15 bloque en silence la recherche et le serveur DLNA

Télécommande d'ampli

Bêta

Piloter son ampli Onkyo, Pioneer ou Integra sans quitter RustMusic.

Onkyo Pioneer Integra
  • ●À activer dans Réglages → Télécommande : les amplis du réseau sont trouvés d'eux-mêmes, puis une télécommande sort du bord droit de la fenêtre par sa languette
  • ●Un afficheur façon façade d'ampli (source, mode d'écoute, volume), le volume et trois onglets : Sources, Son (modes d'écoute, graves, aigus, zone 2) et Navigation
  • ●Elle s'adapte à l'ampli : ses vraies entrées, ses plages de volume et de tonalité, sa zone 2. Ce qu'on change sur la façade ou la télécommande d'origine s'affiche aussitôt
  • ●Navigation : sur l'entrée NET ou USB, l'écran de l'ampli comme dans son appli, avec ses services, ses dossiers et la lecture en cours avec pochette
  • ●Mode mini réduit à l'afficheur, la marche, la source et le volume. Mise en veille par appui maintenu : un clic égaré n'éteint plus l'ampli

Services affichés depuis l'ampli

Spotify Deezer TuneIn DLNA AirPlay

Lecture en réseau, AirPlay et télécommande d'ampli sont en bêta et désactivés par défaut : RustMusic ne contacte aucun appareil du réseau tant que vous ne les activez pas dans les réglages. Vos retours sur votre matériel sont les bienvenus.

Atelier de tags

MusicBrainz Deezer
  • ●Atelier refait : un tableau, un panneau d'édition repliable, Annuler (Ctrl+Z) et Écrire (Ctrl+S). Les outils sont rangés dans deux menus, Tags et Fichiers
  • ●Points à vérifier : titre, artiste, album ou genre manquant, artiste de l'album vide, « feat. » dans l'artiste, chacun corrigé d'un bouton
  • ●Édition dans le tableau (double-clic ou F2, puis Entrée ou Tab) et menu par colonne : recopier sur la sélection, casse Titre, vider, masquer
  • ●MusicBrainz rejoint Deezer : compositeurs, pochette en 1200 px (Cover Art Archive), et éditions distinguées par année, pays et support
  • ●Compléter en ligne en deux étapes : choisir l'édition (« Meilleur choix » en tête), puis Compléter les vides, Tout mettre à jour ou Personnalisé, champ par champ
  • ●Albums à plusieurs disques : les pistes de même numéro sur deux disques ne sont plus confondues, et le numéro de disque est proposé

Lecture et fenêtre

  • ●Reprise au démarrage fiable : la lecture repart à la bonne position au lieu de jouer du silence le temps que le décodeur rattrape
  • ●La fenêtre retient sa taille, sa position, l'état agrandi et le plein écran au fil des changements ; le micro-lecteur retient sa position
  • ●Linux : le mini et le micro-lecteur gardent leur taille, la poignée du micro-lecteur fonctionne et ses commandes suivent le pointeur

v0.2.10

Nouveautés

11 octobre 2026

Mini et micro-lecteur

  • ●Volume dans le mini-lecteur : un bouton au bout des commandes ouvre la sourdine et la glissière, la molette règle le volume. Bulle verticale ou horizontale, au choix dans Apparence → Mini-lecteur
  • ●Nouveau micro-lecteur : la fenêtre devient un carré de pochette. Au survol : précédent, lecture, suivant, la timeline et le volume. La poignée du coin agrandit la pochette jusqu'à trois fois, et la taille est retenue
  • ●Le mini et le micro-lecteur restent entiers dans l'écran : collés au bord, ils ne débordent plus en grandissant

Lecture

  • ●Enchaînement sans blanc plus précis : la piste suivante démarre dans le même bloc de son que la fin de la précédente. Avec un rééchantillonnage (fichier 44,1 kHz sur une sortie 48 kHz), la fin du morceau n'est plus écourtée et le début n'a plus de court silence
  • ●Démarrage instantané en mode partagé : la sortie reste ouverte d'un morceau à l'autre. Certains DAC USB mettaient plus d'1,5 s à rouvrir leur flux ; seul le premier morceau paie désormais ce délai
  • ●Un morceau ne décroche plus en cours de lecture quand le décodage prend du retard (disque réseau, par exemple) : l'enchaînement attend que le morceau soit entièrement décodé
  • ●Le mode et le préampli Replay Gain s'appliquent tout de suite au morceau en cours, et plus seulement à partir du suivant
  • ●Linux : sortie exclusive retrouvée sur les DAC USB que PipeWire et ALSA nomment différemment. Les capacités du DAC (fréquences, profondeur) s'affichent dans la liste des sorties

Playlists et bibliothèque

  • ●Les playlists, Titres likés et Récemment joués utilisent le tableau de la bibliothèque : mêmes colonnes, même tri, même menu. « Retirer de la playlist » et « Retirer des likes » sont dans le menu de chaque morceau
  • ●Bouton Sélectionner sur une playlist, sur la page Playlists (plusieurs playlists d'un coup) et sur les fiches artiste, genre et année
  • ●Onglets Albums et Artistes plus rapides sur les grandes collections : les pochettes se chargent à l'approche de l'écran, plus toutes d'un coup
  • ●Les pistes d'une compilation sans tag « artiste de l'album » ne sont plus perdues à l'import : un nouveau scan suffit à les retrouver
  • ●Gérer une bibliothèque depuis la barre latérale (bouton ⋯), la renommer et la définir par défaut

Apparence

  • ●Couleur d'accent au choix dans Apparence → Thème : dix teintes prêtes ou une couleur libre. Le logo, les boutons, les sélections et les liens la suivent
  • ●Toutes les fenêtres (bibliothèques, playlists, éditeur de tags, import, sorties audio…) adoptent l'habillage des réglages et suivent le thème et la couleur d'accent
  • ●Effets visuels Auto, Complets ou Allégés (Apparence → Options expert). Auto allège l'interface en rendu logiciel, en machine virtuelle ou sur une machine modeste, et dit pourquoi
  • ●Masquer les playlists de la barre latérale d'un clic, comme les albums et artistes épinglés
  • ●Linux : plus de clignotement au défilement. Le réglage DMA-BUF « Auto » le coupe selon le pilote graphique réel (GPU virtuel, Radeon ancienne, NVIDIA propriétaire)

Raccourcis et réglages

  • ●Raccourcis clavier personnalisables dans Réglages → Raccourcis : une touche déjà prise est refusée en disant par quoi, et chaque raccourci se rétablit seul ou tous d'un coup
  • ●Basculer en mini-lecteur : Ctrl + Maj + M (⌘ + ⇧ + M sur Mac). La sourdine (M) répond enfin à la touche M sur un clavier AZERTY
  • ●Le bouton Retour des réglages ramène toujours à la page d'origine, et « Relancer maintenant » applique un changement de mode de rendu ou de DMA-BUF

v0.2.9

Correctifs

5 octobre 2026

Lecture

  • ●Le DSD converti en PCM enchaîne enfin les morceaux (macOS, DAC sans DSD natif) : quand le décodage rendait un peu moins que la durée annoncée, la fin du morceau n'était jamais signalée et la file restait bloquée
  • ●« Ouvrir un dossier » : les morceaux arrivent dans l'ordre de l'album et s'enchaînent
  • ●Mode exclusif sur les haut-parleurs du Mac : plus de silence avec la sortie système (erreur CoreAudio « !obj »). Le DSD natif profite du même correctif

Bibliothèque

  • ●Ajouter un disque externe ne fait plus exploser la mémoire : le scan ne tourne plus sans fin dans les raccourcis de dossiers qui bouclent, saute la corbeille et « System Volume Information », ne garde que la pochette des morceaux qui embarquent tout un livret, et ne décode plus les images géantes

Fenêtre

  • ●Boutons de fenêtre façon macOS dans l'ordre du système (rouge, jaune, vert), avec leurs symboles : fermer, réduire, plein écran. L'aperçu des réglages aussi

Sous le capot

  • ●Le journal enregistre aussi les informations utiles au diagnostic (sortie choisie, chaîne audio, conversions), et plus seulement les erreurs

v0.2.8

Nouveautés

4 octobre 2026

Audio

  • ●Bit-perfect réel en mode exclusif sous Windows, Linux et macOS : la sortie baissait le son de 2 % même en exclusif, et la conversion vers le DAC n'était pas l'exacte réciproque du décodage. À volume 100 % et sans Replay Gain, chaque échantillon arrive intact, vérifié par des tests sur fichiers étalons 16 et 24 bits
  • ●La pastille « Bit-perfect » ne l'affirme plus à tort : il faut aussi les mêmes canaux, une source sans perte et un Replay Gain neutre. Une pastille « Exclusif » signale un DAC réservé dont le son est tout de même modifié
  • ●Mode exclusif sous Windows : le DAC restait muet 2 à 4 secondes à chaque changement de morceau. Il reste désormais ouvert tant que le format ne change pas, et le morceau suivant démarre en 30 ms
  • ●AIFF, ALAC et Opus sont réellement lus, et les extensions en majuscules reconnues. WMA et APE, jamais lus, sont retirés
  • ●DSD natif (DoP) sans coupure sous Linux et macOS, comme sous Windows ; sous Windows, le début du premier morceau DSD n'est plus coupé
  • ●Quand le mode exclusif ou le DSD natif n'aboutit pas, l'app dit pourquoi (format refusé, DAC occupé, sortie sans accès direct, DoP refusé, fréquence convertie) : dans la chaîne audio, sur la pastille du lecteur et dans Réglages → Audio
  • ●Sous Linux, la sortie partagée passe par le serveur son (PipeWire ou PulseAudio) : choisir son DAC ne bloque plus les autres applications, les vrais noms des sorties s'affichent, et les erreurs « format f32 non pris en charge » ou « périphérique occupé » disparaissent
  • ●La sortie choisie est retenue d'un lancement à l'autre ; mode exclusif et DSD natif sous Linux rendent proprement la carte au système, sans renvoyer le son des autres applications vers l'écran HDMI
  • ●Pas de mise en veille pendant la lecture (réglage activé par défaut) ; sous Linux, pause propre quand l'ordinateur s'endort
  • ●Un anneau tourne autour du bouton lecture tant que le son n'a pas démarré ; les commandes multimédia du système ne s'inversent plus ; en mode partagé sous Linux, pause, volume et sauts réagissent tout de suite

Comprendre le son

  • ●Bulles d'explication : DAC, DSD, DoP, PCM, bit-perfect, rééchantillonnage… sont soulignés, un clic en donne la définition. Elles se désactivent dans Apparence
  • ●Nouvelle page « Comprendre le son » dans les réglages : le trajet du son en mode partagé et exclusif, ce que disent les pastilles du lecteur, et un glossaire
  • ●Les textes de Réglages → Audio disent plus clairement ce que fait chaque mode

Années et mix

  • ●Onglet Années : un déroulé par décennie, la plus récente d'abord, avec la page de chaque décennie ou année (albums, morceaux, artistes) et le mix de l'époque
  • ●Page Mix : mix du jour, un mix par genre et par décennie, et les vôtres
  • ●Créer un mix : une recette (genres, notes, jamais écoutés, Hi-Res…) dont RustMusic tire chaque jour 30, 50 ou 100 titres. Nouveau tirage, et « Garder en playlist » pour figer celui du jour
  • ●Des mix variés : un genre ne fait un mix qu'à partir de 5 artistes et 30 titres, et un artiste n'y place pas plus de 3 titres environ. « Pour vous » change de genres chaque jour
  • ●Éditeur de mix et de playlist auto refait : aperçu de la vignette, recettes en cartes, nombre de titres trouvés en direct

Playlists

  • ●Page Playlists : toutes les playlists, avec recherche, filtre classiques / auto, tri, grille ou liste
  • ●La barre latérale ne montre que les playlists épinglées, comme les albums et les artistes. Toutes le sont à la mise à jour, et une nouvelle l'est d'office
  • ●« Vos playlists », « Vos mix », « Tous les mix » et « Toutes les années » sur l'accueil
  • ●« Ajouter à une playlist » ne propose plus les playlists auto, qui ne recevaient rien

Import et premier lancement

  • ●L'import se suit en direct : le dossier apparaît tout de suite dans « Dossiers synchronisés », avec la recherche des fichiers, l'avancement et le fichier en cours. Sur un partage réseau, l'écran ne reste plus muet
  • ●Un import ou un rescan s'arrête à tout moment : ce qui est importé est gardé, et un message dit combien de titres, d'albums et d'artistes ont été ajoutés
  • ●Après un import, même arrêté, l'accueil, les Morceaux, les Genres et les Dossiers se rechargent ; un import n'empêche plus d'enregistrer la position et l'historique de lecture
  • ●Accueil de bienvenue sans bibliothèque : « Importer ma musique », les trois étapes, un aperçu des sections, ou simplement écouter un dossier sans rien importer
  • ●Page d'import : nom de la bibliothèque, import d'un dossier ou de fichiers, formats reconnus. Dans une bibliothèque vide, chaque onglet propose directement l'import

Navigation et bibliothèque

  • ●Onglets dans l'ordre Morceaux, Artistes, Albums, Genres, Années, Dossiers, Mix, Playlists ; Années, Mix et Playlists se cochent dans Apparence. En mode « onglets en haut », la barre latérale n'a plus de tuiles
  • ●Cases de sélection dans Dossiers et dans toutes les listes de morceaux ; les colonnes hors de l'écran ne sont plus vides, seule la liste défile horizontalement
  • ●Pochettes et portraits : la récupération s'annule, ne retélécharge plus tout, et une panne réseau ne marque plus un artiste « introuvable ». « Nettoyer le cache des images » supprime celles qui ne servent plus ; les tags des fichiers ne sont jamais touchés
  • ●Fiche d'un genre refaite dans le style des autres fiches ; fiche d'un morceau avec pochette et portrait même quand le fichier n'en contient pas
  • ●Mode clair enfin lisible partout (profils, menus, Commentaires) ; les menus DLNA s'affichent dans la langue de l'app sur l'ampli

Fenêtre et Linux

  • ●Plus d'écran blanc au lancement : un écran de chargement aux couleurs du thème s'efface en fondu quand l'application est prête
  • ●macOS : le bouton vert passe en plein écran, comme dans les autres applications ; ⌥ + clic garde l'agrandissement
  • ●Linux : fin de la fenêtre grise au démarrage (cache de polices Flatpak nettoyé), défilement deux fois plus fluide en 4K (37 images par seconde au lieu de 17), fonds flous bien plus légers pour le processeur
  • ●Réglages → Apparence → Options expert : mode de rendu, transfert DMA-BUF et fonds flous, pour les machines qui en ont besoin

Sous le capot

  • ●Passage à SvelteKit 3, Tauri 2.12, sqlx 0.9 et rubato 5 ; plus aucune faille signalée par npm audit, et les requêtes SQL construites à la volée relues une à une
  • ●L'export des réglages conserve les playlists auto, les mix et l'épinglage ; l'accueil, les statistiques et la page d'import ne sont plus coupés sur une petite fenêtre

v0.2.7

Nouveautés

1er octobre 2026

Accueil

  • ●Reprendre là où l'on s'était arrêté : le haut de l'accueil montre le morceau en cours ou le dernier écouté sur sa pochette floutée, avec « Reprendre » à la position enregistrée et un panneau « Ensuite »
  • ●Mix « Pour vous » : deux genres du jour, « Oubliés » (pas écoutés depuis plus de six mois) et « Haute résolution », chacun en mosaïque. « Nouveaux mix » en tire d'autres
  • ●« Au fil des décennies » : une tuile par décennie présente dans la bibliothèque, qui lance un mix de l'époque
  • ●« Explorer par genre » en tuiles à icônes, « Récemment ajoutés », et « Récemment joués » : un clic reprend l'album au dernier morceau joué

Barre latérale et barre de titre

  • ●Barre latérale refaite : sections en tuiles, sélecteur de bibliothèque, playlists avec la mosaïque de leurs pochettes, état du scan en direct, profil en pied de colonne. Elle se replie en icônes
  • ●Albums et artistes épinglés depuis leur menu : ils restent à portée de clic dans la barre latérale
  • ●Une seule barre de 60 px en haut : logo, navigation, recherche (Ctrl K), minuteur, thème, profil et boutons de fenêtre. L'ancien en-tête disparaît
  • ●Fenêtre « Dossiers synchronisés » refaite, ne reste plus coincée dans la largeur de la barre latérale
  • ●Le mode clair passe à des tons chauds, plus doux qu'un blanc pur
  • ●Désactiver les favoris masque aussi « Titres likés » dans la barre latérale

Lecteur

  • ●Un dock flottant teinté par la pochette : sa couleur suit l'album en cours. Ligne d'état avec format, profondeur, fréquence, débit, chemin et chaîne audio en pastilles colorées (bit-perfect, DSD natif, traitement, sortie, DLNA)
  • ●Menu Sortie : noms de périphériques lisibles, badge de qualité par sortie (CD, Hi-Res, Ultra Hi-Res), interrupteurs mode exclusif et DSD natif (DoP)
  • ●L'année de l'album est cliquable : elle ouvre les albums de cette année
  • ●Mini-lecteur refait, teinté lui aussi, avec file et paroles synchronisées en onglets. Revenir au lecteur complet ne laisse plus une fenêtre minuscule

Bibliothèque

  • ●En-tête commun à tous les onglets : nom, chiffres (albums, artistes, titres, taille, dernier scan) et menu « Gérer » (rescanner, dossiers, pochettes, images d'artistes, import, suppression)
  • ●Albums : recherche, filtres Hi-Res / Compilations / Sans pochette / Genre / Année, tri par titre sans l'article, grille ou liste, badge de qualité sur la pochette
  • ●Artistes : même barre d'outils, filtre « Sans portrait », tri par nombre d'albums, de titres ou durée d'écoute
  • ●Morceaux : densités Compacte / Détaillée, colonne Qualité, filtres Hi-Res / Lossless / Favoris / Sans pochette / Genre, colonnes redimensionnables. « Tout lire » joue la liste telle qu'affichée
  • ●Genres : mosaïques colorées, trois artistes phares, part de la bibliothèque, filtres « Principaux » et « Sans genre », « Mix aléatoire »
  • ●Dossiers : cartes ou lignes, fil d'Ariane, état du scan de chaque dossier, « Lire le dossier »
  • ●Navigation A–Z sur Albums, Artistes, Genres et Morceaux quand le tri est alphabétique

Fiches

  • ●Album : badge de la meilleure qualité, lecture, aléatoire, favori de l'album entier, genres, date de sortie et label depuis les tags, titres groupés par disque, albums similaires. Précédent/Suivant suit l'ordre de la vue Albums
  • ●Artiste : portrait, période d'activité, discographie en carrousel, titres groupés par album (repliables), « Apparaît sur », artistes similaires
  • ●Morceau : fiche complète : audio, tags, fichier, écoutes, note, « Lire ensuite », autres pistes du même album
  • ●Le haut de chaque fiche s'éclaire de la couleur de sa pochette

Réglages

  • ●Nouvelle présentation : colonne de sections, recherche dans les réglages, compteur « n modifiés · Rétablir » sur chaque page
  • ●Apparence : aperçus vivants du thème, de la barre latérale et de la navigation ; style des boutons de fenêtre en cartes illustrées
  • ●Audio : liste des sorties avec type de connexion et palier réel, « Tester le DAC » sur la sortie choisie, qualité de décodage et Replay Gain en sélecteurs illustrés
  • ●Reprise de lecture (activée par défaut) : la première lecture de la session repart de là où l'on s'était arrêté. « Gapless » passe dans Général
  • ●Nouvelle section Raccourcis ; Réseau, Stockage et À propos refaits

Corrections

  • ●File d'attente sans pochettes ni titres depuis la vue Dossiers : sur un lecteur réseau, les chemins prenaient leur forme UNC. Ils gardent maintenant celle du dossier importé, les files déjà enregistrées sont réparées à l'ouverture
  • ●« Ajouter de la musique » puis Annuler ne fige plus l'interface
  • ●Le glisser-déposer de fichiers dans une bibliothèque fonctionne : les chemins arrivent
  • ●Un genre comme « 100% Hits » s'ouvre de nouveau
  • ●Le bouton agrandir / restaurer suit l'état réel de la fenêtre
  • ●Une réponse tardive n'affiche plus le contenu d'avant (paroles, dossiers, autocomplétion, pochettes, bibliothèque, lettres A–Z)
  • ●« Léa » ou « The-Dream » gardent leur initiale dans le tri ; Maj+clic sélectionne de nouveau une plage après être sorti du mode sélection

Traductions

  • ●Environ 400 textes restés en français sont traduits en anglais, espagnol, allemand et italien : menus, notifications, formulaires, fenêtres, colonnes, playlists intelligentes. Pluriels justes, nombres/tailles/durées/dates suivent la langue

Performances

  • ●Ouvrir une bibliothèque ne charge plus tous ses titres, seulement les albums et les artistes
  • ●Les statistiques des genres viennent de la base en une requête au lieu d'une par genre
  • ●L'onglet Morceaux garde au plus 500 lignes en défilant, sans à-coup, et ne dessine que celles qui approchent de l'écran
  • ●Les listes ne se redessinent plus à chaque mise à jour de la position de lecture (une dizaine de fois par seconde)
  • ●La recherche des Albums et des Artistes ne retrie plus à chaque frappe ; miniatures de pochettes non redemandées à chaque affichage
  • ●Seules les icônes réellement utilisées sont embarquées : le code de l'interface passe de 12 à 2,5 Mo

Sous le capot

  • ●Composants d'interface communs (boutons, menus, champs, carrousels, charpente des fiches). Les grandes fenêtres d'édition de tags et de renommage sont découpées en morceaux lisibles. Extension SQL inutilisée retirée, code mort supprimé
  • ●Dépendances mises à jour pour trois failles npm audit (devalue, nanoid, sharp)

v0.2.6

Nouveautés

27 septembre 2026

Lecture

  • ●Un double-clic ne lance plus deux fois le même morceau. En mode « simple clic = lecture », le navigateur envoie click, click, dblclick : trois demandes pour un seul geste. Une demande identique qui suit de moins de 700 ms est ignorée
  • ●Le lecteur ne se croit plus à l'arrêt pendant qu'il joue : un arrêt retardataire n'écrase plus l'état d'une lecture plus récente (bouton figé sur « lecture », barre à 00:00 alors que la musique tourne)
  • ●Un fichier illisible ne bloque plus le lecteur : les drapeaux internes is_playing et is_stream_alive sont rabaissés en cas d'échec, plus de refus de lecture ni d'attente de trois secondes dans le vide

v0.2.5

Nouveautés

25 septembre 2026

Albums

  • ●Une compilation ne forme plus 52 fiches d'un titre chacune : l'album se reconnaît à son titre et à son dossier, les CD1/Disc 2/Disque 3 rattachés au coffret. 333 fiches en trop sur 1 236 pour « NRJ Hit Music Only 2019 », « NRJ Music Awards 2012 », « Taxi 4 »…
  • ●Rassemblement automatique au premier démarrage : l'album fusionné garde son tag « artiste de l'album » majoritaire, ou « Various Artists » sinon. Les homonymes légitimes (Best Of d'AC/DC vs Suprême NTM) restent séparés

Artistes

  • ●« Various Artists » ne remplace plus le vrai artiste d'un morceau : 309 morceaux avaient un nom qui n'était pas le leur (PJ Harvey, The White Stripes, Arctic Monkeys, Nick Cave…). Un bouton « Réparer les liaisons d'artistes » corrige les anciens fichiers
  • ●Un artiste n'affiche plus zéro album : 504 sur 1 512 avaient des titres mais rien à voir. Une section « Apparaît dans » réunit les disques où ils ne font que figurer

Lecture

  • ●La musique enchaîne avec la suivante : cliquer un morceau réduisait la file à ce seul morceau : la liste d'où vient le clic devient la file (bibliothèque, album, artiste, playlists, recherche, dossiers, accueil)
  • ●La file s'écrit en base en arrière-plan : une bibliothèque entière représente ~6 Mo, l'attendre repoussait le son à chaque clic
  • ●En mode « double-clic pour lire », un simple clic ne coupe plus le morceau en cours

Navigation

  • ●Le titre, l'artiste et l'album du lecteur sont cliquables : ouvrent la fiche correspondante, soulignement au survol. Un fichier ouvert à la volée reste du texte simple
  • ●Dans « Récemment joués », l'artiste et l'album d'un morceau ouvrent leur fiche. Le titre continue de lancer la lecture

Menus

  • ●Un bouton « … » sur Playlists, Bibliothèque et Ouvrir : réafficher les playlists masquées, déplacer les sections, en masquer une
  • ●Clic droit sur une ligne de playlist : lire, modifier, supprimer
  • ●Option pour masquer « Ajouter aux favoris » partout où il apparaît

Mémoire et processeur

  • ●La pochette ne traverse plus deux fois le pont vers l'interface : les octets bruts voyageaient en clair à chaque lecture : plus d'un mégaoctet sérialisé pour rien. Un test vérifie que la charge utile reste sous 4 Ko
  • ●Le cache de données est borné à quarante fiches, les listes principales protégées
  • ●Survol d'une grille throttlé à 250 ms, cache consulté avant toute requête
  • ●Les lignes hors écran des grilles ne sont plus mises en page ni gardées en mémoire

Affichage

  • ●Les playlists masquées n'apparaissent plus deux secondes au démarrage : les réglages sont lus avant le premier rendu

Sécurité des données

  • ●Revenir à une 0.2.4 après une 0.2.5 ne casse plus l'ajout de fichiers : l'ancienne contrainte d'album est conservée à côté de la nouvelle
  • ●Une sauvegarde est prise avant toute migration de la base, par instantané cohérent (journal d'écriture inclus). Une seule copie conservée, à côté de la base

v0.2.4

Nouveautés

19 septembre 2026

Lecture

  • ●File d'attente des actions : un double-clic envoyait click, click, dblclick, et l'arrêt d'une sélection finissant en retard coupait la lecture qui venait de partir
  • ●Le titre et la pochette déclenchaient deux actions par clic : corrigé
  • ●Liker un morceau ou ouvrir son menu ne le lance plus par accident

Tags multi-artistes

  • ●Nouveau bouton « Réparer les liaisons d'artistes » dans Réglages → Stockage. Ne relit aucun fichier, relançable sans créer de doublon
  • ●Un lien par artiste crédité sur la fiche d'un morceau : les artistes invités existent vraiment maintenant

Artistes

  • ●Le compteur de titres n'affiche plus 0 : un artiste est rattaché de deux façons, la liste n'en comptait qu'une
  • ●Les artistes sans piste ni album sont écartés, en-tête compris
  • ●Le top artistes des statistiques n'est plus vide
  • ●Artistes et albums similaires tirés au hasard

Sections de la bibliothèque

  • ●Placement à gauche, en haut ou les deux, avec choix des sections à afficher
  • ●« Explorateur » devient « Dossiers » partout dans l'app

Affichage

  • ●Barres de défilement visibles en mode clair ; le bouton des colonnes n'est plus recouvert par la barre du système
  • ●L'en-tête et les sections du bas ne sortent plus de l'écran au défilement horizontal
  • ●Titres likés, Récemment joués et boutons Ouvrir masquables

v0.2.3

Nouveautés

27 août 2026

Colonnes : Largeur

  • ●Redimensionnement à la souris par une poignée sur le bord droit de chaque en-tête, hors du bouton de tri
  • ●Double-clic sur la poignée : la colonne s'ajuste à son contenu (mesure via canevas, pas via le DOM, pour tenir compte des lignes hors-écran)
  • ●Largeurs enregistrées par colonne, avec « Rétablir les largeurs » pour revenir à l'origine
  • ●Le titre ne descend plus sous 180 pixels : seule colonne compressible, il absorbait tout et disparaissait au-delà de quelques colonnes ajoutées

Colonnes : Affichage

  • ●En-tête qui reste visible au défilement : une valeur sans intitulé ne veut rien dire, surtout quand ce sont des tags choisis soi-même
  • ●Numéro, pochette et titre entrent dans le sélecteur : les trois premières colonnes se masquent et se réordonnent comme les autres
  • ●Les réglages écrits avant ce changement sont repris, sans quoi les trois auraient disparu d'un coup

Modes d'affichage

  • ●Vue tableau disponible pour les onglets Genres et Dossiers, qui n'avaient que la grille
  • ●Bascule grille/liste affichée aussi sur les pages de détail : le mode y existait sans qu'on puisse le demander
  • ●Les sous-sections des pages de détail suivent le mode : autres albums de l'artiste, albums du même genre, artistes similaires, discographie

Sélection multiple

  • ●Fonctionne sur les albums, artistes et genres, en grille comme en liste. Cocher un album développe ses pistes : le compteur annonce « 47 titres », pas « 3 éléments »
  • ●Le bouton « Sélectionner » passe dans la barre d'onglets : il n'existait que sur quatre pages, l'onglet Dossiers et les pages de détail n'y avaient pas accès
  • ●Maj + clic étend depuis le dernier élément cliqué, comme dans un explorateur
  • ●« Tout » fonctionne partout : il s'appuyait sur une liste que seul l'onglet Morceaux remplissait
  • ●Un clic droit sur une ligne déjà cochée porte sur toute la sélection

Playlists

  • ●Le nombre d'écoutes s'affiche sur chaque ligne, et seulement s'il y en a
  • ●Les playlists intelligentes se reconnaissent à une pastille dans la barre latérale, et leur compteur se recalcule au lieu de rester figé
  • ●L'en-tête d'une playlist intelligente écrit ses règles en clair
  • ●Les recettes sont disponibles à la modification, sous « Remplacer par une recette » : repartir d'une recette est précisément ce qui répare une playlist mal réglée

Corrections

  • ●« Simple clic = lecture » désactivé : cliquer une piste affichait « Préparation du morceau… » puis rien. Un clic produisait deux intentions concurrentes qui s'annulaient
  • ●Le titre était la seule colonne qu'on ne pouvait pas redimensionner : flex écrasait la largeur qu'on lui donnait
  • ●Une playlist intelligente refusait de s'afficher : toutes ses lignes portaient la même clé
  • ●Modifier une playlist intelligente réécrivait sa couleur et son icône : ni l'une ni l'autre n'était rechargée
  • ●Une recette appliquée après une autre gardait le nom de la première
  • ●Mode clair : cases à cocher blanches sur blanc, menu de sélection resté entièrement sombre, pastilles de tri quasi invisibles
  • ●Le menu contextuel ne propose plus « Retirer » sur une playlist intelligente : l'action n'aurait rien fait tout en semblant marcher

v0.2.2

Nouveautés

24 août 2026

Playlists intelligentes

  • ●Règles sur 24 champs de la bibliothèque et sur n'importe quel tag présent dans les fichiers, avec groupes imbriqués, tri et coupe
  • ●Le nombre de morceaux retenus se recalcule en direct pendant qu'on écrit les règles
  • ●Huit recettes toutes faites pour démarrer, dont « les styles les plus écoutés » qui somme les écoutes par genre au lieu de figer une liste
  • ●Aucun nom de champ ni valeur de règle n'entre dans le texte d'une requête : tout part en valeur liée, tags des fichiers compris

Compteur d'écoutes

  • ●Il n'existait pas : la fonction était écrite mais jamais appelée, et play_count valait zéro sur toute la bibliothèque
  • ●Une écoute compte au-delà de la moitié du morceau, plafonnée à une minute

Colonnes au choix dans les listes de pistes

  • ●21 champs de la bibliothèque et tous les tags réellement présents dans les fichiers, recensés avec leur effectif
  • ●Tri par en-tête sur n'importe lequel, dans les deux sens : en base pour l'onglet Morceaux, en mémoire ailleurs
  • ●La vue tableau s'étend aux albums, artistes, genres et playlists

Export et import

  • ●Réglages, profils, playlists et titres aimés exportables et réimportables
  • ●Les playlists n'emportent pas d'identifiants (qui n'auraient aucun sens ailleurs) : chaque piste part avec son chemin et de quoi la reconnaître si ce chemin a changé
  • ●L'import annonce ce qu'il fera avant de l'écrire

Notation en demi-étoiles

  • ●Notation en décimal (0.5, 1.0, 1.5…) : les notes existantes valent déjà 1,0 à 5,0, aucune donnée n'est transformée

Corrections

  • ●La file ne s'enchaînait pas en bit-perfect : le Drop des sorties exclusives levait le drapeau d'arrêt, et playback-ended n'était jamais émis. WASAPI et ALSA étaient touchés
  • ●Les compteurs de playlist mentaient : retirer un dossier efface en cascade fichiers, pistes et entrées de playlist, mais le compteur restait sur son ancienne valeur. Il se lit désormais au lieu d'être cru
  • ●Défilement absent sur les trois pages de playlist
  • ●Menus déroulants blancs en thème sombre : color-scheme n'était pas déclaré, et un fond translucide ne peut pas servir de surface à une liste déroulante
  • ●Listes plus fluides : content-visibility sur les lignes, et un flou d'arrière-plan par piste supprimé (son fond était uni)
  • ●Le téléchargement des portraits d'artistes est débrayable
  • ●La fenêtre retient sa taille et sa position entre les sessions

Notes techniques

  • ●Les tags des fichiers remontent jusqu'à l'interface, qui y puise les colonnes choisies
  • ●Aucun nom de champ ni valeur de règle n'entre dans le texte d'une requête : tout part en valeur liée, y compris les noms de tags
  • ●285 tests, dont une trentaine qui exécutent le SQL contre une base migrée

v0.2.1

Nouveautés

20 août 2026

Atelier : Inventaire « à corriger »

  • ●L'atelier ouvert sans sélection montre ce qu'il y a à reprendre : fichiers sans titre, sans artiste, sans album, sans année, sans numéro, sans pochette, ou en format non réinscriptible
  • ●Détection des incohérences d'album : années divergentes, compilation sans artiste d'album, numéros de piste en double, trous dans la numérotation
  • ●Détection des doublons : même titre et même artiste, à deux secondes près, chaînés de proche en proche pour attraper les variations
  • ●Un clic sur une catégorie charge directement les fichiers concernés dans le tableur

Atelier : Renommage de fichiers

  • ●Motifs avec champs, complément par des zéros (track:02), repli (albumartist|artist) et groupes optionnels qui disparaissent quand le champ est vide
  • ●Aperçu avant/après ligne par ligne, recalculé à la frappe, avec sélection individuelle : on décoche ce qu'on ne veut pas renommer
  • ●Détection avant exécution des collisions, des cibles déjà occupées, des renommages en chaîne et des chemins trop longs
  • ●Assainissement Windows/macOS/Linux : les séparateurs / \ : | deviennent un tiret plutôt qu'une suite de soulignés, les caractères interdits sont retirés
  • ●Le motif s'applique aux tags corrigés : on corrige dans le tableur, on renomme d'après ce qu'on vient d'écrire

Atelier : Réorganisation des dossiers

  • ●Le motif recompose l'arborescence complète, avec quatre modèles courants proposés
  • ●Les fichiers compagnons suivent : .lrc et .cue avec leur piste, pochettes et .m3u avec leur dossier (si tout le dossier part au même endroit)
  • ●Nettoyage des dossiers devenus vides, jamais au-delà des racines de la bibliothèque
  • ●Changement de volume traité proprement : copie, vérification, puis suppression de la source : jamais l'inverse

Atelier : Journal et annulation

  • ●Chaque lot est journalisé : renommages, déplacements, et l'état des tags avant réécriture
  • ●Écran d'historique avec le motif employé, les compteurs, et l'annulation en deux temps. Les 50 derniers lots sont conservés
  • ●L'annulation rend compte comme un lot et peut échouer : un fichier retouché depuis l'opération n'est pas remis en place

Atelier : Règles de nettoyage

  • ●Cinq règles, aucune cochée d'office : soulignés en espaces, retrait du numéro en tête de titre, uniformisation de « feat. », espaces en trop, capitales à l'anglaise
  • ●Aperçu cellule par cellule, le résultat va dans les modifications en attente, pas directement dans les fichiers

Corrections

  • ●Un morceau renommé devenait illisible : la file d'attente conservait l'ancien chemin. Corrigé, et couvert par l'annulation
  • ●L'atelier et le cache de la bibliothèque se remettent à jour après un déplacement (ils gardaient les chemins d'avant)
  • ●L'application ne démarrait plus après une mise à jour partielle : quand la base était migrée par une version plus récente, l'erreur restait silencieuse sous Windows. Un message clair s'affiche désormais

Interne

  • ●Tout le SQL de données est passé dans repository/ : 31 requêtes vivaient encore dans les commandes et les services
  • ●197 tests Rust

v0.2.0

Version majeure

14 août 2026

Sortie bit-perfect sur les 3 systèmes

  • ●DoP natif sous Linux via ALSA en accès exclusif : le DSD part au DAC sans conversion PCM. Équivalent Linux du WASAPI exclusive de Windows.
  • ●DoP natif sous macOS via CoreAudio hog mode : mêmes garanties bit-perfect, le DAC affiche « DSD »
  • ●Sortie exclusive PCM également disponible sur macOS et Linux (en plus du DSD)
  • ●Réservation D-Bus : PipeWire/WirePlumber libère la carte pour l'accès exclusif, plus aucune manipulation manuelle nécessaire
  • ●Persistance du périphérique de sortie : le choix est restauré au démarrage, énumération nettoyée (fin des doublons dans la liste)

Replay Gain

  • ●Lecture des tags REPLAYGAIN_* et application du gain sans base de données, chaîne DoP préservée
  • ●Préampli réglable, modes piste / album, dans les Réglages Audio

Édition complète des tags (MP3, FLAC, DSF, DFF)

  • ●Écriture des tags texte ET des pochettes sur les 4 formats : rien n'est perdu : frames et blocs non édités recopiés à l'identique
  • ●Corriger un titre ne fait perdre ni pochette, ni note, ni identifiants MusicBrainz. Une image conservée est recopiée octet pour octet.
  • ●Écriture en place quand possible (2613 ms → 20 ms sur un FLAC de 34 Mo via SMB), repli sur réécriture atomique sinon
  • ●Éditeur individuel en popin deux colonnes, suivi des modifications champ par champ, gestion complète des médias intégrés

Atelier de tags par lot

  • ●Nouvelle page dédiée avec deux vues au choix : tableur ou liste + panneau
  • ●Édition multiple intelligente : un champ inchangé est omis et non envoyé vide (distinction « ne touche pas » vs « efface »)
  • ●Remplissage vers le bas, numérotation automatique, tri par colonne, pochette commune
  • ●Lecture parallèle des fichiers : 769 ms → 35 ms à froid pour 16 fichiers, avec progression et rapport d'échecs

Récupération de tags depuis Deezer

  • ●Recherche d'album, appariement des pistes par titre, durée et numéro, avec score et niveau de confiance
  • ●Écran de revue par morceau : valeurs du fichier en regard de celles de Deezer, dépliables champ par champ
  • ●Trois niveaux de choix : une valeur, un morceau, un champ sur toute la sélection. Pochette avec dimensions et poids affichés
  • ●Rien n'est écrit directement : tout passe par les modifications en attente de l'atelier avant d'écrire

Réglages en sous-pages

  • ●Page monolithique éclatée en sous-pages : Général, Apparence, Audio, Réseau, Stockage, À propos
  • ●Navigation latérale par sections, en-tête fixe, composants réutilisables (OptionRow, ToggleSwitch, ActionButton)

Fiabilité du rendu sous Linux

  • ●Auto-fallback en rendu logiciel : si le démarrage GPU plante avant d'afficher l'interface, l'app bascule automatiquement au lancement suivant (fichier sentinelle + écoute WebKit)
  • ●Détection SteamOS : rendu logiciel d'office sur Steam Deck
  • ●Variable RUSTMUSIC_RENDER=gpu|software|auto pour forcer le mode. Script fix-appimage-wayland.sh pour corriger le crash EGL sur SteamOS/Arch

Mode contraste élevé

  • ●Nouveau mode d'accessibilité : tous les gris secondaires deviennent lisibles d'un coup, sans reprendre les composants
  • ●Flous d'arrière-plan désactivés (ils brouillaient le texte), focus clavier franchement visible
  • ●Cases à cocher entièrement redessinées : coche SVG de fond, rendu propre sur WebKit et sur les états vides

Bibliothèque & fiabilité réseau

  • ●Bibliothèque par défaut : marqueur par profil, reprise automatique à la création de la première bibliothèque et à la suppression de celle par défaut
  • ●Fix édition sur NAS SMB : les lecteurs mappés (S: pour \\NAS\music) sont maintenant reconnus comme réseau, préchargement en RAM correct
  • ●« Corriger les tags » ajouté dans les menus contextuels des albums et listings, menu contextuel dans « Récemment joués »

Dépendances & projet

  • ●Symphonia 0.5.5 → 0.6.0 (nouvelle API probe/décodeur), rubato 2 → 3, Tauri 2.11.5, alsa 0.11, zbus 5
  • ●Feature isomp4 activée : les AAC en conteneur M4A sont désormais lisibles
  • ●SvelteKit 2.69.2, Vite 8.1.4. Bouton mini-lecteur déplacé dans la barre de titre (3 styles OS supportés)

v0.1.9

Nouveautés

5 août 2026

Minuteur de veille

  • ●Nouveau bouton dans le header de l'app pour arrêter la lecture après un délai choisi
  • ●Durées rapides 15 / 30 / 45 / 60 min ou saisie personnalisée en minutes
  • ●Mode « Fin du morceau » : la lecture s'arrête proprement à la fin de la piste courante, sans enchaîner
  • ●Toggle dans les Réglages pour masquer le bouton si vous ne l'utilisez pas

Mini-lecteur (fenêtre compacte)

  • ●Nouveau mode mini-lecteur : une fenêtre réduite toujours au premier plan pour garder RustMusic visible pendant votre travail
  • ●Bouton dédié dans le player pour basculer entre mode plein et mini, retour à la fenêtre normale en un clic
  • ●Cover, transport (précédent/play-pause/suivant), seek cliquable et badges qualité (DSD / Hi-Res, fréquence)
  • ●Panneau File d'attente déroulant : navigation dans la queue et sélection directe d'un morceau
  • ●Panneau Paroles synchronisées avec ligne active surlignée et auto-scroll

Internationalisation

  • ●Nouvelles traductions pour le minuteur, le mini-lecteur et les réglages associés (FR, EN, ES, DE, IT)

Maintenance & corrections

  • ●Mise à jour des dépendances audio et réseau (cpal, rubato, reqwest, image) pour une meilleure stabilité
  • ●Correction d'une régression de compilation sous Linux
  • ●Correction d'un souci d'affichage du panneau Paroles sous Linux

v0.1.8

Nouveautés

1 juillet 2026

WASAPI exclusive : bit-perfect (Windows)

  • ●Backend WASAPI exclusive event-driven : bypass complet du mixeur Windows, format natif envoyé au DAC (vraie sortie bit-perfect)
  • ●Pré-négociation du format avant le décodeur → aucun resampling parasite (le décodeur produit directement au rate natif du DAC)
  • ●Ciblage précis du périphérique, lecture FullBuffer et pré-remplissage anti-clic au démarrage
  • ●Activation dans les Réglages et le popup des sorties audio du player, badge permanent dans la barre d'état

DSD natif (DoP : DSD over PCM)

  • ●Les fichiers DSD (.dsf / .dff) sont envoyés tels quels au DAC compatible DoP, qui les décode nativement : plus de conversion PCM
  • ●Le DAC affiche « DSD » et reconstruit le flux 1-bit d'origine (bit-perfect) : DSD64 / DSD128 / DSD256
  • ●Moteur DoP persistant gapless : le DAC ne se verrouille qu'une seule fois, les pistes DSD s'enchaînent instantanément et sans clic
  • ●Repli automatique vers DSD→PCM si le DAC refuse le format ; volume géré par le DAC/ampli (bit-perfect oblige)

Périphériques de sortie enrichis

  • ●Capacités détaillées par périphérique : fréquences supportées, formats, canaux, détection Hi-Res
  • ●Probing WASAPI du DAC pour connaître ses capacités RÉELLES en mode exclusive (au-delà de la table générique de l'OS)
  • ●Fiche détaillée par périphérique et sélection de la sortie directement depuis le player et les Réglages

Réglages & Player

  • ●Refonte des Réglages : mode pleine page avec navigation par sections (Général, Apparence, Audio, Réseau, Stockage, À propos)
  • ●Popover pipeline enrichi (bit-perfect / DSD natif / transport DoP) et info source→sortie affichée en permanence dans la barre d'état
  • ●Section « À propos » intégrée directement dans les Réglages

v0.1.7

Patch

21 mai 2026

Profils de qualité audio

  • ●5 profils audio : Auto, Qualité maximale, Équilibré, Compatibilité, Mode dégradé
  • ●Détection automatique de la machine (VM, nombre de cœurs) pour choisir le preset adapté
  • ●Mode dégradé : filtre DSD 256 taps, sortie 44,1 kHz, pré-décodage complet en RAM (zéro underrun garanti)
  • ●Filtre DSD configurable par profil : 2048 / 1024 / 512 / 256 taps
  • ●Resampler chunk size et sub-chunks adaptés au profil choisi
  • ●Nouvelle section Réglages : 5 cartes de sélection et bloc d'information avec profil résolu et machine détectée

DSD multicanal : décodage parallèle & downmix

  • ●Parallélisation du DSD2PCM via rayon : 1 thread par canal pour les fichiers 3+ canaux (SACD 5.0 / 5.1)
  • ●Stéréo et mono conservés en mode séquentiel (overhead non justifié)
  • ●Speedup quasi-linéaire : un SACD DSD64 5.0 en Qualité maximale est désormais lisible sans grésillement sur CPU normal
  • ●Downmix multicanal vers stéréo conforme ITU-R BS.775 (3.0, 4.0 quad, 5.0, 5.1 avec LFE intégré)
  • ●Les SACD multicanaux s'écoutent désormais correctement en stéréo (voix centrale et surrounds préservés)

Pré-chargement, seek & robustesse audio

  • ●Pré-chargement en RAM des fichiers sur partage réseau (GVFS/SMB/NFS/SSHFS) ou en profil Bas : élimine les coupures liées à l'I/O
  • ●Seek instantané en Mode dégradé pour DSD : drain du ring buffer dans un Vec<f32>, CPAL en mode FullBuffer indexé
  • ●Correction d'une race condition CPAL sur le seek en Mode dégradé Symphonia (atomique dédié pending_seek_frames)
  • ●CPAL BufferSize::Fixed désormais clampé dans la plage supportée par le périphérique (fix stream silencieux sur certaines cartes Intel HD)
  • ●Log des erreurs CPAL rate-limité (1ère, puis 1 sur 100 jusqu'à 1000, puis 1 sur 1000) : sur VM faible on peut en recevoir des centaines/seconde
  • ●Defense-in-depth scanner DSD : catch_unwind à l'entrée DSD : impossible de tuer le batch d'import sur un fichier corrompu
  • ●Agrégation des fichiers ignorés à l'import + event Tauri enrichi (compteur skipped)

Notifications & contrôles média OS

  • ●Notification native au changement de morceau : Windows Action Center, macOS, libnotify Linux (titre + artiste)
  • ●Toggle des notifications dans les Réglages (icône cloche)
  • ●System Media Transport Controls : le morceau apparaît dans le mini-player Windows (volume flyout) et l'écran de verrouillage
  • ●MPRIS Linux (KDE Plasma, GNOME) et widget Now Playing macOS
  • ●Les touches média du clavier (play/pause/next/prev) fonctionnent désormais
  • ●Serveur HTTP local dédié pour servir les covers cross-OS : contourne la limitation Windows unpackaged qui rejette les file:// (basé sur souvlaki)

Rendu Linux & icônes hors-ligne

  • ●Render mode : override manuel Automatique / Accélération GPU / Rendu logiciel
  • ●Détection automatique des VMs avec bascule en software rendering pour la stabilité
  • ●Section Réglages dédiée avec bannière « Redémarrage requis »
  • ●Iconify offline : pré-bundling de 7 collections (lucide, heroicons, mynaui, ph, radix-icons, tabler, uit) : fix des icônes invisibles sur Debian 12 + WebKitGTK 2.40
  • ●Auto-config Linux : variables d'environnement WebKitGTK / GDK appliquées avant Tauri pour éviter les freezes (KVM, KDE Wayland, AMD Mesa)

Player & Pipeline UI

  • ●Popover hover stylé sur le badge source→sortie : affichage Source / Décodage / Resampling / Sortie / Profil avec badges Bit-perfect, DSP, DSD→PCM
  • ●Indication multicanal correcte dans le popover : 3.0 / 4.0 / 5.0 / 5.1 / 6.1 / 7.1
  • ●Layout responsive sur 3 breakpoints : mobile empilé, intermédiaire 500-768px (cover + actions en haut, transport en bas), desktop ≥768px (3 colonnes)
  • ●Fallback titre depuis le nom de fichier pour les DSF/DFF sans tag DITI/ID3
  • ●Indicateur de pré-décodage dans la StatusBar (Mo décodés / total) au lieu d'un loader dans le Player

Internationalisation

  • ●Parité totale des 4 langues : FR, EN, DE, ES (282/282 clés strictement identiques)
  • ●Sections rattrapées : bibliothèque (genres, total_duration), réglages (audio_quality, render_mode, scan_on_startup, album_covers), pipeline, statistiques, recherche

Stabilité & corrections

  • ●Détection automatique du format réel des images via magic bytes : fix des covers PNG/WebP renommées en .jpg (warning « Format error decoding Jpeg » éliminé)
  • ●svelte-check : 10 erreurs préexistantes corrigées (EditPlaylistPopin, ProfilSelectorPopin, page détail morceau avec library_artist_id côté TS + SQL JOIN library_artists)

v0.1.6

Patch

5 mai 2026

Lecture DSD (DSF + DFF)

  • ●Support natif des fichiers DSD (.dsf et .dff) en pur Rust, sans Symphonia ni FFmpeg
  • ●Conversion DSD → PCM via l'algorithme Gesemann (DSD2PCM) avec filtre Blackman-Harris 2048 taps
  • ●Détection automatique du débit DSD64 / 128 / 256 / 512 / 1024 et affichage en MHz
  • ●Pipeline complète : décodage → conversion → resampling → ring buffer → CPAL avec seek et bit-perfect
  • ●Badge doré dédié dans toutes les vues (liste, grille, détail, status bar) pour identifier les morceaux DSD au premier coup d'œil

Serveur DLNA / UPnP

  • ●Diffusion de votre musique vers les amplis et chaînes hi-fi compatibles DLNA sur le réseau local
  • ●Découverte automatique via SSDP : aucun appairage manuel, l'ampli détecte le serveur tout seul
  • ●Navigation par Artistes, Albums et Dossiers avec pochettes embarquées dans la métadata DIDL
  • ●Support multi-bibliothèques : chaque bibliothèque expose ses propres artistes, albums et dossiers
  • ●Streaming HTTP avec support des requêtes Range pour le seek depuis l'ampli
  • ●Section Réseau dédiée dans les paramètres : nom du serveur, port, statut, URL d'accès
  • ●Indicateur de statut dans la barre du lecteur pour vérifier que le serveur tourne

Extracteur de métadonnées maison

  • ●Refonte complète de l'extraction des tags audio : zéro dépendance externe (plus de lofty ni id3)
  • ●Parser ID3v2.3 / ID3v2.4 maison supportant 35+ frames (TIT2, TPE1, TALB, TCON, TBPM, POPM, APIC, USLT, etc.)
  • ●Tous les encodages standards gérés : ISO-8859-1, UTF-16 BE/LE avec ou sans BOM, UTF-8
  • ●Mapping étendu des notations POPM (rating) avec normalisation 0-5 / 0-100 / 0-255 → étoiles
  • ●Fallback automatique sur les images de dossier (cover.jpg, folder.jpg, front.jpg/png/webp/avif)

Interface

  • ●Affichage du débit en Mb/s pour les très hauts débits (au lieu de kbps quand ≥ 1000)
  • ●Composant NowPlayingCard réutilisable (variantes default + blur), partagé entre la file d'attente et les paroles

Stabilité

  • ●Correction du décodage de la colonne modified_at dans plusieurs requêtes SQL (provoquait l'invisibilité des morceaux dans la vue dossiers DLNA)
  • ●Logs réduits : niveau d'information minimal au démarrage, plus de spam pendant la lecture

v0.1.5

Patch

2 mai 2026

Paroles synchronisées

  • ●Affichage des paroles synchronisées avec défilement automatique sur le morceau actif
  • ●Récupération automatique via l'API LRCLIB (cascade /get + /search pour trouver la version synchronisée)
  • ●Support des fichiers sidecar .lrc placés à côté du fichier audio
  • ●Cache local en base SQLite pour éviter les appels réseau répétés
  • ●Fond flou de pochette + voile dégradé pour une immersion cinématique

Apparence

  • ●Nouvelle section « Apparence » dans les paramètres avec sélecteurs visuels
  • ●Choix du thème : Auto (système), Clair ou Sombre : appliqué instantanément
  • ●Aperçus visuels compacts pour chaque option (cartes responsive)
  • ●Suivi automatique du thème système quand le mode Auto est activé

Contrôles de fenêtre

  • ●Quatre styles disponibles : Auto, macOS (traffic lights), Windows ou Linux (boutons GNOME)
  • ●Position des contrôles configurable : à gauche ou à droite de la titlebar
  • ●Le mode Auto choisit le style en fonction du système d'exploitation détecté
  • ●Aperçus visuels dans les paramètres pour chaque combinaison

Instance unique

  • ●Empêche le lancement de plusieurs instances simultanées de RustMusic
  • ●Restaure la fenêtre existante si l'utilisateur tente de relancer l'application
  • ●Demande d'attention sur la barre des tâches pour notifier le retour au premier plan

v0.1.4

Patch

21 avril 2026

Pochettes d'albums

  • ●Récupération automatique des pochettes via l'API Deezer depuis le menu contextuel album
  • ●Recherche manuelle avec un popin premium et une grille de résultats
  • ●Sélection d'un fichier local comme pochette
  • ●Action groupée « Pochettes d'albums » dans les paramètres pour traiter tous les albums sans pochette
  • ●Nouveau filtre « Sans pochette » pour isoler les albums sans visuel

Notation des morceaux

  • ●Extraction automatique du tag POPM/Rating lors du scan (support des formats 0-5, 0-100 et 0-255)
  • ●Composant d'étoiles cliquable avec aperçu au survol et mise à jour en temps réel
  • ●Colonne de notation dans les vues liste et grille, ainsi que sur la page détail du morceau
  • ●Tri des morceaux par notation (les morceaux non notés sont placés en fin de liste)

Navigation alphabétique

  • ●Ascenseur A-Z sur les pages albums, artistes et morceaux pour sauter directement à une lettre
  • ●Lettres grisées automatiquement quand aucun élément ne commence par cette lettre
  • ●Bouton dédié dans la barre de vue pour afficher ou masquer la navigation

Filtres et tri

  • ●Refonte premium de la barre de filtres avec un menu déroulant pour le tri et un bouton de direction intégré
  • ●Filtre « Sans pochette » étendu aux morceaux
  • ●Direction descendante par défaut pour la notation, la durée et la date (plus intuitif)
  • ●Mémorisation du tri par contexte (morceaux, albums, artistes, genres)

Interface

  • ●Option « Simple clic = lecture » dans les paramètres pour lancer un morceau en un seul clic
  • ●Sous-menu « Ajouter à une playlist » dans les menus contextuels (ajout groupé depuis les albums ou une sélection multiple)

Stabilité

  • ●Double protection contre les crashs de scan avec fallback séquentiel fichier par fichier en cas de batch défaillant
  • ●Journalisation des fichiers problématiques pour faciliter l'identification des coupables

Corrections

  • ●Le tri des morceaux n'est plus réinitialisé à chaque changement de bibliothèque

v0.1.3

Patch

7 avril 2026

Sélection multiple

  • ●Mode sélection sur les listes de morceaux avec barre d'actions flottante (lire, ajouter à la file, ajouter à une playlist)
  • ●Boutons « Sélectionner » et « Tout sélectionner » dans la barre de filtres

Albums & Artistes

  • ●Boutons play et menu contextuel au survol des covers d'albums
  • ●Ajout à une playlist depuis le menu contextuel (tous les morceaux d'un album)
  • ●Tri des morceaux (N°, titre, durée) et des albums (année, titre) sur les pages album et artiste
  • ●Zoom lightbox sur les covers d'albums et photos d'artistes

File d'attente & Lecteur

  • ●Drag & drop fonctionnel pour réorganiser la file d'attente
  • ●Bouton play/pause dans le header de la file
  • ●Correction du bouton pause qui remettait le morceau à zéro

Stabilité & Compatibilité

  • ●Protection contre les crashs sur fichiers audio corrompus ou formats exotiques
  • ●Ajout des formats WAV, AIFF, OPUS et AAC au scan de bibliothèque
  • ●Grilles responsives avec breakpoints pour grands écrans (6, 7, 8 colonnes)

v0.1.2

Patch

5 avril 2026

Profils

  • ●Bouton « Modifier » visible sous chaque profil dans la popin de sélection
  • ●Confirmation de suppression : il faut taper « supprimer » pour valider
  • ●La création d'un profil ne quitte plus la popin et ne le sélectionne plus automatiquement

Performance : Page artiste

  • ●Chargement progressif avec skeletons : le header s'affiche instantanément, les sections se remplissent au fur et à mesure
  • ●Nouvelles commandes backend ciblées (get_albums_by_artist, get_similar_artists) au lieu de tout charger
  • ●Optimisation des requêtes SQL : suppression des sous-requêtes coûteuses
  • ●Ajout de 6 index SQLite manquants pour accélérer les pages artiste, album et recherche

Playlists & Corrections

  • ●Ajout du bouton « Tout lire » sur la page playlist
  • ●Correction du lien artiste dans les résultats de recherche
  • ●Page feedback redessinée avec lien contact@rustmusic.dev (suppression des mentions RiffFlow)

v0.1.1

Patch

30 mars 2026

Linux

  • ●Correction de l'affichage des covers sur Linux (contournement du bug WebKitGTK 2.50 avec le protocole asset://)
  • ●Correction de l'encodage %2F dans les URLs asset sur Linux
  • ●Ajout du support de compilation .deb et .rpm
  • ●Correction du warning GTK gtk_widget_get_scale_factor

Covers & Miniatures

  • ●Nouveau composant CoverImg avec chargement async et cache LRU (max 300 entrées, ~40 Mo)
  • ●Commande Rust read_cover_as_base64 pour servir les covers via IPC (fallback base64)
  • ●Fonction assetSrc() pour corriger l'encodage des chemins Linux
  • ●Support des tailles de miniatures (full, 1x, 2x) avec génération en background
  • ●Réorganisation des covers : covers/albums/ et covers/artists/ avec sous-dossiers full/1x/2x
  • ●Migration automatique des anciennes covers vers la nouvelle structure
  • ●Redimensionnement rapide via fast_image_resize (SIMD) au lieu du crate image
  • ●Génération à la volée des miniatures manquantes (resolve_thumbnail) avec fallback sur full
  • ●Pool de threads dédié (50% des cores) pour la génération de miniatures en arrière-plan
  • ●Double mode d'affichage : protocole asset (direct, rapide) ou base64 IPC (fallback)
  • ●Filtrage des images artistes par défaut de Deezer (détection du pattern URL sans hash)

Images artistes

  • ●Live update des images artistes : apparition en temps réel pendant le fetch Deezer
  • ●Store réactif artistImageReadyStore avec event artist-image-ready
  • ●Récupération des images artistes en mode force (re-télécharge même si le chemin existe en base)
  • ●Sauvegarde des images artistes dans covers/artists/full/ avec miniatures en background

Import & Progression

  • ●Nouveau composant d'import premium : cercle de progression avec glow, shimmer, ETA
  • ●Estimation du temps restant en live pendant l'import
  • ●StatusBar redesignée : gradient, shimmer, pourcentage, bouton d'annulation au hover
  • ●Refresh automatique des données après import (libraryContentStore.refresh())
  • ●Correction du freeze de 30s à l'annulation du dialogue d'import
  • ●Loader d'import ajouté aux pages Genres et Explorateur de fichiers
  • ●Migration des covers avec progression dans la statusbar

Paramètres

  • ●Ajout du bouton « Ouvrir le dossier de données » (ouvre l'explorateur sur le dossier AppData)
  • ●Notifications désactivées par défaut (option retirée des paramètres, sera réintroduite plus tard)
  • ●Traductions ajoutées (FR, EN, ES, DE) pour les nouvelles entrées

Optimisation

  • ●Tailles de covers adaptées par contexte : 1x pour les listes, 2x pour les grilles, full pour les pages détail
  • ●Transaction SQL pour les migrations de covers (rollback en cas d'erreur)
  • ●Génération des miniatures en 2 passes : déplacement + DB (rapide) puis resize en parallèle

UI

  • ●Correction de la troncature des titres longs (noms de fichiers) dans toutes les vues (album, playlists, queue, player, stats, recherche)
  • ●Ajout du title (tooltip au hover) pour afficher le nom complet des titres tronqués

v0.1.0

Beta

Première version publique

Tout commence ici : la première version de RustMusic pose les bases d'un lecteur pensé pour les audiophiles.

  • ●Lecture HD bit-perfect : FLAC, WAV, AIFF jusqu'à 24bit/192kHz, plus MP3, AAC, OGG et M4A
  • ●Bibliothèque SQLite embarquée avec import parallèle et scan incrémental ultra-rapide
  • ●Interface sombre et soignée propulsée par Svelte 5 et Tailwind CSS
  • ●Statistiques détaillées : formats, qualité, top artistes, genres avec graphiques SVG
  • ●Multi-profils et multi-bibliothèques pour organiser sa musique sans compromis
  • ●Récupération automatique des pochettes artistes via l'API Deezer