Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for pa-dlna #29

Open
6 tasks
claui opened this issue Dec 22, 2024 · 0 comments
Open
6 tasks

Add support for pa-dlna #29

claui opened this issue Dec 22, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@claui
Copy link
Owner

claui commented Dec 22, 2024

Background

pulseaudio-dlna seems unsupported and is no longer available on recent Debian suites.
On the AUR, it has been moved to pulseaudio-dlna-cygn, and it’s unclear how long that package is going to be supported.

I need to add support for pa-dlna to funiculi so it remains functional in the long run.

Overview

See following patch snippet:

diff --git a/README.md b/README.md
index 571e35b..cdfa196 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,7 @@ You need the following software installed on your system:
 - [`ncat`](https://github.com/nmap/nmap/tree/master/ncat#readme)
 
 - [`pulseaudio-dlna`](https://github.com/Cygn/pulseaudio-dlna)
+  or [`pa-dlna`](https://gitlab.com/xdegaye/pa-dlna)
 
 ## Installation
 
diff --git a/debian/control b/debian/control
index 6f32684..f069bb5 100644
--- a/debian/control
+++ b/debian/control
@@ -18,7 +18,12 @@ Rules-Requires-Root: no
 
 Package: funiculi
 Architecture: all
-Depends: ${python3:Depends}, ${misc:Depends}, ncat, pulseaudio-dlna, python3-colorama, python3-fire
+Depends: ${python3:Depends},
+         ${misc:Depends},
+         ncat,
+         pa-dlna | pulseaudio-dlna,
+         python3-colorama,
+         python3-fire
 Description: Control Denon amplifiers from the command line (Python 3)
  CLI tool to interact with Denon AVR amplifiers over the local network.
  Turn the unit on and off, change volume, and stream music to it over

Draft

  • Inspect the URN that pa-dlna outputs and find that URN in the UPNP descriptor XML file of the device
  • Deduce a suitable Xpath to extract the URN from the UPNP descriptor automatically
  • Using the upstream documentation, try to figure out whether a custom, temporary configuration file might coerce pa-dlna into connecting with a given URN
  • If so: write code for downloading the descriptor file, use the xmltodict package to parse the descriptor file for the correct URN, and use tempfile.NamedTemporaryFile to write a temporary configuration file for pa-dlna so it connects to the correct device
  • Debian control file: add dependency to pa-dlna
  • Update documentation
@claui claui added the enhancement New feature or request label Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant