add support in JACK backend for specifying number of input and output channels to use

This commit is contained in:
Paul Davis 2013-09-06 17:21:23 -04:00
parent 0467231d6e
commit ad8d83289f
3 changed files with 14 additions and 0 deletions

View file

@ -216,6 +216,8 @@ namespace ARDOUR {
uint32_t num_periods;
uint32_t period_size;
uint32_t samplerate;
uint32_t input_channels;
uint32_t output_channels;
uint32_t input_latency;
uint32_t output_latency;
bool hardware_metering;

View file

@ -428,6 +428,8 @@ JACKAudioBackend::setup_jack_startup_command ()
options.output_device = _target_device;
options.input_latency = _target_systemic_input_latency;
options.output_latency = _target_systemic_output_latency;
options.input_channels = _target_input_channels;
options.output_channels = _target_output_channels;
if (_target_sample_format == FormatInt16) {
options.force16_bit = _target_sample_format;
}

View file

@ -789,6 +789,16 @@ ARDOUR::get_jack_command_line_string (const JackCommandLineOptions& options, str
}
}
if (options.input_channels) {
args.push_back ("-i");
args.push_back (to_string (options.input_channels, std::dec));
}
if (options.output_channels) {
args.push_back ("-o");
args.push_back (to_string (options.output_channels, std::dec));
}
if (get_jack_audio_driver_supports_setting_period_count (options.driver)) {
args.push_back ("-n");
args.push_back (to_string (options.num_periods, std::dec));