merged hv7 mod
[goodguy/history.git] / cinelerra-5.1 / plugins / reverb / reverbwindow.C
index 4da0fafc701c25cff70ba5be6c5832ab148ffb6b..add6ab4588c769ed9bcbff3ac901cd28600fa558 100644 (file)
@@ -33,9 +33,9 @@
 
 ReverbWindow::ReverbWindow(Reverb *reverb)
  : PluginClientWindow(reverb,
-       250,
-       230,
-       250,
+       300, 
+       230, 
+       300, 
        230,
        0)
 {
@@ -48,7 +48,7 @@ ReverbWindow::~ReverbWindow()
 
 void ReverbWindow::create_objects()
 {
-       int x = 170, y = 10;
+       int x = 200, y = 10;
        add_tool(new BC_Title(5, y + 10, _("Initial signal level:")));
        add_tool(level_init = new ReverbLevelInit(reverb, x, y)); y += 25;
        add_tool(new BC_Title(5, y + 10, _("ms before reflections:")));
@@ -215,319 +215,317 @@ int ReverbLowPass2::handle_event()
        return 1;
 }
 
-ReverbMenu::ReverbMenu(Reverb *reverb, ReverbWindow *window)
- : BC_MenuBar(0, 0, window->get_w())
-{
-       this->window = window;
-       this->reverb = reverb;
-}
-
-ReverbMenu::~ReverbMenu()
-{
-       delete load;
-       delete save;
-       //delete set_default;
-       for(int i = 0; i < total_loads; i++)
-       {
-               delete prev_load[i];
-       }
-       delete prev_load_thread;
-}
-
-void ReverbMenu::create_objects(BC_Hash *defaults)
-{
-       add_menu(filemenu = new BC_Menu(_("File")));
-       filemenu->add_item(load = new ReverbLoad(reverb, this));
-       filemenu->add_item(save = new ReverbSave(reverb, this));
-       //filemenu->add_item(set_default = new ReverbSetDefault);
-       load_defaults(defaults);
-       prev_load_thread = new ReverbLoadPrevThread(reverb, this);
-}
-
-int ReverbMenu::load_defaults(BC_Hash *defaults)
-{
-       FileSystem fs;
-       total_loads = defaults->get("TOTAL_LOADS", 0);
-       if(total_loads > 0)
-       {
-               filemenu->add_item(new BC_MenuItem("-"));
-               char string[1024], path[1024], filename[1024];
-
-               for(int i = 0; i < total_loads; i++)
-               {
-                       sprintf(string, "LOADPREVIOUS%d", i);
-                       defaults->get(string, path);
-                       fs.extract_name(filename, path);
-//printf("ReverbMenu::load_defaults %s\n", path);
-                       filemenu->add_item(prev_load[i] = new ReverbLoadPrev(reverb, this, filename, path));
-               }
-       }
-       return 0;
-}
-
-int ReverbMenu::save_defaults(BC_Hash *defaults)
-{
-       if(total_loads > 0)
-       {
-               defaults->update("TOTAL_LOADS",  total_loads);
-               char string[1024];
-
-               for(int i = 0; i < total_loads; i++)
-               {
-                       sprintf(string, "LOADPREVIOUS%d", i);
-                       defaults->update(string, prev_load[i]->path);
-               }
-       }
-       return 0;
-}
-
-int ReverbMenu::add_load(char *path)
-{
-       if(total_loads == 0)
-       {
-               filemenu->add_item(new BC_MenuItem("-"));
-       }
-
-// test for existing copy
-       FileSystem fs;
-       char text[1024], new_path[1024];      // get text and path
-       fs.extract_name(text, path);
-       strcpy(new_path, path);
-
-       for(int i = 0; i < total_loads; i++)
-       {
-               if(!strcmp(prev_load[i]->get_text(), text))     // already exists
-               {                                // swap for top load
-                       for(int j = i; j > 0; j--)   // move preceeding loads down
-                       {
-                               prev_load[j]->set_text(prev_load[j - 1]->get_text());
-                               prev_load[j]->set_path(prev_load[j - 1]->path);
-                       }
-                       prev_load[0]->set_text(text);
-                       prev_load[0]->set_path(new_path);
-                       return 1;
-               }
-       }
-
-// add another load
-       if(total_loads < TOTAL_LOADS)
-       {
-               filemenu->add_item(prev_load[total_loads] = new ReverbLoadPrev(reverb, this));
-               total_loads++;
-       }
-
-// cycle loads down
-       for(int i = total_loads - 1; i > 0; i--)
-       {
-       // set menu item text
-               prev_load[i]->set_text(prev_load[i - 1]->get_text());
-       // set filename
-               prev_load[i]->set_path(prev_load[i - 1]->path);
-       }
-
-// set up the new load
-       prev_load[0]->set_text(text);
-       prev_load[0]->set_path(new_path);
-       return 0;
-}
-
-ReverbLoad::ReverbLoad(Reverb *reverb, ReverbMenu *menu)
- : BC_MenuItem(_("Load..."))
-{
-       this->reverb = reverb;
-       this->menu = menu;
-       thread = new ReverbLoadThread(reverb, menu);
-}
-ReverbLoad::~ReverbLoad()
-{
-       delete thread;
-}
-int ReverbLoad::handle_event()
-{
-       thread->start();
-       return 0;
-}
-
-ReverbSave::ReverbSave(Reverb *reverb, ReverbMenu *menu)
- : BC_MenuItem(_("Save..."))
-{
-       this->reverb = reverb;
-       this->menu = menu;
-       thread = new ReverbSaveThread(reverb, menu);
-}
-ReverbSave::~ReverbSave()
-{
-       delete thread;
-}
-int ReverbSave::handle_event()
-{
-       thread->start();
-       return 0;
-}
-
-ReverbSetDefault::ReverbSetDefault()
- : BC_MenuItem(_("Set default"))
-{
-}
-int ReverbSetDefault::handle_event()
-{
-       return 0;
-}
-
-ReverbLoadPrev::ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu, char *filename, char *path)
- : BC_MenuItem(filename)
-{
-       this->reverb = reverb;
-       this->menu = menu;
-       strcpy(this->path, path);
-}
-ReverbLoadPrev::ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu)
- : BC_MenuItem("")
-{
-       this->reverb = reverb;
-       this->menu = menu;
-}
-int ReverbLoadPrev::handle_event()
-{
-       menu->prev_load_thread->set_path(path);
-       menu->prev_load_thread->start();
-       return 0;
-}
-int ReverbLoadPrev::set_path(char *path)
-{
-       strcpy(this->path, path);
-       return 0;
-}
-
-
-ReverbSaveThread::ReverbSaveThread(Reverb *reverb, ReverbMenu *menu)
- : Thread()
-{
-       this->reverb = reverb;
-       this->menu = menu;
-}
-ReverbSaveThread::~ReverbSaveThread()
-{
-}
-void ReverbSaveThread::run()
-{
-       int result = 0;
-       {
-               ReverbSaveDialog dialog(reverb);
-               dialog.create_objects();
-               result = dialog.run_window();
-//             if(!result) strcpy(reverb->config_directory, dialog.get_path());
-       }
-       if(!result)
-       {
-               result = reverb->save_to_file(reverb->config_directory);
-               menu->add_load(reverb->config_directory);
-       }
-}
-
-ReverbSaveDialog::ReverbSaveDialog(Reverb *reverb)
- : BC_FileBox(0,
-                       0,
-                       reverb->config_directory,
-                       _("Save reverb"),
-                       _("Select the reverb file to save as"), 0, 0)
-{
-       this->reverb = reverb;
-}
-ReverbSaveDialog::~ReverbSaveDialog()
-{
-}
-int ReverbSaveDialog::ok_event()
-{
-       set_done(0);
-       return 0;
-}
-int ReverbSaveDialog::cancel_event()
-{
-       set_done(1);
-       return 0;
-}
-
-
-
-ReverbLoadThread::ReverbLoadThread(Reverb *reverb, ReverbMenu *menu)
- : Thread()
-{
-       this->reverb = reverb;
-       this->menu = menu;
-}
-ReverbLoadThread::~ReverbLoadThread()
-{
-}
-void ReverbLoadThread::run()
-{
-       int result = 0;
-       {
-               ReverbLoadDialog dialog(reverb);
-               dialog.create_objects();
-               result = dialog.run_window();
-//             if(!result) strcpy(reverb->config_directory, dialog.get_path());
-       }
-       if(!result)
-       {
-               result = reverb->load_from_file(reverb->config_directory);
-               if(!result)
-               {
-                       menu->add_load(reverb->config_directory);
-                       reverb->send_configure_change();
-               }
-       }
-}
-
-ReverbLoadPrevThread::ReverbLoadPrevThread(Reverb *reverb, ReverbMenu *menu) : Thread()
-{
-       this->reverb = reverb;
-       this->menu = menu;
-}
-ReverbLoadPrevThread::~ReverbLoadPrevThread()
-{
-}
-void ReverbLoadPrevThread::run()
-{
-       int result = 0;
-       strcpy(reverb->config_directory, path);
-       result = reverb->load_from_file(path);
-       if(!result)
-       {
-               menu->add_load(path);
-               reverb->send_configure_change();
-       }
-}
-int ReverbLoadPrevThread::set_path(char *path)
-{
-       strcpy(this->path, path);
-       return 0;
-}
-
-
-
-
-
-ReverbLoadDialog::ReverbLoadDialog(Reverb *reverb)
- : BC_FileBox(0,
-                       0,
-                       reverb->config_directory,
-                       _("Load reverb"),
-                       _("Select the reverb file to load from"), 0, 0)
-{
-       this->reverb = reverb;
-}
-ReverbLoadDialog::~ReverbLoadDialog()
-{
-}
-int ReverbLoadDialog::ok_event()
-{
-       set_done(0);
-       return 0;
-}
-int ReverbLoadDialog::cancel_event()
-{
-       set_done(1);
-       return 0;
-}
+// ReverbMenu::ReverbMenu(Reverb *reverb, ReverbWindow *window)
+//  : BC_MenuBar(0, 0, window->get_w())
+// {
+//     this->window = window;
+//     this->reverb = reverb;
+// }
+// 
+// ReverbMenu::~ReverbMenu()
+// {
+//     delete load;
+//     delete save;
+//     //delete set_default;
+//     for(int i = 0; i < total_loads; i++)
+//     {
+//             delete prev_load[i];
+//     }
+//     delete prev_load_thread;
+// }
+// 
+// void ReverbMenu::create_objects(BC_Hash *defaults)
+// {
+//     add_menu(filemenu = new BC_Menu(_("File")));
+//     filemenu->add_item(load = new ReverbLoad(reverb, this));
+//     filemenu->add_item(save = new ReverbSave(reverb, this));
+//     //filemenu->add_item(set_default = new ReverbSetDefault);
+//     load_defaults(defaults);
+//     prev_load_thread = new ReverbLoadPrevThread(reverb, this);
+// }
+// 
+// int ReverbMenu::load_defaults(BC_Hash *defaults)
+// {
+//     FileSystem fs;
+//     total_loads = defaults->get("TOTAL_LOADS", 0);
+//     if(total_loads > 0)
+//     {
+//             filemenu->add_item(new BC_MenuItem("-"));
+//             char string[1024], path[1024], filename[1024];
+//     
+//             for(int i = 0; i < total_loads; i++)
+//             {
+//                     sprintf(string, "LOADPREVIOUS%d", i);
+//                     defaults->get(string, path);
+//                     fs.extract_name(filename, path);
+// //printf("ReverbMenu::load_defaults %s\n", path);
+//                     filemenu->add_item(prev_load[i] = new ReverbLoadPrev(reverb, this, filename, path));
+//             }
+//     }
+//     return 0;
+// }
+// 
+// int ReverbMenu::save_defaults(BC_Hash *defaults)
+// {
+//     if(total_loads > 0)
+//     {
+//             defaults->update("TOTAL_LOADS",  total_loads);
+//             char string[1024];
+//             
+//             for(int i = 0; i < total_loads; i++)
+//             {
+//                     sprintf(string, "LOADPREVIOUS%d", i);
+//                     defaults->update(string, prev_load[i]->path);
+//             }
+//     }
+//     return 0;
+// }
+// 
+// int ReverbMenu::add_load(char *path)
+// {
+//     if(total_loads == 0)
+//     {
+//             filemenu->add_item(new BC_MenuItem("-"));
+//     }
+//     
+// // test for existing copy
+//     FileSystem fs;
+//     char text[1024], new_path[1024];      // get text and path
+//     fs.extract_name(text, path);
+//     strcpy(new_path, path);
+//     
+//     for(int i = 0; i < total_loads; i++)
+//     {
+//             if(!strcmp(prev_load[i]->get_text(), text))     // already exists
+//             {                                // swap for top load
+//                     for(int j = i; j > 0; j--)   // move preceeding loads down
+//                     {
+//                             prev_load[j]->set_text(prev_load[j - 1]->get_text());
+//                             prev_load[j]->set_path(prev_load[j - 1]->path);
+//                     }
+//                     prev_load[0]->set_text(text);
+//                     prev_load[0]->set_path(new_path);
+//                     return 1;
+//             }
+//     }
+//     
+// // add another load
+//     if(total_loads < TOTAL_LOADS)
+//     {
+//             filemenu->add_item(prev_load[total_loads] = new ReverbLoadPrev(reverb, this));
+//             total_loads++;
+//     }
+//     
+// // cycle loads down
+//     for(int i = total_loads - 1; i > 0; i--)
+//     {         
+//     // set menu item text
+//             prev_load[i]->set_text(prev_load[i - 1]->get_text());
+//     // set filename
+//             prev_load[i]->set_path(prev_load[i - 1]->path);
+//     }
+// 
+// // set up the new load
+//     prev_load[0]->set_text(text);
+//     prev_load[0]->set_path(new_path);
+//     return 0;
+// }
+// 
+// ReverbLoad::ReverbLoad(Reverb *reverb, ReverbMenu *menu)
+//  : BC_MenuItem(_("Load..."))
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+//     thread = new ReverbLoadThread(reverb, menu);
+// }
+// ReverbLoad::~ReverbLoad()
+// {
+//     delete thread;
+// }
+// int ReverbLoad::handle_event()
+// {
+//     thread->start();
+//     return 0;
+// }
+// 
+// ReverbSave::ReverbSave(Reverb *reverb, ReverbMenu *menu)
+//  : BC_MenuItem(_("Save..."))
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+//     thread = new ReverbSaveThread(reverb, menu);
+// }
+// ReverbSave::~ReverbSave()
+// {
+//     delete thread;
+// }
+// int ReverbSave::handle_event()
+// {
+//     thread->start();
+//     return 0;
+// }
+// 
+// ReverbSetDefault::ReverbSetDefault()
+//  : BC_MenuItem(_("Set default"))
+// {
+// }
+// int ReverbSetDefault::handle_event()
+// {
+//     return 0;
+// }
+// 
+// ReverbLoadPrev::ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu, char *filename, char *path)
+//  : BC_MenuItem(filename)
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+//     strcpy(this->path, path);
+// }
+// ReverbLoadPrev::ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu)
+//  : BC_MenuItem("")
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+// }
+// int ReverbLoadPrev::handle_event()
+// {
+//     menu->prev_load_thread->set_path(path);
+//     menu->prev_load_thread->start();
+// }
+// int ReverbLoadPrev::set_path(char *path)
+// {
+//     strcpy(this->path, path);
+// }
+// 
+// 
+// ReverbSaveThread::ReverbSaveThread(Reverb *reverb, ReverbMenu *menu)
+//  : Thread()
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+// }
+// ReverbSaveThread::~ReverbSaveThread()
+// {
+// }
+// void ReverbSaveThread::run()
+// {
+//     int result = 0;
+//     {
+//             ReverbSaveDialog dialog(reverb);
+//             dialog.create_objects();
+//             result = dialog.run_window();
+// //          if(!result) strcpy(reverb->config_directory, dialog.get_path());
+//     }
+//     if(!result) 
+//     {
+//             result = reverb->save_to_file(reverb->config_directory);
+//             menu->add_load(reverb->config_directory);
+//     }
+// }
+// 
+// ReverbSaveDialog::ReverbSaveDialog(Reverb *reverb)
+//  : BC_FileBox(0,
+//                     0, 
+//                     reverb->config_directory, 
+//                     _("Save reverb"), 
+//                     _("Select the reverb file to save as"), 0, 0)
+// {
+//     this->reverb = reverb;
+// }
+// ReverbSaveDialog::~ReverbSaveDialog()
+// {
+// }
+// int ReverbSaveDialog::ok_event()
+// {
+//     set_done(0);
+//     return 0;
+// }
+// int ReverbSaveDialog::cancel_event()
+// {
+//     set_done(1);
+//     return 0;
+// }
+// 
+// 
+// 
+// ReverbLoadThread::ReverbLoadThread(Reverb *reverb, ReverbMenu *menu)
+//  : Thread()
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+// }
+// ReverbLoadThread::~ReverbLoadThread()
+// {
+// }
+// void ReverbLoadThread::run()
+// {
+//     int result = 0;
+//     {
+//             ReverbLoadDialog dialog(reverb);
+//             dialog.create_objects();
+//             result = dialog.run_window();
+// //          if(!result) strcpy(reverb->config_directory, dialog.get_path());
+//     }
+//     if(!result) 
+//     {
+//             result = reverb->load_from_file(reverb->config_directory);
+//             if(!result)
+//             {
+//                     menu->add_load(reverb->config_directory);
+//                     reverb->send_configure_change();
+//             }
+//     }
+// }
+// 
+// ReverbLoadPrevThread::ReverbLoadPrevThread(Reverb *reverb, ReverbMenu *menu) : Thread()
+// {
+//     this->reverb = reverb;
+//     this->menu = menu;
+// }
+// ReverbLoadPrevThread::~ReverbLoadPrevThread()
+// {
+// }
+// void ReverbLoadPrevThread::run()
+// {
+//     int result = 0;
+//     strcpy(reverb->config_directory, path);
+//     result = reverb->load_from_file(path);
+//     if(!result)
+//     {
+//             menu->add_load(path);
+//             reverb->send_configure_change();
+//     }
+// }
+// int ReverbLoadPrevThread::set_path(char *path)
+// {
+//     strcpy(this->path, path);
+//     return 0;
+// }
+// 
+// 
+// 
+// 
+// 
+// ReverbLoadDialog::ReverbLoadDialog(Reverb *reverb)
+//  : BC_FileBox(0,
+//                     0, 
+//                     reverb->config_directory, 
+//                     _("Load reverb"), 
+//                     _("Select the reverb file to load from"), 0, 0)
+// {
+//     this->reverb = reverb;
+// }
+// ReverbLoadDialog::~ReverbLoadDialog()
+// {
+// }
+// int ReverbLoadDialog::ok_event()
+// {
+//     set_done(0);
+//     return 0;
+// }
+// int ReverbLoadDialog::cancel_event()
+// {
+//     set_done(1);
+//     return 0;
+// }