X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fglobals.cc;h=48abda8cfcb8367a18bdfa6962823aff2cad581b;hb=ce818efe37a1e8a68789a9eb8124fd828b672dd7;hp=b3bfbd22398bfc0ea52c7a8e8c239f895ea7fa20;hpb=300b484cf6ac14c15e365c4062345d64a61c4b18;p=ardour.git diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index b3bfbd2239..48abda8cfc 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -89,6 +89,7 @@ #include "ardour/midi_region.h" #include "ardour/midiport_manager.h" #include "ardour/mix.h" +#include "ardour/operations.h" #include "ardour/panner_manager.h" #include "ardour/plugin_manager.h" #include "ardour/process_thread.h" @@ -125,6 +126,8 @@ mix_buffers_with_gain_t ARDOUR::mix_buffers_with_gain = 0; mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0; PBD::Signal1 ARDOUR::BootMessage; +PBD::Signal3 ARDOUR::PluginScanMessage; +PBD::Signal1 ARDOUR::PluginScanTimeout; PBD::Signal0 ARDOUR::GUIIdle; namespace ARDOUR { @@ -239,10 +242,12 @@ ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir #ifdef ENABLE_NLS (void) bindtextdomain(PACKAGE, localedir); + (void) bind_textdomain_codeset (PACKAGE, "UTF-8"); #endif SessionEvent::init_event_pool (); + Operations::make_operations_quarks (); SessionObject::make_property_quarks (); Region::make_property_quarks (); MidiRegion::make_property_quarks (); @@ -363,12 +368,18 @@ ARDOUR::init_post_engine () /* find plugins */ - ARDOUR::PluginManager::instance().refresh (); + ARDOUR::PluginManager::instance().refresh (!Config->get_discover_vst_on_start()); } -int -ARDOUR::cleanup () +void +ARDOUR::cleanup () { + if (!libardour_initialized) { + return; + } + + ARDOUR::AudioEngine::destroy (); + delete Library; #ifdef HAVE_LRDF lrdf_cleanup (); @@ -381,8 +392,11 @@ ARDOUR::cleanup () #ifdef LXVST_SUPPORT vstfx_exit(); #endif + delete &PluginManager::instance(); + delete Config; PBD::cleanup (); - return 0; + + return; } void @@ -392,11 +406,9 @@ ARDOUR::find_bindings_files (map& files) Searchpath spath = ardour_config_search_path(); if (getenv ("ARDOUR_SAE")) { - Glib::PatternSpec pattern("*SAE-*.bindings"); - find_matching_files_in_search_path (spath, pattern, found); + find_files_matching_pattern (found, spath, "*SAE-*.bindings"); } else { - Glib::PatternSpec pattern("*.bindings"); - find_matching_files_in_search_path (spath, pattern, found); + find_files_matching_pattern (found, spath, "*.bindings"); } if (found.empty()) { @@ -532,8 +544,8 @@ ARDOUR::set_translations_enabled (bool yn) c = '0'; } - ::write (fd, &c, 1); - ::close (fd); + (void) ::write (fd, &c, 1); + (void) ::close (fd); return true; }