X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Freverb%2Freverbwindow.C;h=add6ab4588c769ed9bcbff3ac901cd28600fa558;hp=4da0fafc701c25cff70ba5be6c5832ab148ffb6b;hb=9d832a1fff11b11aaa1108c460690ed05e2bdc05;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb diff --git a/cinelerra-5.1/plugins/reverb/reverbwindow.C b/cinelerra-5.1/plugins/reverb/reverbwindow.C index 4da0fafc..add6ab45 100644 --- a/cinelerra-5.1/plugins/reverb/reverbwindow.C +++ b/cinelerra-5.1/plugins/reverb/reverbwindow.C @@ -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; +// }