From 3f8506742671b29042870d237e00307900063391 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Thu, 16 Oct 2025 21:43:08 +0200 Subject: [PATCH] =?UTF-8?q?Sort=20la=20partie=20m=C3=A9dia=20renderer=20de?= =?UTF-8?q?=20pmoupnp=20pour=20en=20faire=20une=20crate=20independante?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 11 +++ Cargo.toml | 2 +- PMOMusic/Cargo.toml | 1 + PMOMusic/src/main.rs | 2 +- pmomediarenderer/Cargo.toml | 11 +++ pmomediarenderer/README.md | 88 +++++++++++++++++++ .../actions/getcurrenttransportactions.rs | 4 +- .../actions/getdevicecapabilities.rs | 4 +- .../src}/avtransport/actions/getmediainfo.rs | 4 +- .../avtransport/actions/getpositioninfo.rs | 4 +- .../avtransport/actions/gettransportinfo.rs | 4 +- .../actions/gettransportsettings.rs | 4 +- .../src}/avtransport/actions/mod.rs | 0 .../src}/avtransport/actions/next.rs | 4 +- .../src}/avtransport/actions/pause.rs | 4 +- .../src}/avtransport/actions/play.rs | 4 +- .../src}/avtransport/actions/previous.rs | 4 +- .../src}/avtransport/actions/seek.rs | 4 +- .../actions/setavtransportnexturi.rs | 4 +- .../avtransport/actions/setavtransporturi.rs | 4 +- .../src}/avtransport/actions/stop.rs | 4 +- .../src}/avtransport/mod.rs | 2 +- .../variables/a_arg_type_instanceid.rs | 2 +- .../variables/a_arg_type_playspeed.rs | 2 +- .../variables/a_arg_type_seekmode.rs | 2 +- .../avtransport/variables/avtransporturi.rs | 2 +- .../variables/avtransporturimetadata.rs | 4 +- .../variables/currentmediaduration.rs | 2 +- .../avtransport/variables/currentplaymode.rs | 2 +- .../variables/currenttrackmetadata.rs | 2 +- .../avtransport/variables/currenttrackuri.rs | 2 +- .../src}/avtransport/variables/mod.rs | 0 .../variables/playbackstoragemedium.rs | 2 +- .../variables/possibleplaybackstoragemedia.rs | 2 +- .../variables/possiblerecordstoragemedia.rs | 4 +- .../variables/recordstoragemedium.rs | 4 +- .../src}/avtransport/variables/seekmode.rs | 2 +- .../src}/avtransport/variables/track.rs | 2 +- .../avtransport/variables/trackduration.rs | 2 +- .../variables/transportplayspeed.rs | 2 +- .../avtransport/variables/transportstate.rs | 2 +- .../avtransport/variables/transportstatus.rs | 2 +- .../actions/getcurrentconnectionids.rs | 4 +- .../actions/getcurrentconnectioninfo.rs | 4 +- .../actions/getprotocolinfo.rs | 4 +- .../src}/connectionmanager/actions/mod.rs | 0 .../src}/connectionmanager/mod.rs | 2 +- .../variables/a_arg_type_avtransportid.rs | 2 +- .../variables/a_arg_type_connectionid.rs | 2 +- .../variables/a_arg_type_connectionstatus.rs | 2 +- .../variables/a_arg_type_direction.rs | 2 +- .../variables/a_arg_type_protocolinfo.rs | 2 +- .../variables/a_arg_type_rcsid.rs | 2 +- .../variables/currentconnectionids.rs | 2 +- .../src}/connectionmanager/variables/mod.rs | 0 .../variables/sinkprotocolinfo.rs | 2 +- .../variables/sourceprotocolinfo.rs | 2 +- .../src}/device.rs | 12 ++- .../mod.rs => pmomediarenderer/src/lib.rs | 2 +- .../src}/renderingcontrol/actions/getmute.rs | 4 +- .../renderingcontrol/actions/getvolume.rs | 4 +- .../src}/renderingcontrol/actions/mod.rs | 0 .../src}/renderingcontrol/actions/setmute.rs | 4 +- .../renderingcontrol/actions/setvolume.rs | 4 +- .../src}/renderingcontrol/mod.rs | 2 +- .../variables/a_arg_type_channel.rs | 2 +- .../variables/a_arg_type_instanceid.rs | 2 +- .../src}/renderingcontrol/variables/mod.rs | 0 .../src}/renderingcontrol/variables/mute.rs | 2 +- .../src}/renderingcontrol/variables/volume.rs | 2 +- pmoupnp/src/lib.rs | 1 - 71 files changed, 199 insertions(+), 91 deletions(-) create mode 100644 pmomediarenderer/Cargo.toml create mode 100644 pmomediarenderer/README.md rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/getcurrenttransportactions.rs (60%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/getdevicecapabilities.rs (58%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/getmediainfo.rs (65%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/getpositioninfo.rs (64%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/gettransportinfo.rs (64%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/gettransportsettings.rs (58%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/next.rs (51%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/pause.rs (52%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/play.rs (55%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/previous.rs (53%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/seek.rs (57%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/setavtransportnexturi.rs (62%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/setavtransporturi.rs (62%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/actions/stop.rs (51%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/mod.rs (99%) rename {pmoupnp/src/mediarenderer/renderingcontrol => pmomediarenderer/src/avtransport}/variables/a_arg_type_instanceid.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/a_arg_type_playspeed.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/a_arg_type_seekmode.rs (83%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/avtransporturi.rs (84%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/avtransporturimetadata.rs (91%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/currentmediaduration.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/currentplaymode.rs (87%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/currenttrackmetadata.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/currenttrackuri.rs (72%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/playbackstoragemedium.rs (92%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/possibleplaybackstoragemedia.rs (78%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/possiblerecordstoragemedia.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/recordstoragemedium.rs (74%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/seekmode.rs (69%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/track.rs (87%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/trackduration.rs (92%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/transportplayspeed.rs (82%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/transportstate.rs (90%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/avtransport/variables/transportstatus.rs (83%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/actions/getcurrentconnectionids.rs (58%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/actions/getcurrentconnectioninfo.rs (89%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/actions/getprotocolinfo.rs (57%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/actions/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/mod.rs (99%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_avtransportid.rs (76%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_connectionid.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_connectionstatus.rs (88%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_direction.rs (82%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_protocolinfo.rs (76%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/a_arg_type_rcsid.rs (72%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/currentconnectionids.rs (80%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/sinkprotocolinfo.rs (86%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/connectionmanager/variables/sourceprotocolinfo.rs (79%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/device.rs (89%) rename pmoupnp/src/mediarenderer/mod.rs => pmomediarenderer/src/lib.rs (95%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/actions/getmute.rs (59%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/actions/getvolume.rs (59%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/actions/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/actions/setmute.rs (59%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/actions/setvolume.rs (59%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/mod.rs (98%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/variables/a_arg_type_channel.rs (84%) rename {pmoupnp/src/mediarenderer/avtransport => pmomediarenderer/src/renderingcontrol}/variables/a_arg_type_instanceid.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/variables/mod.rs (100%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/variables/mute.rs (75%) rename {pmoupnp/src/mediarenderer => pmomediarenderer/src}/renderingcontrol/variables/volume.rs (75%) diff --git a/Cargo.lock b/Cargo.lock index d479c72d..e8159dea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,6 +10,7 @@ dependencies = [ "pmoapp", "pmoconfig", "pmocovers", + "pmomediarenderer", "pmoserver", "pmoupnp", "serde_json", @@ -2333,6 +2334,16 @@ dependencies = [ "utoipa-swagger-ui", ] +[[package]] +name = "pmomediarenderer" +version = "0.1.0" +dependencies = [ + "bevy_reflect", + "once_cell", + "pmodidl", + "pmoupnp", +] + [[package]] name = "pmoparadise" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index e1273a6c..4abb736b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,3 @@ [workspace] resolver = "3" -members = ["PMOMusic", "pmoupnp","pmoconfig", "pmoutils", "pmodidl", "pmoserver", "pmoapp", "pmocache", "pmocovers", "pmoaudiocache", "pmoaudio", "pmoqobuz", "pmoparadise"] +members = ["PMOMusic", "pmoupnp", "pmomediarenderer", "pmoconfig", "pmoutils", "pmodidl", "pmoserver", "pmoapp", "pmocache", "pmocovers", "pmoaudiocache", "pmoaudio", "pmoqobuz", "pmoparadise"] diff --git a/PMOMusic/Cargo.toml b/PMOMusic/Cargo.toml index cb1e1bb3..9473a309 100644 --- a/PMOMusic/Cargo.toml +++ b/PMOMusic/Cargo.toml @@ -6,6 +6,7 @@ edition = "2024" [dependencies] pmoconfig = { path = "../pmoconfig" } pmoupnp = { path = "../pmoupnp"} +pmomediarenderer = { path = "../pmomediarenderer" } pmoserver = { path = "../pmoserver" } pmocovers = { path = "../pmocovers", features = ["pmoserver"] } pmoapp = { path = "../pmoapp", features = ["pmoserver"] } diff --git a/PMOMusic/src/main.rs b/PMOMusic/src/main.rs index 3ca1f989..d6402186 100644 --- a/PMOMusic/src/main.rs +++ b/PMOMusic/src/main.rs @@ -1,9 +1,9 @@ use pmoupnp::{ - mediarenderer::MEDIA_RENDERER, ssdp::SsdpServer, upnp_api::UpnpApiExt, UpnpServer, }; +use pmomediarenderer::MEDIA_RENDERER; use pmoserver::{ logs::LoggingOptions, ServerBuilder diff --git a/pmomediarenderer/Cargo.toml b/pmomediarenderer/Cargo.toml new file mode 100644 index 00000000..a61d9390 --- /dev/null +++ b/pmomediarenderer/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "pmomediarenderer" +version = "0.1.0" +edition = "2024" + +[dependencies] +pmoupnp = { path = "../pmoupnp" } +pmodidl = { path = "../pmodidl" } + +once_cell = "1.20" +bevy_reflect = "0.17.1" diff --git a/pmomediarenderer/README.md b/pmomediarenderer/README.md new file mode 100644 index 00000000..ec347793 --- /dev/null +++ b/pmomediarenderer/README.md @@ -0,0 +1,88 @@ +# pmomediarenderer + +Implémentation d'un MediaRenderer UPnP audio-only conforme à la spécification UPnP AV Architecture. + +## Description + +Cette crate fournit un MediaRenderer UPnP qui permet de recevoir et lire du contenu audio depuis un serveur UPnP (MediaServer). Elle a été extraite de la crate `pmoupnp` pour permettre une meilleure modularité. + +## Architecture + +Le MediaRenderer est composé de trois services obligatoires : + +- **AVTransport** : Contrôle de la lecture (play, pause, stop, seek, next, previous, etc.) +- **RenderingControl** : Contrôle du volume et du mute +- **ConnectionManager** : Gestion des connexions et des protocoles supportés + +## Device UPnP + +- Type : `urn:schemas-upnp-org:device:MediaRenderer:1` +- Services : AVTransport:1, RenderingControl:1, ConnectionManager:1 + +## Utilisation + +```rust +use pmomediarenderer::MEDIA_RENDERER; +use pmoupnp::UpnpServer; + +// Le device est déjà configuré avec tous ses services +let renderer = MEDIA_RENDERER.clone(); + +// Créer une instance du renderer +let instance = renderer.create_instance(); + +// Enregistrer le renderer sur un serveur UPnP +server.register_device(renderer).await?; +``` + +## Dépendances + +- `pmoupnp` : Fournit l'infrastructure UPnP de base (devices, services, actions, state variables) +- `pmodidl` : Pour la gestion des métadonnées DIDL-Lite +- `once_cell` : Pour les initialisations lazy +- `bevy_reflect` : Pour la réflexion et l'introspection + +## Services + +### AVTransport + +Service de contrôle de transport audio conforme UPnP AVTransport:1. Gère la lecture de contenu audio. + +**Actions supportées :** +- SetAVTransportURI +- SetNextAVTransportURI +- Play +- Pause +- Stop +- Seek +- Next +- Previous +- GetTransportInfo +- GetPositionInfo +- GetMediaInfo +- GetDeviceCapabilities +- GetTransportSettings +- GetCurrentTransportActions + +### RenderingControl + +Service de contrôle de rendu conforme UPnP RenderingControl:1. Gère le volume et le mute. + +**Actions supportées :** +- GetVolume +- SetVolume +- GetMute +- SetMute + +### ConnectionManager + +Service de gestion des connexions conforme UPnP ConnectionManager:1. Gère les protocoles supportés. + +**Actions supportées :** +- GetProtocolInfo +- GetCurrentConnectionIDs +- GetCurrentConnectionInfo + +## Licence + +Voir le fichier LICENSE à la racine du projet. diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/getcurrenttransportactions.rs b/pmomediarenderer/src/avtransport/actions/getcurrenttransportactions.rs similarity index 60% rename from pmoupnp/src/mediarenderer/avtransport/actions/getcurrenttransportactions.rs rename to pmomediarenderer/src/avtransport/actions/getcurrenttransportactions.rs index e59a1b8d..49c7d83c 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/getcurrenttransportactions.rs +++ b/pmomediarenderer/src/avtransport/actions/getcurrenttransportactions.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static GETCURRENTTRANSPORTACTIONS = "GetCurrentTransportActions" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/getdevicecapabilities.rs b/pmomediarenderer/src/avtransport/actions/getdevicecapabilities.rs similarity index 58% rename from pmoupnp/src/mediarenderer/avtransport/actions/getdevicecapabilities.rs rename to pmomediarenderer/src/avtransport/actions/getdevicecapabilities.rs index 2b39aed5..871632bd 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/getdevicecapabilities.rs +++ b/pmomediarenderer/src/avtransport/actions/getdevicecapabilities.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static GETDEVICECAPABILITIES = "GetDeviceCapabilities" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/getmediainfo.rs b/pmomediarenderer/src/avtransport/actions/getmediainfo.rs similarity index 65% rename from pmoupnp/src/mediarenderer/avtransport/actions/getmediainfo.rs rename to pmomediarenderer/src/avtransport/actions/getmediainfo.rs index 59000649..2ead4422 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/getmediainfo.rs +++ b/pmomediarenderer/src/avtransport/actions/getmediainfo.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, NUMBEROFTRACKS, CURRENTTRACK, AVTRANSPORTURI, AVTRANSPORTURIMETADATA, AVTRANSPORTNEXTURI, AVTRANSPORTNEXTURIMETADATA}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, NUMBEROFTRACKS, CURRENTTRACK, AVTRANSPORTURI, AVTRANSPORTURIMETADATA, AVTRANSPORTNEXTURI, AVTRANSPORTNEXTURIMETADATA}; +use pmoupnp::define_action; define_action! { pub static GETMEDIAINFO = "GetMediaInfo" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/getpositioninfo.rs b/pmomediarenderer/src/avtransport/actions/getpositioninfo.rs similarity index 64% rename from pmoupnp/src/mediarenderer/avtransport/actions/getpositioninfo.rs rename to pmomediarenderer/src/avtransport/actions/getpositioninfo.rs index 6e021b72..b806730a 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/getpositioninfo.rs +++ b/pmomediarenderer/src/avtransport/actions/getpositioninfo.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, CURRENTTRACK, CURRENTTRACKDURATION, AVTRANSPORTURI, AVTRANSPORTURIMETADATA, RELATIVETIMEPOSITION, ABSOLUTETIMEPOSITION}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, CURRENTTRACK, CURRENTTRACKDURATION, AVTRANSPORTURI, AVTRANSPORTURIMETADATA, RELATIVETIMEPOSITION, ABSOLUTETIMEPOSITION}; +use pmoupnp::define_action; define_action! { pub static GETPOSITIONINFO = "GetPositionInfo" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/gettransportinfo.rs b/pmomediarenderer/src/avtransport/actions/gettransportinfo.rs similarity index 64% rename from pmoupnp/src/mediarenderer/avtransport/actions/gettransportinfo.rs rename to pmomediarenderer/src/avtransport/actions/gettransportinfo.rs index 45426d92..cbca3a4e 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/gettransportinfo.rs +++ b/pmomediarenderer/src/avtransport/actions/gettransportinfo.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, TRANSPORTSTATE, TRANSPORTSTATUS}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, TRANSPORTSTATE, TRANSPORTSTATUS}; +use pmoupnp::define_action; define_action! { pub static GETTRANSPORTINFO = "GetTransportInfo" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/gettransportsettings.rs b/pmomediarenderer/src/avtransport/actions/gettransportsettings.rs similarity index 58% rename from pmoupnp/src/mediarenderer/avtransport/actions/gettransportsettings.rs rename to pmomediarenderer/src/avtransport/actions/gettransportsettings.rs index 281a1828..ef93cd40 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/gettransportsettings.rs +++ b/pmomediarenderer/src/avtransport/actions/gettransportsettings.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static GETTRANSPORTSETTINGS = "GetTransportSettings" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/mod.rs b/pmomediarenderer/src/avtransport/actions/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/avtransport/actions/mod.rs rename to pmomediarenderer/src/avtransport/actions/mod.rs diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/next.rs b/pmomediarenderer/src/avtransport/actions/next.rs similarity index 51% rename from pmoupnp/src/mediarenderer/avtransport/actions/next.rs rename to pmomediarenderer/src/avtransport/actions/next.rs index 68118497..b7ae5beb 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/next.rs +++ b/pmomediarenderer/src/avtransport/actions/next.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static NEXT = "Next" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/pause.rs b/pmomediarenderer/src/avtransport/actions/pause.rs similarity index 52% rename from pmoupnp/src/mediarenderer/avtransport/actions/pause.rs rename to pmomediarenderer/src/avtransport/actions/pause.rs index 0b1f6b98..e83bb790 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/pause.rs +++ b/pmomediarenderer/src/avtransport/actions/pause.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static PAUSE = "Pause" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/play.rs b/pmomediarenderer/src/avtransport/actions/play.rs similarity index 55% rename from pmoupnp/src/mediarenderer/avtransport/actions/play.rs rename to pmomediarenderer/src/avtransport/actions/play.rs index 5ddc3a1b..260ec23d 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/play.rs +++ b/pmomediarenderer/src/avtransport/actions/play.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, TRANSPORTPLAYSPEED}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, TRANSPORTPLAYSPEED}; +use pmoupnp::define_action; define_action! { pub static PLAY = "Play" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/previous.rs b/pmomediarenderer/src/avtransport/actions/previous.rs similarity index 53% rename from pmoupnp/src/mediarenderer/avtransport/actions/previous.rs rename to pmomediarenderer/src/avtransport/actions/previous.rs index 71b1088b..e6a1520f 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/previous.rs +++ b/pmomediarenderer/src/avtransport/actions/previous.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static PREVIOUS = "Previous" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/seek.rs b/pmomediarenderer/src/avtransport/actions/seek.rs similarity index 57% rename from pmoupnp/src/mediarenderer/avtransport/actions/seek.rs rename to pmomediarenderer/src/avtransport/actions/seek.rs index e54e7280..96cd488c 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/seek.rs +++ b/pmomediarenderer/src/avtransport/actions/seek.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_SEEKMODE, CURRENTTRACKDURATION}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_SEEKMODE, CURRENTTRACKDURATION}; +use pmoupnp::define_action; define_action! { pub static SEEK = "Seek" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/setavtransportnexturi.rs b/pmomediarenderer/src/avtransport/actions/setavtransportnexturi.rs similarity index 62% rename from pmoupnp/src/mediarenderer/avtransport/actions/setavtransportnexturi.rs rename to pmomediarenderer/src/avtransport/actions/setavtransportnexturi.rs index 812ce240..5a7459f9 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/setavtransportnexturi.rs +++ b/pmomediarenderer/src/avtransport/actions/setavtransportnexturi.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, AVTRANSPORTNEXTURI, AVTRANSPORTNEXTURIMETADATA}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, AVTRANSPORTNEXTURI, AVTRANSPORTNEXTURIMETADATA}; +use pmoupnp::define_action; define_action! { pub static SETNEXTAVTRANSPORTURI = "SetNextAVTransportURI" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/setavtransporturi.rs b/pmomediarenderer/src/avtransport/actions/setavtransporturi.rs similarity index 62% rename from pmoupnp/src/mediarenderer/avtransport/actions/setavtransporturi.rs rename to pmomediarenderer/src/avtransport/actions/setavtransporturi.rs index a4825d36..c4fbd929 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/setavtransporturi.rs +++ b/pmomediarenderer/src/avtransport/actions/setavtransporturi.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, AVTRANSPORTURI, AVTRANSPORTURIMETADATA}; -use crate::define_action; +use crate::avtransport::variables::{A_ARG_TYPE_INSTANCE_ID, AVTRANSPORTURI, AVTRANSPORTURIMETADATA}; +use pmoupnp::define_action; define_action! { pub static SETAVTRANSPORTURI = "SetAVTransportURI" { diff --git a/pmoupnp/src/mediarenderer/avtransport/actions/stop.rs b/pmomediarenderer/src/avtransport/actions/stop.rs similarity index 51% rename from pmoupnp/src/mediarenderer/avtransport/actions/stop.rs rename to pmomediarenderer/src/avtransport/actions/stop.rs index c6a6fbd2..a20f7fa0 100644 --- a/pmoupnp/src/mediarenderer/avtransport/actions/stop.rs +++ b/pmomediarenderer/src/avtransport/actions/stop.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; -use crate::define_action; +use crate::avtransport::variables::A_ARG_TYPE_INSTANCE_ID; +use pmoupnp::define_action; define_action! { pub static STOP = "Stop" { diff --git a/pmoupnp/src/mediarenderer/avtransport/mod.rs b/pmomediarenderer/src/avtransport/mod.rs similarity index 99% rename from pmoupnp/src/mediarenderer/avtransport/mod.rs rename to pmomediarenderer/src/avtransport/mod.rs index c7606303..4ad811ed 100644 --- a/pmoupnp/src/mediarenderer/avtransport/mod.rs +++ b/pmomediarenderer/src/avtransport/mod.rs @@ -89,7 +89,7 @@ //! - [UPnP AVTransport:1 Service Template](https://www.upnp.org/specs/av/UPnP-av-AVTransport-v1-Service.pdf) //! - [UPnP AV Architecture](https://upnp.org/specs/av/) -use crate::define_service; +use pmoupnp::define_service; pub mod variables; pub mod actions; diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_instanceid.rs b/pmomediarenderer/src/avtransport/variables/a_arg_type_instanceid.rs similarity index 75% rename from pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_instanceid.rs rename to pmomediarenderer/src/avtransport/variables/a_arg_type_instanceid.rs index 264b1f91..7827efc8 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_instanceid.rs +++ b/pmomediarenderer/src/avtransport/variables/a_arg_type_instanceid.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_INSTANCE_ID: UI4 = "A_ARG_TYPE_InstanceID" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_playspeed.rs b/pmomediarenderer/src/avtransport/variables/a_arg_type_playspeed.rs similarity index 75% rename from pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_playspeed.rs rename to pmomediarenderer/src/avtransport/variables/a_arg_type_playspeed.rs index d0c54e54..19a1443d 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_playspeed.rs +++ b/pmomediarenderer/src/avtransport/variables/a_arg_type_playspeed.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_PLAY_SPEED: String = "A_ARG_TYPE_PlaySpeed" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_seekmode.rs b/pmomediarenderer/src/avtransport/variables/a_arg_type_seekmode.rs similarity index 83% rename from pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_seekmode.rs rename to pmomediarenderer/src/avtransport/variables/a_arg_type_seekmode.rs index edb0619c..4486b483 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_seekmode.rs +++ b/pmomediarenderer/src/avtransport/variables/a_arg_type_seekmode.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_SEEKMODE: String = "A_ARG_TYPE_SeekMode" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/avtransporturi.rs b/pmomediarenderer/src/avtransport/variables/avtransporturi.rs similarity index 84% rename from pmoupnp/src/mediarenderer/avtransport/variables/avtransporturi.rs rename to pmomediarenderer/src/avtransport/variables/avtransporturi.rs index 819eeb1d..2d11b168 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/avtransporturi.rs +++ b/pmomediarenderer/src/avtransport/variables/avtransporturi.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static AVTRANSPORTURI: String = "AVTransportURI" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/avtransporturimetadata.rs b/pmomediarenderer/src/avtransport/variables/avtransporturimetadata.rs similarity index 91% rename from pmoupnp/src/mediarenderer/avtransport/variables/avtransporturimetadata.rs rename to pmomediarenderer/src/avtransport/variables/avtransporturimetadata.rs index 1acd202e..41f6489a 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/avtransporturimetadata.rs +++ b/pmomediarenderer/src/avtransport/variables/avtransporturimetadata.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use crate::state_variables::{StateVariable, StateVariableError}; -use crate::variable_types::StateVarType; +use pmoupnp::state_variables::{StateVariable, StateVariableError}; +use pmoupnp::variable_types::StateVarType; use bevy_reflect::Reflect; use once_cell::sync::Lazy; use pmodidl::{DIDLLite, MediaMetadataParser}; diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/currentmediaduration.rs b/pmomediarenderer/src/avtransport/variables/currentmediaduration.rs similarity index 75% rename from pmoupnp/src/mediarenderer/avtransport/variables/currentmediaduration.rs rename to pmomediarenderer/src/avtransport/variables/currentmediaduration.rs index 83a38698..b57afc80 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/currentmediaduration.rs +++ b/pmomediarenderer/src/avtransport/variables/currentmediaduration.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTMEDIADURATION: String = "CurrentMediaDuration" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/currentplaymode.rs b/pmomediarenderer/src/avtransport/variables/currentplaymode.rs similarity index 87% rename from pmoupnp/src/mediarenderer/avtransport/variables/currentplaymode.rs rename to pmomediarenderer/src/avtransport/variables/currentplaymode.rs index 1a2191e5..a607f2af 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/currentplaymode.rs +++ b/pmomediarenderer/src/avtransport/variables/currentplaymode.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTPLAYMODE: String = "CurrentPlayMode" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/currenttrackmetadata.rs b/pmomediarenderer/src/avtransport/variables/currenttrackmetadata.rs similarity index 75% rename from pmoupnp/src/mediarenderer/avtransport/variables/currenttrackmetadata.rs rename to pmomediarenderer/src/avtransport/variables/currenttrackmetadata.rs index 0e58ea55..44364614 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/currenttrackmetadata.rs +++ b/pmomediarenderer/src/avtransport/variables/currenttrackmetadata.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTTRACKMETADATA: String = "CurrentTrackMetaData" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/currenttrackuri.rs b/pmomediarenderer/src/avtransport/variables/currenttrackuri.rs similarity index 72% rename from pmoupnp/src/mediarenderer/avtransport/variables/currenttrackuri.rs rename to pmomediarenderer/src/avtransport/variables/currenttrackuri.rs index fa77dc0e..c40e9f79 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/currenttrackuri.rs +++ b/pmomediarenderer/src/avtransport/variables/currenttrackuri.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTTRACKURI: String = "CurrentTrackURI" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/mod.rs b/pmomediarenderer/src/avtransport/variables/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/avtransport/variables/mod.rs rename to pmomediarenderer/src/avtransport/variables/mod.rs diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/playbackstoragemedium.rs b/pmomediarenderer/src/avtransport/variables/playbackstoragemedium.rs similarity index 92% rename from pmoupnp/src/mediarenderer/avtransport/variables/playbackstoragemedium.rs rename to pmomediarenderer/src/avtransport/variables/playbackstoragemedium.rs index 83c3434c..1aad6a35 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/playbackstoragemedium.rs +++ b/pmomediarenderer/src/avtransport/variables/playbackstoragemedium.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; // Valeurs pour un MediaRenderer audio uniquement (suppression des formats vidéo) define_variable! { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/possibleplaybackstoragemedia.rs b/pmomediarenderer/src/avtransport/variables/possibleplaybackstoragemedia.rs similarity index 78% rename from pmoupnp/src/mediarenderer/avtransport/variables/possibleplaybackstoragemedia.rs rename to pmomediarenderer/src/avtransport/variables/possibleplaybackstoragemedia.rs index 5e7eb8b5..06ab0959 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/possibleplaybackstoragemedia.rs +++ b/pmomediarenderer/src/avtransport/variables/possibleplaybackstoragemedia.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static POSSIBLEPLAYBACKSTORAGEMEDIA: String = "PossiblePlaybackStorageMedia" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/possiblerecordstoragemedia.rs b/pmomediarenderer/src/avtransport/variables/possiblerecordstoragemedia.rs similarity index 75% rename from pmoupnp/src/mediarenderer/avtransport/variables/possiblerecordstoragemedia.rs rename to pmomediarenderer/src/avtransport/variables/possiblerecordstoragemedia.rs index 2d0ef55c..f310324f 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/possiblerecordstoragemedia.rs +++ b/pmomediarenderer/src/avtransport/variables/possiblerecordstoragemedia.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use crate::state_variables::StateVariable; -use crate::variable_types::StateVarType; +use pmoupnp::state_variables::StateVariable; +use pmoupnp::variable_types::StateVarType; use once_cell::sync::Lazy; pub static POSSIBLERECORDSTORAGEMEDIA: Lazy> = Lazy::new(|| -> Arc { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/recordstoragemedium.rs b/pmomediarenderer/src/avtransport/variables/recordstoragemedium.rs similarity index 74% rename from pmoupnp/src/mediarenderer/avtransport/variables/recordstoragemedium.rs rename to pmomediarenderer/src/avtransport/variables/recordstoragemedium.rs index 19a42660..3805352e 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/recordstoragemedium.rs +++ b/pmomediarenderer/src/avtransport/variables/recordstoragemedium.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use crate::state_variables::StateVariable; -use crate::variable_types::StateVarType; +use pmoupnp::state_variables::StateVariable; +use pmoupnp::variable_types::StateVarType; use once_cell::sync::Lazy; pub static RECORDSTORAGEMEDIUM: Lazy> = Lazy::new(|| -> Arc { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/seekmode.rs b/pmomediarenderer/src/avtransport/variables/seekmode.rs similarity index 69% rename from pmoupnp/src/mediarenderer/avtransport/variables/seekmode.rs rename to pmomediarenderer/src/avtransport/variables/seekmode.rs index 54970ac6..6e99d634 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/seekmode.rs +++ b/pmomediarenderer/src/avtransport/variables/seekmode.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static SEEKMODE: String = "SeekMode" diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/track.rs b/pmomediarenderer/src/avtransport/variables/track.rs similarity index 87% rename from pmoupnp/src/mediarenderer/avtransport/variables/track.rs rename to pmomediarenderer/src/avtransport/variables/track.rs index b0c0696f..60d99cb2 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/track.rs +++ b/pmomediarenderer/src/avtransport/variables/track.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTTRACK: String = "CurrentTrack" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/trackduration.rs b/pmomediarenderer/src/avtransport/variables/trackduration.rs similarity index 92% rename from pmoupnp/src/mediarenderer/avtransport/variables/trackduration.rs rename to pmomediarenderer/src/avtransport/variables/trackduration.rs index 30797722..1e68b046 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/trackduration.rs +++ b/pmomediarenderer/src/avtransport/variables/trackduration.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTTRACKDURATION: String = "CurrentTrackDuration" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/transportplayspeed.rs b/pmomediarenderer/src/avtransport/variables/transportplayspeed.rs similarity index 82% rename from pmoupnp/src/mediarenderer/avtransport/variables/transportplayspeed.rs rename to pmomediarenderer/src/avtransport/variables/transportplayspeed.rs index 24bd493b..e0630273 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/transportplayspeed.rs +++ b/pmomediarenderer/src/avtransport/variables/transportplayspeed.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static TRANSPORTPLAYSPEED: String = "TransportPlaySpeed" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/transportstate.rs b/pmomediarenderer/src/avtransport/variables/transportstate.rs similarity index 90% rename from pmoupnp/src/mediarenderer/avtransport/variables/transportstate.rs rename to pmomediarenderer/src/avtransport/variables/transportstate.rs index c99f0a3c..28b9f5c7 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/transportstate.rs +++ b/pmomediarenderer/src/avtransport/variables/transportstate.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; // États pour un MediaRenderer audio uniquement (suppression des états d'enregistrement) define_variable! { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/transportstatus.rs b/pmomediarenderer/src/avtransport/variables/transportstatus.rs similarity index 83% rename from pmoupnp/src/mediarenderer/avtransport/variables/transportstatus.rs rename to pmomediarenderer/src/avtransport/variables/transportstatus.rs index 851a59e3..fb73496f 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/transportstatus.rs +++ b/pmomediarenderer/src/avtransport/variables/transportstatus.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static TRANSPORTSTATUS: String = "TransportStatus" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectionids.rs b/pmomediarenderer/src/connectionmanager/actions/getcurrentconnectionids.rs similarity index 58% rename from pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectionids.rs rename to pmomediarenderer/src/connectionmanager/actions/getcurrentconnectionids.rs index 34480ad8..12e0ba94 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectionids.rs +++ b/pmomediarenderer/src/connectionmanager/actions/getcurrentconnectionids.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::connectionmanager::variables::CURRENTCONNECTIONIDS; -use crate::define_action; +use crate::connectionmanager::variables::CURRENTCONNECTIONIDS; +use pmoupnp::define_action; define_action! { pub static GETCURRENTCONNECTIONIDS = "GetCurrentConnectionIDs" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectioninfo.rs b/pmomediarenderer/src/connectionmanager/actions/getcurrentconnectioninfo.rs similarity index 89% rename from pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectioninfo.rs rename to pmomediarenderer/src/connectionmanager/actions/getcurrentconnectioninfo.rs index e9d4abb0..1c4353c7 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/actions/getcurrentconnectioninfo.rs +++ b/pmomediarenderer/src/connectionmanager/actions/getcurrentconnectioninfo.rs @@ -1,8 +1,8 @@ -use crate::mediarenderer::connectionmanager::variables::{ +use crate::connectionmanager::variables::{ A_ARG_TYPE_CONNECTIONID, A_ARG_TYPE_RCSID, A_ARG_TYPE_AVTRANSPORTID, A_ARG_TYPE_PROTOCOLINFO, A_ARG_TYPE_DIRECTION, A_ARG_TYPE_CONNECTIONSTATUS }; -use crate::define_action; +use pmoupnp::define_action; define_action! { pub static GETCURRENTCONNECTIONINFO = "GetCurrentConnectionInfo" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/actions/getprotocolinfo.rs b/pmomediarenderer/src/connectionmanager/actions/getprotocolinfo.rs similarity index 57% rename from pmoupnp/src/mediarenderer/connectionmanager/actions/getprotocolinfo.rs rename to pmomediarenderer/src/connectionmanager/actions/getprotocolinfo.rs index f4207679..c9370ded 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/actions/getprotocolinfo.rs +++ b/pmomediarenderer/src/connectionmanager/actions/getprotocolinfo.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::connectionmanager::variables::{SOURCEPROTOCOLINFO, SINKPROTOCOLINFO}; -use crate::define_action; +use crate::connectionmanager::variables::{SOURCEPROTOCOLINFO, SINKPROTOCOLINFO}; +use pmoupnp::define_action; define_action! { pub static GETPROTOCOLINFO = "GetProtocolInfo" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/actions/mod.rs b/pmomediarenderer/src/connectionmanager/actions/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/connectionmanager/actions/mod.rs rename to pmomediarenderer/src/connectionmanager/actions/mod.rs diff --git a/pmoupnp/src/mediarenderer/connectionmanager/mod.rs b/pmomediarenderer/src/connectionmanager/mod.rs similarity index 99% rename from pmoupnp/src/mediarenderer/connectionmanager/mod.rs rename to pmomediarenderer/src/connectionmanager/mod.rs index 7ca0664d..a5fa9daa 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/mod.rs +++ b/pmomediarenderer/src/connectionmanager/mod.rs @@ -53,7 +53,7 @@ //! - [UPnP ConnectionManager:1 Service Template](https://upnp.org/specs/av/UPnP-av-ConnectionManager-v1-Service.pdf) //! - [UPnP AV Architecture](https://upnp.org/specs/av/) -use crate::define_service; +use pmoupnp::define_service; pub mod variables; pub mod actions; diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_avtransportid.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_avtransportid.rs similarity index 76% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_avtransportid.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_avtransportid.rs index 5445904c..b4350ea0 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_avtransportid.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_avtransportid.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_AVTRANSPORTID: I4 = "A_ARG_TYPE_AVTransportID" diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionid.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionid.rs similarity index 75% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionid.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionid.rs index 6349d6b3..70689a51 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionid.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionid.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_CONNECTIONID: I4 = "A_ARG_TYPE_ConnectionID" diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionstatus.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionstatus.rs similarity index 88% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionstatus.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionstatus.rs index 402a7736..73bcb57f 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_connectionstatus.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_connectionstatus.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_CONNECTIONSTATUS: String = "A_ARG_TYPE_ConnectionStatus" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_direction.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_direction.rs similarity index 82% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_direction.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_direction.rs index 8604577b..39923372 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_direction.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_direction.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_DIRECTION: String = "A_ARG_TYPE_Direction" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_protocolinfo.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_protocolinfo.rs similarity index 76% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_protocolinfo.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_protocolinfo.rs index 1d19b80c..acb67377 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_protocolinfo.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_protocolinfo.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_PROTOCOLINFO: String = "A_ARG_TYPE_ProtocolInfo" diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_rcsid.rs b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_rcsid.rs similarity index 72% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_rcsid.rs rename to pmomediarenderer/src/connectionmanager/variables/a_arg_type_rcsid.rs index ba902a0a..081edc7b 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/a_arg_type_rcsid.rs +++ b/pmomediarenderer/src/connectionmanager/variables/a_arg_type_rcsid.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_RCSID: I4 = "A_ARG_TYPE_RcsID" diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/currentconnectionids.rs b/pmomediarenderer/src/connectionmanager/variables/currentconnectionids.rs similarity index 80% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/currentconnectionids.rs rename to pmomediarenderer/src/connectionmanager/variables/currentconnectionids.rs index afe28709..83929ea6 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/currentconnectionids.rs +++ b/pmomediarenderer/src/connectionmanager/variables/currentconnectionids.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static CURRENTCONNECTIONIDS: String = "CurrentConnectionIDs" { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/mod.rs b/pmomediarenderer/src/connectionmanager/variables/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/mod.rs rename to pmomediarenderer/src/connectionmanager/variables/mod.rs diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/sinkprotocolinfo.rs b/pmomediarenderer/src/connectionmanager/variables/sinkprotocolinfo.rs similarity index 86% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/sinkprotocolinfo.rs rename to pmomediarenderer/src/connectionmanager/variables/sinkprotocolinfo.rs index 5022c92a..adecf775 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/sinkprotocolinfo.rs +++ b/pmomediarenderer/src/connectionmanager/variables/sinkprotocolinfo.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; // Pour un MediaRenderer audio, liste les protocoles/formats audio supportés define_variable! { diff --git a/pmoupnp/src/mediarenderer/connectionmanager/variables/sourceprotocolinfo.rs b/pmomediarenderer/src/connectionmanager/variables/sourceprotocolinfo.rs similarity index 79% rename from pmoupnp/src/mediarenderer/connectionmanager/variables/sourceprotocolinfo.rs rename to pmomediarenderer/src/connectionmanager/variables/sourceprotocolinfo.rs index f182d9ac..91fcb147 100644 --- a/pmoupnp/src/mediarenderer/connectionmanager/variables/sourceprotocolinfo.rs +++ b/pmomediarenderer/src/connectionmanager/variables/sourceprotocolinfo.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static SOURCEPROTOCOLINFO: String = "SourceProtocolInfo" { diff --git a/pmoupnp/src/mediarenderer/device.rs b/pmomediarenderer/src/device.rs similarity index 89% rename from pmoupnp/src/mediarenderer/device.rs rename to pmomediarenderer/src/device.rs index 016fe6e7..94977d82 100644 --- a/pmoupnp/src/mediarenderer/device.rs +++ b/pmomediarenderer/src/device.rs @@ -3,13 +3,11 @@ use once_cell::sync::Lazy; use std::sync::Arc; +use pmoupnp::devices::Device; use crate::{ - devices::Device, - mediarenderer::{ - avtransport::AVTTRANSPORT, - renderingcontrol::RENDERINGCONTROL, - connectionmanager::CONNECTIONMANAGER, - }, + avtransport::AVTTRANSPORT, + renderingcontrol::RENDERINGCONTROL, + connectionmanager::CONNECTIONMANAGER, }; /// Device MediaRenderer UPnP. @@ -32,7 +30,7 @@ use crate::{ /// # Exemple /// /// ```ignore -/// use pmoupnp::mediarenderer::MEDIA_RENDERER; +/// use pmomediarenderer::MEDIA_RENDERER; /// use pmoupnp::UpnpModel; /// /// // Créer une instance du renderer diff --git a/pmoupnp/src/mediarenderer/mod.rs b/pmomediarenderer/src/lib.rs similarity index 95% rename from pmoupnp/src/mediarenderer/mod.rs rename to pmomediarenderer/src/lib.rs index f3730436..2fc7e45d 100644 --- a/pmoupnp/src/mediarenderer/mod.rs +++ b/pmomediarenderer/src/lib.rs @@ -20,7 +20,7 @@ //! # Utilisation //! //! ```ignore -//! use pmoupnp::mediarenderer::MEDIA_RENDERER; +//! use pmomediarenderer::MEDIA_RENDERER; //! //! // Le device est déjà configuré avec tous ses services //! let renderer = MEDIA_RENDERER.clone(); diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/actions/getmute.rs b/pmomediarenderer/src/renderingcontrol/actions/getmute.rs similarity index 59% rename from pmoupnp/src/mediarenderer/renderingcontrol/actions/getmute.rs rename to pmomediarenderer/src/renderingcontrol/actions/getmute.rs index f39e1e2c..729fb127 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/actions/getmute.rs +++ b/pmomediarenderer/src/renderingcontrol/actions/getmute.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, MUTE}; -use crate::define_action; +use crate::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, MUTE}; +use pmoupnp::define_action; define_action! { pub static GETMUTE = "GetMute" { diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/actions/getvolume.rs b/pmomediarenderer/src/renderingcontrol/actions/getvolume.rs similarity index 59% rename from pmoupnp/src/mediarenderer/renderingcontrol/actions/getvolume.rs rename to pmomediarenderer/src/renderingcontrol/actions/getvolume.rs index c6610618..b5d1d482 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/actions/getvolume.rs +++ b/pmomediarenderer/src/renderingcontrol/actions/getvolume.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, VOLUME}; -use crate::define_action; +use crate::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, VOLUME}; +use pmoupnp::define_action; define_action! { pub static GETVOLUME = "GetVolume" { diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/actions/mod.rs b/pmomediarenderer/src/renderingcontrol/actions/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/renderingcontrol/actions/mod.rs rename to pmomediarenderer/src/renderingcontrol/actions/mod.rs diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/actions/setmute.rs b/pmomediarenderer/src/renderingcontrol/actions/setmute.rs similarity index 59% rename from pmoupnp/src/mediarenderer/renderingcontrol/actions/setmute.rs rename to pmomediarenderer/src/renderingcontrol/actions/setmute.rs index 5220f00f..fa8ebf5c 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/actions/setmute.rs +++ b/pmomediarenderer/src/renderingcontrol/actions/setmute.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, MUTE}; -use crate::define_action; +use crate::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, MUTE}; +use pmoupnp::define_action; define_action! { pub static SETMUTE = "SetMute" { diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/actions/setvolume.rs b/pmomediarenderer/src/renderingcontrol/actions/setvolume.rs similarity index 59% rename from pmoupnp/src/mediarenderer/renderingcontrol/actions/setvolume.rs rename to pmomediarenderer/src/renderingcontrol/actions/setvolume.rs index d403fa45..0744e133 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/actions/setvolume.rs +++ b/pmomediarenderer/src/renderingcontrol/actions/setvolume.rs @@ -1,5 +1,5 @@ -use crate::mediarenderer::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, VOLUME}; -use crate::define_action; +use crate::renderingcontrol::variables::{A_ARG_TYPE_INSTANCE_ID, A_ARG_TYPE_CHANNEL, VOLUME}; +use pmoupnp::define_action; define_action! { pub static SETVOLUME = "SetVolume" { diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/mod.rs b/pmomediarenderer/src/renderingcontrol/mod.rs similarity index 98% rename from pmoupnp/src/mediarenderer/renderingcontrol/mod.rs rename to pmomediarenderer/src/renderingcontrol/mod.rs index 5d711521..cf74df9f 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/mod.rs +++ b/pmomediarenderer/src/renderingcontrol/mod.rs @@ -49,7 +49,7 @@ //! - [UPnP RenderingControl:1 Service Template](https://upnp.org/specs/av/UPnP-av-RenderingControl-v1-Service.pdf) //! - [UPnP AV Architecture](https://upnp.org/specs/av/) -use crate::define_service; +use pmoupnp::define_service; pub mod variables; pub mod actions; diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_channel.rs b/pmomediarenderer/src/renderingcontrol/variables/a_arg_type_channel.rs similarity index 84% rename from pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_channel.rs rename to pmomediarenderer/src/renderingcontrol/variables/a_arg_type_channel.rs index 41d588d7..01deab02 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/variables/a_arg_type_channel.rs +++ b/pmomediarenderer/src/renderingcontrol/variables/a_arg_type_channel.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_CHANNEL: String = "A_ARG_TYPE_Channel" { diff --git a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_instanceid.rs b/pmomediarenderer/src/renderingcontrol/variables/a_arg_type_instanceid.rs similarity index 75% rename from pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_instanceid.rs rename to pmomediarenderer/src/renderingcontrol/variables/a_arg_type_instanceid.rs index 264b1f91..7827efc8 100644 --- a/pmoupnp/src/mediarenderer/avtransport/variables/a_arg_type_instanceid.rs +++ b/pmomediarenderer/src/renderingcontrol/variables/a_arg_type_instanceid.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static A_ARG_TYPE_INSTANCE_ID: UI4 = "A_ARG_TYPE_InstanceID" diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/variables/mod.rs b/pmomediarenderer/src/renderingcontrol/variables/mod.rs similarity index 100% rename from pmoupnp/src/mediarenderer/renderingcontrol/variables/mod.rs rename to pmomediarenderer/src/renderingcontrol/variables/mod.rs diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/variables/mute.rs b/pmomediarenderer/src/renderingcontrol/variables/mute.rs similarity index 75% rename from pmoupnp/src/mediarenderer/renderingcontrol/variables/mute.rs rename to pmomediarenderer/src/renderingcontrol/variables/mute.rs index bbae7f0d..e61a8055 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/variables/mute.rs +++ b/pmomediarenderer/src/renderingcontrol/variables/mute.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static MUTE: Boolean = "Mute" { diff --git a/pmoupnp/src/mediarenderer/renderingcontrol/variables/volume.rs b/pmomediarenderer/src/renderingcontrol/variables/volume.rs similarity index 75% rename from pmoupnp/src/mediarenderer/renderingcontrol/variables/volume.rs rename to pmomediarenderer/src/renderingcontrol/variables/volume.rs index f59ee701..e168a01b 100644 --- a/pmoupnp/src/mediarenderer/renderingcontrol/variables/volume.rs +++ b/pmomediarenderer/src/renderingcontrol/variables/volume.rs @@ -1,4 +1,4 @@ -use crate::define_variable; +use pmoupnp::define_variable; define_variable! { pub static VOLUME: UI2 = "Volume" { diff --git a/pmoupnp/src/lib.rs b/pmoupnp/src/lib.rs index de2c42ba..94f0fcc8 100644 --- a/pmoupnp/src/lib.rs +++ b/pmoupnp/src/lib.rs @@ -5,7 +5,6 @@ pub mod upnp_server; pub mod upnp_api; pub mod actions; pub mod devices; -pub mod mediarenderer; pub mod services; pub mod soap; pub mod ssdp;