diff options
Diffstat (limited to 'gtk2_ardour/main.cc')
-rw-r--r-- | gtk2_ardour/main.cc | 26 |
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 |