4 #include "mwindowgui.h"
6 #include "plugindialog.h"
7 #include "pluginpopup.h"
12 PluginPopup::PluginPopup(MWindow *mwindow, MWindowGUI *gui)
19 this->mwindow = mwindow;
23 PluginPopup::~PluginPopup()
27 void PluginPopup::create_objects()
29 add_item(attach = new PluginPopupAttach(mwindow, this));
30 add_item(detach = new PluginPopupDetach(mwindow, this));
31 // add_item(in = new PluginPopupIn(mwindow, this));
32 // add_item(out = new PluginPopupOut(mwindow, this));
33 add_item(show = new PluginPopupShow(mwindow, this));
34 add_item(on = new PluginPopupOn(mwindow, this));
35 add_item(new PluginPopupUp(mwindow, this));
36 add_item(new PluginPopupDown(mwindow, this));
39 int PluginPopup::update(Plugin *plugin)
41 //printf("PluginPopup::update %p\n", plugin);
42 on->set_checked(plugin->on);
43 // in->set_checked(plugin->in);
44 // out->set_checked(plugin->out);
45 show->set_checked(plugin->show);
46 this->plugin = plugin;
58 PluginPopupAttach::PluginPopupAttach(MWindow *mwindow, PluginPopup *popup)
59 : BC_MenuItem(_("Attach..."))
61 this->mwindow = mwindow;
63 dialog_thread = new PluginDialogThread(mwindow);
66 PluginPopupAttach::~PluginPopupAttach()
71 int PluginPopupAttach::handle_event()
73 dialog_thread->start_window(popup->plugin->track,
75 PROGRAM_NAME ": Attach Effect");
84 PluginPopupDetach::PluginPopupDetach(MWindow *mwindow, PluginPopup *popup)
85 : BC_MenuItem(_("Detach"))
87 this->mwindow = mwindow;
91 PluginPopupDetach::~PluginPopupDetach()
95 int PluginPopupDetach::handle_event()
97 mwindow->hide_plugin(popup->plugin, 1);
98 mwindow->undo->update_undo_before(_("detach effect"), LOAD_ALL);
99 popup->plugin->track->detach_effect(popup->plugin);
100 mwindow->save_backup();
101 mwindow->undo->update_undo_after();
102 mwindow->gui->update(0,
109 mwindow->restart_brender();
110 mwindow->sync_parameters(CHANGE_EDL);
120 PluginPopupIn::PluginPopupIn(MWindow *mwindow, PluginPopup *popup)
121 : BC_MenuItem(_("Send"))
123 this->mwindow = mwindow;
127 PluginPopupIn::~PluginPopupIn()
131 int PluginPopupIn::handle_event()
133 popup->plugin->in = !get_checked();
134 mwindow->sync_parameters(CHANGE_EDL);
142 PluginPopupOut::PluginPopupOut(MWindow *mwindow, PluginPopup *popup)
143 : BC_MenuItem(_("Receive"))
145 this->mwindow = mwindow;
149 PluginPopupOut::~PluginPopupOut()
153 int PluginPopupOut::handle_event()
155 popup->plugin->out = !get_checked();
156 mwindow->sync_parameters(CHANGE_EDL);
164 PluginPopupShow::PluginPopupShow(MWindow *mwindow, PluginPopup *popup)
165 : BC_MenuItem(_("Show"))
167 this->mwindow = mwindow;
171 PluginPopupShow::~PluginPopupShow()
175 int PluginPopupShow::handle_event()
177 mwindow->show_plugin(popup->plugin);
184 PluginPopupOn::PluginPopupOn(MWindow *mwindow, PluginPopup *popup)
185 : BC_MenuItem(_("On"))
187 this->mwindow = mwindow;
191 PluginPopupOn::~PluginPopupOn()
195 int PluginPopupOn::handle_event()
197 popup->plugin->on = !get_checked();
198 mwindow->restart_brender();
199 mwindow->sync_parameters(CHANGE_EDL);
204 PluginPopupUp::PluginPopupUp(MWindow *mwindow, PluginPopup *popup)
205 : BC_MenuItem(_("Move up"))
207 this->mwindow = mwindow;
211 int PluginPopupUp::handle_event()
213 mwindow->move_plugins_up(popup->plugin->plugin_set);
219 PluginPopupDown::PluginPopupDown(MWindow *mwindow, PluginPopup *popup)
220 : BC_MenuItem(_("Move down"))
222 this->mwindow = mwindow;
226 int PluginPopupDown::handle_event()
228 mwindow->move_plugins_down(popup->plugin->plugin_set);