|
|
@ -10,35 +10,55 @@ |
|
|
|
general { |
|
|
|
# Username |
|
|
|
# Make sure the user has read access to the library directories you set |
|
|
|
# below, and full access to the databases, log and local audio |
|
|
|
# below, and full access to the databases, log and local audio |
|
|
|
uid = "daapd" |
|
|
|
|
|
|
|
# Database location |
|
|
|
db_path = "/var/cache/forked-daapd/songs3.db" |
|
|
|
# db_path = "/var/cache/forked-daapd/songs3.db" |
|
|
|
|
|
|
|
# Log file and level |
|
|
|
# Available levels: fatal, log, warning, info, debug, spam |
|
|
|
logfile = "/var/log/forked-daapd.log" |
|
|
|
loglevel = log |
|
|
|
|
|
|
|
# Admin password for the non-existent web interface |
|
|
|
admin_password = "unused" |
|
|
|
# Admin password for the web interface |
|
|
|
# Note that access to the web interface from computers in |
|
|
|
# "trusted_network" (see below) does not require password |
|
|
|
# admin_password = "" |
|
|
|
|
|
|
|
# Websocket port for the web interface. |
|
|
|
# websocket_port = 3688 |
|
|
|
|
|
|
|
# Sets who is allowed to connect without authorisation. This applies to |
|
|
|
# client types like Remotes, DAAP clients (iTunes) and to the web |
|
|
|
# interface. Options are "any", "localhost" or the prefix to one or |
|
|
|
# more ipv4/6 networks. The default is { "localhost", "192.168", "fd" } |
|
|
|
# trusted_networks = { "localhost", "192.168", "fd" } |
|
|
|
|
|
|
|
# Enable/disable IPv6 |
|
|
|
ipv6 = no |
|
|
|
|
|
|
|
# Location of cache database |
|
|
|
cache_path = "/var/cache/forked-daapd/cache.db" |
|
|
|
# cache_path = "/var/cache/forked-daapd/cache.db" |
|
|
|
|
|
|
|
# DAAP requests that take longer than this threshold (in msec) get their |
|
|
|
# replies cached for next time. Set to 0 to disable caching. |
|
|
|
# cache_daap_threshold = 1000 |
|
|
|
|
|
|
|
# When starting playback, autoselect speaker (if none of the previously |
|
|
|
# selected speakers/outputs are available) |
|
|
|
# speaker_autoselect = yes |
|
|
|
|
|
|
|
# Most modern systems have a high-resolution clock, but if you are on an |
|
|
|
# unusual platform and experience audio drop-outs, you can try changing |
|
|
|
# this option |
|
|
|
# high_resolution_clock = yes |
|
|
|
} |
|
|
|
|
|
|
|
# Library configuration |
|
|
|
library { |
|
|
|
# Name of the library as displayed by the clients |
|
|
|
# %h: hostname, %v: version |
|
|
|
# Name of the library as displayed by the clients (%h: hostname). If you |
|
|
|
# change the name after pairing with Remote you may have to re-pair. |
|
|
|
name = "My Music on %h" |
|
|
|
|
|
|
|
# TCP port to listen on. Default port is 3689 (daap) |
|
|
@ -50,9 +70,12 @@ library { |
|
|
|
# Directories to index |
|
|
|
directories = { "/srv/music" } |
|
|
|
|
|
|
|
# Follow symlinks. Default: true. |
|
|
|
# follow_symlinks = true |
|
|
|
|
|
|
|
# Directories containing podcasts |
|
|
|
# For each directory that is indexed the path is matched against these |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# podcasts. Eg. if you index /srv/music, and your podcasts are in |
|
|
|
# /srv/music/Podcasts, you can set this to "/Podcasts". |
|
|
|
# (changing this setting only takes effect after rescan, see the README) |
|
|
@ -60,23 +83,31 @@ library { |
|
|
|
|
|
|
|
# Directories containing audiobooks |
|
|
|
# For each directory that is indexed the path is matched against these |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# audiobooks. |
|
|
|
# (changing this setting only takes effect after rescan, see the README) |
|
|
|
audiobooks = { "/Audiobooks" } |
|
|
|
|
|
|
|
# Directories containing compilations (eg soundtracks) |
|
|
|
# For each directory that is indexed the path is matched against these |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# names. If there is a match all items in the directory are marked as |
|
|
|
# compilations. |
|
|
|
# (changing this setting only takes effect after rescan, see the README) |
|
|
|
compilations = { "/Compilations" } |
|
|
|
|
|
|
|
# Compilations usually have many artists, and if you don't want every |
|
|
|
# artist to be listed when artist browsing in Remote, you can set |
|
|
|
# a single name which will be used for all music in the compilation dir |
|
|
|
# Compilations usually have many artists, and sometimes no album artist. |
|
|
|
# If you don't want every artist to be listed in artist views, you can |
|
|
|
# set a single name which will be used for all compilation tracks |
|
|
|
# without an album artist, and for all tracks in the compilation |
|
|
|
# directories. |
|
|
|
# (changing this setting only takes effect after rescan, see the README) |
|
|
|
compilation_artist = "Various artists" |
|
|
|
compilation_artist = "Various Artists" |
|
|
|
|
|
|
|
# If your album and artist lists are cluttered, you can choose to hide |
|
|
|
# albums and artists with only one track. The tracks will still be |
|
|
|
# visible in other lists, e.g. songs and playlists. This setting |
|
|
|
# currently only works in some remotes. |
|
|
|
# hide_singles = false |
|
|
|
|
|
|
|
# Internet streams in your playlists will by default be shown in the |
|
|
|
# "Radio" library, like iTunes does. However, some clients (like |
|
|
@ -84,8 +115,8 @@ library { |
|
|
|
# to have them shown like normal playlists, you can enable this option. |
|
|
|
# radio_playlists = false |
|
|
|
|
|
|
|
# There are 5 default playlists: "Library", "Music", "Movies", "TV Shows" |
|
|
|
# and "Podcasts". Here you can change the names of these playlists. |
|
|
|
# These are the default playlists. If you want them to have other names, |
|
|
|
# you can set it here. |
|
|
|
# name_library = "Library" |
|
|
|
# name_music = "Music" |
|
|
|
# name_movies = "Movies" |
|
|
@ -106,8 +137,9 @@ library { |
|
|
|
# File types the scanner should ignore |
|
|
|
# Non-audio files will never be added to the database, but here you |
|
|
|
# can prevent the scanner from even probing them. This might improve |
|
|
|
# scan time. By default .db, .ini, .db-journal and .pdf are ignored. |
|
|
|
# filetypes_ignore = { ".db", ".ini", ".db-journal", ".pdf" } |
|
|
|
# scan time. By default .db, .ini, .db-journal, .pdf and .metadata are |
|
|
|
# ignored. |
|
|
|
# filetypes_ignore = { ".db", ".ini", ".db-journal", ".pdf", ".metadata" } |
|
|
|
|
|
|
|
# File paths the scanner should ignore |
|
|
|
# If you want to exclude files on a more advanced basis you can enter |
|
|
@ -128,26 +160,118 @@ library { |
|
|
|
# Should iTunes metadata override ours? |
|
|
|
# itunes_overrides = false |
|
|
|
|
|
|
|
# Should we import the content of iTunes smart playlists? |
|
|
|
# itunes_smartpl = false |
|
|
|
|
|
|
|
# Decoding options for DAAP clients |
|
|
|
# Since iTunes has native support for mpeg, mp4a, mp4v, alac and wav, |
|
|
|
# such files will be sent as they are. Any other formats will be decoded |
|
|
|
# to raw wav. If forked-daapd detects a non-iTunes DAAP client, it is |
|
|
|
# assumed to only support mpeg and wav, other formats will be decoded. |
|
|
|
# Here you can change when to decode. Note that these settings have no |
|
|
|
# effect on AirPlay. |
|
|
|
# Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav, aif, wav |
|
|
|
# Formats that should never be transcoded |
|
|
|
# no_transcode = { "alac", "mp4a" } |
|
|
|
# Formats that should always be transcoded |
|
|
|
# force_transcode = { "ogg", "flac" } |
|
|
|
# Formats that should never be decoded |
|
|
|
# no_decode = { "format", "format" } |
|
|
|
# Formats that should always be decoded |
|
|
|
# force_decode = { "format", "format" } |
|
|
|
|
|
|
|
# Watch named pipes in the library for data and autostart playback when |
|
|
|
# there is data to be read. To exclude specific pipes from watching, |
|
|
|
# consider using the above _ignore options. |
|
|
|
# pipe_autostart = true |
|
|
|
|
|
|
|
# Enable automatic rating updates |
|
|
|
# If enabled, rating is automatically updated after a song has either been |
|
|
|
# played or skipped (only skipping to the next song is taken into account). |
|
|
|
# The calculation is taken from the beets plugin "mpdstats" (see |
|
|
|
# https://beets.readthedocs.io/en/latest/plugins/mpdstats.html). |
|
|
|
# It consist of calculating a stable rating based only on the play- and |
|
|
|
# skipcount and a rolling rating based on the current rating and the action |
|
|
|
# (played or skipped). Both results are combined with a mix-factor of 0.75: |
|
|
|
# new rating = 0.75 * stable rating + 0.25 * rolling rating) |
|
|
|
# rating_updates = false |
|
|
|
|
|
|
|
# Allows creating, deleting and modifying m3u playlists in the library directories. |
|
|
|
# Only supported by the player web interface and some mpd clients |
|
|
|
# Defaults to being disabled. |
|
|
|
# allow_modifying_stored_playlists = false |
|
|
|
|
|
|
|
# A directory in one of the library directories that will be used as the default |
|
|
|
# playlist directory. forked-dapd creates new playlists in this directory if only |
|
|
|
# a playlist name is provided (requires "allow_modify_stored_playlists" set to true). |
|
|
|
# default_playlist_directory = "" |
|
|
|
} |
|
|
|
|
|
|
|
# Local audio output |
|
|
|
audio { |
|
|
|
# Name - used in the speaker list in Remote |
|
|
|
nickname = "OpenWrt" |
|
|
|
nickname = "Computer" |
|
|
|
|
|
|
|
# Type of the output (alsa, pulseaudio, dummy or disabled) |
|
|
|
# type = "alsa" |
|
|
|
|
|
|
|
# For pulseaudio output, an optional server hostname or IP can be |
|
|
|
# specified (e.g. "localhost"). If not set, connection is made via local |
|
|
|
# socket. |
|
|
|
# server = "" |
|
|
|
|
|
|
|
# Audio device name for local audio output |
|
|
|
# Audio PCM device name for local audio output - ALSA only |
|
|
|
# card = "default" |
|
|
|
|
|
|
|
# Mixer channel to use for volume control - ALSA/Linux only |
|
|
|
# Mixer channel to use for volume control - ALSA only |
|
|
|
# If not set, PCM will be used if available, otherwise Master. |
|
|
|
# mixer = "" |
|
|
|
|
|
|
|
# Mixer device to use for volume control - ALSA only |
|
|
|
# If not set, the value for "card" will be used. |
|
|
|
# mixer_device = "" |
|
|
|
|
|
|
|
# Enable or disable audio resampling to keep local audio in sync with |
|
|
|
# e.g. Airplay. This feature relies on accurate ALSA measurements of |
|
|
|
# delay, and some devices don't provide that. If that is the case you |
|
|
|
# are better off disabling the feature. |
|
|
|
# sync_disable = false |
|
|
|
|
|
|
|
# Here you can adjust when local audio is started relative to other |
|
|
|
# speakers, e.g. Airplay. Negative values correspond to moving local |
|
|
|
# audio ahead, positive correspond to delaying it. The unit is |
|
|
|
# milliseconds. The offset must be between -1000 and 1000 (+/- 1 sec). |
|
|
|
# offset_ms = 0 |
|
|
|
|
|
|
|
# To calculate what and if resampling is required, local audio delay is |
|
|
|
# measured each second. After a period the collected measurements are |
|
|
|
# used to estimate drift and latency, which determines if corrections |
|
|
|
# are required. This setting sets the length of that period in seconds. |
|
|
|
# adjust_period_seconds = 100 |
|
|
|
} |
|
|
|
|
|
|
|
# ALSA device settings |
|
|
|
# If you have multiple ALSA devices you can configure them individually via |
|
|
|
# sections like the below. Make sure to set the "card name" correctly. See the |
|
|
|
# README about ALSA for details. Note that these settings will override the ALSA |
|
|
|
# settings in the "audio" section above. |
|
|
|
#alsa "card name" { |
|
|
|
# Name - used in the speaker list in Remote |
|
|
|
# If not set, the card name will be used |
|
|
|
# nickname = "Computer" |
|
|
|
|
|
|
|
# Mixer channel to use for volume control |
|
|
|
# If not set, PCM will be used if available, otherwise Master |
|
|
|
# mixer = "" |
|
|
|
|
|
|
|
# Mixer device to use for volume control |
|
|
|
# If not set, the card name will be used |
|
|
|
# mixer_device = "" |
|
|
|
#} |
|
|
|
|
|
|
|
# Pipe output |
|
|
|
# Allows forked-daapd to output audio data to a named pipe |
|
|
|
#fifo { |
|
|
|
# nickname = "fifo" |
|
|
|
# path = "/path/to/fifo" |
|
|
|
#} |
|
|
|
|
|
|
|
# AirPlay/Airport Express device settings |
|
|
|
# (make sure you get the capitalization of the device name right) |
|
|
|
#airplay "My AirPlay device" { |
|
|
@ -155,33 +279,119 @@ audio { |
|
|
|
# you can set a lower value here |
|
|
|
# max_volume = 11 |
|
|
|
|
|
|
|
# Enable this option to exclude a particular AirPlay device from the |
|
|
|
# speaker list |
|
|
|
# exclude = false |
|
|
|
|
|
|
|
# Enable this option to keep a particular AirPlay device in the speaker |
|
|
|
# list and thus ignore mdns notifications about it no longer being |
|
|
|
# present. The speaker will remain until restart of forked-daapd. |
|
|
|
# permanent = false |
|
|
|
|
|
|
|
# AirPlay password |
|
|
|
# password = "s1kr3t" |
|
|
|
#} |
|
|
|
|
|
|
|
# Chromecast settings |
|
|
|
# (make sure you get the capitalization of the device name right) |
|
|
|
#chromecast "My Chromecast device" { |
|
|
|
# Enable this option to exclude a particular device from the speaker |
|
|
|
# list |
|
|
|
# exclude = false |
|
|
|
#} |
|
|
|
|
|
|
|
# Spotify settings (only have effect if Spotify enabled - see README/INSTALL) |
|
|
|
spotify { |
|
|
|
# Directory where user settings should be stored (credentials) |
|
|
|
# settings_dir = "/var/cache/forked-daapd/libspotify" |
|
|
|
|
|
|
|
# Cache directory |
|
|
|
# cache_dir = "/tmp" |
|
|
|
|
|
|
|
# Set preferred bitrate for music streaming |
|
|
|
# 0: No preference (default), 1: 96kbps, 2: 160kbps, 3: 320kbps |
|
|
|
# bitrate = 0 |
|
|
|
|
|
|
|
# Your Spotify playlists will by default be put in a "Spotify" playlist |
|
|
|
# folder. If you would rather have them together with your other |
|
|
|
# playlists you can set this option to true. |
|
|
|
# base_playlist_disable = false |
|
|
|
|
|
|
|
# Spotify playlists usually have many artist, and if you don't want |
|
|
|
# every artist to be listed when artist browsing in Remote, you can set |
|
|
|
# the artist_override flag to true. This will use the compilation_artist |
|
|
|
# as album artist for Spotify items. |
|
|
|
# artist_override = false |
|
|
|
|
|
|
|
# Similar to the different artists in Spotify playlists, the playlist |
|
|
|
# items belong to different albums, and if you do not want every album |
|
|
|
# to be listed when browsing in Remote, you can set the album_override |
|
|
|
# flag to true. This will use the playlist name as album name for |
|
|
|
# Spotify items. Notice that if an item is in more than one playlist, |
|
|
|
# it will only appear in one album when browsing (in which album is |
|
|
|
# random). |
|
|
|
# album_override = false |
|
|
|
} |
|
|
|
|
|
|
|
# MPD configuration (only have effect if MPD enabled - see README/INSTALL) |
|
|
|
mpd { |
|
|
|
# TCP port to listen on for MPD client requests. |
|
|
|
# Default port is 6600, set to 0 to disable MPD support. |
|
|
|
# port = 6600 |
|
|
|
|
|
|
|
# HTTP port to listen for artwork requests (only supported by some MPD |
|
|
|
# clients and will need additional configuration in the MPD client to |
|
|
|
# work). Set to 0 to disable serving artwork over http. |
|
|
|
# http_port = 0 |
|
|
|
|
|
|
|
# By default forked-daapd will - like iTunes - clear the playqueue if |
|
|
|
# playback stops. Setting clear_queue_on_stop_disable to true will keep |
|
|
|
# the playlist like MPD does. Note that some dacp clients do not show |
|
|
|
# the playqueue if playback is stopped. |
|
|
|
# clear_queue_on_stop_disable = false |
|
|
|
} |
|
|
|
|
|
|
|
# SQLite configuration (allows to modify the operation of the SQLite databases) |
|
|
|
# Make sure to read the SQLite documentation for the corresponding PRAGMA statements as |
|
|
|
# changing them from the defaults may increase the possibility of database corruptions! |
|
|
|
# By default the SQLite default values are used. |
|
|
|
# Make sure to read the SQLite documentation for the corresponding PRAGMA |
|
|
|
# statements as changing them from the defaults may increase the possibility of |
|
|
|
# database corruptions! By default the SQLite default values are used. |
|
|
|
sqlite { |
|
|
|
# Cache size in number of db pages for the library database |
|
|
|
# (SQLite default page size is 1024 bytes and cache size is 2000 pages) |
|
|
|
# pragma_cache_size_library = 2000 |
|
|
|
|
|
|
|
|
|
|
|
# Cache size in number of db pages for the daap cache database |
|
|
|
# (SQLite default page size is 1024 bytes and cache size is 2000 pages) |
|
|
|
# pragma_cache_size_cache = 2000 |
|
|
|
|
|
|
|
|
|
|
|
# Sets the journal mode for the database |
|
|
|
# DELETE (default), TRUNCATE, PERSIST, MEMORY, WAL, OFF |
|
|
|
# DELETE (default), TRUNCATE, PERSIST, MEMORY, WAL, OFF |
|
|
|
# pragma_journal_mode = DELETE |
|
|
|
|
|
|
|
|
|
|
|
# Change the setting of the "synchronous" flag |
|
|
|
# 0: OFF, 1: NORMAL, 2: FULL (default) |
|
|
|
# pragma_synchronous = 2 |
|
|
|
|
|
|
|
# Number of bytes set aside for memory-mapped I/O for the library database |
|
|
|
# (requires sqlite 3.7.17 or later) |
|
|
|
# 0: disables mmap (default), any other value > 0: number of bytes for mmap |
|
|
|
# pragma_mmap_size_library = 0 |
|
|
|
|
|
|
|
# Number of bytes set aside for memory-mapped I/O for the cache database |
|
|
|
# (requires sqlite 3.7.17 or later) |
|
|
|
# 0: disables mmap (default), any other value > 0: number of bytes for mmap |
|
|
|
# pragma_mmap_size_cache = 0 |
|
|
|
|
|
|
|
# Should the database be vacuumed on startup? (increases startup time, |
|
|
|
# but may reduce database size). Default is yes. |
|
|
|
# vacuum = yes |
|
|
|
} |
|
|
|
|
|
|
|
# Streaming audio settings for remote connections (ie stream.mp3) |
|
|
|
streaming { |
|
|
|
# Sample rate, typically 44100 or 48000 |
|
|
|
# sample_rate = 44100 |
|
|
|
|
|
|
|
# Set the MP3 streaming bit rate (in kbps), valid options: 64 / 96 / 128 / 192 / 320 |
|
|
|
# bit_rate = 192 |
|
|
|
} |