55
58
/// show version and compiled-in features
56
59
void print_version_details()
58
std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
59
" It's ... " << std::flush;
65
std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
66
"It's ... " << std::flush;
70
std::cout << PACKAGE_STRING "\n" SSR_COPYRIGHT << std::endl;
74
std::cout << "\nFollowing compile-time features are activated: |"
65
", compiled in debug mode!"
67
"\n version " PACKAGE_VERSION
68
"\n Following compile-time features are activated:\n"
73
81
#ifdef ENABLE_IP_INTERFACE
76
84
#ifdef ENABLE_INTERSENSE
78
86
#ifdef HAVE_INTERSENSE_404
83
91
#endif // ENABLE_INTERSENSE
84
92
#ifdef ENABLE_POLHEMUS
90
98
#ifdef ENABLE_RAZOR
93
101
#ifdef ENABLE_ECASOUND
107
std::cout << "\n" SSR_AUTHORS "\n\n";
185
189
load_config_file(filename.c_str(),conf);
187
191
const std::string usage_string =
188
"\nUSAGE: " + conf.exec_name + " [OPTIONS] <scene-file>"
190
//" [-- <GUI options>]"
192
"Usage: " + std::string(argv[0]) + " [OPTIONS] <scene-file>\n";
194
194
const std::string help_string =
195
195
"\nThe SoundScape Renderer (SSR) is a tool for real-time "
196
196
"spatial audio reproduction\n"
197
197
"providing a variety of rendering algorithms.\n"
201
200
"Renderer-specific options:\n"
202
" --hrirs=FILE Load the HRIRs for binaural renderer from FILE\n"
203
" --hrir-size=VALUE Maximum IR length (binaural and BRS renderer)\n"
204
" --prefilter=FILE Load WFS prefilter from FILE\n"
205
"-o, --ambisonics-order=VALUE Ambisonics order to use (default: maximum)\n"
206
" --in-phase-rendering Use in-phase rendering for Ambisonics\n"
201
" --hrirs=FILE Load HRIRs for binaural renderer from FILE\n"
202
" --hrir-size=N Truncate HRIRs to length N\n"
203
" --prefilter=FILE\n"
204
" Load WFS prefilter from FILE\n"
205
" -o, --ambisonics-order=VALUE\n"
206
" Ambisonics order to use for AAP (default: maximum)\n"
207
" --in-phase-rendering\n"
208
" Use in-phase rendering for AAP renderer\n"
208
210
"JACK options:\n"
209
"-n, --name=NAME Set JACK client name to NAME\n"
210
" --input-prefix=PREFIX Input port prefix "
211
"(default: \"system:capture_\")\n"
212
" --output-prefix=PREFIX Output port prefix "
213
"(default: \"system:playback_\")\n"
214
"-f, --freewheel Use JACK in freewheeling mode\n"
211
" -n, --name=NAME Set JACK client name to NAME\n"
212
" --input-prefix=PREFIX\n"
213
" Input port prefix (default: \"system:capture_\")\n"
214
" --output-prefix=PREFIX\n"
215
" Output port prefix (default: \"system:playback_\")\n"
216
" -f, --freewheel Use JACK in freewheeling mode\n"
216
218
"General options:\n"
217
"-c, --config=FILE Read configuration from FILE\n"
218
"-s, --setup=FILE Load reproduction setup from FILE\n"
219
" --threads=N Number of audio threads (default N=1)\n"
220
"-r, --record=FILE Record the audio output of the renderer to FILE\n"
219
" -c, --config=FILE Read configuration from FILE\n"
220
" -s, --setup=FILE Load reproduction setup from FILE\n"
221
" --threads=N Number of audio threads (default: auto)\n"
222
" -r, --record=FILE Record the audio output of the renderer to FILE\n"
221
223
#ifndef ENABLE_ECASOUND
222
" (disabled at compile time!)\n"
224
" (disabled at compile time!)\n"
224
226
// TODO: --loop is a temporary option, should rather be done in scene file
225
" --loop Loop all audio files\n"
226
" --master-volume-correction=VALUE\n"
227
" Correction of the master volume in dB "
227
" --loop Loop all audio files\n"
228
" --master-volume-correction=VALUE\n"
229
" Correction of the master volume in dB "
228
230
"(default: 0 dB)\n"
229
231
#ifdef ENABLE_IP_INTERFACE
230
"-i, --ip-server[=PORT] Start IP server (default on)\n"
231
" A port can be specified: --ip-server=5555\n"
232
"-I, --no-ip-server Don't start IP server\n"
232
" -i, --ip-server[=PORT]\n"
233
" Start IP server (default on),\n"
234
" a port number can be specified (default 4711)\n"
235
" -I, --no-ip-server Don't start IP server\n"
234
"-i, --ip-server Start IP server (not enabled at compile time!)\n"
235
"-I, --no-ip-server Don't start IP server (default)\n"
237
" -i, --ip-server Start IP server (not enabled at compile time!)\n"
238
" -I, --no-ip-server Don't start IP server (default)\n"
238
"-g, --gui Start GUI (default)\n"
239
"-G, --no-gui Don't start GUI\n"
241
" -g, --gui Start GUI (default)\n"
242
" -G, --no-gui Don't start GUI\n"
241
"-g, --gui Start GUI (not enabled at compile time!)\n"
242
"-G, --no-gui Don't start GUI (default)\n"
244
" -g, --gui Start GUI (not enabled at compile time!)\n"
245
" -G, --no-gui Don't start GUI (default)\n"
244
247
#if defined(ENABLE_INTERSENSE) || defined(ENABLE_POLHEMUS) || defined(ENABLE_VRPN) || defined(ENABLE_RAZOR)
245
"-t, --tracker=TYPE Start tracker, possible value(s):"
248
" -t, --tracker=TYPE Select head tracker, possible value(s):\n"
246
250
#if defined(ENABLE_POLHEMUS)
259
" --tracker-port=PORT\n"
260
" A serial port can be specified, e.g. /dev/ttyS1\n"
263
" --tracker-port=PORT\n"
264
" Port name/number of head tracker, e.g. /dev/ttyS1\n"
262
"-t, --tracker Start tracker (not enabled at compile time!)\n"
266
" -t, --tracker Select tracker (not enabled at compile time!)\n"
264
"-T, --no-tracker Don't start tracker (default)\n"
266
"-h, --help Show this very help information. "
267
"You just typed that!\n"
268
"-v, --verbose Increase verbosity level (up to -vvv)\n"
269
"-V, --version Show version information and exit\n"
268
" -T, --no-tracker Don't use a head tracker (default)\n"
270
" -h, --help Show help and exit\n"
271
" -v, --verbose Increase verbosity level (up to -vvv)\n"
272
" -V, --version Show version information and exit\n"
272
274
#ifdef ENABLE_GUI