summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audioengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r--libs/ardour/ardour/audioengine.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index dc7ae8e000..88f1111a6c 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -106,7 +106,13 @@ class AudioEngine : public sigc::trackable
class PortRegistrationFailure : public std::exception {
public:
- virtual const char *what() const throw() { return "failed port registration"; }
+ PortRegistrationFailure (const char* why = "") {
+ reason = why;
+ }
+ virtual const char *what() const throw() { return reason; }
+
+ private:
+ const char* reason;
};
class NoBackendAvailable : public std::exception {
@@ -235,6 +241,8 @@ class AudioEngine : public sigc::trackable
std::string get_nth_physical (DataType type, uint32_t n, int flags);
+ void port_registration_failure (const std::string& portname);
+
static int _xrun_callback (void *arg);
static int _graph_order_callback (void *arg);
static int _process_callback (nframes_t nframes, void *arg);