Commit Graph

64 Commits

Author SHA1 Message Date
8e9dd7601f Implémentation du shuffle de la queue de lecture
Ajout de la fonctionnalité de shuffle pour mélanger l'ordre des morceaux dans la queue de lecture.

- Implémentation de la méthode shuffle_queue() dans MusicRenderer
- Ajout de l'endpoint REST /api/control/renderers/{renderer_id}/queue/shuffle
- Intégration du bouton shuffle dans l'interface Vue.js
- Centralisation des émissions d'événements SSE dans le MusicRenderer
- Mise à jour de la documentation OpenAPI

Cette fonctionnalité permet de randomiser l'ordre des morceaux dans la queue et de redémarrer la lecture depuis le premier morceau, tout en améliorant l'architecture en centralisant les émissions d'événements.
2026-01-16 13:09:23 +01:00
2ef4ebf020 Suppression de la logique de débouncing SSE dans MediaBrowser.vue
Suppression de la logique de débouncing et cooldown inutile dans MediaBrowser.vue, puisque le serveur contrôle déjà le flux SSE. Cela améliore la réactivité de l'interface et réduit la complexité du code.
2026-01-13 19:01:35 +01:00
93f5900456 Bump PMOMusic version and improve snapshot update logic
Version bump for PMOMusic from 0.3.1 to 0.3.3

- Updated snapshot update logic in useRenderers.ts to directly update local snapshot state based on event types
- Improved handling of various events like state_changed, position_changed, volume_changed, etc.
- Adjusted polling interval in control_point.rs from 500ms to 250ms for smoother UI updates
2026-01-11 21:19:10 +01:00
7d2cb75e58 Optimisation des délais de rafraîchissement et amélioration de la réactivité
Réduction du délai de rafraîchissement des conteneurs à 2 secondes et ajustement du polling pour une meilleure réactivité de l'interface utilisateur.

- Modification du délai de cooldown de 5 secondes à 2 secondes dans MediaBrowser.vue
- Réduction du délai de polling de 60 secondes à 10 secondes pour la découverte des appareils dans control_point.rs
- Modification du polling de volume et de mute de 3 secondes à 1 seconde (tous les 2 ticks à 500ms) dans control_point.rs
- Réduction du délai de polling de position de 1 seconde à 500ms dans control_point.rs
2026-01-11 15:53:42 +01:00
7f10f55086 Implémentation du sleep timer
Ajout de la fonctionnalité de sleep timer pour les renderers audio.

- Création du composant TimerControl.vue avec interface utilisateur interactive
- Implémentation des API endpoints pour gérer le sleep timer (start, update, cancel, get)
- Intégration du système de timer dans le control point avec surveillance par thread dédié
- Ajout de la logique de timer dans les renderers (sleep_timer.rs)
- Mise à jour des types et événements SSE pour le sleep timer
- Intégration du timer dans la barre de bas de l'application

Cette fonctionnalité permet aux utilisateurs de configurer un timer qui arrêtera automatiquement la lecture après une durée définie, avec une interface intuitive et des notifications en temps réel.
2026-01-10 20:45:51 +01:00
c9f15289d0 Ajout d'un padding à la liste des pistes
Ajout d'un padding de 10px à gauche et à droite dans la liste des pistes pour améliorer l'espacement et l'alignement visuel.
2026-01-10 16:44:29 +01:00
c745179200 Implémentation du seek audio avec support des Range requests
Ajout de la fonctionnalité de seek audio dans les renderers avec support des Range requests HTTP pour permettre le seek pendant le téléchargement.

- Ajout de la route /control/renderers/{renderer_id}/seek pour le seek par secondes
- Implémentation du support des Range requests dans le serveur de fichiers (pmocache)
- Mise à jour des dépendances avec http-range-header, tower, tower-http
- Amélioration de l'interface utilisateur avec une barre de progression interactive dans CurrentTrack.vue
- Support du seek pendant le téléchargement avec streaming progressif
- Gestion des erreurs et timeouts pour les commandes de seek
2026-01-10 16:35:52 +01:00
bd8f87fbe4 Ajout de la fonctionnalité de transfert de queue entre renderers
Implémentation complète de la fonctionnalité de transfert de queue entre renderers :
- Ajout d'une nouvelle API POST /renderers/{id}/queue/transfer
- Intégration dans le backend avec la méthode transfer_queue dans ControlPoint
- Mise à jour des structures de données pour inclure l'ID de playlist dans les snapshots
- Ajout d'une interface utilisateur dans RendererDrawer avec menu déroulant pour le transfert
- Gestion des écouteurs d'événements pour fermer le menu en dehors
- Support du transfert de la queue avec préservation de la playlist binding
- Ajout de tests et documentation OpenAPI
2026-01-09 21:55:26 +01:00
58ac28489c Optimize UPnP discovery and server response handling
Refactor UPnP discovery to use a thread pool for fetching device descriptions, improving performance and responsiveness. Also, use spawn_blocking in server endpoints to prevent blocking the async runtime when performing sync operations. Additionally, add read timeout to SSDP socket and handle WouldBlock errors gracefully.

Refactorisation du contrôle des renderers et amélioration de l'interface utilisateur

Refactorisation complète du composant VolumeControl avec gestion d'erreur améliorée et debounce.

Migration de l'interface de contrôle des renderers :
- Suppression de l'ancienne barre d'onglets en bas
- Intégration d'une nouvelle barre d'infos en bas avec les détails du renderer actif
- Création d'un nouveau drawer pour la sélection des renderers
- Déplacement des informations du renderer de l'onglet vers la barre d'infos

