HQPlayer Embedded v5.x
Copyright (C) 1998 - 2026 Jussi Laako / Signalyst, <jussi.laako@signalyst.com>


0. LICENSE KEY INSTALLATION

License key file should be placed either as ~/.hqplayer/hqplayerd5-key.xml or
as /etc/hqplayer/hqplayerd5-key.xml
Alternatively license key can be provisioned using /key URL with the built-in
web server. This requires authentication to be provisioned, please see section
1.0 how to provision authentication information.


1. CONFIGURATION GUIDE

Configuration for the hqplayerd daemon can be found from
~/.hqplayer/hqplayerd.xml or /etc/hqplayer/hqplayerd.xml file.

Authentication data is stored in either
~/.hqplayer/hqplayerd-auth.xml or /etc/hqplayer/hqplayerd-auth.xml file.

Library data is stored in either
~/.hqplayer/library.xml or /etc/hqplayer/library.xml file.
For consistency, library data is always loaded and written to the same location
where configuration is loaded from.

Web configuration and other more sensitive web access is access controlled by
authentication data and not accessible unless authentication is properly
provisioned.

Web control interface by default is located at port 8088.

1.0 Provisioning
There are two ways to provision authentication information, locally or
remotely. To provision authentication information locally for the current
userid scope use
"hqplayerd -u <username> <password>"
or to provision authentication information locally for the system use
"hqplayerd -s <username> <password>"
this will write the authentication data, allowing use of functions requiring
authentication.
To provision authentication username/password remotely, first make sure
hqplayerd is unconfigured by removing or renaming both configuration and
authentication key files. Then go to the authenticatication web page "/auth"
and set username and password for the management user. Once the authentication
is provisioned, the configuration file can be either restored or configured
through the config web page.

1.1 Element "output"
Output type settings.

Attribute: type
Specifies type of output device.
Values:
	alsa	: Use ALSA hardware device
	network	: Use Signalyst Network Audio Adapter

1.2 Element "engine"
Player engine settings.

Attribute: auto_family
When automatic rate selection is enabled, select only multiples of the source
rate.
Values:
	0 : Disabled
	1 : Enabled

Attribute: cd_drive
Specifies CD drive device.

Attribute: channels
Number of channels to use.
Values:
	2 : Stereo
	6 : 5.1 surround
	8 : 7.1 surround
	16
	32

Attribute: cuda
Offload part of the processing to GPU using Nvidia CUDA.
Values:
	0 : Disabled
	1 : Enabled
	convolution : Convolution engine only

Attribute: cuda_dev
Default CUDA device id used for any GPU offloading if CUDA is enabled.
Set to -1 for automatic device selection.

Attribute: cuda_cdev
CUDA device id of the GPU used for offloading convolution if CUDA is enabled.
Set to -1 for automatic device selection.

Attribute: direct_sdm
Controls direct pass-through for SDM source content and extra processing like
volume control for PCM sources to SDM targets.
Values:
	0 : Disabled
	1 : Enabled

Attribute: dsd_6db
Apply 6 dB gain to DSD to PCM conversion.
Values:
	0 : Disabled
	1 : Enabled

Attribute: ecores
Control allocation of efficiency cores for offload purposes.
Values:
	default	: Default (normal) core allocation
	pool	: E-cores are allocated for generic DSP processing pool
	filter	: E-cores are allocated for rate conversion filters

Attribute: fft_size
Controls base size of filter used for FFT resampling filters.

Attribute: idle_time
Amount of time to keep engine idling once playback has ended. In milliseconds.

Attribute: multicore
Enables multicore processing splitting work to higher number of processing
units. Also used with GPU offload.
Values:
	auto : Automatic configuration
	0    : Disabled
	1    : Enabled

Attribute: nblocks
Number of blocks to process per iteration. Optimal value depends on CPU cache
size. Setting value to 0 uses default.

