Giter Club home page Giter Club logo

daapremoteserver's Introduction

DAAPRemoteServer

connect to this server with iPadOS or iOS remote (found in Control Center). You will be able to use the arrows and buttons.

setting variables

DAAP_SERVER_ID, DAAP_DATABASE_ID, and SUB_TEXT: I reccomend randomly generating these unique to your instance when you first setup. I don't know if you should change them on each startup.

SERVER_NAME: the name of the remote that will be displayed on your idevice. I haven't tested non-ascii characters. spaces seem to work.

SERVER_PORT: the port that the server will run on. ARROWS_PORT: the port that the server will recieve arrow commands on

ADDRESS: the ip address of the machine DAAPRemoteServer is running on. (eg. ifconfig). Only tested with ipv4, but will likely work for ipv6.

firewall note:

for pairing only, the server needs to make an HTTP request to a random port on the iDevice. you will need to allow this in your firewall in case that outgoing connections are blocked. After initial pairing, you will not need outgoing connections...

... unless you also want to control the client connected to the uxplay server, for which outgoing connections will also be needed to a random port. (Ports tend to be 35ish thousand and up?)

you will also obviously need to allow mdns (port 5353) (see notes on uxplay github for mdns debugging issues)

current/temporary pairing note

you will need to pair the remote to the server using the normal procedure. However, beyond this the server doesn't check if the idevice has a valid pairing key. this feature will come later, so be careful how you expose the service for now.

using in coordination with UxPlay

In a recent update, UxPlay can output credentials needed to remotely play/pause/control the mirroring iDevice. you can configure DAAPRemoteServer to read these values and forward them onto the client.

The end result of this is that Device "A" can stream to a UxPlay server normally. Device "B" can then use the built-in ios remote control to connect to a DAAPRemoteServer. Device "B" can then issue up to 8 of the following commands to Device "A" (configure in ARROWS_TO_DACP_COMMAND and CMBE_COMMAND_TO_DACP_COMMAND:

  • beginff begin fast forward
  • beginrew begin rewind
  • mutetoggle toggle mute status
  • nextitem play next item in playlist
  • previtem play previous item in playlist
  • pause pause playback
  • playpause toggle between play and pause
  • play start playback
  • stop stop playback
  • playresume play after fast forward or rewind
  • shuffle_songs shuffle playlist
  • volumedown turn audio volume down
  • volumeup turn audio volume up

Set the -dacp flag in uxplay (or view latest documentation as this might have changed) and the UXPLAY_DACP_FILE in DAAPRemoteServer to the same file

credits

pyatv for dmap_parser.py, tags.py, tag_definitions.py. see files for license.

WpRemote for some encryption details.

daapremoteserver's People

Contributors

thiccaxe avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

daapremoteserver's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.