diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-06 17:21:23 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-06 17:21:23 -0400 |
commit | ad8d83289fd94bbdbac80cb10450fffc216130c1 (patch) | |
tree | 189e48d1393bfeb649e03936e1270f6c21fd598e /libs/ardour | |
parent | 0467231d6e9af35d5f8ca5dcb43c3135b805d8fb (diff) |
add support in JACK backend for specifying number of input and output channels to use
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/jack_utils.h | 2 | ||||
-rw-r--r-- | libs/ardour/jack_audiobackend.cc | 2 | ||||
-rw-r--r-- | libs/ardour/jack_utils.cc | 10 |
3 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/ardour/jack_utils.h b/libs/ardour/ardour/jack_utils.h index bc94da3361..7565353198 100644 --- a/libs/ardour/ardour/jack_utils.h +++ b/libs/ardour/ardour/jack_utils.h @@ -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; diff --git a/libs/ardour/jack_audiobackend.cc b/libs/ardour/jack_audiobackend.cc index a95242ba4b..8f3dffa40d 100644 --- a/libs/ardour/jack_audiobackend.cc +++ b/libs/ardour/jack_audiobackend.cc @@ -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; } diff --git a/libs/ardour/jack_utils.cc b/libs/ardour/jack_utils.cc index c16270b261..4e2392aced 100644 --- a/libs/ardour/jack_utils.cc +++ b/libs/ardour/jack_utils.cc @@ -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)); |