#include "menueditlength.h"
#include "menutransitionlength.h"
#include "menuveffects.h"
+#include "mixersalign.h"
#include "mwindowgui.h"
#include "mwindow.h"
#include "new.h"
trackmenu->add_item(new MoveTracksUp(mwindow));
trackmenu->add_item(new MoveTracksDown(mwindow));
trackmenu->add_item(new DeleteTracks(mwindow));
- trackmenu->add_item(new DeleteTrack(mwindow));
+ trackmenu->add_item(new DeleteFirstTrack(mwindow));
+ trackmenu->add_item(new DeleteLastTrack(mwindow));
trackmenu->add_item(new ConcatenateTracks(mwindow));
AppendTracks *append_tracks;
trackmenu->add_item(append_tracks = new AppendTracks(mwindow));
windowmenu->add_item(new BC_MenuItem("-"));
windowmenu->add_item(split_x = new SplitX(mwindow));
windowmenu->add_item(split_y = new SplitY(mwindow));
- windowmenu->add_item(mixer_viewer = new MixerViewer(mwindow));
- windowmenu->add_item(new TileMixers(mwindow));
+ windowmenu->add_item(mixer_items = new MixerItems(mwindow));
+ mixer_items->create_objects();
windowmenu->add_item(new TileWindows(mwindow,_("Tile left"),0));
windowmenu->add_item(new TileWindows(mwindow,_("Tile right"),1));
windowmenu->add_item(new BC_MenuItem("-"));
return 1;
}
-DeleteTrack::DeleteTrack(MWindow *mwindow)
+DeleteFirstTrack::DeleteFirstTrack(MWindow *mwindow)
+ : BC_MenuItem(_("Delete first track"), "Shift-D", 'D')
+{
+ set_shift(1);
+ this->mwindow = mwindow;
+}
+
+int DeleteFirstTrack::handle_event()
+{
+ if( mwindow->session->current_operation == NO_OPERATION ) {
+ Track *track = mwindow->edl->tracks->first;
+ if( track ) mwindow->delete_track(track);
+ }
+ return 1;
+}
+
+DeleteLastTrack::DeleteLastTrack(MWindow *mwindow)
: BC_MenuItem(_("Delete last track"), "d", 'd')
{
this->mwindow = mwindow;
}
-int DeleteTrack::handle_event()
+int DeleteLastTrack::handle_event()
{
- if( mwindow->session->current_operation == NO_OPERATION )
- mwindow->delete_track();
+ if( mwindow->session->current_operation == NO_OPERATION ) {
+ Track *track = mwindow->edl->tracks->last;
+ if( track ) mwindow->delete_track(track);
+ }
return 1;
}
MoveTracksUp::MoveTracksUp(MWindow *mwindow)
: BC_MenuItem(_("Move tracks up"), _("Shift-Up"), UP)
{
- set_shift(); this->mwindow = mwindow;
+ this->mwindow = mwindow;
+ set_shift();
}
int MoveTracksUp::handle_event()
}
+MixerItems::MixerItems(MWindow *mwindow)
+ : BC_MenuItem(_("Mixers..."))
+{
+ this->mwindow = mwindow;
+}
+
+void MixerItems::create_objects()
+{
+ BC_SubMenu *mixer_submenu = new BC_SubMenu();
+ add_submenu(mixer_submenu);
+ mixer_submenu->add_submenuitem(new MixerViewer(mwindow));
+ mixer_submenu->add_submenuitem(new TileMixers(mwindow));
+ mixer_submenu->add_submenuitem(new AlignMixers(mwindow));
+}
+
MixerViewer::MixerViewer(MWindow *mwindow)
: BC_MenuItem(_("Mixer Viewer"), _("Shift-M"), 'M')
{
return 1;
}
+AlignMixers::AlignMixers(MWindow *mwindow)
+ : BC_MenuItem(_("Align mixers"))
+{
+ this->mwindow = mwindow;
+}
+
+int AlignMixers::handle_event()
+{
+ int wx, wy;
+ mwindow->gui->get_abs_cursor(wx, wy);
+ mwindow->mixers_align->start_dialog(wx, wy);
+ return 1;
+}
+
LoadLayoutItem::LoadLayoutItem(LoadLayout *load_layout, const char *text, int idx, int hotkey)
: BC_MenuItem(text, "", hotkey)