mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-07 12:53:00 -05:00
[docs] Brush up the documentation
* Try to organize after expected user need * Update mkdocs stuff and fix a broken link * Move web building info to building.md * Add info about Roku Soundbridge * Add note about Google Nest not working
This commit is contained in:
committed by
Alain Nussbaumer
parent
72ef58d853
commit
fba51fb93b
45
docs/control-clients/cli-api.md
Normal file
45
docs/control-clients/cli-api.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# API and Command Line
|
||||
|
||||
You can choose between:
|
||||
|
||||
- [The JSON API](#json-api)
|
||||
- [A MPD command line client like mpc](#mpc)
|
||||
- [DAAP/DACP commands](#daapdacp)
|
||||
|
||||
The JSON API is the most versatile and the recommended method, but for simple
|
||||
command line operations, mpc is easier. DAAP/DACP is only for masochists.
|
||||
|
||||
|
||||
## JSON API
|
||||
|
||||
See the [JSON API docs](../json-api.md)
|
||||
|
||||
|
||||
## mpc
|
||||
|
||||
[mpc](https://www.musicpd.org/clients/mpc/) is easy to use for simple operations
|
||||
like enabling speakers, changing volume and getting status.
|
||||
|
||||
Due to differences in implementation between OwnTone and MPD, some mpc commands
|
||||
will work differently or not at all.
|
||||
|
||||
|
||||
## DAAP/DACP
|
||||
|
||||
Here is an example of how to use curl with DAAP/DACP. Say you have a playlist
|
||||
with a radio station, and you want to make a script that starts playback of that
|
||||
station:
|
||||
|
||||
1. Run `sqlite3 [your OwnTone db]`. Use `select id,title from files` to get
|
||||
the id of the radio station, and use `select id,title from playlists` to get
|
||||
the id of the playlist.
|
||||
2. Convert the two ids to hex.
|
||||
3. Put the following lines in the script with the relevant ids inserted (also
|
||||
observe that you must use a session-id < 100, and that you must login and
|
||||
logout):
|
||||
|
||||
```shell
|
||||
curl "http://localhost:3689/login?pairing-guid=0x1&request-session-id=50"
|
||||
curl "http://localhost:3689/ctrl-int/1/playspec?database-spec='dmap.persistentid:0x1'&container-spec='dmap.persistentid:0x[PLAYLIST-ID]'&container-item-spec='dmap.containeritemid:0x[FILE ID]'&session-id=50"
|
||||
curl "http://localhost:3689/logout?session-id=50"
|
||||
```
|
||||
52
docs/control-clients/desktop.md
Normal file
52
docs/control-clients/desktop.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Desktop Remote Control
|
||||
|
||||
To control OwnTone from Linux, Windows or Mac, you can use:
|
||||
|
||||
- [The web interface](#the-web-interface)
|
||||
- [A remote for iTunes/Apple Music](#remotes-for-itunesapple-music)
|
||||
- [A MPD client](#mpd-clients)
|
||||
|
||||
The web interface is the most feature complete and works on all platforms, so
|
||||
on desktop there isn't much reason to use anything else.
|
||||
|
||||
However, instead of a remote control application, you can also connect to
|
||||
OwnTone via a Media Client e.g. iTunes or Apple Music. Media clients will get
|
||||
the media from OwnTone and do the playback themselves (remotes just control
|
||||
OwnTone playback). See [Media Clients](../media-clients.md) for more
|
||||
information.
|
||||
|
||||
|
||||
## The web interface
|
||||
|
||||
See [web interface](web.md).
|
||||
|
||||
|
||||
## Remotes for iTunes/Apple Music
|
||||
|
||||
There are only a few of these, see the below table.
|
||||
|
||||
| Client | Developer | Type | Platform | Working (vers.) |
|
||||
| ------------------------ | ----------- | ------ | --------------- | --------------- |
|
||||
| TunesRemote SE | | Remote | Java | Yes (r108) |
|
||||
| rtRemote for Windows | bizmodeller | Remote | Windows | Yes (1.2.0.67) |
|
||||
|
||||
|
||||
## MPD clients
|
||||
|
||||
There's a range of MPD clients available that also work with OwnTone e.g.
|
||||
Cantata and Plattenalbum.
|
||||
|
||||
The better ones support local playback, speaker control, artwork and automatic
|
||||
discovery of OwnTone's MPD server.
|
||||
|
||||
By default OwnTone listens on port 6600 for MPD clients. You can change
|
||||
this in the configuration file.
|
||||
|
||||
Due to some differences between OwnTone and MPD not all commands will act the
|
||||
same way they would running MPD:
|
||||
|
||||
- crossfade, mixrampdb, mixrampdelay and replaygain will have no effect
|
||||
- single, repeat: unlike MPD, OwnTone does not support setting single and repeat
|
||||
separately on/off, instead repeat off, repeat all and repeat single are
|
||||
supported. Thus setting single on will result in repeat single, repeat on
|
||||
results in repeat all.
|
||||
141
docs/control-clients/mobile.md
Normal file
141
docs/control-clients/mobile.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Mobile Remote Control
|
||||
|
||||
To control OwnTone from your mobile device, you can use:
|
||||
|
||||
- [The web interface](#the-web-interface)
|
||||
- [(iOS) The Remote app from Apple](#apple-remote-app-ios)
|
||||
- [(Android) An iTunes/Apple Music remote app](#remotes-for-itunesapple-music-android)
|
||||
- [A MPD client app](#mpd-client-apps)
|
||||
|
||||
The web interface is the most feature complete, but apps may have UX advantages.
|
||||
The table below shows how some features compare.
|
||||
|
||||
| Feature | Remote | MPD client | Web |
|
||||
| ------------------------------------- | ---------- | ---------- | ---------- |
|
||||
| Browse library | yes | yes | yes |
|
||||
| Control playback and queue | yes | yes | yes |
|
||||
| Artwork | yes | yes | yes |
|
||||
| Individual speaker selection | yes | some | yes |
|
||||
| Individual speaker volume | yes | no | yes |
|
||||
| Volume control using phone buttons | no | ? | no |
|
||||
| Listen on phone | no | some | yes |
|
||||
| Access non-library Spotify tracks | no | no | yes |
|
||||
| Edit and save m3u playlists | no | some | yes |
|
||||
|
||||
While OwnTone supports playing tracks from Spotify, there is no support for
|
||||
Spotify Connect, so you can't control from the Spotify app.
|
||||
|
||||
|
||||
## The web interface
|
||||
|
||||
See [web interface](web.md).
|
||||
|
||||
|
||||
## Apple Remote app (iOS)
|
||||
|
||||
Remote gets a list of output devices from the server; this list includes any
|
||||
and all devices on the network we know of that advertise AirPlay: AirPort
|
||||
Express, Apple TV, … It also includes the local audio output, that is, the
|
||||
sound card on the server (even if there is no sound card).
|
||||
|
||||
OwnTone remembers your selection and the individual volume for each
|
||||
output device; selected devices will be automatically re-selected, except if
|
||||
they return online during playback.
|
||||
|
||||
### Pairing
|
||||
|
||||
1. Open the [web interface](web.md) at either [http://owntone.local:3689](http://owntone.local:3689)
|
||||
or `http://SERVER-IP-ADDRESS:3689`
|
||||
2. Start Remote, go to Settings, Add Library
|
||||
3. Enter the pair code in the web interface (reload the browser page if
|
||||
it does not automatically pick up the pairing request)
|
||||
|
||||
If Remote does not connect to OwnTone after you entered the pairing code
|
||||
something went wrong. Check the log file to see the error message. Here are
|
||||
some common reasons:
|
||||
|
||||
- You did not enter the correct pairing code
|
||||
|
||||
You will see an error in the log about pairing failure with a HTTP response code
|
||||
that is *not* 0.
|
||||
|
||||
Solution: Try again.
|
||||
|
||||
- No response from Remote, possibly a network issue
|
||||
|
||||
If you see an error in the log with either:
|
||||
|
||||
- a HTTP response code that is 0
|
||||
- "Empty pairing request callback"
|
||||
|
||||
it means that OwnTone could not establish a connection to Remote. This
|
||||
might be a network issue, your router may not be allowing multicast between the
|
||||
Remote device and the host OwnTone is running on.
|
||||
|
||||
Solution 1: Sometimes it resolves the issue if you force Remote to quit, restart
|
||||
it and do the pairing process again. Another trick is to establish some other
|
||||
connection (eg SSH) from the iPod/iPhone/iPad to the host.
|
||||
|
||||
Solution 2: Check your router settings if you can whitelist multicast addresses
|
||||
under IGMP settings. For Apple Bonjour, setting a multicast address of
|
||||
224.0.0.251 and a netmask of 255.255.255.255 should work.
|
||||
|
||||
- Otherwise try using `avahi-browse` for troubleshooting:
|
||||
|
||||
- in a terminal, run:
|
||||
|
||||
```shell
|
||||
avahi-browse -r -k _touch-remote._tcp
|
||||
```
|
||||
|
||||
- start Remote, goto Settings, Add Library
|
||||
- after a couple seconds at most, you should get something similar to this:
|
||||
|
||||
```shell
|
||||
+ ath0 IPv4 59eff13ea2f98dbbef6c162f9df71b784a3ef9a3 _touch-remote._tcp local
|
||||
= ath0 IPv4 59eff13ea2f98dbbef6c162f9df71b784a3ef9a3 _touch-remote._tcp local
|
||||
hostname = [Foobar.local]
|
||||
address = [192.168.1.1]
|
||||
port = [49160]
|
||||
txt = ["DvTy=iPod touch" "RemN=Remote" "txtvers=1" "RemV=10000" "Pair=FAEA410630AEC05E" "DvNm=Foobar"]
|
||||
```
|
||||
|
||||
Hit Ctrl+C to terminate `avahi-browse`.
|
||||
|
||||
- To check for network issues you can try to connect to the server address and
|
||||
port with [`nc`](https://en.wikipedia.org/wiki/Netcat) or
|
||||
[`telnet`](https://en.wikipedia.org/wiki/Telnet) commands.
|
||||
|
||||
|
||||
## Remotes for iTunes/Apple Music (Android)
|
||||
|
||||
The below Android remote apps work with OwnTone.
|
||||
|
||||
| Client | Developer | Type | Working (vers.) |
|
||||
| ------------------------ | ----------- | ------ | --------------- |
|
||||
| Retune | SquallyDoc | Remote | Yes (3.5.23) |
|
||||
| TunesRemote+ | Melloware | Remote | Yes (2.5.3) |
|
||||
| Remote for iTunes | Hyperfine | Remote | Yes |
|
||||
|
||||
For usage and troubleshooting details, see the instructions for [Apple Remote](#apple-remote-app-ios).
|
||||
|
||||
|
||||
## MPD client apps
|
||||
|
||||
There's a range of MPD clients available from app store that also work with
|
||||
OwnTone e.g. MPD Pilot, MaximumMPD, Rigelian and Stylophone.
|
||||
|
||||
The better ones support local playback, speaker control, artwork and automatic
|
||||
discovery of OwnTone's MPD server.
|
||||
|
||||
By default OwnTone listens on port 6600 for MPD clients. You can change
|
||||
this in the configuration file.
|
||||
|
||||
Due to some differences between OwnTone and MPD not all commands will act the
|
||||
same way they would running MPD:
|
||||
|
||||
- crossfade, mixrampdb, mixrampdelay and replaygain will have no effect
|
||||
- single, repeat: unlike MPD, OwnTone does not support setting single and repeat
|
||||
separately on/off, instead repeat off, repeat all and repeat single are
|
||||
supported. Thus setting single on will result in repeat single, repeat on
|
||||
results in repeat all.
|
||||
44
docs/control-clients/web.md
Normal file
44
docs/control-clients/web.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Web Interface
|
||||
|
||||
The built-in web interface is a mobile-friendly music player and browser for
|
||||
OwnTone.
|
||||
|
||||
You can reach it at [http://owntone.local:3689](http://owntone.local:3689)
|
||||
or depending on the OwnTone installation at `http://<server-address>:<port>`.
|
||||
|
||||
This interface becomes useful when you need to control playback, trigger
|
||||
manual library rescans, pair with remotes, select speakers, grant access to
|
||||
Spotify, and for many other operations.
|
||||
|
||||
Alternatively, you can use a MPD web client like for instance [ympd](http://www.ympd.org/).
|
||||
|
||||
|
||||
## Screenshots
|
||||
|
||||
Below you have a selection of screenshots that shows different part of the
|
||||
interface.
|
||||
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
{: class="zoom" }
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
The web interface is usually reachable at [http://owntone.local:3689](http://owntone.local:3689).
|
||||
But depending on the setup of OwnTone you might need to adjust the server name
|
||||
and port of the server accordingly `http://<server-name>:<port>`.
|
||||
Reference in New Issue
Block a user