Soutenir le projet Ko-fi · Patreon · PayPal
Historique des versions

Changelog

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

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