summaryrefslogtreecommitdiff
path: root/libs/backends
diff options
context:
space:
mode:
authorColin Fletcher <colin.m.fletcher@googlemail.com>2013-10-22 18:48:26 +0100
committerColin Fletcher <colin.m.fletcher@googlemail.com>2013-10-23 19:29:57 +0100
commit903d728b9ce1eae8d68e885fc0158a6d67627360 (patch)
treea53265c5aeb24d13063814a0bd203215454110fa /libs/backends
parentac81ea642e2448abed8dbb697fa7ee662079832f (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')
-rw-r--r--libs/backends/jack/jack_utils.cc35
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");