Attribute: pdm_conv
DSD to PCM conversion algorithm.
Values:
	0   : Traditional multi-stage
	1   : Single-pass steep
	2   : Single-pass normal
	3   : Linear-phase single-pass polyphase
	4   : Minimum-phase single-pass polyphase
	5   : Slow roll-off linear-phase single-pass polyphase
	6   : Slow roll-off minimum-phase single-pass polyphase
	7   : Extreme linear-phase single-pass polyphase
	8   : Extended very high-attenuation linear-phase single-pass polyphase
	9   : Million tap sinc-filter
	10  : sinc-filter with adaptive number of taps (4096 x ratio)
	11  : Slow roll-off extreme linear-phase single-pass polyphase
	12  : Very high attenuation Gaussian single-pass polyphase
	254 : No rate conversion

Attribute: pdm_filt
Noise filter for DSD to PCM conversion.
Values:
	0  : Standard
	1  : Low corner standard
	2  : Slow roll-off linear-phase
	3  : Slow roll-off minimum-phase
	4  : Fast roll-off linear-phase
	5  : Fast roll-off minimum-phase
	6  : High rate FIR
	7  : Moving average
	8  : Weighted element
	9  : Comb filter
	10 : High order
	11 : Weighted element 2
	12 : Medium roll-off linear-phase
	13 : Brickwall linear-phase

Attribute: pipelines
Number of DSP pipelines to allocation. At least maximum number of source
or output channels. Or number of matrix pipelines in use.

Attribute: playlist_album_gain
Playlist uses album gain instead of track gain?
Values:
	0 : Track gain
	1 : Album gain

Attribute: pre_before_meter
Perform pre-processing before metering, instead of performing pre-processing
after metering.
Values:
	0 : Pre-process after metering
	1 : Pre-process before metering

Attribute: quick_pause
Use simple silence pattern for quicker pause response time.
Values:
	0 : Disabled
	1 : Enabled

Attribute: removable
Path to removable auto-mount media.

Attribute: rocm
Offload part of the processing to GPU using AMD ROCm.
Values:
	0 : Disabled
	1 : Enabled
	convolution : Convolution engine only

Attribute: sdm_conversion
Type of SDM rate conversion.
Values:
	0 : Wide
	1 : Narrow
	2 : XFi

Attribute: sdm_integrator
Type of integrator used for SDM processing.
Values:
	0 : IIR
	1 : FIR
	2 : CIC
	3 : IIR2
	4 : IIR3
	5 : FIR2
	6 : FIR-bl
	7 : FIR-bw

Attribute: short_buffer
Set length of FIFO for faster control responses. More sensitive to drop-outs.
Values:
	0 : Normal
	1 : Short
	2 : Minimum

Attribute: volume_fixed
Use a special inter-sample overs optimized fixed volume setting.
Values:
	0 : Disabled
	1 : Enabled -3 dB
	2 : Enabled -6 dB

Attribute: volume_hw
Use hardware volume control (ALSA mixer) together with built-in digital volume
control.
Values:
	0 : Disabled
	1 : Enabled

Attribute: volume_adaptive
Use ReplayGain 2.0 metadata to offset the volume.
Values:
	0 : Disabled
	1 : Enabled

Attribute: volume_max
Maximum output volume setting in dB. Allows also positive values (gain).

Attribute: volume_min
Minimum output volume setting in dB.

Attribute: volume_scaler
Scaler for software/hardware volume when using hardware volume control to
retain processing headroom for output samples. Recommended value is 0.75.

1.3.1 Sub-element "defaults"
Default / target values.

Attribute: bitrate
SDM output target rate. Real value can be equal or lower when auto
rate-family is used.

Attribute: samplerate
PCM output target rate. Real value can be equal or lower when auto
rate-family is used.

Attribute: volume
Startup volume setting if defined.

1.3.2 Sub-element "alsa"
ALSA output settings.

Attribute: any_dsd
Allow any DSD base rate instead of being constrained to 44.1 kHz base rate.
Values:
	0 : Limited to 44.1 kHz base rate
	1 : Any base rate is allowed

Attribute: channel_offset
Base channel offset to transform channel maps.

Attribute: dac_bits
Number significant bits the DAC has, this is the dithering level.
Values:
	0  : Auto-detect
	>0 : Use N bits of the output word

