5 #include "edlsession.h"
8 #include "labelnavigate.h"
9 #include "localsession.h"
13 #include "mwindowgui.h"
14 #include "playbackengine.h"
15 #include "playtransport.h"
16 #include "preferences.h"
18 #include "mainsession.h"
22 MButtons::MButtons(MWindow *mwindow, MWindowGUI *gui)
23 : BC_SubWindow(mwindow->theme->mbuttons_x,
24 mwindow->theme->mbuttons_y,
25 mwindow->theme->mbuttons_w,
26 mwindow->theme->mbuttons_h)
29 this->mwindow = mwindow;
38 int MButtons::create_objects()
43 draw_top_background(get_parent(), 0, 0, get_w(), get_h());
44 transport = new MainTransport(mwindow, this, x, y);
45 transport->create_objects();
46 transport->set_engine(mwindow->cwindow->playback_engine);
47 x += transport->get_w();
49 edit_panel = new MainEditing(mwindow, this, x, y);
51 edit_panel->create_objects();
53 x += edit_panel->get_w();
58 int MButtons::resize_event()
60 reposition_window(mwindow->theme->mbuttons_x,
61 mwindow->theme->mbuttons_y,
62 mwindow->theme->mbuttons_w,
63 mwindow->theme->mbuttons_h);
64 draw_top_background(get_parent(), 0, 0, get_w(), get_h());
68 int MButtons::keypress_event()
72 // switch(get_keypress())
75 // mwindow->goto_start();
79 // mwindow->goto_end();
86 result = transport->keypress_event();
93 //printf("MButtons::keypress_event %d\n", result);
97 void MButtons::update()
117 MainTransport::MainTransport(MWindow *mwindow, MButtons *mbuttons, int x, int y)
118 : PlayTransport(mwindow, mbuttons, x, y)
122 void MainTransport::goto_start()
124 mwindow->gui->unlock_window();
125 handle_transport(REWIND, 1);
126 mwindow->gui->lock_window();
127 mwindow->goto_start();
131 void MainTransport::goto_end()
133 mwindow->gui->unlock_window();
134 handle_transport(GOTO_END, 1);
135 mwindow->gui->lock_window();
139 MainEditing::MainEditing(MWindow *mwindow, MButtons *mbuttons, int x, int y)
144 mwindow->edl->session->editing_mode,
161 this->mwindow = mwindow;
162 this->mbuttons = mbuttons;
173 RecButton::RecButton(int x, int y, MWindow *mwindow)
174 : BC_Button(x, y, mwindow->theme->rec_data)
175 { this->mwindow = mwindow; }
176 int RecButton::handle_event()
178 //printf("Rec pressed\n");
180 int RecButton::keypress_event()
182 if(get_keypress() == 18) { handle_event(); return 1; }
187 ExpandX::ExpandX(int x, int y, MWindow *mwindow)
188 : BC_Button(x, y, mwindow->theme->rec_data)
189 { this->mwindow = mwindow; }
190 int ExpandX::handle_event()
192 mwindow->expand_sample();
194 int ExpandX::keypress_event()
196 if(get_keypress() == UP && !ctrl_down()) { handle_event(); return 1; }
201 ZoomX::ZoomX(int x, int y, MWindow *mwindow)
202 : BC_Button(x, y, mwindow->theme->rec_data)
203 { this->mwindow = mwindow; }
204 int ZoomX::handle_event()
206 mwindow->zoom_in_sample();
208 int ZoomX::keypress_event()
210 if(get_keypress() == DOWN && !ctrl_down()) { handle_event(); return 1; }
215 ExpandY::ExpandY(int x, int y, MWindow *mwindow)
216 : BC_Button(x, y, mwindow->theme->rec_data)
217 { this->mwindow = mwindow; }
218 int ExpandY::handle_event()
222 int ExpandY::keypress_event()
224 if(get_keypress() == UP && ctrl_down()) { handle_event(); return 1; }
229 ZoomY::ZoomY(int x, int y, MWindow *mwindow)
230 : BC_Button(x, y, mwindow->theme->rec_data)
231 { this->mwindow = mwindow; }
232 int ZoomY::handle_event()
234 mwindow->zoom_in_y();
236 int ZoomY::keypress_event()
238 if(get_keypress() == DOWN && ctrl_down()) { handle_event(); return 1; }
243 ExpandTrack::ExpandTrack(int x, int y, MWindow *mwindow)
244 : BC_Button(x, y, mwindow->theme->rec_data)
245 { this->mwindow = mwindow; }
246 int ExpandTrack::handle_event()
250 int ExpandTrack::keypress_event()
252 if(get_keypress() == PGUP && ctrl_down()) { handle_event(); return 1; }
257 ZoomTrack::ZoomTrack(int x, int y, MWindow *mwindow)
258 : BC_Button(x, y, mwindow->theme->rec_data)
260 this->mwindow = mwindow;
262 int ZoomTrack::handle_event()
264 mwindow->zoom_in_t();
266 int ZoomTrack::keypress_event()
268 if(get_keypress() == PGDN && ctrl_down()) { handle_event(); return 1; }