X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Flv2ui.C;h=a025ef1c5d79e727e9738ce6f7f5391c40d6922d;hb=b2eb290b3f6e5c233393017aa152e67c76243130;hp=3a06102a4926ff4c1ab3f97a4cd94316d1272c9c;hpb=803cf48f8f7ee246eb5473e55fc2125e8b398250;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/lv2ui.C b/cinelerra-5.1/cinelerra/lv2ui.C index 3a06102a..a025ef1c 100644 --- a/cinelerra-5.1/cinelerra/lv2ui.C +++ b/cinelerra-5.1/cinelerra/lv2ui.C @@ -8,28 +8,6 @@ #include "pluginlv2client.h" #include "pluginlv2ui.h" -int PluginLV2UI::run(int ac, char **av) -{ - int sample_rate = 48000; - if( ac > 2 ) sample_rate = atoi(av[2]); - if( init_ui(av[1], sample_rate) ) { - fprintf(stderr," init_ui failed\n"); - return 1; - } - start_gui(); - return run_ui(); -} - -int PluginLV2ChildUI::run(int ac, char **av) -{ - signal(SIGINT, SIG_IGN); - ForkBase::child_fd = atoi(av[1]); - ForkBase::parent_fd = atoi(av[2]); - ForkBase::ppid = atoi(av[3]); - return run_ui(this); -} - - int main(int ac, char **av) { // to grab this task in the debugger @@ -41,10 +19,29 @@ while( bug ) usleep(10000); signals.initialize("/tmp/lv2ui_%d.dmp"); BC_Signals::set_catch_segv(1); } - gtk_set_locale(); - gtk_init(&ac, &av); - return ac < 3 ? - PluginLV2UI().run(ac, av) : - PluginLV2ChildUI().run(ac, av); + return PluginLV2ChildUI().run(ac, av); +} + +int PluginLV2ChildUI::run(int ac, char **av) +{ + this->ac = ac; + this->av = av; + + if( ac > 3 ) { + signal(SIGINT, SIG_IGN); + ForkBase::child_fd = atoi(av[1]); + ForkBase::parent_fd = atoi(av[2]); + ForkBase::ppid = atoi(av[3]); + } + else { + int sample_rate = samplerate, bfrsz = block_length; + if( ac > 2 ) sample_rate = atoi(av[2]); + if( init_ui(av[1], sample_rate, bfrsz) ) { + fprintf(stderr," init_ui failed\n"); + return 1; + } + start_gui(); + } + return run_ui(); }