revert incorrect include path changes and removal of export macros for two libardour...
[ardour.git] / libs / backends / jack / jack_api.cc
index 0136161181e0068ef5dbc79bad4f539ab531277f..c8859a1fc97a8cd0d1dd1a005ef8625dcfda49db 100644 (file)
 
 #include "jack_connection.h"
 #include "jack_audiobackend.h"
-#include "jack_portengine.h"
 
 using namespace ARDOUR;
 
 static boost::shared_ptr<JACKAudioBackend> backend;
-static boost::shared_ptr<JACKPortEngine> port_engine;
 static boost::shared_ptr<JackConnection> jack_connection;
 
 static boost::shared_ptr<AudioBackend>
@@ -41,20 +39,6 @@ backend_factory (AudioEngine& ae)
        return backend;
 }
 
-static boost::shared_ptr<PortEngine>
-portengine_factory (PortManager& pm)
-{
-       if (!jack_connection) {
-               return boost::shared_ptr<PortEngine>();
-       }
-
-       if (!port_engine) {
-               port_engine.reset (new JACKPortEngine (pm, jack_connection));
-       }
-
-       return port_engine;
-}
-
 static int
 instantiate (const std::string& arg1, const std::string& arg2)
 {
@@ -70,7 +54,6 @@ instantiate (const std::string& arg1, const std::string& arg2)
 static int 
 deinstantiate ()
 {
-       port_engine.reset ();
        backend.reset ();
        jack_connection.reset ();
 
@@ -80,23 +63,16 @@ deinstantiate ()
 static bool
 already_configured ()
 {
-       return JackConnection::server_running ();
+       return !JackConnection::in_control ();
 }
 
-extern "C" {
-       
-       
-       /* functions looked up using dlopen-and-cousins, and so naming scope
-        * must be non-mangled.
-        */
-
-       ARDOUR::AudioBackendInfo descriptor = {
-               "JACK",
-               instantiate,
-               deinstantiate,
-               backend_factory,
-               portengine_factory,
-               already_configured,
-       };
-}
+static ARDOUR::AudioBackendInfo _descriptor = {
+       "JACK",
+       instantiate,
+       deinstantiate,
+       backend_factory,
+       already_configured,
+};
+
+extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor() { return &_descriptor; }