Attribute: device
ALSA device name, should always be "hw:" device.

Attribute: dualwire
Use dualwire format, this doubles number of channels used. Each I2S line
represents a single channel instead of usual stereo pair.
Values:
	0 : Disable
	1 : Enable

Attribute: nperiods
Number of buffer blocks to use.
Values:
	0  : Default
	>1 : Number of buffer blocks

Attribute: pack_sdm
Pack SDM into PCM container.
Values:
	0 : None
	1 : DoP v1.1

Attribute: period_time
Size of audio device buffer block in milliseconds.
Values:
	0  : Default
	>0 : Buffer size in milliseconds

Attribute: volume_element
Name of the ALSA mixer element used for hardware volume control.

1.3.3 Sub-element "combo"
Combo output settings. This element holds set of sub-elements of type "alsa"
and/or type "network". These form a combined output device with as many
channels as sum of channels of the sub-elements.

Attribute: any_dsd
Allow any DSD base rate instead of being constrained to 44.1 kHz base rate.
Values:
	0 : Limited to 44.1 kHz base rate
	1 : Any base rate is allowed

1.3.4 Sub-element "network"
Signalyst Network Audio Adapter output settings.

Attribute: address
Name of the remote network audio adapter to be used.

Attribute: any_dsd
Allow any DSD base rate instead of being constrained to 44.1 kHz base rate.
Values:
	0 : Limited to 44.1 kHz base rate
	1 : Any base rate is allowed

Attribute: dac_bits
Number significant bits the DAC has, this is the dithering level.
Values:
	0  : Auto-detect
	>0 : Use N bits of the output word

Attribute: device
Remote device name.

Attribute: dualwire
Use dualwire format, this doubles number of channels used. Each I2S line
represents a single channel instead of usual stereo pair.
Values:
	0 : Disable
	1 : Enable

Attribute: ipv6
Enable/disable IPv6 support.
Values:
	0 : Disable
	1 : Enable (default)

Attribute: mcast_interface
Specify network interface name used for sending IPv4/IPv6 dual stack multicast
discovery messages.

Attribute: pack_sdm
Pack SDM into PCM container.
Values:
	0 : None
	1 : DoP v1.1

Attribute: period_time
Size of audio device buffer block in milliseconds.
Values:
	0  : Default
	>0 : Buffer size in milliseconds

Attribute: trigger
Type of start trigger used.
Values:
	none : No trigger, device is started as soon as enough data is received
	time : Time based trigger, start accuracy depends on the endpoint clock
	net  : Network multicast trigger, start accuracy depends on the network

1.3.5 Sub-element "input"
Audio input configuration. It is possible to have multiple inputs by using unique name
attribute for each input element.

Attribute: name
Friendly name of the input item.

Attribute: device
Input device identifier.

Attribute: samplerate
Sampling rate.
	0  : Auto-detection
	>0 : Specific input sampling rate

Attribute: channels
Number of channels.

Attribute: format
Input format:
	auto : Automatic mode
	pcm  : PCM input mode
	sdm  : SDM input mode

Attribute: period_time
Size of audio device buffer block in milliseconds.

Attribute: channel_offset
Channel offset of the first channel to be used in the channel array.

Attribute: sync_element
Identifier of the control element indicating detected input rate.

Attribute: sync_hctl
Use lower level control element to retrieve detected input rate. Only
necessary with hardware that doesn't actively advertise the rate changes.

Attribute: rate_element
Identifier of the input rate control element.

Attribute: script
A script or command to run when this input is selected.

1.4 Element "upnp"
Settings for UPnP Renderer functionality. To enable UPnP Renderer functionality
this element and the "interface" attribute needs to be defined.

Attribute: interface
Defines network interface id to be used for UPnP functionality. Or "auto" to
automatically attach to all physical interfaces.

1.4.1 Sub-element "mime"
Additional custom MIME types.

1.4.1.1 Sub-element "type"
Declares a single MIME type.

Attirbute: value
MIME type.

1.5 Element "pcm"
Settings for the PCM processing engine.

