Configuring players is now slighty different from previous versions. New configuration allows defining multiple sound players and virtual players. If parameter players is defined, the new format is used. If not, the old format used in previous versions is used. In the future, the new format will be default, and support for the old format may disappear completely in future GP versions.
The players parameter gives the names of players as a comma-separated list. In basic form for basic tests, it sound contain the default player 'player':
# List of players players=playerAn example about multiple players can been seen in the virtual players section.
Choices of devices for O2, Octane and Onyx2 systems include:
Set the device of the player by setting the device parameter in the test config file. Example:
# set output device players.player.device=ADAT Out
You should use a device that is not the same as the default device. The audio output of tools and programs (includes bells from the console and shells and window manager, web browsers, etc.) goes to the default device if output device is not specially set (usually isn't).
Multiple audio device output can be selected by writing the names of the audio devices to use separated with the slash-character ('/') in the device player parameter. For example, to use ADAT cards:
# set output device players.player.device=ADAT Out/ADAT Out 2To the GP system, the output looks like a single 16-channel output port with channels 1-8 going to 'ADAT Out' device and channels 9-16 to 'ADAT Out 2' device. Any output devices can be used. Currently, maximum number of audio devices is four.
The same sample rate is used for all devices, so all devices must support the sample rate used.
The number of channels should be left undefined when using multiple devices. The sound player then automatically uses the maximum number of channels for each device.
Set sampling rate of the player by setting the rate parameter in the test config file. Example:
# sampling rate of output players.player.rate=44100
The sample rate of the player and all the samples must be the same. If the sound player can not use some desired sample rate, samples should be converted to a rate supported by the device.
When using multiple devices, the same sample rate is used for all devices.
Set number of channels of the player by setting the channels parameter in the test config file. Example:
# number of channels (0/1/2/4/8, etc.) players.player.channels=2
If a sample has more channels than there are output channels, extra channels in the sample are ignored.
The buffer length is set with the buflen parameter in the test config file. The length is in sample frames. The length of 44100 corresponds to one second with the sample rate of 44.1kHz. Example:
# set mixing buffer length players.player.buflen=4096Sets the buffer length to 4096 sample frames (roughly 93ms with sample rate 44.1kHz).
Note: If a command was scheduled beforehand to start at a certain point of time, no delay is observed (sub-millisecond accuracy).
Configuration is similar to the configuration shown earlier. Usually, the channels to use for the VP and the 'parent' player of the VP. For example:
# List of players players=player,vp1,vp2,vp3 # Main player players.player.device=ADAT Out players.player.rate=44100 # Mono player, a single channel: channel 0 players.vp1.channel=0 players.vp1.parent=player # Stereo player, channel range: channels 1-2 players.vp2.channels=1-2 players.vp2.parent=player # 5-ch player, channel range: channels 3-7 players.vp3.channels=3-7 players.vp3.parent=playerThe players parameter contains the list of players used for the test. First is the default player 'player'. Virtual players (vp1-3) are virtual players. Each must define the parent parameter that sets which real player's channels to use. The channels parameter defines which channels of the parent to use for this VP. For virtual players with more than one channels, a range of channels is specified. A single channel player (vp1) can be defined with the parameter channel. The index of the channel to use is given as the parameter. Note that for single channel, parameter channel is used, with more channels, parameter channels is used. Also note that the indexing of channel numbers starts from zero.
Multiple audio devices can also be used with virtual players. For example, to add another virtual player with 8 channels (only the changes and additions to the example above are shown):
# List of players players=player,vp1,vp2,vp3,vp4 # Use multiple audio devices players.player.device=ADAT Out/ADAT Out 2 # ... parameters for VPs 1-3 ... # 8-ch player, channel range: channels 8-15 players.vp4.channels=8-15 players.vp4.parent=player
# Special options to player players.player.options=opt1name=opt1value,opt2nameGP's sound player recognizes two special options: rtpri and sndplaypath:
As an example, this option line sets both real-time priority and a non-default sndplay program:
# Special options to player. Set Real-time priority to 60 and # use command sndplay_nonrt instead of default player. players.player.options=rtpri=60,sndplaypath=sndplay_nonrtNote that these options only apply to the real or primary player. Virtual players ignore these options. Also, the newer form of player configuration supports additional options. Only one options-line is allowed per player, add multiple options by separating them with a comma.