Support device enumeration with mmdevapi
[openal-soft.git] / alsoftrc.sample
blob0f3ceb59a119470a1df1428234942acd49d1291b
1 # OpenAL config file. Options that are not under a block or are under the
2 # [general] block are for general, non-backend-specific options. Blocks may
3 # appear multiple times, and duplicated options will take the last value
4 # specified.
5 # The system-wide settings can be put in /etc/openal/alsoft.conf and user-
6 # specific override settings in ~/.alsoftrc.
7 # For Windows, these settings should go into %AppData%\alsoft.ini
8 # The environment variable ALSOFT_CONF can be used to specify another config
9 # override
11 # Option and block names are case-insenstive. The supplied values are only
12 # hints and may not be honored (though generally it'll try to get as close as
13 # possible). Note: options that are left unset may default to app- or system-
14 # specified values. These are the current available settings:
16 ## channels:
17 #  Sets the output channel configuration. If left unspecified, one will try to
18 #  be detected from the system, and defaulting to stereo. The available values
19 #  are: mono, stereo, quad, surround51, surround61, surround71
20 #channels = stereo
22 ## sample-type:
23 #  Sets the output sample type. Currently, all mixing is done with 32-bit float
24 #  and converted to the output sample type as needed. Available values are:
25 #  int8    - signed 8-bit int
26 #  uint8   - unsigned 8-bit int
27 #  int16   - signed 16-bit int
28 #  uint16  - unsigned 16-bit int
29 #  int32   - signed 32-bit int
30 #  uint32  - unsigned 32-bit int
31 #  float32 - 32-bit float
32 #sample-type = float32
34 ## hrtf:
35 #  Enables HRTF filters. These filters provide for better sound spatialization
36 #  while using headphones. The default filter will only work when output is
37 #  44100hz stereo. While HRTF is active, the cf_level option is disabled.
38 #  Default is disabled since stereo speaker output quality may suffer.
39 #hrtf = false
41 ## cf_level:
42 #  Sets the crossfeed level for stereo output. Valid values are:
43 #  0 - No crossfeed
44 #  1 - Low crossfeed
45 #  2 - Middle crossfeed
46 #  3 - High crossfeed (virtual speakers are closer to itself)
47 #  4 - Low easy crossfeed
48 #  5 - Middle easy crossfeed
49 #  6 - High easy crossfeed
50 #  Users of headphones may want to try various settings. Has no effect on non-
51 #  stereo modes.
52 #cf_level = 0
54 ## frequency:
55 #  Sets the output frequency.
56 #frequency = 44100
58 ## resampler:
59 #  Selects the resampler used when mixing sources. Valid values are:
60 #  point - nearest sample, no interpolation
61 #  linear - extrapolates samples using a linear slope between samples
62 #  cubic - extrapolates samples using a Catmull-Rom spline
63 #  Specifying other values will result in using the default (linear).
64 #resampler = linear
66 ## rt-prio:
67 #  Sets real-time priority for the mixing thread. Not all drivers may use this
68 #  (eg. PortAudio) as they already control the priority of the mixing thread.
69 #  0 and negative values will disable it. Note that this may constitute a
70 #  security risk since a real-time priority thread can indefinitely block
71 #  normal-priority threads if it fails to wait. As such, the default is
72 #  disabled.
73 #rt-prio = 0
75 ## period_size:
76 #  Sets the update period size, in frames. This is the number of frames needed
77 #  for each mixing update.
78 #period_size = 1024
80 ## periods:
81 #  Sets the number of update periods. Higher values create a larger mix ahead,
82 #  which helps protect against skips when the CPU is under load, but increases
83 #  the delay between a sound getting mixed and being heard.
84 #periods = 4
86 ## sources:
87 #  Sets the maximum number of allocatable sources. Lower values may help for
88 #  systems with apps that try to play more sounds than the CPU can handle.
89 #sources = 256
91 ## stereodup:
92 #  Sets whether to duplicate stereo sounds behind the listener. This provides a
93 #  "fuller" playback quality for surround sound output modes, although each
94 #  individual speaker will have a slight reduction in volume to compensate for
95 #  the extra output speakers. True, yes, on, and non-0 values will duplicate
96 #  stereo sources. 0 and anything else will cause stereo sounds to only play in
97 #  front. This only has an effect when a suitable output format is used (ie.
98 #  those that contain side and/or rear speakers).
99 #stereodup = true
101 ## drivers:
102 #  Sets the backend driver list order, comma-seperated. Unknown backends and
103 #  duplicated names are ignored. Unlisted backends won't be considered for use
104 #  unless the list is ended with a comma (eg. 'oss,' will list OSS first
105 #  followed by all other available backends, while 'oss' will list OSS only).
106 #  Backends prepended with - won't be available for use (eg. '-oss,' will allow
107 #  all available backends except OSS). An empty list means the default.
108 #drivers = pulse,alsa,core,oss,solaris,sndio,mmdevapi,dsound,winmm,port,opensl,null,wave
110 ## excludefx:
111 #  Sets which effects to exclude, preventing apps from using them. This can
112 #  help for apps that try to use effects which are too CPU intensive for the
113 #  system to handle. Available effects are: eaxreverb,reverb,echo,modulator,
114 #  dedicated
115 #excludefx =
117 ## slots:
118 #  Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
119 #  can use a non-negligible amount of CPU time if an effect is set on it even
120 #  if no sources are feeding it, so this may help when apps use more than the
121 #  system can handle.
122 #slots = 4
124 ## sends:
125 #  Sets the number of auxiliary sends per source. When not specified (default),
126 #  it allows the app to request how many it wants. The maximum value currently
127 #  possible is 4.
128 #sends =
130 ## layout:
131 #  Sets the virtual speaker layout. Values are specified in degrees, where 0 is
132 #  straight in front, negative goes left, and positive goes right. Unspecified
133 #  speakers will remain at their default positions (which are dependant on the
134 #  output format). Available speakers are back-left(bl), side-left(sl), front-
135 #  left(fl), front-center(fc), front-right(fr), side-right(sr), back-right(br),
136 #  and back-center(bc).
137 #layout =
139 ## layout_*:
140 #  Channel-specific layouts may be specified to override the layout option. The
141 #  same speakers as the layout option are available, and the default settings
142 #  are shown below.
143 #layout_STEREO = fl=-30, fr=30
144 #layout_QUAD   = fl=-45, fr=45, bl=-135, br=135
145 #layout_51CHN  = fl=-30, fr=30, fc=0, bl=-110, br=110
146 #layout_61CHN  = fl=-30, fr=30, fc=0, sl=-90, sr=90, bc=180
147 #layout_71CHN  = fl=-30, fr=30, fc=0, sl=-90, sr=90, bl=-150, br=150
149 ## default-reverb:
150 #  A reverb preset that applies by default to all sources on send 0
151 #  (applications that set their own slots on send 0 will override this).
152 #  Available presets are: Generic, PaddedCell, Room, Bathroom, Livingroom,
153 #  Stoneroom, Auditorium, ConcertHall, Cave, Arena, Hangar, CarpetedHallway,
154 #  Hallway, StoneCorridor, Alley, Forest, City, Moutains, Quarry, Plain,
155 #  ParkingLot, SewerPipe, Underwater, Drugged, Dizzy, Psychotic. Optionally,
156 #  the __ALSOFT_DEFAULT_REVERB env var may be set before running the app
157 #  instead.
158 #default-reverb =
160 ## trap-alc-error:
161 #  Generates a SIGTRAP signal when an ALC device error is generated, on systems
162 #  that support it. This helps when debugging, while trying to find the cause
163 #  of a device error. On Windows, a breakpoint exception is generated.
164 #  Optionally, the __ALSOFT_TRAP_ALC_ERROR env var may be set before running
165 #  the app instead.
166 #trap-alc-error = false
168 ## trap-al-error:
169 #  Generates a SIGTRAP signal when an AL context error is generated, on systems
170 #  that support it. This helps when debugging, while trying to find the cause
171 #  of a context error. On Windows, a breakpoint exception is generated.
172 #  Optionally, the __ALSOFT_TRAP_AL_ERROR env var may be set before running the
173 #  app instead.
174 #trap-al-error = false
177 ## Reverb effect stuff (includes EAX reverb)
179 [reverb]
181 ## boost:
182 #  A global amplification for reverb output, expressed in decibels. The value
183 #  is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
184 #  scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
185 #  value of 0 means no change.
186 #boost = 0
188 ## emulate-eax:
189 #  Allows the standard reverb effect to be used in place of EAX reverb. EAX
190 #  reverb processing is a bit more CPU intensive than standard, so this option
191 #  allows a simpler effect to be used at the loss of some quality.
192 #emulate-eax = false
195 ## ALSA backend stuff
197 [alsa]
199 ## device:
200 #  Sets the device name for the default playback device.
201 #device = default
203 ## device-prefix:
204 #  Sets the prefix used by the discovered (non-default) playback devices. This
205 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
206 #  device index for the requested device name.
207 #device-prefix = plughw:
209 ## device-prefix-*:
210 #  Card- and device-specific prefixes may be used to override the device-prefix
211 #  option. The option may specify the card id (eg, device-prefix-NVidia), or
212 #  the card id and device index (eg, device-prefix-NVidia-0). The card id is
213 #  case-sensitive.
214 #defice-prefix- =
216 ## capture:
217 #  Sets the device name for the default capture device.
218 #capture = default
220 ## capture-prefix:
221 #  Sets the prefix used by the discovered (non-default) capture devices. This
222 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
223 #  device number for the requested device name.
224 #capture-prefix = plughw:
226 ## capture-prefix-*:
227 #  Card- and device-specific prefixes may be used to override the
228 #  capture-prefix option. The option may specify the card id (eg,
229 #  capture-prefix-NVidia), or the card id and device index (eg,
230 #  capture-prefix-NVidia-0). The card id is case-sensitive.
231 #capture-prefix- =
233 ## mmap:
234 #  Sets whether to try using mmap mode (helps reduce latencies and CPU
235 #  consumption). If mmap isn't available, it will automatically fall back to
236 #  non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
237 #  and anything else will force mmap off.
238 #mmap = true
241 ## OSS backend stuff
243 [oss]
245 ## device:
246 #  Sets the device name for OSS output.
247 #device = /dev/dsp
249 ## capture:
250 #  Sets the device name for OSS capture.
251 #capture = /dev/dsp
254 ## Solaris backend stuff
256 [solaris]
258 ## device:
259 #  Sets the device name for Solaris output.
260 #device = /dev/audio
263 ## MMDevApi backend stuff
265 [mmdevapi]
268 ## DirectSound backend stuff
270 [dsound]
273 ## Windows Multimedia backend stuff
275 [winmm]
278 ## PortAudio backend stuff
280 [port]
282 ## device:
283 #  Sets the device index for output. Negative values will use the default as
284 #  given by PortAudio itself.
285 #device = -1
287 ## capture:
288 #  Sets the device index for capture. Negative values will use the default as
289 #  given by PortAudio itself.
290 #capture = -1
293 ## PulseAudio backend stuff
295 [pulse]
297 ## spawn-server:
298 #  Attempts to spawn a PulseAudio server when requesting to open a PulseAudio
299 #  device. Note that some apps may open and probe all enumerated devices on
300 #  startup, causing a server to spawn even if a PulseAudio device is not
301 #  actually selected. Setting autospawn to false in Pulse's client.conf will
302 #  still prevent autospawning even if this is set to true.
303 #spawn-server = false
306 ## Wave File Writer stuff
308 [wave]
310 ## file:
311 #  Sets the filename of the wave file to write to. An empty name prevents the
312 #  backend from opening, even when explicitly requested.
313 #  THIS WILL OVERWRITE EXISTING FILES WITHOUT QUESTION!
314 #file =