Attribute: filter
Default PCM resampling filter.
Values:
	0  : None
	1  : IIR
	2  : FIR
	3  : Asymmetric FIR
	4  : Minimum-phase FIR
	5  : FFT
	6  : Normal roll-off linear-phase polyphase
	7  : Normal roll-off minimum-phase polyphase
	8  : Slow roll-off linear-phase polyphase
	9  : Slow roll-off minimum-phase polyphase
	10 : ASRC
	11 : Polynomial interpolator type 1
	12 : Polynomial interpolator type 2
	13 : Linear-phase minimum-ringing FIR
	14 : Halfband polyphase
	15 : Extended polyphase
	16 : Closed form
	17 : Closed form fast
	18 : Linear-phase polyphase for MQA encoded or hires content
	19 : Minimum-phase polyphase for MQA encoded or hires content
	20 : Minimum-phase minimum-ringing FIR
	21 : Linear-phase extreme polyphase
	22 : Minimum-phase extreme polyphase
	23 : Closed form 1M taps
	24 : Extended polyphase with very high attenuation
	25 : Million tap sinc-filter
	26 : Fast roll-off linear-phase polyphase
	27 : Fast roll-off intermediate-phase polyphase
	28 : Fast roll-off minimum-phase polyphase
	29 : sinc-filter with adaptive number of taps (4096 x ratio)
	30 : sinc-filter with average attenuation, extremely fast roll-off,
	     and adaptive number of taps (131070 x conversion ratio)
	31 : Constant time sinc-filter with million taps at 16x output rates
	32 : Very steep extended polyphase with very high attenuation
	33 : Short linear-phase extreme polyphase
	34 : Short minimum-phase extreme polyphase
	35 : Short Gaussian polyphase
	36 : Gaussian polyphase
	37 : Long Gaussian polyphase
	38 : Extra long Gaussian polyphase
	39 : Apodizing extra long Gaussian polyphase
	40 : Apodizing linear-phase Gaussian polyphase for HiRes
	41 : Apodizing intermediate-phase Gaussian polyphase for HiRes
	42 : Apodizing minimum-phase Gaussian polyphase for HiRes
	43 : sinc-filter with average attenuation (4096 x ratio taps)
	44 : sinc-filter with average attenuation (16384 x ratio taps)
	45 : sinc-filter with average attenuation (65536 x ratio taps)
	46 : Gaussian constant time sinc-filter with million taps at
	     16x output rates
	47 : Apodizing Gaussian constant time sinc-filter with million
	     taps at 16x output rates
	48 : Short sinc-filter
	49 : Medium sinc-filter
	50 : Long sinc-filter
	51 : Gaussian halfband
	52 : Short Gaussian halfband
	53 : Extra short halfband polyphase
	54 : Short halfband polyphase
	55 : Medium halfband polyphase
	56 : Long halfband polyphase
	57 : IIR2
	58 : sinc-filter with improved attenuation (16384 x ratio taps)
	59 : Long sinc-filter with improved attenuation
	60 : Extended polyphase with slow roll-off and medium attenuation
	61 : Extended polyphase with medium roll-off  and high attenuation
	62 : Extended polyphase with fast roll-off and very high attenuation
	63 : Non-apodizing very steep extended polyphase with very high
	     attenuation
	64 : Linear-phase extended polyphase with medium roll-off and very
	     high attenuation for HiRes content
	65 : Intermediate-phase extended polyphase with medium roll-off and
	     very high attenuation for HiRes content
	66 : Minimum-phase extended polyphase with medium roll-off and very
	     high attenuation

Attribute: dither
Default dither / noise-shaper for PCM output.
Values:
	0 : None
	1 : First-order noise shaper
	2 : Fourth-order noise shaper
	3 : Ninth-order noise shaper
	4 : RPDF
	5 : TPDF
	6 : Frequency-shaped dither
	7 : Fifth-order noise shaper
	8 : Gaussian dither
	9 : 15th order linear noise shaper

Attribute: samplerate
Default output samplerate for PCM. 0 for automatic selection.

1.6 Element "sdm"
Settings for SDM processing engine.

