# A quick guide to configuring forked-daapd:
#
# For regular use, the most important setting to configure is "directories",
# which should be the location of your media. Whatever user you have set as
# "uid" must have read access to this location. If the location is a network
# mount, please see the README.
#
# In all likelihood, that's all you need to do!

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
	uid = "daapd"

	# Database location
	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"

	# Enable/disable IPv6
	ipv6 = no

	# Location of cache database
	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
}

# Library configuration
library {
	# Name of the library as displayed by the clients
	# %h: hostname, %v: version
	name = "My Music on %h"

	# TCP port to listen on. Default port is 3689 (daap)
	port = 3689

	# Password for the library. Optional.
#	password = ""

	# Directories to index
	directories = { "/srv/music" }

	# 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 
	# 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)
	podcasts = { "/Podcasts" }

	# 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 
	# 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 
	# 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
	# (changing this setting only takes effect after rescan, see the README)
	compilation_artist = "Various artists"

	# Internet streams in your playlists will by default be shown in the
	# "Radio" library, like iTunes does. However, some clients (like
	# TunesRemote+) won't show the "Radio" library. If you would also like
	# 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.
#	name_library    = "Library"
#	name_music      = "Music"
#	name_movies     = "Movies"
#	name_tvshows    = "TV Shows"
#	name_podcasts   = "Podcasts"
#	name_audiobooks = "Audiobooks"
#	name_radio      = "Radio"

	# Artwork file names (without file type extension)
	# forked-daapd will look for jpg and png files with these base names
#	artwork_basenames = { "artwork", "cover", "Folder" }

	# Enable searching for artwork corresponding to each individual media
	# file instead of only looking for album artwork. This is disabled by
	# default to reduce cache size.
#	artwork_individual = false

	# 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" }

	# File paths the scanner should ignore
	# If you want to exclude files on a more advanced basis you can enter
	# one or more POSIX regular expressions, and any file with a matching
	# path will be ignored.
#	filepath_ignore = { "myregex" }

	# Disable startup file scanning
	# When forked-daapd starts it will do an initial file scan of your
	# library (and then watch it for changes). If you are sure your library
	# never changes while forked-daapd is not running, you can disable the
	# initial file scan and save some system ressources. Disabling this scan
	# may lead to forked-daapd's database coming out of sync with the
	# library. If that happens read the instructions in the README on how
	# to trigger a rescan.
#	filescan_disable = false

	# Should iTunes metadata override ours?
#	itunes_overrides = false

	# 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" }
}

# Local audio output
audio {
	# Name - used in the speaker list in Remote
	nickname = "OpenWrt"

	# Audio device name for local audio output
#	card = "default"

	# Mixer channel to use for volume control - ALSA/Linux only
	# If not set, PCM will be used if available, otherwise Master.
#	mixer = ""
}

# AirPlay/Airport Express device settings
# (make sure you get the capitalization of the device name right)
#airplay "My AirPlay device" {
	# forked-daapd's volume goes to 11! If that's more than you can handle
	# you can set a lower value here
#	max_volume = 11

	# AirPlay password
#	password = "s1kr3t"
#}

# 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. 
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 
#	pragma_journal_mode = DELETE
	
	# Change the setting of the "synchronous" flag
	# 0: OFF, 1: NORMAL, 2: FULL (default)
#	pragma_synchronous = 2

	# Should the database be vacuumed on startup? (increases startup time,
	# but may reduce database size). Default is yes.
#	vacuum = yes
}

