{
add_item(open_edl = new EditPopupOpenEDL(mwindow, this));
add_item(new EditPopupClearSelect(mwindow, this));
+ add_item(new EditPopupSelectEdits(mwindow, this));
+ add_item(new EditPopupDeselectEdits(mwindow, this));
add_item(new EditPopupCopy(mwindow, this));
add_item(new EditPopupCut(mwindow, this));
add_item(new EditPopupMute(mwindow, this));
add_item(new EditPopupMutePack(mwindow, this));
add_item(new EditPopupPaste(mwindow, this));
add_item(new EditPopupOverwrite(mwindow, this));
+ add_item(new BC_MenuItem("-"));
add_item(new EditPopupOverwritePlugins(mwindow, this));
+ add_item(new EditCollectEffects(mwindow, this));
+ add_item(new EditPasteEffects(mwindow, this));
+ add_item(new EditPopupTimecode(mwindow, this));
}
int EditPopup::activate_menu(Track *track, Edit *edit,
return 1;
}
+EditPopupSelectEdits::EditPopupSelectEdits(MWindow *mwindow, EditPopup *popup)
+ : BC_MenuItem(_("Select Edits"),_("Ctrl-Alt-'"),'\'')
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+ set_ctrl(1);
+ set_alt(1);
+}
+
+int EditPopupSelectEdits::handle_event()
+{
+ mwindow->select_edits(1);
+ return 1;
+}
+
+EditPopupDeselectEdits::EditPopupDeselectEdits(MWindow *mwindow, EditPopup *popup)
+ : BC_MenuItem(_("Deselect Edits"))
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+}
+
+int EditPopupDeselectEdits::handle_event()
+{
+ mwindow->select_edits(0);
+ return 1;
+}
+
EditPopupCopy::EditPopupCopy(MWindow *mwindow, EditPopup *popup)
: BC_MenuItem(_("Copy"),_("Ctrl-c"),'c')
{
}
EditPopupCutPack::EditPopupCutPack(MWindow *mwindow, EditPopup *popup)
- : BC_MenuItem(_("Cut pack"),_("Ctrl-z"),'z')
+ : BC_MenuItem(_("Cut pack"),_("Ctrl-Alt-z"),'z')
{
this->mwindow = mwindow;
this->popup = popup;
set_ctrl(1);
+ set_alt();
}
int EditPopupCutPack::handle_event()
}
EditPopupMute::EditPopupMute(MWindow *mwindow, EditPopup *popup)
- : BC_MenuItem(_("Mute"),_("Ctrl-m"),'m')
+ : BC_MenuItem(C_("Mute"),_("Ctrl-m"),'m')
{
this->mwindow = mwindow;
this->popup = popup;
return 1;
}
+
+EditCollectEffects::EditCollectEffects(MWindow *mwindow, EditPopup *popup)
+ : BC_MenuItem(_("Collect Effects"))
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+ set_ctrl(1);
+}
+
+int EditCollectEffects::handle_event()
+{
+ if( mwindow->session->current_operation == NO_OPERATION )
+ mwindow->collect_effects();
+ return 1;
+}
+
+EditPasteEffects::EditPasteEffects(MWindow *mwindow, EditPopup *popup)
+ : BC_MenuItem(_("Paste Effects"))
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+ set_ctrl(1);
+ set_shift(1);
+}
+
+int EditPasteEffects::handle_event()
+{
+ if( mwindow->session->current_operation == NO_OPERATION )
+ mwindow->paste_effects();
+ return 1;
+}
+
+EditPopupTimecode::EditPopupTimecode(MWindow *mwindow, EditPopup *popup)
+ : BC_MenuItem(_("Timecode"),_("Ctrl-!"),'!')
+{
+ this->mwindow = mwindow;
+ this->popup = popup;
+ set_ctrl(1);
+ set_shift(1);
+}
+
+int EditPopupTimecode::handle_event()
+{
+ if( mwindow->session->current_operation != NO_OPERATION ) return 1;
+ Edit *edit = popup->edit;
+ if( !edit || !edit->asset ) return 1;
+ Asset *asset = edit->asset;
+ double timecode = asset->timecode != -2 ? asset->timecode :
+ FFMPEG::get_timecode(asset->path,
+ edit->track->data_type, edit->channel,
+ mwindow->edl->session->frame_rate);
+ asset->timecode = timecode;
+ if( timecode >= 0 ) {
+ int64_t pos = edit->startproject + edit->startsource;
+ double position = edit->track->from_units(pos);
+ mwindow->set_timecode_offset(timecode - position);
+ }
+ else
+ mwindow->set_timecode_offset(0);
+ return 1;
+}
+