Attribute: oversampling
Default oversampling type for SDM.
Values:
	0  : Normal roll-off linear-phase polyphase
	1  : Normal roll-off minimum-phase polyphase
	2  : Slow roll-off linear-phase polyphase
	3  : Slow roll-off minimum-phase polyphase
	4  : Linear-phase minimum-ringing FIR
	5  : Halfband polyphase
	6  : Normal roll-off linear-phase dual-cascade polyphase
	7  : Normal roll-off minimum-phase dual-cascade polyphase
	8  : Slow roll-off linear-phase dual-cascade polyphase
	9  : Slow roll-off minimum-phase dual-cascade polyphase
	10 : Halfband dual-cascade polyphase
	11 : Extended polyphase
	12 : Closed form
	13 : Closed form fast
	14 : Linear-phase polyphase for MQA encoded or hires content
	15 : Minimum-phase polyphase for MQA encoded or hires content
	16 : Minimum-phase minimum-ringing FIR
	17 : Linear-phase extreme polyphase
	18 : Minimum-phase extreme polyphase
	19 : Linear-phase dual-cascade extreme polyphase
	20 : Minimum-phase dual-cascade extreme polyphase
	21 : Closed form 16M taps
	22 : Extended polyphase with very high attenuation
	23 : Million tap sinc-filter
	24 : Fast roll-off linear-phase polyphase
	25 : Fast roll-off intermediate-phase polyphase
	26 : Fast roll-off minimum-phase polyphase
	27 : Fast roll-off linear-phase dual-cascade polyphase
	28 : Fast roll-off intermediate-phase dual-cascade polyphase
	29 : Fast roll-off minimum-phase dual-cascade polyphase
	30 : sinc-filter with adaptive number of taps (4096 x ratio)
	31 : sinc-filter with average attenuation, extremely fast roll-off,
	     and adaptive number of taps (131070 x conversion ratio)
	32 : Very steep extended polyphase with very high attenuation
	33 : Constant time sinc-filter with 4 million taps at DSD64 output rates
	34 : Short linear-phase extreme polyphase
	35 : Short minimum-phase extreme polyphase
	36 : Short linear-phase dual-cascade extreme polyphase
	37 : Short minimum-phase dual-cascade extreme polyphase
	38 : Short Gaussian polyphase
	39 : Gaussian polyphase
	40 : Long Gaussian polyphase
	41 : Extra long Gaussian polyphase
	42 : Apodizing extra long Gaussian polyphase
	43 : Apodizing linear-phase Gaussian polyphase for HiRes
	44 : Apodizing intermediate-phase Gaussian polyphase for HiRes
	45 : Apodizing minimum-phase Gaussian polyphase for HiRes
	46 : sinc-filter with average attenuation (4096 x ratio taps)
	47 : sinc-filter with average attenuation (16384 x ratio taps)
	48 : sinc-filter with average attenuation (65536 x ratio taps)
	49 : Gaussian constant time sinc-filter with 4 million taps at
	     DSD64 output rates
	50 : Apodizing Gaussian constant time sinc-filter with 4 million
	     taps at DSD64 output rates
	51 : Short sinc-filter
	52 : Medium sinc-filter
	53 : Long sinc-filter
	54 : Gaussian halfband
	55 : Short Gaussian halfband
	56 : Extra short halfband polyphase
	57 : Short halfband polyphase
	58 : Medium halfband polyphase
	59 : Long halfband polyphase
	60 : FFT
	61 : FIR
	62 : Asymmetric FIR
	63 : Minimum-phase FIR
	64 : IIR
	65 : IIR2
	66 : Polynomial interpolator type 1
	67 : Polynomial interpolator type 2
	68 : sinc-filter with improved attenuation (16384 x ratio taps)
	69 : Long sinc-filter with improved attenuation
	70 : Extended polyphase with slow roll-off and medium attenuation
	71 : Extended polyphase with medium roll-off  and high attenuation
	72 : Extended polyphase with fast roll-off and very high attenuation
	73 : Non-apodizing very steep extended polyphase with very high
	     attenuation
	74 : Linear-phase extended polyphase with medium roll-off and very
	     high attenuation for HiRes content
	75 : Intermediate-phase extended polyphase with medium roll-off and
	     very high attenuation for HiRes content
	76 : Minimum-phase extended polyphase with medium roll-off and very
	     high attenuation

