From: Good Guy Date: Fri, 16 Feb 2018 18:54:37 +0000 (-0700) Subject: last push faux paux, update shortcuts doc, period/comma alt shortcuts, popup deactiva... X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=d371c5ba45b7c98941a6775603eeb5c50014c438;p=goodguy%2Fhistory.git last push faux paux, update shortcuts doc, period/comma alt shortcuts, popup deactivate fix, click2play enable --- diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index b4b8008d..7b6d1de2 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -298,6 +298,7 @@ int CWindowGUI::button_press_event() { if( current_operation == CWINDOW_NONE && mwindow->edl != 0 && canvas->get_canvas() && + mwindow->edl->session->cwindow_click2play && canvas->get_canvas()->get_cursor_over_window() ) { switch( get_buttonpress() ) { case LEFT_BUTTON: @@ -712,28 +713,27 @@ void CWindowGUI::stop_transport(const char *lock_msg) CWindowEditing::CWindowEditing(MWindow *mwindow, CWindow *cwindow) - : EditPanel(mwindow, - cwindow->gui, - mwindow->theme->cedit_x, - mwindow->theme->cedit_y, + : EditPanel(mwindow, cwindow->gui, CWINDOW_ID, + mwindow->theme->cedit_x, mwindow->theme->cedit_y, mwindow->edl->session->editing_mode, - 0, - 1, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 0, + 0, // use_editing_mode + 1, // use_keyframe + 0, // use_splice + 0, // use_overwrite + 1, // use_lift + 1, // use_extract + 1, // use_copy + 1, // use_paste + 1, // use_undo + 0, // use_fit 0, // locklabels - 1, - 1, - 1, - 0, - 1, - 0) + 1, // use_labels + 1, // use_toclip + 1, // use_meters + 1, // use_cut + 0, // use_commerical + 0, // use_goto + 1) // use_clk2play { this->mwindow = mwindow; this->cwindow = cwindow; diff --git a/cinelerra-5.1/cinelerra/editpanel.C b/cinelerra-5.1/cinelerra/editpanel.C index 60e154b2..7d21602f 100644 --- a/cinelerra-5.1/cinelerra/editpanel.C +++ b/cinelerra-5.1/cinelerra/editpanel.C @@ -51,6 +51,7 @@ EditPanel::EditPanel(MWindow *mwindow, BC_WindowBase *subwindow, + int window_id, int x, int y, int editing_mode, @@ -68,10 +69,12 @@ EditPanel::EditPanel(MWindow *mwindow, int use_labels, int use_toclip, int use_meters, - int is_mwindow, int use_cut, - int use_commercial) + int use_commercial, + int use_goto, + int use_clk2play) { + this->window_id = window_id; this->editing_mode = editing_mode; this->use_editing_mode = use_editing_mode; this->use_keyframe = use_keyframe; @@ -89,9 +92,10 @@ EditPanel::EditPanel(MWindow *mwindow, this->use_locklabels = use_locklabels; this->use_toclip = use_toclip; this->use_meters = use_meters; - this->is_mwindow = is_mwindow; this->use_cut = use_cut; this->use_commercial = use_commercial; + this->use_goto = use_goto; + this->use_clk2play = use_clk2play; this->x = x; this->y = y; @@ -120,6 +124,8 @@ EditPanel::EditPanel(MWindow *mwindow, this->arrow = 0; this->ibeam = 0; this->keyframe = 0; + this->mangoto = 0; + this->click2play = 0; locklabels = 0; } @@ -136,22 +142,22 @@ void EditPanel::set_meters(MeterPanel *meter_panel) void EditPanel::update() { int new_editing_mode = mwindow->edl->session->editing_mode; - if(arrow) arrow->update(new_editing_mode == EDITING_ARROW); - if(ibeam) ibeam->update(new_editing_mode == EDITING_IBEAM); - if(keyframe) keyframe->update(mwindow->edl->session->auto_keyframes); - if(locklabels) locklabels->set_value(mwindow->edl->session->labels_follow_edits); - if(meters) - { -//printf("EditPanel::update %d %p %p\n", __LINE__, subwindow, (BC_WindowBase*)mwindow->cwindow->gui); - if(subwindow == (BC_WindowBase*)mwindow->cwindow->gui) - { -//printf("EditPanel::update %d %d\n", __LINE__, mwindow->edl->session->cwindow_meter); + if( arrow ) arrow->update(new_editing_mode == EDITING_ARROW); + if( ibeam ) ibeam->update(new_editing_mode == EDITING_IBEAM); + if( keyframe ) keyframe->update(mwindow->edl->session->auto_keyframes); + if( locklabels ) locklabels->set_value(mwindow->edl->session->labels_follow_edits); + if( click2play ) { + int value = !is_vwindow() ? + mwindow->edl->session->cwindow_click2play : + mwindow->edl->session->vwindow_click2play ; + click2play->set_value(value); + } + if( meters ) { + if( is_cwindow() ) { meters->update(mwindow->edl->session->cwindow_meter); mwindow->cwindow->gui->update_meters(); } - else - { -//printf("EditPanel::update %d %d\n", __LINE__, mwindow->edl->session->vwindow_meter); + else { meters->update(mwindow->edl->session->vwindow_meter); } } @@ -162,8 +168,7 @@ int EditPanel::calculate_w(MWindow *mwindow, int use_keyframe, int total_buttons { int result = 0; int button_w = mwindow->theme->get_image_set("ibeam")[0]->get_w(); - if(use_keyframe) - { + if( use_keyframe ) { result += button_w + mwindow->theme->toggle_margin; } @@ -180,153 +185,154 @@ void EditPanel::create_buttons() { x1 = x, y1 = y; - -SET_TRACE - if(use_editing_mode) - { - subwindow->add_subwindow(arrow = new ArrowButton(mwindow, this, x1, y1)); + if( use_editing_mode ) { + arrow = new ArrowButton(mwindow, this, x1, y1); + subwindow->add_subwindow(arrow); x1 += arrow->get_w(); - subwindow->add_subwindow(ibeam = new IBeamButton(mwindow, this, x1, y1)); + ibeam = new IBeamButton(mwindow, this, x1, y1); + subwindow->add_subwindow(ibeam); x1 += ibeam->get_w(); x1 += mwindow->theme->toggle_margin; } - if(use_keyframe) - { - subwindow->add_subwindow(keyframe = new KeyFrameButton(mwindow, this, x1, y1)); + if( use_keyframe ) { + keyframe = new KeyFrameButton(mwindow, this, x1, y1); + subwindow->add_subwindow(keyframe); x1 += keyframe->get_w(); } - if(use_locklabels) - { - subwindow->add_subwindow(locklabels = new LockLabelsButton(mwindow, - x1, - y1)); + if( use_locklabels ) { + locklabels = new LockLabelsButton(mwindow, x1, y1); + subwindow->add_subwindow(locklabels); x1 += locklabels->get_w(); } - if(use_keyframe || use_locklabels) + + if( use_keyframe || use_locklabels ) x1 += mwindow->theme->toggle_margin; // Mandatory - subwindow->add_subwindow(inpoint = new EditInPoint(mwindow, this, x1, y1)); + inpoint = new EditInPoint(mwindow, this, x1, y1); + subwindow->add_subwindow(inpoint); x1 += inpoint->get_w(); - subwindow->add_subwindow(outpoint = new EditOutPoint(mwindow, this, x1, y1)); + outpoint = new EditOutPoint(mwindow, this, x1, y1); + subwindow->add_subwindow(outpoint); x1 += outpoint->get_w(); - if(use_splice) - { - subwindow->add_subwindow(splice = new EditSplice(mwindow, this, x1, y1)); + + if( use_splice ) { + splice = new EditSplice(mwindow, this, x1, y1); + subwindow->add_subwindow(splice); x1 += splice->get_w(); } - if(use_overwrite) - { - subwindow->add_subwindow(overwrite = new EditOverwrite(mwindow, this, x1, y1)); + + if( use_overwrite ) { + overwrite = new EditOverwrite(mwindow, this, x1, y1); + subwindow->add_subwindow(overwrite); x1 += overwrite->get_w(); } - if(use_lift) - { - subwindow->add_subwindow(lift = new EditLift(mwindow, this, x1, y1)); + + if( use_lift ) { + lift = new EditLift(mwindow, this, x1, y1); + subwindow->add_subwindow(lift); x1 += lift->get_w(); } - if(use_extract) - { - subwindow->add_subwindow(extract = new EditExtract(mwindow, this, x1, y1)); + + if( use_extract ) { + extract = new EditExtract(mwindow, this, x1, y1); + subwindow->add_subwindow(extract); x1 += extract->get_w(); } - if(use_toclip) - { - subwindow->add_subwindow(clip = new EditToClip(mwindow, this, x1, y1)); + + if( use_toclip ) { + clip = new EditToClip(mwindow, this, x1, y1); + subwindow->add_subwindow(clip); x1 += clip->get_w(); } - if(use_cut) - { - subwindow->add_subwindow(cut = new EditCut(mwindow, this, x1, y1)); + if( use_cut ) { + cut = new EditCut(mwindow, this, x1, y1); + subwindow->add_subwindow(cut); x1 += cut->get_w(); } - if(use_copy) - { - subwindow->add_subwindow(copy = new EditCopy(mwindow, this, x1, y1)); + + if( use_copy ) { + copy = new EditCopy(mwindow, this, x1, y1); + subwindow->add_subwindow(copy); x1 += copy->get_w(); } - if(use_paste) - { - subwindow->add_subwindow(paste = new EditPaste(mwindow, this, x1, y1)); + + if( use_paste ) { + paste = new EditPaste(mwindow, this, x1, y1); + subwindow->add_subwindow(paste); x1 += paste->get_w(); } - if(use_meters) - { - if(!meter_panel) - { - printf("EditPanel::create_objects: meter_panel == 0\n"); + if( use_meters ) { + if( meter_panel ) { + meters = new MeterShow(mwindow, meter_panel, x1, y1); + subwindow->add_subwindow(meters); + x1 += meters->get_w(); } - subwindow->add_subwindow(meters = new MeterShow(mwindow, meter_panel, x1, y1)); - x1 += meters->get_w(); + else + printf("EditPanel::create_objects: meter_panel == 0\n"); } - if(use_labels) - { - subwindow->add_subwindow(labelbutton = new EditLabelbutton(mwindow, - this, - x1, - y1)); + if( use_labels ) { + labelbutton = new EditLabelbutton(mwindow, this, x1, y1); + subwindow->add_subwindow(labelbutton); x1 += labelbutton->get_w(); - subwindow->add_subwindow(prevlabel = new EditPrevLabel(mwindow, - this, - x1, - y1, - is_mwindow)); + prevlabel = new EditPrevLabel(mwindow, this, x1, y1); + subwindow->add_subwindow(prevlabel); x1 += prevlabel->get_w(); - subwindow->add_subwindow(nextlabel = new EditNextLabel(mwindow, - this, - x1, - y1, - is_mwindow)); + nextlabel = new EditNextLabel(mwindow, this, x1, y1); + subwindow->add_subwindow(nextlabel); x1 += nextlabel->get_w(); } // all windows except VWindow since it's only implemented in MWindow. - if(use_cut) - { - subwindow->add_subwindow(prevedit = new EditPrevEdit(mwindow, - this, - x1, - y1, - is_mwindow)); + if( use_cut ) { + prevedit = new EditPrevEdit(mwindow, this, x1, y1); + subwindow->add_subwindow(prevedit); x1 += prevedit->get_w(); - subwindow->add_subwindow(nextedit = new EditNextEdit(mwindow, - this, - x1, - y1, - is_mwindow)); + nextedit = new EditNextEdit(mwindow, this, x1, y1); + subwindow->add_subwindow(nextedit); x1 += nextedit->get_w(); } - if(use_fit) - { - subwindow->add_subwindow(fit = new EditFit(mwindow, this, x1, y1)); + if( use_fit ) { + fit = new EditFit(mwindow, this, x1, y1); + subwindow->add_subwindow(fit); x1 += fit->get_w(); - subwindow->add_subwindow(fit_autos = new EditFitAutos(mwindow, this, x1, y1)); + fit_autos = new EditFitAutos(mwindow, this, x1, y1); + subwindow->add_subwindow(fit_autos); x1 += fit_autos->get_w(); } - if(use_undo) - { - subwindow->add_subwindow(undo = new EditUndo(mwindow, this, x1, y1)); + if( use_undo ) { + undo = new EditUndo(mwindow, this, x1, y1); + subwindow->add_subwindow(undo); x1 += undo->get_w(); - subwindow->add_subwindow(redo = new EditRedo(mwindow, this, x1, y1)); + redo = new EditRedo(mwindow, this, x1, y1); + subwindow->add_subwindow(redo); x1 += redo->get_w(); } - subwindow->add_subwindow(mangoto = new EditManualGoto(mwindow, this, x1, y1)); - x1 += mangoto->get_w(); + if( use_goto ) { + mangoto = new EditManualGoto(mwindow, this, x1, y1); + subwindow->add_subwindow(mangoto); + x1 += mangoto->get_w(); + } - if(use_commercial) - { - subwindow->add_subwindow(commercial = new EditCommercial(mwindow, this, x1, y1)); + if( use_clk2play ) { + click2play = new EditClick2Play(mwindow, this, x1, y1+5); + subwindow->add_subwindow(click2play); + x1 += click2play->get_w(); + } + + if( use_commercial ) { + commercial = new EditCommercial(mwindow, this, x1, y1); + subwindow->add_subwindow(commercial); x1 += commercial->get_w(); } -SET_TRACE } void EditPanel::stop_transport(const char *lock_msg) @@ -340,7 +346,7 @@ void EditPanel::stop_transport(const char *lock_msg) void EditPanel::toggle_label() { - mwindow->toggle_label(is_mwindow); + mwindow->toggle_label(is_mwindow()); } void EditPanel::prev_label(int cut) @@ -440,20 +446,13 @@ void EditPanel::set_position(double position) } } - - - - - - void EditPanel::reposition_buttons(int x, int y) { this->x = x; this->y = y; x1 = x, y1 = y; - if(use_editing_mode) - { + if( use_editing_mode ) { arrow->reposition_window(x1, y1); x1 += arrow->get_w(); ibeam->reposition_window(x1, y1); @@ -461,74 +460,62 @@ void EditPanel::reposition_buttons(int x, int y) x1 += mwindow->theme->toggle_margin; } - if(use_keyframe) - { + if( use_keyframe ) { keyframe->reposition_window(x1, y1); x1 += keyframe->get_w(); } - if(use_locklabels) - { + if( use_locklabels ) { locklabels->reposition_window(x1,y1); x1 += locklabels->get_w(); } - if(use_keyframe || use_locklabels) + if( use_keyframe || use_locklabels ) x1 += mwindow->theme->toggle_margin; inpoint->reposition_window(x1, y1); x1 += inpoint->get_w(); outpoint->reposition_window(x1, y1); x1 += outpoint->get_w(); - if(use_splice) - { + if( use_splice ) { splice->reposition_window(x1, y1); x1 += splice->get_w(); } - if(use_overwrite) - { + if( use_overwrite ) { overwrite->reposition_window(x1, y1); x1 += overwrite->get_w(); } - if(use_lift) - { + if( use_lift ) { lift->reposition_window(x1, y1); x1 += lift->get_w(); } - if(use_extract) - { + if( use_extract ) { extract->reposition_window(x1, y1); x1 += extract->get_w(); } - if(use_toclip) - { + if( use_toclip ) { clip->reposition_window(x1, y1); x1 += clip->get_w(); } - if(use_cut) - { + if( use_cut ) { cut->reposition_window(x1, y1); x1 += cut->get_w(); } - if(use_copy) - { + if( use_copy ) { copy->reposition_window(x1, y1); x1 += copy->get_w(); } - if(use_paste) - { + if( use_paste ) { paste->reposition_window(x1, y1); x1 += paste->get_w(); } - if(use_meters) - { + if( use_meters ) { meters->reposition_window(x1, y1); x1 += meters->get_w(); } - if(use_labels) - { + if( use_labels ) { labelbutton->reposition_window(x1, y1); x1 += labelbutton->get_w(); prevlabel->reposition_window(x1, y1); @@ -537,36 +524,34 @@ void EditPanel::reposition_buttons(int x, int y) x1 += nextlabel->get_w(); } - if(prevedit) - { + if( prevedit ) { prevedit->reposition_window(x1, y1); x1 += prevedit->get_w(); } - if(nextedit) - { + if( nextedit ) { nextedit->reposition_window(x1, y1); x1 += nextedit->get_w(); } - if(use_fit) - { + if( use_fit ) { fit->reposition_window(x1, y1); x1 += fit->get_w(); fit_autos->reposition_window(x1, y1); x1 += fit_autos->get_w(); } - if(use_undo) - { + if( use_undo ) { undo->reposition_window(x1, y1); x1 += undo->get_w(); redo->reposition_window(x1, y1); x1 += redo->get_w(); } - mangoto->reposition_window(x1, y1); - x1 += mangoto->get_w(); + if( use_goto ) { + mangoto->reposition_window(x1, y1); + x1 += mangoto->get_w(); + } } @@ -679,15 +664,11 @@ int EditOutPoint::keypress_event() EditNextLabel::EditNextLabel(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow) + EditPanel *panel, int x, int y) : BC_Button(x, y, mwindow->theme->get_image_set("nextlabel")) { this->mwindow = mwindow; this->panel = panel; - this->is_mwindow = is_mwindow; set_tooltip(_("Next label ( ctrl -> )")); } EditNextLabel::~EditNextLabel() @@ -716,15 +697,11 @@ int EditNextLabel::handle_event() } EditPrevLabel::EditPrevLabel(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow) + EditPanel *panel, int x, int y) : BC_Button(x, y, mwindow->theme->get_image_set("prevlabel")) { this->mwindow = mwindow; this->panel = panel; - this->is_mwindow = is_mwindow; set_tooltip(_("Previous label ( ctrl <- )")); } EditPrevLabel::~EditPrevLabel() @@ -755,15 +732,11 @@ int EditPrevLabel::handle_event() EditNextEdit::EditNextEdit(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow) + EditPanel *panel, int x, int y) : BC_Button(x, y, mwindow->theme->get_image_set("nextedit")) { this->mwindow = mwindow; this->panel = panel; - this->is_mwindow = is_mwindow; set_tooltip(_("Next edit ( alt -> )")); } EditNextEdit::~EditNextEdit() @@ -792,15 +765,11 @@ int EditNextEdit::handle_event() } EditPrevEdit::EditPrevEdit(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow) + EditPanel *panel, int x, int y) : BC_Button(x, y, mwindow->theme->get_image_set("prevedit")) { this->mwindow = mwindow; this->panel = panel; - this->is_mwindow = is_mwindow; set_tooltip(_("Previous edit (alt <- )")); } EditPrevEdit::~EditPrevEdit() @@ -862,8 +831,7 @@ int EditOverwrite::handle_event() } int EditOverwrite::keypress_event() { - if(get_keypress() == 'b') - { + if( get_keypress() == 'b' ) { handle_event(); return 1; } @@ -904,8 +872,7 @@ int EditToClip::handle_event() int EditToClip::keypress_event() { - if(get_keypress() == 'i' && !alt_down()) - { + if( get_keypress() == 'i' && !alt_down() ) { handle_event(); return 1; } @@ -932,8 +899,7 @@ int EditManualGoto::handle_event() int EditManualGoto::keypress_event() { - if(get_keypress() == 'g') - { + if( get_keypress() == 'g' ) { handle_event(); return 1; } @@ -958,8 +924,7 @@ int EditSplice::handle_event() } int EditSplice::keypress_event() { - if(get_keypress() == 'v') - { + if( get_keypress() == 'v' ) { handle_event(); return 1; } @@ -978,7 +943,7 @@ EditCut::~EditCut() } int EditCut::keypress_event() { - if(get_keypress() == 'x') + if( get_keypress() == 'x' ) return handle_event(); return 0; } @@ -986,16 +951,36 @@ int EditCut::keypress_event() int EditCut::handle_event() { int have_mwindow_lock = mwindow->gui->get_window_lock(); - if(!have_mwindow_lock) + if( !have_mwindow_lock ) mwindow->gui->lock_window("EditCut::handle_event"); mwindow->cut(); - if(!have_mwindow_lock) + if( !have_mwindow_lock ) mwindow->gui->unlock_window(); return 1; } +EditClick2Play::EditClick2Play(MWindow *mwindow, EditPanel *panel, int x, int y) + : BC_Toggle(x, y, mwindow->theme->get_image_set("playpatch_data"), + !panel->is_vwindow() ? + mwindow->edl->session->cwindow_click2play : + mwindow->edl->session->vwindow_click2play) +{ + this->mwindow = mwindow; + this->panel = panel; + set_tooltip(_("Click to play")); +} +int EditClick2Play::handle_event() +{ + int value = get_value(); + if( !panel->is_vwindow() ) + mwindow->edl->session->cwindow_click2play = value; + else + mwindow->edl->session->vwindow_click2play = value; + return 1; +} + EditCommercial::EditCommercial(MWindow *mwindow, EditPanel *panel, int x, int y) : BC_Button(x, y, mwindow->theme->get_image_set("commercial")) { @@ -1008,7 +993,7 @@ EditCommercial::~EditCommercial() } int EditCommercial::keypress_event() { - if(get_keypress() == 'X') + if( get_keypress() == 'X' ) return handle_event(); return 0; } @@ -1016,19 +1001,19 @@ int EditCommercial::keypress_event() int EditCommercial::handle_event() { int have_mwindow_lock = mwindow->gui->get_window_lock(); - if(have_mwindow_lock) + if( have_mwindow_lock ) mwindow->gui->unlock_window(); mwindow->commit_commercial(); if( !mwindow->put_commercial() ) { mwindow->gui->lock_window("EditCommercial::handle_event 1"); mwindow->cut(); - if(!have_mwindow_lock) + if( !have_mwindow_lock ) mwindow->gui->unlock_window(); mwindow->activate_commercial(); return 1; } mwindow->undo_commercial(); - if(have_mwindow_lock) + if( have_mwindow_lock ) mwindow->gui->lock_window("EditCommercial::handle_event 2"); return 1; } @@ -1046,7 +1031,7 @@ EditCopy::~EditCopy() int EditCopy::keypress_event() { - if(get_keypress() == 'c') + if( get_keypress() == 'c' ) return handle_event(); return 0; } @@ -1106,19 +1091,19 @@ EditPaste::~EditPaste() int EditPaste::keypress_event() { - if(get_keypress() == 'v') + if( get_keypress() == 'v' ) return handle_event(); return 0; } int EditPaste::handle_event() { int have_mwindow_lock = mwindow->gui->get_window_lock(); - if(!have_mwindow_lock) + if( !have_mwindow_lock ) mwindow->gui->lock_window("EditPaste::handle_event"); mwindow->paste(); - if(!have_mwindow_lock) + if( !have_mwindow_lock ) mwindow->gui->unlock_window(); return 1; } @@ -1167,7 +1152,7 @@ EditUndo::~EditUndo() } int EditUndo::keypress_event() { - if(get_keypress() == 'z') + if( get_keypress() == 'z' ) return handle_event(); return 0; } @@ -1189,7 +1174,7 @@ EditRedo::~EditRedo() } int EditRedo::keypress_event() { - if(get_keypress() == 'Z') + if( get_keypress() == 'Z' ) return handle_event(); return 0; } @@ -1216,7 +1201,7 @@ EditLabelbutton::~EditLabelbutton() } int EditLabelbutton::keypress_event() { - if(get_keypress() == 'l' && !alt_down()) + if( get_keypress() == 'l' && !alt_down() ) return handle_event(); return 0; } @@ -1244,8 +1229,7 @@ EditFit::~EditFit() } int EditFit::keypress_event() { - if(!alt_down() && get_keypress() == 'f') - { + if( !alt_down() && get_keypress() == 'f' ) { handle_event(); return 1; } @@ -1277,13 +1261,11 @@ EditFitAutos::~EditFitAutos() } int EditFitAutos::keypress_event() { - if(!ctrl_down() && alt_down() && get_keypress() == 'f') - { + if( !ctrl_down() && alt_down() && get_keypress() == 'f' ) { mwindow->fit_autos(1); return 1; } - if(ctrl_down() && alt_down() && get_keypress() == 'f') - { + if( ctrl_down() && alt_down() && get_keypress() == 'f' ) { mwindow->fit_autos(0); return 1; } @@ -1308,14 +1290,10 @@ int EditFitAutos::handle_event() ArrowButton::ArrowButton(MWindow *mwindow, EditPanel *panel, int x, int y) - : BC_Toggle(x, - y, + : BC_Toggle(x, y, mwindow->theme->get_image_set("arrow"), mwindow->edl->session->editing_mode == EDITING_ARROW, - "", - 0, - 0, - 0) + "", 0, 0, 0) { this->mwindow = mwindow; this->panel = panel; @@ -1327,22 +1305,17 @@ int ArrowButton::handle_event() update(1); panel->ibeam->update(0); mwindow->set_editing_mode(EDITING_ARROW, - !panel->is_mwindow, - panel->is_mwindow); + !panel->is_mwindow(), panel->is_mwindow()); // Nothing after this return 1; } IBeamButton::IBeamButton(MWindow *mwindow, EditPanel *panel, int x, int y) - : BC_Toggle(x, - y, + : BC_Toggle(x, y, mwindow->theme->get_image_set("ibeam"), mwindow->edl->session->editing_mode == EDITING_IBEAM, - "", - 0, - 0, - 0) + "", 0, 0, 0) { this->mwindow = mwindow; this->panel = panel; @@ -1354,21 +1327,16 @@ int IBeamButton::handle_event() update(1); panel->arrow->update(0); mwindow->set_editing_mode(EDITING_IBEAM, - !panel->is_mwindow, - panel->is_mwindow); + !panel->is_mwindow(), panel->is_mwindow()); // Nothing after this return 1; } KeyFrameButton::KeyFrameButton(MWindow *mwindow, EditPanel *panel, int x, int y) - : BC_Toggle(x, - y, + : BC_Toggle(x, y, mwindow->theme->get_image_set("autokeyframe"), mwindow->edl->session->auto_keyframes, - "", - 0, - 0, - 0) + "", 0, 0, 0) { this->mwindow = mwindow; this->panel = panel; @@ -1378,21 +1346,16 @@ KeyFrameButton::KeyFrameButton(MWindow *mwindow, EditPanel *panel, int x, int y) int KeyFrameButton::handle_event() { mwindow->set_auto_keyframes(get_value(), - !panel->is_mwindow, - panel->is_mwindow); + !panel->is_mwindow(), panel->is_mwindow()); return 1; } LockLabelsButton::LockLabelsButton(MWindow *mwindow, int x, int y) - : BC_Toggle(x, - y, + : BC_Toggle(x, y, mwindow->theme->get_image_set("locklabels"), mwindow->edl->session->labels_follow_edits, - "", - 0, - 0, - 0) + "", 0, 0, 0) { this->mwindow = mwindow; set_tooltip(_("Lock labels from moving")); diff --git a/cinelerra-5.1/cinelerra/editpanel.h b/cinelerra-5.1/cinelerra/editpanel.h index e6839a68..47b703be 100644 --- a/cinelerra-5.1/cinelerra/editpanel.h +++ b/cinelerra-5.1/cinelerra/editpanel.h @@ -23,6 +23,7 @@ #define EDITPANEL_H #include "guicast.h" +#include "editpanel.inc" #include "meterpanel.inc" #include "mwindow.inc" #include "manualgoto.inc" @@ -165,6 +166,18 @@ public: EditPanel *panel; }; +class EditClick2Play : public BC_Toggle +{ +public: + EditClick2Play(MWindow *mwindow, EditPanel *panel, int x, int y); + EditClick2Play(); + + int handle_event(); + + MWindow *mwindow; + EditPanel *panel; +}; + class EditCopy : public BC_Button { public: @@ -294,11 +307,7 @@ public: class EditPrevLabel : public BC_Button { public: - EditPrevLabel(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow); + EditPrevLabel(MWindow *mwindow, EditPanel *panel, int x, int y); ~EditPrevLabel(); int keypress_event(); @@ -306,17 +315,12 @@ public: MWindow *mwindow; EditPanel *panel; - int is_mwindow; }; class EditNextLabel : public BC_Button { public: - EditNextLabel(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow); + EditNextLabel(MWindow *mwindow, EditPanel *panel, int x, int y); ~EditNextLabel(); int keypress_event(); @@ -324,17 +328,12 @@ public: MWindow *mwindow; EditPanel *panel; - int is_mwindow; }; class EditPrevEdit : public BC_Button { public: - EditPrevEdit(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow); + EditPrevEdit(MWindow *mwindow, EditPanel *panel, int x, int y); ~EditPrevEdit(); int keypress_event(); @@ -342,17 +341,12 @@ public: MWindow *mwindow; EditPanel *panel; - int is_mwindow; }; class EditNextEdit : public BC_Button { public: - EditNextEdit(MWindow *mwindow, - EditPanel *panel, - int x, - int y, - int is_mwindow); + EditNextEdit(MWindow *mwindow, EditPanel *panel, int x, int y); ~EditNextEdit(); int keypress_event(); @@ -360,7 +354,6 @@ public: MWindow *mwindow; EditPanel *panel; - int is_mwindow; }; @@ -403,10 +396,8 @@ public: class EditPanel { public: - EditPanel(MWindow *mwindow, - BC_WindowBase *subwindow, - int x, - int y, + EditPanel(MWindow *mwindow, BC_WindowBase *subwindow, + int window_id, int x, int y, int editing_mode, // From edl.inc int use_editing_mode, int use_keyframe, @@ -422,9 +413,10 @@ public: int use_labels, int use_toclip, int use_meters, - int is_mwindow, int use_cut, - int use_commerical); + int use_commerical, + int use_goto, + int use_clk2play); ~EditPanel(); void set_meters(MeterPanel *meter_panel); @@ -455,9 +447,11 @@ public: BC_WindowBase *subwindow; MeterPanel *meter_panel; + int window_id; + int x, y, x1, y1; + int editing_mode; int use_editing_mode; int use_keyframe; - int editing_mode; int use_splice; int use_overwrite; int use_lift; @@ -470,10 +464,10 @@ public: int use_labels; int use_toclip; int use_meters; - int x, y, x1, y1; - int is_mwindow; int use_cut; int use_commercial; + int use_goto; + int use_clk2play; EditFit *fit; EditFitAutos *fit_autos; @@ -486,9 +480,10 @@ public: EditLift *lift; EditExtract *extract; EditToClip *clip; - EditManualGoto *mangoto; EditCut *cut; EditCommercial *commercial; + EditManualGoto *mangoto; + EditClick2Play *click2play; EditCopy *copy; EditPaste *paste; EditLabelbutton *labelbutton; @@ -503,6 +498,10 @@ public: IBeamButton *ibeam; KeyFrameButton *keyframe; LockLabelsButton *locklabels; + + int is_mwindow() { return window_id == MWINDOW_ID; } + int is_cwindow() { return window_id == CWINDOW_ID; } + int is_vwindow() { return window_id == VWINDOW_ID; } }; #endif diff --git a/cinelerra-5.1/cinelerra/editpanel.inc b/cinelerra-5.1/cinelerra/editpanel.inc index 51aeea48..4c613a33 100644 --- a/cinelerra-5.1/cinelerra/editpanel.inc +++ b/cinelerra-5.1/cinelerra/editpanel.inc @@ -22,6 +22,42 @@ #ifndef EDITPANEL_INC #define EDITPANEL_INC +#define MWINDOW_ID 0 +#define CWINDOW_ID 1 +#define VWINDOW_ID 2 + +class EditInPoint; +class EditOutPoint; +class EditDelInPoint; +class EditDelOutPoint; +class EditSplice; +class EditOverwrite; +class EditLift; +class EditExtract; +class EditToClip; +class EditManualGoto; +class EditCut; +class EditCommercial; +class EditClick2Play; +class EditCopy; +class EditAppend; +class EditInsert; +class EditPaste; +class EditTransition; +class EditPresentation; +class EditUndo; +class EditRedo; +class EditLabelbutton; +class EditFit; +class EditFitAutos; +class EditPrevLabel; +class EditNextLabel; +class EditPrevEdit; +class EditNextEdit; +class ArrowButton; +class IBeamButton; +class KeyFrameButton; +class LockLabelsButton; class EditPanel; #endif diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index 69ac0f73..5c663922 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -71,6 +71,7 @@ EDLSession::EDLSession(EDL *edl) cwindow_scrollbars = 0; cwindow_xscroll = cwindow_yscroll = 0; cwindow_zoom = 1.0; + cwindow_click2play = 1; strcpy(default_atransition, ""); strcpy(default_vtransition, ""); default_transition_length = 1.0; @@ -140,6 +141,7 @@ EDLSession::EDLSession(EDL *edl) view_follows_playback = 1; vwindow_meter = 0; vwindow_zoom = 1.; + vwindow_click2play = 1; playback_config = new PlaybackConfig; } @@ -243,6 +245,7 @@ int EDLSession::load_defaults(BC_Hash *defaults) cwindow_xscroll = defaults->get("CWINDOW_XSCROLL", 0); cwindow_yscroll = defaults->get("CWINDOW_YSCROLL", 0); cwindow_zoom = defaults->get("CWINDOW_ZOOM", (float)1); + cwindow_click2play = defaults->get("CWINDOW_CLICK2PLAY", 1); sprintf(default_atransition, _("Crossfade")); defaults->get("DEFAULT_ATRANSITION", default_atransition); sprintf(default_vtransition, _("Dissolve")); @@ -325,6 +328,7 @@ int EDLSession::load_defaults(BC_Hash *defaults) view_follows_playback = defaults->get("VIEW_FOLLOWS_PLAYBACK", 1); vwindow_meter = defaults->get("VWINDOW_METER", 0); vwindow_zoom = defaults->get("VWINDOW_ZOOM", (float)1); + vwindow_click2play = defaults->get("VWINDOW_CLICK2PLAY", 1); decode_subtitles = defaults->get("DECODE_SUBTITLES", decode_subtitles); subtitle_number = defaults->get("SUBTITLE_NUMBER", subtitle_number); @@ -385,6 +389,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("CWINDOW_XSCROLL", cwindow_xscroll); defaults->update("CWINDOW_YSCROLL", cwindow_yscroll); defaults->update("CWINDOW_ZOOM", cwindow_zoom); + defaults->update("CWINDOW_CLICK2PLAY", cwindow_click2play); defaults->update("DEFAULT_ATRANSITION", default_atransition); defaults->update("DEFAULT_VTRANSITION", default_vtransition); defaults->update("DEFAULT_TRANSITION_LENGTH", default_transition_length); @@ -455,6 +460,7 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("VIEW_FOLLOWS_PLAYBACK", view_follows_playback); defaults->update("VWINDOW_METER", vwindow_meter); defaults->update("VWINDOW_ZOOM", vwindow_zoom); + defaults->update("VWINDOW_CLICK2PLAY", vwindow_click2play); defaults->update("DECODE_SUBTITLES", decode_subtitles); defaults->update("SUBTITLE_NUMBER", subtitle_number); @@ -609,6 +615,7 @@ int EDLSession::load_xml(FileXML *file, cwindow_xscroll = file->tag.get_property("CWINDOW_XSCROLL", cwindow_xscroll); cwindow_yscroll = file->tag.get_property("CWINDOW_YSCROLL", cwindow_yscroll); cwindow_zoom = file->tag.get_property("CWINDOW_ZOOM", cwindow_zoom); + cwindow_click2play = file->tag.get_property("CWINDOW_CLICK2PLAY", cwindow_click2play); editing_mode = file->tag.get_property("EDITING_MODE", editing_mode); folderlist_format = file->tag.get_property("FOLDERLIST_FORMAT", folderlist_format); highlighted_track = file->tag.get_property("HIGHLIGHTED_TRACK", 0); @@ -625,6 +632,7 @@ int EDLSession::load_xml(FileXML *file, tool_window = file->tag.get_property("TOOL_WINDOW", tool_window); vwindow_meter = file->tag.get_property("VWINDOW_METER", vwindow_meter); vwindow_zoom = file->tag.get_property("VWINDOW_ZOOM", vwindow_zoom); + vwindow_click2play = file->tag.get_property("VWINDOW_CLICK2PLAY", vwindow_click2play); decode_subtitles = file->tag.get_property("DECODE_SUBTITLES", decode_subtitles); subtitle_number = file->tag.get_property("SUBTITLE_NUMBER", subtitle_number); @@ -672,6 +680,7 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("CWINDOW_XSCROLL", cwindow_xscroll); file->tag.set_property("CWINDOW_YSCROLL", cwindow_yscroll); file->tag.set_property("CWINDOW_ZOOM", cwindow_zoom); + file->tag.set_property("CWINDOW_CLICK2PLAY", cwindow_click2play); file->tag.set_property("EDITING_MODE", editing_mode); file->tag.set_property("FOLDERLIST_FORMAT", folderlist_format); file->tag.set_property("HIGHLIGHTED_TRACK", highlighted_track); @@ -688,6 +697,7 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("TOOL_WINDOW", tool_window); file->tag.set_property("VWINDOW_METER", vwindow_meter); file->tag.set_property("VWINDOW_ZOOM", vwindow_zoom); + file->tag.set_property("VWINDOW_CLICK2PLAY", vwindow_click2play); file->tag.set_property("DECODE_SUBTITLES", decode_subtitles); file->tag.set_property("SUBTITLE_NUMBER", subtitle_number); @@ -802,6 +812,7 @@ int EDLSession::copy(EDLSession *session) cwindow_xscroll = session->cwindow_xscroll; cwindow_yscroll = session->cwindow_yscroll; cwindow_zoom = session->cwindow_zoom; + cwindow_click2play = session->cwindow_click2play; strcpy(default_atransition, session->default_atransition); strcpy(default_vtransition, session->default_vtransition); default_transition_length = session->default_transition_length; @@ -867,6 +878,7 @@ int EDLSession::copy(EDLSession *session) view_follows_playback = session->view_follows_playback; vwindow_meter = session->vwindow_meter; vwindow_zoom = session->vwindow_zoom; + vwindow_click2play = session->vwindow_click2play; proxy_scale = session->proxy_scale; proxy_use_scaler = session->proxy_use_scaler; proxy_auto_scale = session->proxy_auto_scale; diff --git a/cinelerra-5.1/cinelerra/edlsession.h b/cinelerra-5.1/cinelerra/edlsession.h index 89748b65..0aeebeac 100644 --- a/cinelerra-5.1/cinelerra/edlsession.h +++ b/cinelerra-5.1/cinelerra/edlsession.h @@ -116,6 +116,7 @@ public: int cwindow_xscroll; int cwindow_yscroll; float cwindow_zoom; + int cwindow_click2play; // Transition char default_atransition[BCTEXTLEN]; char default_vtransition[BCTEXTLEN]; @@ -222,6 +223,7 @@ public: // Use the vwindow meter or not int vwindow_meter; float vwindow_zoom; + int vwindow_click2play; // Global ID counter static int current_id; diff --git a/cinelerra-5.1/cinelerra/mbuttons.C b/cinelerra-5.1/cinelerra/mbuttons.C index 49a08538..ea1abf2f 100644 --- a/cinelerra-5.1/cinelerra/mbuttons.C +++ b/cinelerra-5.1/cinelerra/mbuttons.C @@ -125,9 +125,26 @@ void MainTransport::goto_end() } MainEditing::MainEditing(MWindow *mwindow, MButtons *mbuttons, int x, int y) - : EditPanel(mwindow, mbuttons, x, y, mwindow->edl->session->editing_mode, - 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, // locklabels - 1, 1, 0, 1, 1, mwindow->has_commercials()) + : EditPanel(mwindow, mbuttons, MWINDOW_ID, x, y, + mwindow->edl->session->editing_mode, + 1, // use_editing_mode + 1, // use_keyframe + 0, // use_splice + 0, // use_overwrite + 1, // use_lift + 1, // use_extract + 1, // use_copy + 1, // use_paste + 1, // use_undo + 1, // use_fit + 1, // locklabels + 1, // use_labels + 1, // use_toclip + 0, // use_meters + 1, // use_cut + mwindow->has_commercials(), // use_commerical + 1, // use_goto + 0) // use_clk2play { this->mwindow = mwindow; this->mbuttons = mbuttons; diff --git a/cinelerra-5.1/cinelerra/vwindowgui.C b/cinelerra-5.1/cinelerra/vwindowgui.C index d5bd045f..e94bae85 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.C +++ b/cinelerra-5.1/cinelerra/vwindowgui.C @@ -413,6 +413,7 @@ void VWindowGUI::stop_transport(const char *lock_msg) int VWindowGUI::button_press_event() { if( vwindow->get_edl() != 0 && canvas->get_canvas() && + mwindow->edl->session->vwindow_click2play && canvas->get_canvas()->get_cursor_over_window() ) { switch( get_buttonpress() ) { case LEFT_BUTTON: @@ -559,34 +560,28 @@ int VWindowMeters::change_status_event(int new_status) } - - - - - VWindowEditing::VWindowEditing(MWindow *mwindow, VWindow *vwindow) - : EditPanel(mwindow, - vwindow->gui, - mwindow->theme->vedit_x, - mwindow->theme->vedit_y, + : EditPanel(mwindow, vwindow->gui, VWINDOW_ID, + mwindow->theme->vedit_x, mwindow->theme->vedit_y, EDITING_ARROW, - 0, - 0, - 1, - 1, - 0, - 0, - 1, - 0, - 0, - 0, + 0, // use_editing_mode + 0, // use_keyframe + 1, // use_splice + 1, // use_overwrite + 0, // use_lift + 0, // use_extract + 1, // use_copy + 0, // use_paste + 0, // use_undo + 0, // use_fit 0, // locklabels - 1, - 1, - 1, - 0, - 0, - 0) + 1, // use_labels + 1, // use_toclip + 1, // use_meters + 0, // use_cut + 0, // use_commerical + 0, // use_goto + 1) // use_clk2play { this->mwindow = mwindow; this->vwindow = vwindow; @@ -913,262 +908,3 @@ void VWindowCanvas::set_fullscreen(int value) mwindow->session->vwindow_fullscreen = value; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if 0 -void VWindowGUI::update_points() -{ - EDL *edl = vwindow->get_edl(); - -//printf("VWindowGUI::update_points 1\n"); - if(!edl) return; - -//printf("VWindowGUI::update_points 2\n"); - long pixel = (long)((double)edl->local_session->in_point / - edl->tracks->total_length() * - (mwindow->theme->vtimebar_w - - 2 * - mwindow->theme->in_point[0]->get_w())) + - mwindow->theme->in_point[0]->get_w(); - -//printf("VWindowGUI::update_points 3 %d\n", edl->local_session->in_point); - if(in_point) - { -//printf("VWindowGUI::update_points 3.1\n"); - if(edl->local_session->in_point >= 0) - { -//printf("VWindowGUI::update_points 4\n"); - if(edl->local_session->in_point != in_point->position || - in_point->pixel != pixel) - { - in_point->pixel = pixel; - in_point->reposition(); - } - -//printf("VWindowGUI::update_points 5\n"); - in_point->position = edl->local_session->in_point; - -//printf("VWindowGUI::update_points 6\n"); - if(edl->equivalent(in_point->position, edl->local_session->get_selectionstart(1)) || - edl->equivalent(in_point->position, edl->local_session->get_selectionend(1))) - in_point->update(1); - else - in_point->update(0); -//printf("VWindowGUI::update_points 7\n"); - } - else - { - delete in_point; - in_point = 0; - } - } - else - if(edl->local_session->in_point >= 0) - { -//printf("VWindowGUI::update_points 8 %p\n", mwindow->theme->in_point); - add_subwindow(in_point = - new VWindowInPoint(mwindow, - 0, - this, - pixel, - edl->local_session->in_point)); -//printf("VWindowGUI::update_points 9\n"); - } -//printf("VWindowGUI::update_points 10\n"); - - pixel = (long)((double)edl->local_session->out_point / - (edl->tracks->total_length() + 0.5) * - (mwindow->theme->vtimebar_w - - 2 * - mwindow->theme->in_point[0]->get_w())) + - mwindow->theme->in_point[0]->get_w() * - 2; - - if(out_point) - { - if(edl->local_session->out_point >= 0 && pixel >= 0 && pixel <= mwindow->theme->vtimebar_w) - { - if(edl->local_session->out_point != out_point->position || - out_point->pixel != pixel) - { - out_point->pixel = pixel; - out_point->reposition(); - } - out_point->position = edl->local_session->out_point; - - if(edl->equivalent(out_point->position, edl->local_session->get_selectionstart(1)) || - edl->equivalent(out_point->position, edl->local_session->get_selectionend(1))) - out_point->update(1); - else - out_point->update(0); - } - else - { - delete out_point; - out_point = 0; - } - } - else - if(edl->local_session->out_point >= 0 && pixel >= 0 && pixel <= mwindow->theme->vtimebar_w) - { - add_subwindow(out_point = - new VWindowOutPoint(mwindow, - 0, - this, - pixel, - edl->local_session->out_point)); - } -} - - -void VWindowGUI::update_labels() -{ - EDL *edl = vwindow->get_edl(); - int output = 0; - - for(Label *current = edl->labels->first; - current; - current = NEXT) - { - long pixel = (long)((current->position - edl->local_session->view_start) / edl->local_session->zoom_sample); - - if(pixel >= 0 && pixel < mwindow->theme->vtimebar_w) - { -// Create new label - if(output >= labels.total) - { - LabelGUI *new_label; - add_subwindow(new_label = new LabelGUI(mwindow, this, pixel, 0, current->position)); - labels.append(new_label); - } - else -// Reposition old label - if(labels.values[output]->pixel != pixel) - { - labels.values[output]->pixel = pixel; - labels.values[output]->position = current->position; - labels.values[output]->reposition(); - } - - if(mwindow->edl->local_session->get_selectionstart(1) <= current->position && - mwindow->edl->local_session->get_selectionend(1) >= current->position) - labels.values[output]->update(1); - else - if(labels.values[output]->get_value()) - labels.values[output]->update(0); - output++; - } - } - -// Delete excess labels - while(labels.total > output) - { - labels.remove_object(); - } -} - - - -VWindowInPoint::VWindowInPoint(MWindow *mwindow, - TimeBar *timebar, - VWindowGUI *gui, - long pixel, - double position) - : InPointGUI(mwindow, - timebar, - pixel, - position) -{ - this->gui = gui; -} - -int VWindowInPoint::handle_event() -{ - EDL *edl = gui->vwindow->get_edl(); - - if(edl) - { - double position = edl->align_to_frame(this->position, 0); - - edl->local_session->set_selectionstart(position); - edl->local_session->set_selectionend(position); - gui->timebar->update(1); - -// Que the VWindow - mwindow->vwindow->update_position(CHANGE_NONE, 0, 1, 0); - } - return 1; -} - - - -VWindowOutPoint::VWindowOutPoint(MWindow *mwindow, - TimeBar *timebar, - VWindowGUI *gui, - long pixel, - double position) - : OutPointGUI(mwindow, - timebar, - pixel, - position) -{ - this->gui = gui; -} - -int VWindowOutPoint::handle_event() -{ - EDL *edl = gui->vwindow->get_edl(); - - if(edl) - { - double position = edl->align_to_frame(this->position, 0); - - edl->local_session->set_selectionstart(position); - edl->local_session->set_selectionend(position); - gui->timebar->update(1); - -// Que the VWindow - mwindow->vwindow->update_position(CHANGE_NONE, 0, 1, 0); - } - - return 1; -} - - - -#endif - diff --git a/cinelerra-5.1/doc/shortcuts.html b/cinelerra-5.1/doc/shortcuts.html index ae34111c..e3b258c9 100644 --- a/cinelerra-5.1/doc/shortcuts.html +++ b/cinelerra-5.1/doc/shortcuts.html @@ -444,12 +444,6 @@
Concatenate tracks together - - - Append to proj - 'Shift-N' - Add set of tracks - add Subttl @@ -858,12 +852,6 @@ +Shift w/Alt Shift with Alt+x above, adds/removes audio - -
-
- +Shift w/Ctrl - Loops play; all or between In/Out -

@@ -891,13 +879,13 @@ Edit operations In point - '[' or '<' + '[' Toggle In point timeline marker
Out point - ']' or '>' + ']' Toggle Out point timeline marker @@ -1140,42 +1128,6 @@ Shift-ctrl Move cursor to label right of cursor, expand selection - -
- , (comma) -
- Scroll window timeline display left (not insertion pt) - - -
- , (comma) - Ctrl - Move cursor to label left of cursor (main shortcuts) - - -
- , (comma) - Alt - Move cursor to edit boundary left of cursor position - - -
- . (period) -
- Scroll window timeline display right (not insertion pt) - - -
- . (period) - Ctrl - Move cursor to label right of cursor (main shortcuts) - - -
- . (period) - Alt - Move cursor to edit boundary right of cursor position -
UP (up arrow) @@ -1296,30 +1248,6 @@ 'Shift-tab’ Toggle all of the other tracks arming status - -
-
- Double click - On plugin title bar, selects that area - - -
-
- Double click - On an edit, selects that area - - -
-
- Double click - On subtitle track, displays text in Line text - - -
-
- Double click - On fade/speed, synch video/audio ganged -

@@ -1494,36 +1422,6 @@
Projector zoom - - Transport & - (plus 3 below) -
- Same as in Main window - - - Edit Buttons - (plus 3 below) -
- Same as in Main window - - -
-
- Left click - Only Protect enabled, start/stop forward play - - -
-
- Middle click - Only Protect enabled, start/stop play reverse - - -
-
- Middle wheel - Only Protect enabled, plays forw/rev 1 frame - Viewer
@@ -1620,40 +1518,16 @@ +Shift w/Alt Shift with Alt+x above, adds/removes audio - -
-
- +Shift w/Ctrl - Loops play; all or between In/Out - - -
-
- Left click - Start or stop play forward - - -
-
- Middle click - Start or stop play reverse - - -
-
- Middle wheel - Plays forward or reverse 1 frame -
In point - '[' or '<' + '[' Toggle In point timeline marker
Out point - ']' or '>' + ']' Toggle Out point timeline marker @@ -1719,32 +1593,8 @@

-
-
- - - Mixer - Menu Items - Shortcuts - Description - - -
-
- Double click - On mixer window, pastes into timeline - - -
-
-
-
- - - An Event -
- Double click - Executes the item event (e.g. Load highlighted file) + 'Left click' + Start or stop play in Viewer window
@@ -1926,24 +1776,6 @@ (also+'Shift’) Copies selection to 2nd cut buffer and delete - -
-
- Double click - On word in textbox, highlites that word - - -
-
- Double click - On highlighted Probe order, enables/disables - - -
-
- Triple click - In subtitle script text, loads line into line text -

@@ -1998,18 +1830,6 @@ 'Shift’ Hold down Shift and drag to move text icon - -
-
- Double click - Visibility off- loads media in Viewer - - -
-
- Single click - Visibility on- bigger thumbnail plays or stops -

@@ -2106,18 +1926,6 @@
Select the device picture - -
-
- Double click - In Find window, centers there & turns yellow - - -
-
- Double click - On batchbay line, selects and loads ch info -