diff options
author | John Anderson <ardour@semiosix.com> | 2007-02-14 19:56:16 +0000 |
---|---|---|
committer | John Anderson <ardour@semiosix.com> | 2007-02-14 19:56:16 +0000 |
commit | e878b365193ad9315e557a8245b767d8a0fe568d (patch) | |
tree | d03d6b7bc7bb57c7c55d370010b8c6e6bb6619ae /libs/surfaces/mackie/interface.cc | |
parent | 92c09a6d91fa90bbfaec4d94e2c6e6c11f1e49a3 (diff) |
merge r1449 from surfaces branch to include mackie surface and tranzport updates. Thanks to Gerd Flaig for the merge command: svn merge svn+ssh://ardoursvn@ardour.org/ardour2/trunk@1449 svn+ssh://ardoursvn@ardour.org/ardour2/branches/surfaces.
git-svn-id: svn://localhost/ardour2/trunk@1460 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/interface.cc')
-rw-r--r-- | libs/surfaces/mackie/interface.cc | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/interface.cc b/libs/surfaces/mackie/interface.cc new file mode 100644 index 0000000000..500854fe71 --- /dev/null +++ b/libs/surfaces/mackie/interface.cc @@ -0,0 +1,76 @@ +/* + Copyright (C) 2006,2007 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include <control_protocol/control_protocol.h> +#include "mackie_control_protocol.h" + +#include <stdexcept> + +using namespace ARDOUR; +using namespace std; + +ControlProtocol* +new_mackie_protocol (ControlProtocolDescriptor* descriptor, Session* s) +{ + MackieControlProtocol * mcp = 0; + try + { + mcp = new MackieControlProtocol (*s); + mcp->set_active( true ); + } + catch( exception & e ) + { + cout << "Error instantiating MackieControlProtocol: " << e.what() << endl; + delete mcp; + mcp = 0; + } + return mcp; +} + +void +delete_mackie_protocol (ControlProtocolDescriptor* descriptor, ControlProtocol* cp) +{ + delete cp; +} + +bool +probe_mackie_protocol (ControlProtocolDescriptor* descriptor) +{ + return MackieControlProtocol::probe(); +} + +static ControlProtocolDescriptor mackie_descriptor = { + name : "Mackie", + id : "uri://ardour.org/surfaces/mackie:0", + ptr : 0, + module : 0, + mandatory : 0, + supports_feedback : true, + probe : probe_mackie_protocol, + initialize : new_mackie_protocol, + destroy : delete_mackie_protocol +}; + + +extern "C" { + +ControlProtocolDescriptor* +protocol_descriptor () { + return &mackie_descriptor; +} + +} |