Attribute: modulator
Default modulator type for SDM.
Values:
	0 : Rate-adaptive fifth-order
	1 : Revised fifth-order
	2 : Seventh-order
	3 : Revised fifth-order optimized for >= 256x rates
	4 : Seventh-order optimized for >= 256x rates
	5 : Fifth-order adaptive
	6 : Seventh-order adaptive
	7 : Seventh-order adaptive m-bit
	8 : Seventh-order five level hybrid with extended compensation
	    for >= 1024x rates
	9 : Rate-adaptive fifth-order with extended compensation
	10 : Fifth-order adaptive with extended compensation
	11 : Seventh-order adaptive with extended compensation
	12 : Seventh-order adaptive m-bit with extended compensation
	13 : Fifth-order adaptive with extended compensation v2
	14 : Seventh-order adaptive with extended compensation v2
	15 : Fifth-order adaptive with extended compensation v3
	16 : Seventh-order adaptive with extended compensation v3
	17 : Light fifth-order with extended compensation
	18 : Light seventh-order with extended compensation
	19 : Super fifth-order with extended compensation
	20 : Super seventh-order with extended compensation
	21 : Light fifth-order with extended compensation for >= 512x rates
	22 : Light seventh-order with extended compensation for >= 512x rates
	23 : Super fifth-order with extended compensation for >= 512x rates
	24 : Super seventh-order with extended compensation for >= 512x rates
	25 : Seventh-order 8-bit hybrid with extended compensation
	     for >= 1024x rates
	26 : Fifth-order five level hybrid with extended compensation
	     for >= 1024x rates
	27 : Fifth-order 8-bit hybrid with extended compensation
	     for >= 1024x rates
	28 : Ultralight fifth order with extended compensation
	29 : Ultralight seventh order with extended compensation
	30 : Ultralight fifth order with extended compensation
	     for >= 512x rates
	31 : Ultralight seventh order with extended compensation
	     for >= 512x rates

Attribute: bitrate
Default output samplerate for SDM. 0 for automatic selection.

1.7 Element "mode"
Engine mode selection.

Attribute: value
Engine output mode.
Values:
	pcm  : PCM output
	sdm  : SDM output
	auto : Automatic switching

1.8 Element "title"
Human readable title for this player instance.

Attribute: value
Title string.

1.9 Element "speakers"
Multi-channel speaker configuration.

Attribute: enabled
Enable/disable speaker processing.
Values:
	0 : Disabled
	1 : Enabled

1.9.1 Sub-element "speaker"
Declares a single speaker.

Attribute: channel
Channel number.

Attribute: distance
Distance of the speaker in centimeters.

Attribute: level
Channel level in dB.

1.10 Element "convolution"
Convolution engine configuration.

Attribute: enabled
Enable/disable convolution engine.
Values:
	0 : Disabled
	1 : Enabled

Attribute: engine
Convolution engine type.
Values:
	0 : Overlap-save
	1 : Overlap-add

Attribute: expand_hf
Enable/disable filter high frequency expansion to cover new Nyquist bandwidth.
Values:
	0 : Disabled
	1 : Enabled

Attribute: gain_comp
Convolution engine gain compensation to offset filter gain in dB.

1.10.1 Sub-element "impulse"
Declares filter for a single channel.

Attribute: channel
Channel number.

Attribute: wav
Mono WAV file containing the filter.

1.11 Element "matrix"
Configuration for the matrix processing.

Attribute: enabled
Matrix processing enable/disable switch.
Values:
	0 : Disabled
	1 : Enabled

Attribute: engine
Convolution engine type.
Values:
	0 : Overlap-save
	1 : Overlap-add

Attribute: expand_hf
Enable/disable filter high frequency expansion to cover new Nyquist bandwidth.
Values:
	0 : Disabled
	1 : Enabled

