[docs] Name change of forked-daapd to OwnTone
This commit is contained in:
parent
89807b61ed
commit
0871a49f28
19
AUTHORS
19
AUTHORS
|
@ -1,12 +1,13 @@
|
|||
forked-daapd is a fork/rewrite of mt-daapd (Firefly Media Server)
|
||||
written by Julien BLACHE <jb@jblache.org>.
|
||||
OwnTone is maintained by:
|
||||
|
||||
mt-daapd (Firefly Media Server) was originally written by
|
||||
Ron Pedde <ron@pedde.com> and a handful of contributors.
|
||||
|
||||
Contributors to forked-daapd include:
|
||||
- Ace Jones <ace.jones1@yahoo.com>
|
||||
- Dustin King <daking@rescomp.stanford.edu>
|
||||
- Kai Elwert <elwertk@googlemail.com>
|
||||
- Espen Jürgensen <espenjurgensen@gmail.com>
|
||||
- Christian Meffert <christian.meffert@googlemail.com>
|
||||
|
||||
Up until version 27.4 it was called forked-daapd.
|
||||
|
||||
forked-daapd up until 0.19 was written by Julien BLACHE <jb@jblache.org>. It was
|
||||
build on mt-daapd (Firefly Media Server), which was originally written by Ron
|
||||
Pedde <ron@pedde.com> and a handful of contributors.
|
||||
|
||||
For a complete list of contributers, please see:
|
||||
https://github.com/owntone/owntone-server/graphs/contributors
|
||||
|
|
61
INSTALL.md
61
INSTALL.md
|
@ -1,15 +1,14 @@
|
|||
# Installation instructions for forked-daapd
|
||||
# Installation instructions for OwnTone
|
||||
|
||||
This document contains instructions for installing forked-daapd from the git
|
||||
tree.
|
||||
This document contains instructions for installing OwnTone from the git tree.
|
||||
|
||||
The source for this version of forked-daapd can be found here:
|
||||
The source for this version of OwnTone can be found here:
|
||||
[owntone/owntone-server](https://github.com/owntone/owntone-server.git)
|
||||
|
||||
## Quick version for Raspbian (Raspberry Pi)
|
||||
|
||||
See the instructions here:
|
||||
[Improved forked-daapd (iTunes server) -
|
||||
[OwnTone server (iTunes server) -
|
||||
Raspberry Pi Forums](http://www.raspberrypi.org/phpBB3/viewtopic.php?t=49928)
|
||||
|
||||
## Quick version for Debian/Ubuntu users
|
||||
|
@ -27,10 +26,10 @@ sudo apt-get install \
|
|||
libcurl4-openssl-dev
|
||||
```
|
||||
|
||||
Note that forked-daapd will also work with other versions and flavours of
|
||||
Note that OwnTone will also work with other versions and flavours of
|
||||
libgcrypt and libcurl, so the above are just suggestions.
|
||||
|
||||
While forked-daapd will work with versions of libevent between 2.0.0 and 2.1.3,
|
||||
While OwnTone will work with versions of libevent between 2.0.0 and 2.1.3,
|
||||
it is recommended to use 2.1.4+. Otherwise you may not have support for
|
||||
simultaneous streaming to multiple DAAP clients.
|
||||
|
||||
|
@ -48,7 +47,7 @@ Then run the following (adding configure arguments for optional features):
|
|||
|
||||
```bash
|
||||
git clone https://github.com/owntone/owntone-server.git
|
||||
cd forked-daapd
|
||||
cd owntone-server
|
||||
autoreconf -i
|
||||
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
|
||||
make
|
||||
|
@ -74,11 +73,11 @@ sudo yum install \
|
|||
libcurl-devel
|
||||
```
|
||||
|
||||
Clone the forked-daapd repo:
|
||||
Clone the OwnTone repo:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/owntone/owntone-server.git
|
||||
cd forked-daapd
|
||||
cd owntone-server
|
||||
```
|
||||
|
||||
Now you need to install ANTLR3, but you probably can't use the version that
|
||||
|
@ -119,7 +118,7 @@ you can still look through it and use it as an installation guide.
|
|||
|
||||
## Quick version for macOS (using Homebrew)
|
||||
|
||||
This workflow file used for building forked-daapd via Github actions includes
|
||||
This workflow file used for building OwnTone via Github actions includes
|
||||
all the steps that you need to execute:
|
||||
[.github/workflows/macos.yml](.github/workflows/macos.yml)
|
||||
|
||||
|
@ -169,11 +168,11 @@ Optional features require the following additional ports:
|
|||
Chromecast | `--enable-chromecast` | gnutls protobuf-c
|
||||
Pulseaudio | `--with-pulseaudio` | pulseaudio
|
||||
|
||||
Clone the forked-daapd repo:
|
||||
Clone the OwnTone repo:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/owntone/owntone-server.git
|
||||
cd forked-daapd
|
||||
cd owntone-server
|
||||
```
|
||||
|
||||
Install antlr3 and library using the included script:
|
||||
|
@ -195,19 +194,19 @@ sudo make install
|
|||
Note: if for some reason you've installed the avahi port, you need to
|
||||
add `--without-avahi` to configure above.
|
||||
|
||||
Edit `/usr/local/etc/forked-daapd.conf` and change the `uid` to a nice
|
||||
Edit `/usr/local/etc/owntone.conf` and change the `uid` to a nice
|
||||
system daemon (eg: unknown), and run the following:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /usr/local/var/run
|
||||
sudo mkdir -p /usr/local/var/log # or change logfile in conf
|
||||
sudo chown unknown /usr/local/var/cache/forked-daapd # or change conf
|
||||
sudo chown unknown /usr/local/var/cache/owntone # or change conf
|
||||
```
|
||||
|
||||
Run forked-daapd:
|
||||
Run OwnTone:
|
||||
|
||||
```bash
|
||||
sudo /usr/local/sbin/forked-daapd
|
||||
sudo /usr/local/sbin/owntone
|
||||
```
|
||||
|
||||
Verify it's running (you need to <kbd>Ctrl</kbd>+<kbd>C</kbd> to stop
|
||||
|
@ -221,7 +220,7 @@ dns-sd -B _daap._tcp
|
|||
|
||||
Required tools:
|
||||
|
||||
- ANTLR v3 is required to build forked-daapd, along with its C runtime
|
||||
- ANTLR v3 is required to build OwnTone, along with its C runtime
|
||||
(libantlr3c). Use a version between 3.1.3 and 3.5 of ANTLR v3 and the
|
||||
matching C runtime version. Get it from <http://www.antlr3.org/>
|
||||
- Java runtime: ANTLR is written in Java and as such a JRE is required to
|
||||
|
@ -276,7 +275,7 @@ Libraries:
|
|||
from <https://libwebsockets.org/>
|
||||
|
||||
If using binary packages, remember that you need the development packages to
|
||||
build forked-daapd (usually named -dev or -devel).
|
||||
build OwnTone (usually named -dev or -devel).
|
||||
|
||||
sqlite3 needs to be built with support for the unlock notify API; this isn't
|
||||
always the case in binary packages, so you may need to rebuild sqlite3 to
|
||||
|
@ -284,9 +283,9 @@ enable the unlock notify API (you can check for the presence of the
|
|||
sqlite3_unlock_notify symbol in the sqlite3 library). Refer to the sqlite3
|
||||
documentation, look for `SQLITE_ENABLE_UNLOCK_NOTIFY`.
|
||||
|
||||
libav (or ffmpeg) is a central piece of forked-daapd and most other FLOSS
|
||||
libav (or ffmpeg) is a central piece of OwnTone and most other FLOSS
|
||||
multimedia applications. The version of libav you use will potentially have a
|
||||
great influence on your experience with forked-daapd.
|
||||
great influence on your experience with OwnTone.
|
||||
|
||||
## Long version - building and installing
|
||||
|
||||
|
@ -378,31 +377,31 @@ You can safely ignore all of these warnings.
|
|||
|
||||
After installation:
|
||||
|
||||
- edit the configuration file, `/etc/forked-daapd.conf`
|
||||
- edit the configuration file, `/etc/owntone.conf`
|
||||
- make sure the Avahi daemon is installed and running (Debian:
|
||||
`apt install avahi-daemon`)
|
||||
|
||||
Note that `sudo make install` will not install any system files to start the
|
||||
service after boot, and it will not setup a system user.
|
||||
|
||||
forked-daapd will drop privileges to any user you'll specify in the
|
||||
OwnTone will drop privileges to any user you'll specify in the
|
||||
configuration file if it's started as root.
|
||||
|
||||
This user must have read permission on your library (you can create a group for
|
||||
this and make the user a member of the group, for instance) and read/write
|
||||
permissions on the database location (`$localstatedir/cache/forked-daapd` by
|
||||
permissions on the database location (`$localstatedir/cache/owntone` by
|
||||
default).
|
||||
|
||||
If your system uses systemd then you might be able to use the service file
|
||||
included, see `forked-daapd.service`.
|
||||
included, see `owntone.service`.
|
||||
|
||||
Otherwise you might need an init script to start forked-daapd at boot. A simple
|
||||
init script will do, forked-daapd daemonizes all by itself and creates a
|
||||
Otherwise you might need an init script to start OwnTone at boot. A simple
|
||||
init script will do, OwnTone daemonizes all by itself and creates a
|
||||
pidfile under `/var/run`. Different distributions have different standards for
|
||||
init scripts and some do not use init scripts anymore; check the documentation
|
||||
for your distribution.
|
||||
|
||||
For dependency-based boot systems, here are the forked-daapd dependencies:
|
||||
For dependency-based boot systems, here are the OwnTone dependencies:
|
||||
|
||||
- local filesystems
|
||||
- network filesystems, if needed in your setup (library on NFS, ...)
|
||||
|
@ -414,7 +413,7 @@ The LSB header below sums it up:
|
|||
|
||||
```bash
|
||||
### BEGIN INIT INFO
|
||||
# Provides: forked-daapd
|
||||
# Provides: owntone
|
||||
# Required-Start: $local_fs $remote_fs $network $time
|
||||
# Required-Stop: $local_fs $remote_fs $network $time
|
||||
# Should-Start: avahi
|
||||
|
@ -422,8 +421,8 @@ The LSB header below sums it up:
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: DAAP/DACP (iTunes) server, support for AirPlay and Spotify
|
||||
# Description: forked-daapd is an iTunes-compatible media server for
|
||||
# sharing your media library over the local network with DAAP
|
||||
# Description: OwnTone is an iTunes-compatible media server for sharing
|
||||
# your media library over the local network with DAAP/DACP
|
||||
# clients like iTunes. Like iTunes, it can be controlled by
|
||||
# Apple Remote (and compatibles) and stream music directly to
|
||||
# AirPlay devices. It also supports streaming to RSP clients
|
||||
|
|
33
README.md
33
README.md
|
@ -1,6 +1,6 @@
|
|||
# OwnTone Server (previously forked-daapd)
|
||||
# OwnTone (previously forked-daapd)
|
||||
|
||||
OwnTone Server is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) and
|
||||
OwnTone is a Linux/FreeBSD DAAP (iTunes), MPD (Music Player Daemon) and
|
||||
RSP (Roku) media server.
|
||||
|
||||
It supports AirPlay devices/speakers, Apple Remote (and compatibles),
|
||||
|
@ -11,7 +11,7 @@ It does not support streaming video by AirPlay nor Chromecast.
|
|||
DAAP stands for Digital Audio Access Protocol which is the protocol used
|
||||
by iTunes and friends to share/stream media libraries over the network.
|
||||
|
||||
OwnTone Server was previously called forked-daapd, which again was a rewrite of
|
||||
OwnTone was previously called forked-daapd, which again was a rewrite of
|
||||
mt-daapd (Firefly Media Server).
|
||||
|
||||
|
||||
|
@ -20,9 +20,9 @@ mt-daapd (Firefly Media Server).
|
|||
Before you continue, make sure you know what version of OwnTone you have,
|
||||
and what features it was built with (e.g. Spotify support).
|
||||
|
||||
How to find out? Go to the [web interface](http://forked-daapd.local:3689) and
|
||||
How to find out? Go to the [web interface](http://owntone.local:3689) and
|
||||
check. No web interface? Then check the top of the log file (usually
|
||||
/var/log/forked-daapd.log).
|
||||
/var/log/owntone.log).
|
||||
|
||||
Note that you are viewing a snapshot of the instructions that may or may not
|
||||
match the version that you are using. Go to [references](#references) to find
|
||||
|
@ -59,10 +59,10 @@ please see the [INSTALL.md](INSTALL.md) file.
|
|||
|
||||
After installation (see [INSTALL.md](INSTALL.md)) do the following:
|
||||
|
||||
1. Edit the configuration file (usually `/etc/forked-daapd.conf`) to suit your
|
||||
1. Edit the configuration file (usually `/etc/owntone.conf`) to suit your
|
||||
needs
|
||||
2. Start or restart the server (usually `/etc/init.d/forked-daapd restart`)
|
||||
3. Go to the web interface [http://forked-daapd.local:3689](http://forked-daapd.local:3689),
|
||||
2. Start or restart the server (usually `/etc/init.d/owntone restart`)
|
||||
3. Go to the web interface [http://owntone.local:3689](http://owntone.local:3689),
|
||||
or, if that won't work, to [http://[your_server_address_here]:3689](http://[your_server_address_here]:3689)
|
||||
4. Wait for the library scan to complete
|
||||
5. If you will be using a remote, e.g. Apple Remote: Start the remote, go to
|
||||
|
@ -117,15 +117,12 @@ probably obsolete when you read it :-)
|
|||
|
||||
## Web interface
|
||||
|
||||
You can find the web interface at [http://forked-daapd.local:3689](http://forked-daapd.local:3689)
|
||||
You can find the web interface at [http://owntone.local:3689](http://owntone.local:3689)
|
||||
or alternatively at [http://[your_server_address_here]:3689](http://[your_server_address_here]:3689).
|
||||
|
||||
Use the web interface to control playback, trigger manual library rescans, pair
|
||||
with remotes, select speakers, authenticate with Spotify, etc.
|
||||
|
||||
The Debian forked-daapd package does not include the web interface due to Debian
|
||||
packaging rules.
|
||||
|
||||
You can find some screenshots and build instructions in [README_PLAYER_WEBINTERFACE.md](https://github.com/owntone/owntone-server/blob/master/README_PLAYER_WEBINTERFACE.md).
|
||||
|
||||
## Using Remote
|
||||
|
@ -144,7 +141,7 @@ they return online during playback.
|
|||
|
||||
### Pairing
|
||||
|
||||
1. Open the [web interface](http://forked-daapd.local:3689)
|
||||
1. Open the [web interface](http://owntone.local:3689)
|
||||
2. Start Remote, go to Settings, Add Library
|
||||
3. Enter the pair code in the web interface (update the page with F5 if it does
|
||||
not automatically pick up the pairing request)
|
||||
|
@ -359,7 +356,7 @@ the list, OwnTone will look for /foo/bar.{jpg,png}.
|
|||
You can use symlinks for the artwork files.
|
||||
|
||||
OwnTone caches artwork in a separate cache file. The default path is
|
||||
`/var/cache/forked-daapd/cache.db` and can be configured in the configuration
|
||||
`/var/cache/owntone/cache.db` and can be configured in the configuration
|
||||
file. The cache.db file can be deleted without losing the library and pairing
|
||||
informations.
|
||||
|
||||
|
@ -419,7 +416,7 @@ is changed. So that means OwnTone cannot update its database in real time.
|
|||
Instead you can schedule a cron job to update the database.
|
||||
|
||||
The first step in doing this is to add two entries to the 'directories'
|
||||
configuration item in forked-daapd.conf:
|
||||
configuration item in owntone.conf:
|
||||
|
||||
```
|
||||
directories = { "/some/local/dir", "/your/network/mount/library" }
|
||||
|
@ -480,7 +477,7 @@ curl "http://localhost:3689/logout?session-id=50"
|
|||
|
||||
OwnTone has support for playback of the tracks in your Spotify library.
|
||||
|
||||
1. Go to the [web interface](http://forked-daapd.local:3689) and check that your
|
||||
1. Go to the [web interface](http://owntone.local:3689) and check that your
|
||||
version of OwnTone was built with Spotify support.
|
||||
2. You must have a Spotify premium account. If you normally log into Spotify
|
||||
with your Facebook account you must first go to Spotify's web site where you
|
||||
|
@ -496,7 +493,7 @@ Once the above is in order you can login to Spotify via the web interface. The
|
|||
procedure for logging in to Spotify is a two-step procedure due to the current
|
||||
state of libspotify, but the web interface makes both steps available to you.
|
||||
|
||||
Note that the address [http://forked-daapd.local:3689](http://forked-daapd.local:3689)
|
||||
Note that the address [http://owntone.local:3689](http://owntone.local:3689)
|
||||
must be working on your local network to complete the Spotify OAuth web login.
|
||||
The address is announced automatically via mDNS, but if that for some reason
|
||||
doesn't work then configure it via router or .hosts file. You can remove it
|
||||
|
@ -513,7 +510,7 @@ configure the location of your Spotify user data in the configuration file.
|
|||
|
||||
To permanently logout and remove Spotify tracks + credentials make a request to
|
||||
[http://[your_server_address_here]:3689/api/spotify-logout](http://[your_server_address_here]:3689/api/spotify-logout)
|
||||
and also delete the contents of `/var/cache/forked-daapd/libspotify`.
|
||||
and also delete the contents of `/var/cache/owntone/libspotify`.
|
||||
|
||||
Limitations:
|
||||
You will not be able to do any playlist management through OwnTone - use
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# forked-daapd and ALSA
|
||||
# OwnTone and ALSA
|
||||
|
||||
ALSA is one of the main output configuration options for local audio; when using ALSA you will typically let the system select the soundcard on your machine as the `default` device/sound card - a mixer associated with the ALSA device is used for volume control. However if your machine has multiple sound cards and your system chooses the wrong playback device, you will need to manually select the card and mixer to complete the `forked daapd` configuration.
|
||||
ALSA is one of the main output configuration options for local audio; when using ALSA you will typically let the system select the soundcard on your machine as the `default` device/sound card - a mixer associated with the ALSA device is used for volume control. However if your machine has multiple sound cards and your system chooses the wrong playback device, you will need to manually select the card and mixer to complete the OwnTone configuration.
|
||||
|
||||
## Quick introduction to ALSA devices
|
||||
ALSA devices can be addressed in a number ways but traditionally we have referred to them using the hardware prefix, card number and optionally device number with something like `hw:0` or `hw:0,1`. In ALSA configuration terms `card X, device Y` is known as `hw:X,Y`.
|
||||
|
@ -11,7 +11,7 @@ Alternative ALSA names can be used to refer to physical ALSA devices and can be
|
|||
* more descriptive rather than being a card number
|
||||
* consistent for USB numeration - USB ALSA devices may not have the same card number across reboots/reconnects
|
||||
|
||||
The ALSA device information required for configuration the server can be deterined using `aplay`, as described in the rest of this document, but `forked-daapd` can also assist; when configured to log at `INFO` level the following information is provided during startup:
|
||||
The ALSA device information required for configuration the server can be deterined using `aplay`, as described in the rest of this document, but OwnTone can also assist; when configured to log at `INFO` level the following information is provided during startup:
|
||||
```
|
||||
laudio: Available ALSA playback mixer(s) on hw:0 CARD=Intel (HDA Intel): 'Master' 'Headphone' 'Speaker' 'PCM' 'Mic' 'Beep'
|
||||
laudio: Available ALSA playback mixer(s) on hw:1 CARD=E30 (E30): 'E30 '
|
||||
|
@ -22,7 +22,7 @@ The `CARD=` string is the alternate ALSA name for the device and can be used in
|
|||
On this machine the server reports that it can see the onboard HDA Intel sound card and two additional sound cards: a Topping E30 DAC and a Plantronics Headset which are both USB devices. We can address the first ALSA device as `hw:0` or `hw:CARD=Intel` or `hw:Intel` or `plughw:Intel`, the second ALSA device as `hw:1` or `hw:E30` and so forth. The latter 2 devices being on USB will mean that `hw:1` may not always refer to `hw:E30` and thus in such a case using the alternate name is useful.
|
||||
|
||||
## Configuring the server
|
||||
`forked-daapd` can support a single ALSA device or multiple ALSA devices.
|
||||
OwnTone can support a single ALSA device or multiple ALSA devices.
|
||||
```
|
||||
# example audio section for server for a single soundcard
|
||||
audio {
|
||||
|
@ -34,7 +34,7 @@ audio {
|
|||
mixer_device = "hw:1" # defaults to same as 'card' value
|
||||
}
|
||||
```
|
||||
Multiple devices can be made available to `forked-daapd` using seperate `alsa { .. }` sections.
|
||||
Multiple devices can be made available to OwnTone using seperate `alsa { .. }` sections.
|
||||
```
|
||||
audio {
|
||||
type = "alsa"
|
||||
|
@ -63,13 +63,13 @@ $ aplay -Ddefault /tmp/sine441.wav
|
|||
If you can hear music played then you are good to use `default` for the server configuration. If you can not hear anything from the `aplay` firstly verify (using `alsamixer`) that the sound card is not muted. If the card is not muted AND there is no sound you can try the options below to determine the card and mixer for configuring the server.
|
||||
|
||||
## Automatically Determine ALL relevant the sound card information
|
||||
As shown above, `forked-daapd` can help, consider the information that logged:
|
||||
As shown above, OwnTone can help, consider the information that logged:
|
||||
```
|
||||
laudio: Available ALSA playback mixer(s) on hw:0 CARD=Intel (HDA Intel): 'Master' 'Headphone' 'Speaker' 'PCM' 'Mic' 'Beep'
|
||||
laudio: Available ALSA playback mixer(s) on hw:1 CARD=E30 (E30): 'E30 '
|
||||
laudio: Available ALSA playback mixer(s) on hw:2 CARD=Seri (Plantronics Blackwire 3210 Seri): 'Sidetone' 'Headset'
|
||||
```
|
||||
Using the information above, we can see 3 soundcards that we could use with `forked-daap` with the first soundcard having a number of seperate mixer devices (volume control) for headphone and the interal speakers - we'll configure the server to use both these and also the E30 device. The server configuration for theese multiple outputs would be:
|
||||
Using the information above, we can see 3 soundcards that we could use with OwnTone with the first soundcard having a number of seperate mixer devices (volume control) for headphone and the interal speakers - we'll configure the server to use both these and also the E30 device. The server configuration for theese multiple outputs would be:
|
||||
```
|
||||
# using ALSA device alias where possible
|
||||
|
||||
|
@ -92,7 +92,7 @@ alsa "plughw:E30" {
|
|||
mixer_device = "hw:E30"
|
||||
}
|
||||
```
|
||||
NB: it is troublesome to use `hw` or `plughw` ALSA addressing when running `forked-daapd` on a machine with `pulseaudio` and if you wish to use refer to ALSA devices directly that you stop `pulseaudio`.
|
||||
NB: it is troublesome to use `hw` or `plughw` ALSA addressing when running OwnTone on a machine with `pulseaudio` and if you wish to use refer to ALSA devices directly that you stop `pulseaudio`.
|
||||
|
||||
## Manually Determining the sound cards you have / ALSA can see
|
||||
The example below is how I determined the correct sound card and mixer values for a Raspberry Pi that has an additional DAC card (hat) mounted. Of course using the log output from the server would have given the same results.
|
||||
|
@ -271,13 +271,13 @@ $ aplay -v -Dhw:1 /tmp/sine441.wav
|
|||
aplay: main:788: audio open error: Device or resource busy
|
||||
```
|
||||
|
||||
In this instance this device cannot open multiple streams - `forked-daapd` can handle this situation transparently with some audio being truncated from the end of the current file as the server prepares to play the following track. If this handling is causing you problems you may wish to use [ALSA's `dmix` functionally](https://www.alsa-project.org/main/index.php/Asoundrc#Software_mixing) which provides a software mixing module. We will need to define a `dmix` component and configure the server to use that as it's sound card.
|
||||
In this instance this device cannot open multiple streams - OwnTone can handle this situation transparently with some audio being truncated from the end of the current file as the server prepares to play the following track. If this handling is causing you problems you may wish to use [ALSA's `dmix` functionally](https://www.alsa-project.org/main/index.php/Asoundrc#Software_mixing) which provides a software mixing module. We will need to define a `dmix` component and configure the server to use that as it's sound card.
|
||||
|
||||
The downside to the `dmix` approach will be the need to fix a samplerate (48000 being the default) for this software mixing module meaning any files that have a mismatched samplerate will be resampled.
|
||||
|
||||
## ALSA dmix configuration/setup
|
||||
|
||||
A `dmix` device can be defined in `/etc/asound.conf` or `~/.asoundrc` for the same user running `forked-daapd`. We will need to know the underlying physical soundcard to be used: in our examples above, `hw:1,0` / `card 1, device 0` representing our IQaudIODAC as per output of `aplay -l`. We also take the `buffer_size` and `period_size` from the output of playing a sound file via `aplay -v`.
|
||||
A `dmix` device can be defined in `/etc/asound.conf` or `~/.asoundrc` for the same user running OwnTone. We will need to know the underlying physical soundcard to be used: in our examples above, `hw:1,0` / `card 1, device 0` representing our IQaudIODAC as per output of `aplay -l`. We also take the `buffer_size` and `period_size` from the output of playing a sound file via `aplay -v`.
|
||||
|
||||
```
|
||||
# use 'dac' as the name of the device: "aplay -Ddac ...."
|
||||
|
@ -328,7 +328,7 @@ At this point we are able to rerun the concurrent `aplay` commands (adding `-Dda
|
|||
|
||||
If there is only one card on the machine you may use `pcm.!default` instead of `pcm.!dac` - there is less configuration to be done later since many ALSA applications will use the device called `default` by default. Furthermore on RPI you can explicitly disable the onboard sound card to leave us with only the IQaudIODAC board enabled (won't affect HDMI sound output) by commenting out `#dtparam=audio=on` in `/boot/config.txt` and rebooting.
|
||||
|
||||
### forked-daapd config with dmix
|
||||
### Config with dmix
|
||||
|
||||
We will use the newly defined card named `dac` which uses the underlying `hw:1` device as per `/etc/asound.conf` or `~/.asoundrc` configuration. Note that the `mixer_device` is now required and must refer to the real device (see the `slave.pcm` value) and not the named device (ie `dac`) that we created and are using for the `card` configuration value.
|
||||
|
||||
|
@ -370,7 +370,7 @@ pcm.equal {
|
|||
hint.description "equalised device"
|
||||
}
|
||||
```
|
||||
and in `forked-daapd.conf`
|
||||
and in `owntone.conf`
|
||||
```
|
||||
alsa "equal" {
|
||||
nickname = "Equalised Output"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# forked-daapd API Endpoint Reference
|
||||
# OwnTone API Endpoint Reference
|
||||
|
||||
Available API endpoints:
|
||||
|
||||
|
@ -395,7 +395,7 @@ curl -X GET "http://localhost:3689/api/outputs"
|
|||
|
||||
### Set enabled outputs
|
||||
|
||||
Set the enabled outputs by passing an array of output ids. forked-daapd enables all outputs
|
||||
Set the enabled outputs by passing an array of output ids. The server enables all outputs
|
||||
with the given ids and disables the remaining outputs.
|
||||
|
||||
**Endpoint**
|
||||
|
@ -2192,9 +2192,9 @@ GET /api/config
|
|||
|
||||
| Key | Type | Value |
|
||||
| --------------- | -------- | ----------------------------------------- |
|
||||
| version | string | forked-daapd server version |
|
||||
| version | string | Server version |
|
||||
| websocket_port | integer | Port number for the [websocket](#push-notifications) (or `0` if websocket is disabled) |
|
||||
| buildoptions | array | Array of strings indicating which features are supported by the forked-daapd server |
|
||||
| buildoptions | array | Array of strings indicating which features are supported by the server |
|
||||
|
||||
|
||||
**Example**
|
||||
|
@ -2402,10 +2402,10 @@ curl -X DELETE "http://localhost:3689/api/settings/webinterface/show_composer_no
|
|||
|
||||
## Push notifications
|
||||
|
||||
If forked-daapd was built with websocket support, forked-daapd exposes a websocket at `localhost:3688` to inform clients of changes (e. g. player state or library updates).
|
||||
The port depends on the forked-daapd configuration and can be read using the [`/api/config`](#config) endpoint.
|
||||
If the server was built with websocket support it exposes a websocket at `localhost:3688` to inform clients of changes (e. g. player state or library updates).
|
||||
The port depends on the server configuration and can be read using the [`/api/config`](#config) endpoint.
|
||||
|
||||
After connecting to the websocket, the client should send a message containing the event types it is interested in. After that forked-daapd
|
||||
After connecting to the websocket, the client should send a message containing the event types it is interested in. After that the server
|
||||
will send a message each time one of the events occurred.
|
||||
|
||||
**Message**
|
||||
|
@ -2610,8 +2610,8 @@ curl --include \
|
|||
### Artwork urls
|
||||
|
||||
Artwork urls in `queue item`, `artist`, `album` and `track` objects can be either relative urls or absolute urls to the artwork image.
|
||||
Absolute artwork urls are pointing to external artwork images (e. g. for radio streams that provide artwork metadata), while relative artwork urls are served from forked-daapd.
|
||||
Absolute artwork urls are pointing to external artwork images (e. g. for radio streams that provide artwork metadata), while relative artwork urls are served from the server.
|
||||
|
||||
It is possible to add the query parameters `maxwidth` and/or `maxheight` to relative artwork urls, in order to get a smaller image (forked-daapd only scales down never up).
|
||||
It is possible to add the query parameters `maxwidth` and/or `maxheight` to relative artwork urls, in order to get a smaller image (the server only scales down never up).
|
||||
|
||||
Note that even if a relative artwork url attribute is present, it is not guaranteed to exist.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# forked-daapd player web interface
|
||||
# OwnTone player web interface
|
||||
|
||||
Mobile friendly player web interface for [forked-daapd](http://owntone.github.io/forked-daapd/) build with [Vue.js](https://vuejs.org), [Bulma](http://bulma.io).
|
||||
Mobile friendly player web interface for [OwnTone](http://owntone.github.io/owntone-server/) build with [Vue.js](https://vuejs.org), [Bulma](http://bulma.io).
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
@ -9,7 +9,7 @@ Mobile friendly player web interface for [forked-daapd](http://owntone.github.io
|
|||
|
||||
## Usage
|
||||
|
||||
You can find forked-daapd's web interface at [http://forked-daapd.local:3689](http://forked-daapd.local:3689)
|
||||
You can find OwnTone's web interface at [http://owntone.local:3689](http://owntone.local:3689)
|
||||
or alternatively at [http://[your_server_address_here]:3689](http://[your_server_address_here]:3689).
|
||||
|
||||
|
||||
|
@ -37,4 +37,4 @@ npm run build
|
|||
npm run build --report
|
||||
```
|
||||
|
||||
After running `npm run dev` the web interface is reachable at [localhost:8080](http://localhost:8080). By default it expects **forked-daapd** to be running at [localhost:3689](http://localhost:3689) and proxies all JSON API calls to this location. If **forked-daapd** is running at a different location you need to modify the `proxyTable` configuration in `config/index.js`
|
||||
After running `npm run dev` the web interface is reachable at [localhost:8080](http://localhost:8080). By default it expects **owntone** to be running at [localhost:3689](http://localhost:3689) and proxies all JSON API calls to this location. If the server is running at a different location you need to modify the `proxyTable` configuration in `config/index.js`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# forked-daapd and Pulseaudio
|
||||
# OwnTone and Pulseaudio
|
||||
|
||||
You have the choice of runnning Pulseaudio either in system mode or user mode.
|
||||
For headless servers, i.e. systems without desktop users, system mode is
|
||||
|
@ -24,7 +24,7 @@ instructions will require that you are root.
|
|||
|
||||
### Step 1: Setting up Pulseaudio
|
||||
|
||||
If you see a "Connection refused" error when starting forked-daapd, then you
|
||||
If you see a "Connection refused" error when starting the server, then you
|
||||
will probably need to setup Pulseaudio to run in system mode [1]. This means
|
||||
that the Pulseaudio daemon will be started during boot and be available to all
|
||||
users.
|
||||
|
@ -72,16 +72,16 @@ Phew, almost done with Pulseaudio! Now you should:
|
|||
3. check that the Bluetooth module is loaded with `pactl list modules short`
|
||||
|
||||
|
||||
### Step 2: Setting up forked-daapd
|
||||
### Step 2: Setting up the server
|
||||
|
||||
Add the user forked-daapd is running as (typically "daapd") to the
|
||||
Add the user the server is running as (typically "owntone") to the
|
||||
"pulse-access" group:
|
||||
|
||||
```
|
||||
adduser daapd pulse-access
|
||||
```
|
||||
|
||||
Now (re)start forked-daapd.
|
||||
Now (re)start the server.
|
||||
|
||||
|
||||
### Step 3: Adding a Bluetooth device
|
||||
|
@ -99,8 +99,8 @@ trust [MAC address]
|
|||
connect [MAC address]
|
||||
```
|
||||
|
||||
Now the speaker should appear in forked-daapd. You can also verify that
|
||||
Pulseaudio has detected the speaker with `pactl list sinks short`.
|
||||
Now the speaker should appear. You can also verify that Pulseaudio has detected
|
||||
the speaker with `pactl list sinks short`.
|
||||
|
||||
|
||||
|
||||
|
@ -137,7 +137,7 @@ pulseaudio -D
|
|||
|
||||
### Step 4: Adjust configuration file
|
||||
|
||||
In the `audio` section of `/etc/forked-daapd.conf`, set `server` to `localhost`:
|
||||
In the `audio` section of `/etc/owntone.conf`, set `server` to `localhost`:
|
||||
|
||||
```
|
||||
server = "localhost"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# forked-daapd and Radio Stream tweaking
|
||||
# OwnTone and Radio Stream tweaking
|
||||
|
||||
Radio streams have many different ways in how metadata is sent. Many should
|
||||
just work as expected, but a few may require some tweaking. If you are not
|
||||
seeing expected title, track, artist, artwork in forked-daapd clients or web UI,
|
||||
the following may help.
|
||||
seeing expected title, track, artist, artwork in clients or web UI, the
|
||||
following may help.
|
||||
|
||||
First, understand what and how the particular stream is sending information.
|
||||
ffprobe is a command that can be used to interegrate most of the stream
|
||||
|
@ -23,11 +23,11 @@ look at the Metadata section, below is an example.
|
|||
```
|
||||
|
||||
In the example above, all tags are populated with correct information, no
|
||||
modifications to forked-daapd configuration should be needed. Note that
|
||||
modifications to the server configuration should be needed. Note that
|
||||
StreamUrl points to the artwork image file.
|
||||
|
||||
|
||||
Below is another example that will require some tweaks to forked-daapd, Notice
|
||||
Below is another example that will require some tweaks to the server, Notice
|
||||
`icy-name` is blank and `StreamUrl` doesn't point to an image.
|
||||
|
||||
```
|
||||
|
@ -60,7 +60,7 @@ Length is -1 since it's a stream, `<Artist Name>` was left blank since
|
|||
|
||||
### 2) StreamUrl is a JSON file with metadata
|
||||
If `StreamUrl` does not point directly to an artwork file then the link may be
|
||||
to a json file that contains an artwork link. If so, you can make forked-daapd
|
||||
to a json file that contains an artwork link. If so, you can make the server
|
||||
download the file automatically and search for an artwork link, and also track
|
||||
duration.
|
||||
|
||||
|
@ -82,7 +82,7 @@ Let's assume you get something like this:
|
|||
}
|
||||
```
|
||||
|
||||
In this case, you would need to tell forked-daapd to look for "eventDuration"
|
||||
In this case, you would need to tell the server to look for "eventDuration"
|
||||
and "eventImageUrl" (or just "duration" and "url"). You can do that like this:
|
||||
|
||||
```
|
||||
|
@ -95,7 +95,7 @@ If you want multiple search phrases then comma separate, e.g. "duration,length".
|
|||
### 3) Set metadata with a custom script
|
||||
If your radio station publishes metadata via another method than the above, e.g.
|
||||
just on their web site, then you will have to write a script that pulls the
|
||||
metadata and then pushes it to forked-daapd. To update metadata for the
|
||||
metadata and then pushes it to the server. To update metadata for the
|
||||
currently playing radio station use something like this JSON API request:
|
||||
|
||||
```shell
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# forked-daapd smart playlists
|
||||
# OwnTone smart playlists
|
||||
|
||||
|
||||
To add a smart playlist to forked-daapd, create a new text file with a filename ending with .smartpl;
|
||||
To add a smart playlist to the server, create a new text file with a filename ending with .smartpl;
|
||||
the filename doesn't matter, only the .smartpl ending does. The file must be placed somewhere in your
|
||||
library folder.
|
||||
|
||||
|
@ -128,7 +128,7 @@ This would match all songs added as files to the library that are not placed und
|
|||
}
|
||||
```
|
||||
|
||||
This would match any podcast and audiobook file that was never played with forked-daapd.
|
||||
This would match any podcast and audiobook file that was never played.
|
||||
|
||||
```
|
||||
"Recently added music" {
|
||||
|
@ -190,7 +190,7 @@ This matches all songs added in the last 2 weeks.
|
|||
|
||||
This matches all audiobooks played since the start of the last Monday 00:00AM.
|
||||
|
||||
All dates, except for `YYYY-DD-HH`, are relative to the day of when `forked-daapd` evaluates the smartpl query; `time_added after today` run on a Monday would match against items added since Monday 00:00hrs and evaluating the same smartpl on Friday would only match against added on Friday 00:00hrs.
|
||||
All dates, except for `YYYY-DD-HH`, are relative to the day of when the server evaluates the smartpl query; `time_added after today` run on a Monday would match against items added since Monday 00:00hrs and evaluating the same smartpl on Friday would only match against added on Friday 00:00hrs.
|
||||
|
||||
Note that `time_added after 4 weeks ago` and `time_added after last month` are subtly different; the former is exactly 4 weeks ago (from today) whereas the latter is the first day of the previous month.
|
||||
|
||||
|
|
27
UPGRADING
27
UPGRADING
|
@ -1,21 +1,20 @@
|
|||
Upgrading forked-daapd
|
||||
----------------------
|
||||
Upgrading
|
||||
---------
|
||||
|
||||
From time to time, newer versions of forked-daapd may need to perform a
|
||||
database upgrade. This upgrade is handled by forked-daapd upon startup if
|
||||
required.
|
||||
From time to time, newer versions of OwnTone may need to perform a database
|
||||
upgrade. This upgrade is handled by the server upon startup if required.
|
||||
|
||||
Before upgrading forked-daapd, it is always a good idea to backup your
|
||||
database, just in case.
|
||||
Before upgrading the server, it is always a good idea to backup your database,
|
||||
just in case.
|
||||
|
||||
The database upgrade procedure is built into forked-daapd; there is no
|
||||
external upgrade script to run. Depending on the changes done to the database
|
||||
structure, the upgrade process will take more or less time and may need some
|
||||
space in /tmp for temporary data. The upgrade can also require some more space
|
||||
in the directory containing the database file.
|
||||
The database upgrade procedure is built into the server; there is no external
|
||||
upgrade script to run. Depending on the changes done to the database structure,
|
||||
the upgrade process will take more or less time and may need some space in /tmp
|
||||
for temporary data. The upgrade can also require some more space in the
|
||||
directory containing the database file.
|
||||
|
||||
Before running the new forked-daapd version, make sure you have done your
|
||||
backups and checked your disk space.
|
||||
Before running the new server version, make sure you have done your backups and
|
||||
checked your disk space.
|
||||
|
||||
Some upgrades can also trigger a full rescan to rebuild parts of the database,
|
||||
so startup will be a bit slower and more resource-intensive than usual.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
.\" -*- nroff -*-
|
||||
.TH FORKED-DAAPD "8" "2018-01-14" "forked-daapd" "DAAP, MPD, Chromecast & RSP media server"
|
||||
.TH OWNTONE "8" "2018-01-14" "owntone" "DAAP, MPD, Chromecast & RSP media server"
|
||||
.SH NAME
|
||||
forked\-daapd \- iTunes\-compatible DAAP server with MPD, Chromecast and RSP support
|
||||
OwnTone \- iTunes\-compatible DAAP server with MPD, Chromecast and RSP support
|
||||
.SH SYNOPSIS
|
||||
.B forked-daapd
|
||||
.B OwnTone
|
||||
[\fIoptions\fR]
|
||||
.SH DESCRIPTION
|
||||
\fBforked\-daapd\fP is a Linux/FreeBSD DAAP (iTunes) media server with support
|
||||
\fBOwnTone\fP is a Linux/FreeBSD DAAP (iTunes) media server with support
|
||||
for AirPlay devices, Apple Remote (and compatibles), MPD, Spotify, Chromecast,
|
||||
mp3 streaming and internet radio. It allows you to share your music collection over
|
||||
the local network.
|
||||
mp3 streaming and internet radio. It allows you to share your music collection
|
||||
over the local network.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-d, \-\-debug=\fR\fIlevel\fP
|
||||
|
@ -46,15 +46,15 @@ Don't announce RSP service via mDNS.
|
|||
Don't announce DAAP service via mDNS.
|
||||
.TP
|
||||
\fB\-\-mdns-no-cname\fR
|
||||
Don't register forked-daapd.local as CNAME via mDNS.
|
||||
Don't register owntone.local as CNAME via mDNS.
|
||||
.TP
|
||||
\fB\-\-mdns-no-web\fR
|
||||
Don't announce web interface via mDNS.
|
||||
.SH FILES
|
||||
.nf
|
||||
\fI/etc/forked\-daapd.conf\fR
|
||||
\fI/var/cache/forked\-daapd\fR
|
||||
\fI/etc/owntone.conf\fR
|
||||
\fI/var/cache/owntone\fR
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
See \fIhttp://owntone.github.io/forked-daapd/\fR for more in-depth information
|
||||
about using \fBforked-daapd\fP.
|
||||
See \fIhttp://owntone.github.io/owntone-server/\fR for more in-depth information
|
||||
about using \fBOwnTone\fP.
|
||||
|
|
Loading…
Reference in New Issue