summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-07-22 19:59:10 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-07-22 19:59:10 +0000
commitaae7b39a41cb010c373d167991cb6f3a3ff01724 (patch)
tree8909a5f07306a0c85c3270e35576a69c45aa28e4
parent93447f494e833b0f80d53d566aed887e745787ce (diff)
fix botched argument prototype and return signature for IO::ensure_(input|output) and cousins
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@9913 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/ardour/io.h4
-rw-r--r--libs/ardour/io.cc36
2 files changed, 25 insertions, 15 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 7c0c0e1e78..8f74abc00c 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -411,8 +411,8 @@ class IO : public PBD::StatefulDestructible
void setup_peak_meters ();
void meter ();
- bool ensure_inputs_locked (uint32_t, bool clear, void *src);
- bool ensure_outputs_locked (uint32_t, bool clear, void *src);
+ int ensure_inputs_locked (uint32_t, bool clear, void *src, bool& changed);
+ int ensure_outputs_locked (uint32_t, bool clear, void *src, bool& changed);
std::string build_legal_port_name (bool for_input);
int32_t find_input_port_hole (const char* base);
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index be03df7926..c90e9017e1 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -1063,13 +1063,14 @@ IO::disconnect_outputs (void* src)
return 0;
}
-bool
-IO::ensure_inputs_locked (uint32_t n, bool clear, void* src)
+int
+IO::ensure_inputs_locked (uint32_t n, bool clear, void* src, bool& changed)
{
Port* input_port;
- bool changed = false;
bool reduced = false;
+ changed = false;
+
/* remove unused ports */
while (_ninputs > n) {
@@ -1125,7 +1126,7 @@ IO::ensure_inputs_locked (uint32_t n, bool clear, void* src)
}
}
- return changed;
+ return 0;
}
int
@@ -1286,9 +1287,13 @@ IO::ensure_inputs (uint32_t n, bool clear, bool lockit, void* src)
if (lockit) {
BLOCK_PROCESS_CALLBACK ();
Glib::Mutex::Lock im (io_lock);
- changed = ensure_inputs_locked (n, clear, src);
+ if (ensure_inputs_locked (n, clear, src, changed)) {
+ return -1;
+ }
} else {
- changed = ensure_inputs_locked (n, clear, src);
+ if (ensure_inputs_locked (n, clear, src, changed)) {
+ return -1;
+ }
}
if (changed) {
@@ -1299,14 +1304,15 @@ IO::ensure_inputs (uint32_t n, bool clear, bool lockit, void* src)
return 0;
}
-bool
-IO::ensure_outputs_locked (uint32_t n, bool clear, void* src)
+int
+IO::ensure_outputs_locked (uint32_t n, bool clear, void* src, bool& changed)
{
Port* output_port;
- bool changed = false;
bool reduced = false;
bool need_pan_reset;
+ changed = false;
+
if (_noutputs == n) {
need_pan_reset = false;
} else {
@@ -1362,7 +1368,7 @@ IO::ensure_outputs_locked (uint32_t n, bool clear, void* src)
}
}
- return changed;
+ return 0;
}
int
@@ -1373,7 +1379,7 @@ IO::ensure_outputs (uint32_t n, bool clear, bool lockit, void* src)
if (_output_maximum >= 0) {
n = min (_output_maximum, (int) n);
if (n == _noutputs && !clear) {
- return 0;
+ return -1;
}
}
@@ -1382,9 +1388,13 @@ IO::ensure_outputs (uint32_t n, bool clear, bool lockit, void* src)
if (lockit) {
BLOCK_PROCESS_CALLBACK ();
Glib::Mutex::Lock im (io_lock);
- changed = ensure_outputs_locked (n, clear, src);
+ if (ensure_outputs_locked (n, clear, src, changed)) {
+ return -1;
+ }
} else {
- changed = ensure_outputs_locked (n, clear, src);
+ if (ensure_outputs_locked (n, clear, src, changed)) {
+ return -1;
+ }
}
if (changed) {