Attribute: iir2fir
Convert parametric EQs to a convolution EQ.
Values:
	0 : Disabled
	1 : Direct conversion, retain minimum-phase
	2 : Convert to linear-phase

1.11.1 Sub-element "pipeline"
Description of a virtual channel / processing pipeline.

Attribute: channel
Number of the virtual channel.

Attribute: source
Number of the source / input channel from where the data is copied from.

Attribute: gain
Amount of gain to be applied to the virtual channel, in dBFS.

Attribute: mixdown
Number of target / output channel where the output is mixed to.

Attribute: process
Comma separated list of processing to be applied to the virtual channel.
Either plugin parameter syntax, or file name(s) of filter impulse response WAV
file(s).
Plugin syntax: <plugin>:[arg1[=val]];[arg2[=val]];...;[argn[=val]]
Plugin "iir" arguments:
	type=lp|lp1|hp|hp1|bp|ap|notch|peak|lshelf|hshelf|biquad
	f=<frequency>
	bw=<bandwidth>
	s=<slope>
	q=<Q>
	g=<gain dB>
	b0=<b0>
	b1=<b1>
	b2=<b2>
	a0=<a0>
	a1=<a1>
	a2=<a2>
Plugin "riaa" arguments:
	subsonic=<0|1>
Plugin "delay" arguments:
	v=<velocity m/s>
	s=<delay samples>
	t=<delay time seconds>
	d=<delay in distance meters>

1.11.2 Sub-element "post_process"
List of post-processing plugins operating on output mix bus.

1.11.2.1 Sub-element "plugin"
Configuration of a post-process plugin.

Attribute: dac
Applies to correction plugin. Defines the DAC model for correction.

Attribute: dac0..dacN
Applies to correction plugin. Defines DAC model per sub-backend on combo.

Attribute: enabled
Enable/disable a plugin.
Values:
	0 : Disabled
	1 : Enabled

Attribute: frequency
Applies to Bauer cross-feed plugin. Sets cross-feed cross-over filter
frequency, in integer Hz.

Attribute: high_frequency
Applies to loudness plugin. Treble adjustemnt corner frequency in Hz.

Attribute: high_level
Applies to loudness plugin. Treble adjustment level in dB.

Attribute: high_steepness
Applies to loudness plugin. Treble adjustment slope factor.

Attribute: high_type
Applies to loudness plugin. Treble adjustment filter type.
Values:
	hshelf	: High shelf
	peak	: Peak with bandwidth
	peakq	: Peak with Q

Attribute: level
Applies to Bauer cross-feed plugin. Sets cross-feed level, in decimal dB.

Attribute: low_frequency
Applies to loudness plugin. Bass adjustemnt corner frequency in Hz.

Attribute: low_level
Applies to loudness plugin. Bass adjustment level in dB.

Attribute: low_steepness
Applies to loudness plugin. Bass adjustment slope factor.

Attribute: low_type
Applies to loudness plugin. Bass adjustment filter type.
Values:
	lshelf	: Low shelf
	peak	: Peak with bandwidth
	peakq	: Peak with Q

Attribute: preset
Applies to Bauer cross-feed plugin. Sets one of the available presets.
Values:
	default	: Default parameters
	cmoy	: Chu Moy's parameters
	jmeier	: Jan Meier's parameters
	custom	: Custom parameters accroding to frequency and level

Attribute: range_low
Applies to loudness plugin. Loudness range lower bound at which maximum
level is reached.

Attribute: range_high
Applies to loudness plugin. Loudness range higher bound at which minimum
level is reached.

Attribute: type
Type of plugin configuration applies to.
Values:
	bauer	 : Bauer headphone cross-feed
	loudness : Loudness

1.12 Element "matrix_profile"
Selectable profile for pipeline matrix. For details, see section 1.11. This
element doesn't have attribute "enabled", but has attribute "name".

Attribute: name
Name used to differentiate and select the profile.

1.13 Element "fixed"
Fixed value settings that user cannot change on the fly.

Attribute: volume
Fixed volume setting, in dBFS.

1.14 Element "web"
Web interface configuration.

Attribute: port
Port number to listen.

Attribute: css
Stylesheet (CSS) file name to use.

