summaryrefslogtreecommitdiff
path: root/gtk2_ardour/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/main.cc')
-rw-r--r--gtk2_ardour/main.cc26
1 files changed, 16 insertions, 10 deletions
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 2bbae39568..778355c858 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -53,6 +53,7 @@
using namespace Gtk;
using namespace GTK_ARDOUR;
using namespace ARDOUR;
+using namespace PBD;
using namespace sigc;
TextReceiver text_receiver ("ardour");
@@ -102,12 +103,6 @@ handler (int sig)
shutdown (1);
}
-static void
-handler2 (int sig, siginfo_t* ctxt, void* ignored)
-{
- handler (sig);
-}
-
static void *
signal_thread (void *arg)
{
@@ -361,9 +356,17 @@ To create it from the command line, start ardour as \"ardour --new %1"), path)
return true;
}
+#ifdef VST_SUPPORT
+/* this is called from the entry point of a wine-compiled
+ executable that is linked against gtk2_ardour built
+ as a shared library.
+*/
+extern "C" {
+int ardour_main (int argc, char *argv[])
+#else
+int main (int argc, char *argv[])
+#endif
-int
-main (int argc, char *argv[])
{
ARDOUR::AudioEngine *engine;
vector<Glib::ustring> null_file_list;
@@ -443,7 +446,7 @@ main (int argc, char *argv[])
try {
engine = new ARDOUR::AudioEngine (jack_client_name);
- ARDOUR::init (*engine, use_vst, try_hw_optimization, handler2);
+ ARDOUR::init (*engine, use_vst, try_hw_optimization);
ui->set_engine (*engine);
} catch (AudioEngine::NoBackendAvailable& err) {
gui_jack_error ();
@@ -463,6 +466,9 @@ main (int argc, char *argv[])
ARDOUR::cleanup ();
shutdown (0);
- /* just another commit forcing change */
+ return 0;
}
+#ifdef VST_SUPPORT
+} // end of extern C block
+#endif