Commit Graph

14 Commits

Author SHA1 Message Date
ba40d07f73 fix: prevent direct playback of single-item playlists
Update `isNavigable` to explicitly validate `item.is_container` and disable navigation for playlists with only one item. This forces users to enter the playlist container, preserving metadata update benefits.
2026-06-07 14:52:51 +02:00
77cfb7b3e3 ⬆️ version bump to v0.3.40
- Update crate and project versions from `v0.3.39` to "\""
- Reorder imports in media_server.rs for consistency
  – Move `error_codes` import before other soap modules in pmoupnp
  – Reorder crate imports to group external and local deps logically (soap_client, then core types)
- Improve Browse response formatting: wrap long expressions for readability
  – Add deterministic sort by `+dc:title` in Browse requests (alphabetical, ascending)
  – Preserve track ordering by NOT sorting items (track number preserved), only containers
- Add explicit sort of container list in content_handler.rs for deterministic output
2026-04-06 18:16:48 +02:00
b08112699e feat: implement infinite scroll with pagination for media browsing
Add infinite scroll functionality to MediaBrowser component using IntersectionObserver, introduce BrowseState and pagination support (offset/limit) in API and backend, update version to 0.3.24
2026-03-24 15:25:19 +01:00
6bdd7ea905 Ajout de la détection des flux continus
Ajout d'une nouvelle propriété `is_continuous_stream` pour identifier les flux continus (radio, stream) plutôt que les fichiers avec durée fixe.

- Ajout de la propriété `is_continuous_stream` dans `TrackMetadata`
- Implémentation de la détection dans plusieurs fichiers : control_point.rs, media_server.rs, music_renderer/watcher.rs et openhome_client.rs
- Utilisation de la fonction `is_continuous_stream_url` pour déterminer si l'URI correspond à un flux continu
2026-01-31 21:39:07 +01:00
a13467bc2c Ajout de la gestion de la durée dans les métadonnées UPnP
Cette mise à jour ajoute la gestion de la durée dans les métadonnées UPnP et OpenHome. Les changements incluent :

- Ajout de la dépendance `pmoutils` dans `pmocontrol`
- Mise à jour du modèle `Item` pour inclure le champ `duration`
- Implémentation de la sérialisation DIDL-Lite avec `pmodidl` et `pmoutils`
- Ajout de la gestion de la durée dans les renderers UPnP et OpenHome
- Extraction de la durée depuis les métadonnées DIDL-Lite
- Support du fallback vers la durée du DIDL lorsque l'ampli ne la retourne pas
- Mise à jour des constructeurs d'items pour inclure la durée calculée pour les streams radio

Ces modifications permettent une meilleure gestion des durées de pistes audio, notamment pour les streams radio avec des durées calculées à partir des timestamps de début/fin.
2026-01-23 22:02:28 +01:00
60785745aa feat: Améliorations et corrections dans la gestion des devices UPnP
- Correction des erreurs dans la génération des éléments XML pour les conteneurs
- Amélioration de la gestion des caches (cover et audio) dans ParadiseStreaming
- Optimisation des annonces SSDP avec des messages plus clairs
- Ajout de logs de debug pour faciliter le débogage
- Correction de la gestion des notifications GENA pour le ContentDirectory
- Amélioration de la documentation et des commentaires dans les fichiers modifiés
2026-01-08 15:53:31 +01:00
5320545d56 Debugging de la nouvelle implémentation. 2026-01-03 23:59:45 +01:00
9c90e706f1 Enorme refactoring de PMO control step 2 2026-01-03 08:00:08 +01:00
64450185c5 énorme refactoring de PMOcontrol step 1 2025-12-30 16:49:29 +01:00
0abe66f7fb On corrige le bug des serveur de musique autre que le PMO serveur. 2025-12-27 22:06:20 +01:00
31ee25c7f2 Abstraction de la gestion des queues de lecture 2025-12-08 17:40:23 +01:00
75878be564 Deboguage pmo_remote_control 2025-12-06 12:48:21 +01:00
825254a2bb Prise en compte des métadonnées dans PMO Contrôle 2025-12-06 12:48:21 +01:00
f434c521e8 On fait la même chose maintenant coté serveur de musique. 2025-12-06 12:48:21 +01:00