projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
OSC: Further fixes so multiple controls can touch at once.
[ardour.git]
/
gtk2_ardour
/
main.cc
diff --git
a/gtk2_ardour/main.cc
b/gtk2_ardour/main.cc
index b40490daa1a9b40d746aa46ce3506700d982ff29..10c9c306e71c65fd05d5bd7818fcfe9f1e37174d 100644
(file)
--- a/
gtk2_ardour/main.cc
+++ b/
gtk2_ardour/main.cc
@@
-18,14
+18,19
@@
*/
#include <cstdlib>
*/
#include <cstdlib>
-#include <signal.h>
#include <cerrno>
#include <cerrno>
-#include <fstream>
#include <vector>
#include <vector>
+#include <signal.h>
+#include <locale.h>
+
#include <sigc++/bind.h>
#include <gtkmm/settings.h>
#include <sigc++/bind.h>
#include <gtkmm/settings.h>
+#ifdef HAVE_FFTW35F
+#include <fftw3.h>
+#endif
+
#include "pbd/error.h"
#include "pbd/file_utils.h"
#include "pbd/textreceiver.h"
#include "pbd/error.h"
#include "pbd/file_utils.h"
#include "pbd/textreceiver.h"
@@
-53,7
+58,7
@@
#include "enums.h"
#include "bundle_env.h"
#include "enums.h"
#include "bundle_env.h"
-#include "i18n.h"
+#include "
pbd/
i18n.h"
#ifdef PLATFORM_WINDOWS
#include <fcntl.h> // Needed for '_fmode'
#ifdef PLATFORM_WINDOWS
#include <fcntl.h> // Needed for '_fmode'
@@
-64,6
+69,10
@@
#include "gtk2ardour-version.h"
#endif
#include "gtk2ardour-version.h"
#endif
+#ifdef LXVST_SUPPORT
+#include <gdk/gdkx.h>
+#endif
+
using namespace std;
using namespace Gtk;
using namespace ARDOUR_COMMAND_LINE;
using namespace std;
using namespace Gtk;
using namespace ARDOUR_COMMAND_LINE;
@@
-270,6
+279,8
@@
extern "C" {
int ardour_main (int argc, char *argv[])
int ardour_main (int argc, char *argv[])
+#elif defined NOMAIN
+int nomain (int argc, char *argv[])
#else
int main (int argc, char *argv[])
#endif
#else
int main (int argc, char *argv[])
#endif
@@
-284,8
+295,19
@@
int main (int argc, char *argv[])
Glib::thread_init();
}
Glib::thread_init();
}
+#ifdef LXVST_SUPPORT
+ XInitThreads ();
+#endif
+
+#ifdef HAVE_FFTW35F
+ fftwf_make_planner_thread_safe ();
+#endif
+
#ifdef ENABLE_NLS
#ifdef ENABLE_NLS
- gtk_set_locale ();
+ /* initialize C locale to user preference */
+ if (ARDOUR::translations_are_enabled ()) {
+ setlocale (LC_ALL, "");
+ }
#endif
console_madness_begin();
#endif
console_madness_begin();
@@
-368,6
+390,8
@@
int main (int argc, char *argv[])
}
#endif
}
#endif
+ DEBUG_TRACE (DEBUG::Locale, string_compose ("main() locale '%1'\n", setlocale (LC_NUMERIC, NULL)));
+
if (UIConfiguration::instance().pre_gui_init ()) {
error << _("Could not complete pre-GUI initialization") << endmsg;
exit (1);
if (UIConfiguration::instance().pre_gui_init ()) {
error << _("Could not complete pre-GUI initialization") << endmsg;
exit (1);
@@
-392,8
+416,22
@@
int main (int argc, char *argv[])
ui = 0;
ARDOUR::cleanup ();
ui = 0;
ARDOUR::cleanup ();
+#ifndef NDEBUG
+ if (getenv ("ARDOUR_RUNNING_UNDER_VALGRIND")) {
+ Glib::usleep(100000);
+ sched_yield();
+ }
+#endif
+
pthread_cancel_all ();
pthread_cancel_all ();
+#ifndef NDEBUG
+ if (getenv ("ARDOUR_RUNNING_UNDER_VALGRIND")) {
+ Glib::usleep(100000);
+ sched_yield();
+ }
+#endif
+
console_madness_end ();
return 0;
console_madness_end ();
return 0;