Améliorations UI/UX :
- Nouvelle interface de contrôle des renderers dans le drawer avec boutons de lecture/pause
- Mise à jour des styles et animations pour une meilleure expérience utilisateur
- Adaptation responsive pour les appareils mobiles
2026-01-09 21:55:26 +01:00
256495b483 Refactorisation du composant RendererTabContent
Migration vers un format de code plus cohérent avec des indentations et sauts de ligne uniformes. Correction des espaces et mise à jour des styles pour une meilleure lisibilité et maintenabilité.
2026-01-09 19:26:19 +01:00
2ebbed2ffc Refactor QueueViewer component and update UnifiedControlView
This commit includes a refactor of the QueueViewer component to improve code formatting and readability, along with adding a scrollable area fix to ensure items are not hidden under a fixed bar. Additionally, the padding-bottom in UnifiedControlView has been removed as it's now handled by the QueueViewer component.
2026-01-09 17:49:12 +01:00
38f49d4439 Implémentation du menu déroulant pour les actions d'éléments dans le ServerDrawer
Ajout d'un menu déroulant avec les actions 'Ajouter à la queue' et 'Ajouter après' pour les éléments dans le ServerDrawer.

- Remplacement des fonctions handlePlayItem et handleQueueItem par des fonctions plus spécifiques (handlePlayItem, handleAddToQueue, handleAddAfterCurrent)
- Ajout d'une gestion du menu déroulant avec ouverture/fermeture
- Intégration du composant useRenderers pour les actions de lecture
- Mise à jour des styles pour le menu déroulant avec animations
- Correction de l'alignement du backdrop sur mobile
- Amélioration des transitions et animations du drawer
- Ajout de la fonction addAfterCurrent dans l'API et le control point
- Support de l'ajout d'éléments après le morceau actuel dans les queues
2026-01-09 17:26:46 +01:00
7546072d2b Correction de petits bugs d'interface 2026-01-04 20:45:51 +01:00
5320545d56 Debugging de la nouvelle implémentation. 2026-01-03 23:59:45 +01:00
46625c20ec Petit débugage de la user interface. 2025-12-27 17:02:29 +01:00
40cce9f894 Rends les items de la queue de lecture cliquables. 2025-12-27 15:12:57 +01:00
6b5282903e Grosse correction sur l'interface graphique et débugage de Open Home.
All checks were successful
Build and Push Docker Image / build (push) Successful in 28m52s
2025-12-27 13:46:17 +01:00
d6f8d94ca5 Plus de dashboard. 2025-12-27 11:21:49 +01:00
86711c1e48 Nouvelle UI du controle point 2025-12-27 01:22:12 +01:00
d4917e159a Update la webapp pour suivre les évènement de modification des service upnp 2025-12-26 20:45:16 +01:00
7084707a4a Add docker image building 2025-12-23 13:03:18 +01:00
1a7e5dd790 Debug openhome 2025-12-21 21:04:31 +01:00
3f9798be9b Amélioration de la vue playlist 2025-12-17 20:37:01 +01:00
7de0008cc8 Une API Rest pour pmoplaylist 2025-12-17 15:12:12 +01:00
1bf34fe949 no local cache 2025-12-17 14:25:24 +01:00
68e6f528e5 debugage lazy cache 2025-12-17 07:23:25 +01:00
d2d8111668 lazy cache webapp 2025-12-15 15:01:14 +01:00
380e105873 Des debug après la simplification 2025-12-06 12:48:21 +01:00
daef8d6150 Simplification de la web UI en reposant davantage sur le serveur. 2025-12-06 12:48:21 +01:00
4d79c6d883 Débugage de la WebUI non complètement convaincants. 2025-12-06 12:48:21 +01:00
27aa70d81f debugagen openhome 2025-12-06 12:48:21 +01:00
9f62191830 webui control point step 2 2025-12-06 12:48:21 +01:00
b38d2593b3 première version de la web UI du control point 2025-12-06 12:48:21 +01:00
cf3f0afde4 Les playlists suivent la lecture de leurs morceaux. 2025-12-06 12:48:21 +01:00
4e979a2d79 Ajouter une route JPEG ou Cover Cache 2025-12-06 12:48:21 +01:00
9e8491710c debug du lecteur web 2025-12-06 12:48:21 +01:00
e21fa5948e debug lectueur générique 2025-12-06 12:48:21 +01:00
d55c22a267 des debug mais je ne sais plus de quoi 2025-12-06 12:48:21 +01:00
aeddcc9c64 update la webapp 2025-12-06 12:48:21 +01:00
97a383c079 Tentative de gestion d'un historique 2025-11-16 08:02:50 +01:00
785f8d52a5 Update la web app pour tirer partie du nouveau systeme de cache 2025-10-29 22:36:36 +01:00
bbecd8efb5 debug de l'application vue 2025-10-29 22:35:53 +01:00
ecb362ae48 refactoring des caches 2025-10-25 17:46:53 +02:00
2bb2e7b7db Refactoring profond de pmoparadise 2025-10-21 18:37:40 +02:00
b95bebdb6a Patch of the web logger 2025-10-20 19:50:58 +02:00
a04c79a1f8 lastest correction on webapp 2025-10-20 16:18:21 +02:00
45599787ba adaptation de la webapp radio paradise 2025-10-20 16:18:21 +02:00
208fe8be76 amélioration de la webapp 2025-10-20 16:18:21 +02:00
8d62e50a20 detail de l'application web bouton stop 2025-10-20 16:18:21 +02:00
23c6d8b7a7 Ajount d'un viewer radio paradise 2025-10-20 16:18:21 +02:00