.description="Space-separated list of path to metadata files for ISM/MASA/OMASA/\nOSBA/BINAURAL_SPLIT_PCM inputs. \nFor OMASA, ISM files must be specified first.",
.description="Input sampling rate in kHz (16, 32, 48) - required only with raw\nPCM inputs",
},
{
.id=CmdLnOptionId_trajFile,
.match="trajectory_file",
.matchShort="T",
.placeholder="<path>",
.description="Head rotation trajectory file for simulation of head tracking\n(only for binaural outputs)",
},
{
.id=CmdLnOptionId_outputMetadata,
.match="output_metadata",
.matchShort="om",
.placeholder="<path>",
.description="coded metadata file for BINAURAL_SPLIT_PCM output mode",
},
{
.id=CmdLnOptionId_SplitRendBFIFile,
.match="post_rend_bfi_file",
.matchShort="prbfi",
.placeholder="<path>",
.description="Split rendering option: bfi file",
},
{
.id=CmdLnOptionId_refRotFile,
.match="reference_rotation_file",
.matchShort="rf",
.placeholder="<path>",
.description="Reference rotation trajectory file for simulation of head tracking\n(only for binaural outputs)",
},
{
.id=CmdLnOptionId_customHrtfFile,
.match="custom_hrtf",
.matchShort="hrtf",
.placeholder="<path>",
.description="Custom HRTF file for binaural rendering\n(only for binaural outputs)",
},
{
.id=CmdLnOptionId_renderConfigFile,
.match="render_config_parameters",
.matchShort="render_config",
.placeholder="<path>",
.description="Binaural renderer configuration parameters in file\n(only for binaural outputs)",
},
{
.id=CmdLnOptionId_nonDiegeticPan,
.match="non_diegetic_panning",
.matchShort="non_diegetic_pan",
.placeholder="<value>",
.description="Panning mono non diegetic sound to stereo -90<= pan <= 90\nleft or l or 90->left, right or r or -90->right,\ncenter or c or 0 ->middle",
},
{
.id=CmdLnOptionId_orientationTracking,
.match="tracking_type",
.matchShort="otr",
.placeholder="<type>",
.description="Head orientation tracking type: 'none', 'ref', 'avg' or `ref_vec`\nor `ref_vec_lev` (only for binaural outputs)",
},
{
.id=CmdlnOptionId_lfePosition,
.match="lfe_position",
.matchShort="lp",
.placeholder="<gain>,<azi>,<ele>",
.description="Output LFE position. Comma-delimited triplet of [gain, azimuth,\nelevation] where gain is linear (like --gain, -g) and azimuth,\nelevation are in degrees. If specified, overrides the default\nbehavior which attempts to map input to output LFE channel(s)",
},
{
.id=CmdlnOptionId_lfeMatrix,
.match="lfe_matrix",
.matchShort="lm",
.placeholder="<path>",
.description="LFE panning matrix. File (CSV table) containing a matrix of\ndimensions [ num_input_lfe x num_output_channels ] with elements\nspecifying linear routing gain (like --gain, -g). If specified,\noverrides the output LFE position option and the default\nbehavior which attempts to map input to output LFE channel(s)",
.description="Reference vector trajectory file for simulation of head tracking\n(only for binaural outputs)",
},
{
.id=CmdLnOptionId_exteriorOrientationFile,
.match="exterior_orientation_file",
.matchShort="exof",
.placeholder="<path>",
.description="External orientation trajectory file for simulation of external\norientations",
},
{
.id=CmdLnOptionId_framing,
.match="framing",
.matchShort="fr",
.description="Set Render audio framing.",
.placeholder="<duration>",
.description="Set render audio framing in ms",
},
{
.id=CmdLnOptionId_syncMdDelay,
.match="sync_md_delay",
.matchShort="smd",
.placeholder="<duration>",
.description="Metadata Synchronization Delay in ms, Default is 0. Quantized by\n5ms subframes for TDRenderer (13ms -> 10ms -> 2subframes)",
},
{
.id=CmdLnOptionId_directivityPatternId,
.match="ism_directivity_pattern_id",
.matchShort="dpid",
.placeholder="<id1> [<id2>...]",
.description="Directivity pattern ID(s) = [ID1, ID2, ID3, ID4]. Space-separated\nlist of up to 4 numbers (unsigned integers) can be specified for\nBINAURAL and BINAURAL_ROOM_REVERB output.\nID1, ID2, ID3, ID4 specify the directivity pattern IDs used for\nISMs 1,2,3 and 4 respectively. \nThis option needs to be accompanied by a render_config file,\notherwise a default directivity pattern is used.",
},
{
.id=CmdLnOptionId_acousticEnvironmentId,
.match="acoustic_environment_id",
.matchShort="aeid",
.placeholder="<id|path>",
.description="Acoustic environment ID (number > 0) alternatively, it can be\na text file where each line contains \"ID duration\" for\nBINAURAL_ROOM_REVERB output.",
},
{
.id=CmdLnOptionId_roomSize,
.match="room_size",
.matchShort="rsz",
.description="Selects default reverb based on a room size (S - small | M - medium | L - large)",
.placeholder="<size>",
.description="Selects default reverb based on a room size (S - small |\nM - medium | L - large)",
constchar*match;/* String to match, e.g. "input" here will match "--input" on CLI */
constchar*matchShort;/* Short version of the string to match, e.g. "i" here will match "-i" on CLI */
constchar*placeholder;/* If not NULL, this will follow the match string in the usage printout, e.g. "<file>" here will print "--input <file>" on CLI */
constchar*description;/* Description of the option for the usage printout. May contain '\n' for line breaks. */
boolisMandatory;/* Parsing will fail if an option with `isMandatory == true` is not given */
}CmdLnParser_Option;
/* Function for parsing option values into an output struct, to be implemented by the user */