projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
don't add a [shared] panner for the sends to monitoing section
[ardour.git]
/
libs
/
ardour
/
globals.cc
diff --git
a/libs/ardour/globals.cc
b/libs/ardour/globals.cc
index 4e99bc767e572128286892589645e928c5375235..9850d82d314b96b92d10fdab178db6d099410cd6 100644
(file)
--- a/
libs/ardour/globals.cc
+++ b/
libs/ardour/globals.cc
@@
-51,8
+51,6
@@
#undef check /* stupid Apple and their un-namespaced, generic Carbon macros */
#endif
#undef check /* stupid Apple and their un-namespaced, generic Carbon macros */
#endif
-#include <giomm.h>
-
#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
@@
-61,6
+59,7
@@
#include "pbd/cpus.h"
#include "pbd/error.h"
#include "pbd/id.h"
#include "pbd/cpus.h"
#include "pbd/error.h"
#include "pbd/id.h"
+#include "pbd/pbd.h"
#include "pbd/strsplit.h"
#include "pbd/fpu.h"
#include "pbd/file_utils.h"
#include "pbd/strsplit.h"
#include "pbd/fpu.h"
#include "pbd/file_utils.h"
@@
-109,6
+108,8
@@
using namespace ARDOUR;
using namespace std;
using namespace PBD;
using namespace std;
using namespace PBD;
+bool libardour_initialized = false;
+
compute_peak_t ARDOUR::compute_peak = 0;
find_peaks_t ARDOUR::find_peaks = 0;
apply_gain_to_buffer_t ARDOUR::apply_gain_to_buffer = 0;
compute_peak_t ARDOUR::compute_peak = 0;
find_peaks_t ARDOUR::find_peaks = 0;
apply_gain_to_buffer_t ARDOUR::apply_gain_to_buffer = 0;
@@
-217,21
+218,19
@@
lotsa_files_please ()
}
}
}
}
-int
+bool
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir)
{
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir)
{
- if (
!Glib::thread_supported()
) {
-
Glib::thread_init()
;
+ if (
libardour_initialized
) {
+
return true
;
}
}
- // this really should be in PBD::init..if there was one
- Gio::init ();
+ if (!PBD::init()) return false;
#ifdef ENABLE_NLS
(void) bindtextdomain(PACKAGE, localedir);
#endif
#ifdef ENABLE_NLS
(void) bindtextdomain(PACKAGE, localedir);
#endif
- PBD::ID::init ();
SessionEvent::init_event_pool ();
SessionObject::make_property_quarks ();
SessionEvent::init_event_pool ();
SessionObject::make_property_quarks ();
@@
-271,7
+270,7
@@
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir
Config = new RCConfiguration;
if (Config->load_state ()) {
Config = new RCConfiguration;
if (Config->load_state ()) {
- return
-1
;
+ return
false
;
}
Config->set_use_windows_vst (use_windows_vst);
}
Config->set_use_windows_vst (use_windows_vst);
@@
-284,13
+283,13
@@
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir
#ifdef WINDOWS_VST_SUPPORT
if (Config->get_use_windows_vst() && fst_init (0)) {
#ifdef WINDOWS_VST_SUPPORT
if (Config->get_use_windows_vst() && fst_init (0)) {
- return
-1
;
+ return
false
;
}
#endif
#ifdef LXVST_SUPPORT
if (Config->get_use_lxvst() && vstfx_init (0)) {
}
#endif
#ifdef LXVST_SUPPORT
if (Config->get_use_lxvst() && vstfx_init (0)) {
- return
-1
;
+ return
false
;
}
#endif
}
#endif
@@
-335,7
+334,9
@@
ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir
ARDOUR::AudioEngine::create ();
ARDOUR::AudioEngine::create ();
- return 0;
+ libardour_initialized = true;
+
+ return true;
}
void
}
void
@@
-353,9
+354,15
@@
ARDOUR::init_post_engine ()
ARDOUR::PluginManager::instance().refresh ();
}
ARDOUR::PluginManager::instance().refresh ();
}
-int
-ARDOUR::cleanup ()
+void
+ARDOUR::cleanup ()
{
{
+ if (!libardour_initialized) {
+ return;
+ }
+
+ ARDOUR::AudioEngine::destroy ();
+
delete Library;
lrdf_cleanup ();
delete &ControlProtocolManager::instance();
delete Library;
lrdf_cleanup ();
delete &ControlProtocolManager::instance();
@@
-366,8
+373,9
@@
ARDOUR::cleanup ()
#ifdef LXVST_SUPPORT
vstfx_exit();
#endif
#ifdef LXVST_SUPPORT
vstfx_exit();
#endif
- EnumWriter::destroy ();
- return 0;
+ PBD::cleanup ();
+
+ return;
}
void
}
void
@@
-529,7
+537,11
@@
ARDOUR::get_available_sync_options ()
{
vector<SyncSource> ret;
{
vector<SyncSource> ret;
- ret.push_back (JACK);
+ boost::shared_ptr<AudioBackend> backend = AudioEngine::instance()->current_backend();
+ if (backend && backend->name() == "JACK") {
+ ret.push_back (Engine);
+ }
+
ret.push_back (MTC);
ret.push_back (MIDIClock);
ret.push_back (LTC);
ret.push_back (MTC);
ret.push_back (MIDIClock);
ret.push_back (LTC);