diff options
author | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2013-10-22 18:48:26 +0100 |
---|---|---|
committer | Colin Fletcher <colin.m.fletcher@googlemail.com> | 2013-10-23 19:29:57 +0100 |
commit | 903d728b9ce1eae8d68e885fc0158a6d67627360 (patch) | |
tree | a53265c5aeb24d13063814a0bd203215454110fa /libs/backends/jack/jack_utils.cc | |
parent | ac81ea642e2448abed8dbb697fa7ee662079832f (diff) |
Fix setting playback & capture channel counts for jackd dummy backend.
Unlike all the other jack backends which allow setting the number of inputs and
outputs with -i & -o, the dummy backend uses -P & -C for this. Make the jackd
command line use these options when the dummy backend is requested with a
specified input or output channel count.
Diffstat (limited to 'libs/backends/jack/jack_utils.cc')
-rw-r--r-- | libs/backends/jack/jack_utils.cc | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/libs/backends/jack/jack_utils.cc b/libs/backends/jack/jack_utils.cc index 0aa0eca9b1..ba63977e77 100644 --- a/libs/backends/jack/jack_utils.cc +++ b/libs/backends/jack/jack_utils.cc @@ -805,21 +805,32 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c return false; } } - } - if (options.input_channels) { - args.push_back ("-i"); - args.push_back (to_string (options.input_channels, std::dec)); - } + 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 (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)); + } + } else { + // jackd dummy backend + if (options.input_channels) { + args.push_back ("-C"); + args.push_back (to_string (options.input_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)); + if (options.output_channels) { + args.push_back ("-P"); + args.push_back (to_string (options.output_channels, std::dec)); + } } args.push_back ("-r"); |