Attribute: default_cover
File name of default cover image.

1.15 Element "log"
Log file configuration.

Attribute: enabled
Log file enable/disable switch.
Values:
	0 : Disabled
	1 : Enabled

Attribute: file
[optional] Full path and name of the log file. If not defined, stderr output
is used and captured to systemd journal when running as a service.

1.16 Element "library"
Content library settings.

Attribute: path
Directory path to the default content root used for scanning.


2. COMMAND LINE ARGUMENTS

	-D or --daemon		: daemonize (start detached in background)
	-p or --pidfile		: create PID file

When enabled, pid file will be created as /var/run/hqplayerd.pid


3. ENVIRONMENT VARIABLES

3.1 HQPLAYER_IPV6
Enable/disable IPv6 support in control interface.
Values:
	0 : Disable
	1 : Enable (default)

3.2 HQPLAYER_EXTRAIN_ID
Additional input device id.

3.3 HQPLAYER_EXTRAIN_FRIENDLY
Friendly name for additional input device.

3.4 HQPLAYER_EXTRAOUT_ID
Additional output device id.

3.5 HQPLAYER_EXTRAOUT_FRIENDLY
Friendly name for additional output device.

3.6 HQPLAYER_BUFFER_TIME
Size of buffer in milliseconds.

3.7 HQPLAYER_IDLE_MARGIN
Idle margin portion of buffer in milliseconds.

3.8 HQPLAYER_IDLE_TIME
Amount of time to run idle in milliseconds.

3.9 HQPLAYER_RAW_DIRECT
Enable/disable direct (non-buffered) local raw streams.

3.9 HQPLAYER_RESET_SDM
Enable/disable SDM reset processing on playlist.

3.10 HQPLAYER_MP3_DECODER
Select MP3 decoder algorithm.

3.11 HQPLAYER_MP3_FLOAT
Force MP3 floating point output.

3.12 DSP_ACCELERATION
Enable/disable acceleration support.


4. OTHER LICENSES

4.1 Botan

Copyright (C) 1999-2023 The Botan Authors
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions, and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions, and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


4.2 FLAC

Copyright (C) 2000-2009  Josh Coalson
Copyright (C) 2011-2025  Xiph.Org Foundation

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


4.3 WavPack

Copyright (c) 1998 - 2025 David Bryant
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of Conifer Software nor the names of its contributors
      may be used to endorse or promote products derived from this software
      without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


4.4 bs2b

Copyright (c) 2005 Boris Mikhaylov

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


4.5 ChaCha20

Copyright (C) 2022 Marc Izquierdo

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


4.6 mpg123

Copyright (c) 1995-2025 by Michael Hipp and others,
free software under the terms of the LGPL v2.1

There is an attempt to cover the actual list of authors in the AUTHORS file.
Project maintainer since 2006 is Thomas Orgis and many people have contributed
since the Michael Hipp era, but he stays the initial source and it would
be impractical to count them all individually, so it's "and others".
Source files contain the phrase "the mpg123 project" to the same effect
in their license boilerplate; especially those that were added after
maintainership changed. The person mainly responsible for the first version
is usually named in the phrase "initially written by ...".

All files in the distribution that don't carry a license note on their own are
licensed under the terms of the LGPL 2.1; exceptions may apply, especially to
files not in the official distribution but in the revision control repository.


4.7 LAME
               LAME Ain't an MP3 Encoder
                  http://lame.sf.net
                          May 2011

Originally developed by Mike Cheng (www.uq.net.au/~zzmcheng) and was
latter developed by Mark Taylor (www.mp3dev.org). Currently maintained
by The LAME Project.

This code is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
(LGPL, see www.gnu.org), version 2.

Copyrights (c) 1999-2011 by The LAME Project
Copyrights (c) 1999,2000,2001 by Mark Taylor
Copyrights (c) 1998 by Michael Cheng
Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib

As well as additional copyrights as documented in the source code.


4.8 zlib

(C) 1995-2022 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty.  In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
   misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly        Mark Adler
jloup@gzip.org          madler@alumni.caltech.edu

