add new config parameter controlling visibility of name highlights in regions.
[ardour.git] / libs / ardour / audioengine.cc
index c2224a8b5efb2f0a4aefa3db63c96e7e071134ac..0b01f97f7a2ab4cdca473ea2566d32505097d212 100644 (file)
@@ -34,8 +34,6 @@
 #include "pbd/stacktrace.h"
 #include "pbd/unknown_type.h"
 
-#include <jack/weakjack.h>
-
 #include "midi++/port.h"
 #include "midi++/mmc.h"
 
@@ -43,7 +41,7 @@
 #include "ardour/audio_port.h"
 #include "ardour/audio_backend.h"
 #include "ardour/audioengine.h"
-#include "ardour/backend_search_path.h"
+#include "ardour/search_paths.h"
 #include "ardour/buffer.h"
 #include "ardour/cycle_timer.h"
 #include "ardour/internal_send.h"
@@ -474,8 +472,17 @@ AudioEngine::discover_backends ()
 
        Glib::PatternSpec so_extension_pattern("*backend.so");
        Glib::PatternSpec dylib_extension_pattern("*backend.dylib");
-       Glib::PatternSpec dll_extension_pattern("*backend.dll");
 
+#if defined(PLATFORM_WINDOWS) && defined(DEBUGGABLE_BACKENDS)
+       #if defined(DEBUG) || defined(_DEBUG)
+               Glib::PatternSpec dll_extension_pattern("*backendD.dll");
+       #else
+               Glib::PatternSpec dll_extension_pattern("*backendRDC.dll");
+       #endif
+#else
+       Glib::PatternSpec dll_extension_pattern("*backend.dll");
+#endif
+       
        find_matching_files_in_search_path (backend_search_path (),
                                            so_extension_pattern, backend_modules);
 
@@ -485,17 +492,21 @@ AudioEngine::discover_backends ()
        find_matching_files_in_search_path (backend_search_path (),
                                            dll_extension_pattern, backend_modules);
 
-       DEBUG_TRACE (DEBUG::Panning, string_compose (_("looking for backends in %1\n"), backend_search_path().to_string()));
+       DEBUG_TRACE (DEBUG::AudioEngine, string_compose ("looking for backends in %1\n", backend_search_path().to_string()));
 
        for (vector<std::string>::iterator i = backend_modules.begin(); i != backend_modules.end(); ++i) {
 
                AudioBackendInfo* info;
 
+               DEBUG_TRACE (DEBUG::AudioEngine, string_compose ("Checking possible backend in %1\n", *i));
+
                if ((info = backend_discover (*i)) != 0) {
                        _backends.insert (make_pair (info->name, info));
                }
        }
 
+       DEBUG_TRACE (DEBUG::AudioEngine, string_compose ("Found %1 backends\n", _backends.size()));
+
        return _backends.size();
 }
 
@@ -553,6 +564,7 @@ AudioEngine::drop_backend ()
 {
        if (_backend) {
                _backend->stop ();
+        _backend->drop_device();
                _backend.reset ();
        }
 }
@@ -662,23 +674,6 @@ AudioEngine::stop (bool for_latency)
        return 0;
 }
 
-int
-AudioEngine::pause ()
-{
-       if (!_backend) {
-               return 0;
-       }
-       
-       if (_backend->pause ()) {
-               return -1;
-       }
-
-       _running = false;
-       
-       Stopped(); /* EMIT SIGNAL */
-       return 0;
-}
-
 int
 AudioEngine::freewheel (bool start_stop)
 {
@@ -692,12 +687,12 @@ AudioEngine::freewheel (bool start_stop)
 }
 
 float
-AudioEngine::get_cpu_load() const 
+AudioEngine::get_dsp_load() const 
 {
        if (!_backend) {
                return 0.0;
        }
-       return _backend->cpu_load ();
+       return _backend->dsp_load ();
 }
 
 bool
@@ -900,15 +895,6 @@ AudioEngine::set_buffer_size (uint32_t bufsiz)
        return _backend->set_buffer_size  (bufsiz);
 }
 
-int
-AudioEngine::set_sample_format (SampleFormat sf)
-{
-       if (!_backend) {
-               return -1;
-       }
-       return _backend->set_sample_format  (sf);
-}
-
 int
 AudioEngine::set_interleaved (bool yn)
 {
@@ -1082,8 +1068,8 @@ AudioEngine::start_latency_detection ()
 
        /* find the ports we will connect to */
 
-       PortEngine::PortHandle* out = pe.get_port_by_name (_latency_output_name);
-       PortEngine::PortHandle* in = pe.get_port_by_name (_latency_input_name);
+       PortEngine::PortHandle out = pe.get_port_by_name (_latency_output_name);
+       PortEngine::PortHandle in = pe.get_port_by_name (_latency_input_name);
 
        if (!out || !in) {
                stop (true);