last push faux paux, update shortcuts doc, period/comma alt shortcuts, popup deactiva...
authorGood Guy <good1.2guy@gmail.com>
Fri, 16 Feb 2018 18:54:37 +0000 (11:54 -0700)
committerGood Guy <good1.2guy@gmail.com>
Fri, 16 Feb 2018 18:54:37 +0000 (11:54 -0700)
cinelerra-5.1/cinelerra/cwindowgui.C
cinelerra-5.1/cinelerra/editpanel.C
cinelerra-5.1/cinelerra/editpanel.h
cinelerra-5.1/cinelerra/editpanel.inc
cinelerra-5.1/cinelerra/edlsession.C
cinelerra-5.1/cinelerra/edlsession.h
cinelerra-5.1/cinelerra/mbuttons.C
cinelerra-5.1/cinelerra/vwindowgui.C
cinelerra-5.1/doc/shortcuts.html

index b4b8008d8c9513d66c613213e5029f8451849218..7b6d1de2388b7e18cce7fd6867f4189f9da14456 100644 (file)
@@ -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;
index 60e154b2c854b1fe593073d698084d9ef5d8fbef..7d21602f26f5ec15738fc8ab6c75e7dcf37e2805 100644 (file)
@@ -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"));
index e6839a68642d1cb92d858d705dece55fe9a59af5..47b703bef89670087d9fd7b0ae6161ade642064c 100644 (file)
@@ -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
index 51aeea4876ffc4fdf12b1fbbee83ba31e8b1bda4..4c613a33481208c031491627bd241a1602981ffc 100644 (file)
 #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
index 69ac0f73032561ed44056fa72fd60636cedb5412..5c663922f7b367720d7afe404fe2ea4a5b25406c 100644 (file)
@@ -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;
index 89748b6550fcfad693445a0326f1b4cf3ba0b120..0aeebeac3d8a537b6466b698b2ac1e3d0101fb02 100644 (file)
@@ -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;
index 49a085386f094b75b3bef4847ceaca97bd8557b8..ea1abf2f474a2f22c5b090947361cf3491a494dd 100644 (file)
@@ -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;
index d5bd045f8b11880ab218d22ef5f4be38677c5365..e94bae855b45d8e0974dff4aa2393058e1ed7af9 100644 (file)
@@ -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
-
index ae34111cb68fd63355db2e2b3d1ae4ca9b351db8..e3b258c94200554d8c60dcd820c0e08677dfc1b5 100644 (file)
                <td align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4>Concatenate tracks together</font></td>
        </tr>
-       <tr>
-               <td height="26" align="right"><font face="Liberation Serif" size=4> </font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Append to proj</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>'Shift-N'</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Add set of tracks</font></td>
-       </tr>
        <tr>
                <td height="26" align="right"><font face="Liberation Serif" size=4> </font></td>
                <td align="left"><font face="Liberation Serif" size=4>add Subttl</font></td>
                <td align="left"><font face="Liberation Serif" size=4>+Shift w/Alt</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Shift with Alt+x above, adds/removes audio</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>+Shift w/Ctrl</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Loops play; all or between In/Out</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4><br></font></td>
        <tr>
                <td height="26" align="left"><b><font face="Liberation Serif" size=4>    Edit operations</font></b></td>
                <td align="left"><font face="Liberation Serif" size=4>In point</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>'[' or '<'</font></td>
+               <td align="left"><font face="Liberation Serif" size=4>'['</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Toggle In point timeline marker</font></td>
        </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4>Out point</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>']' or '>'</font></td>
+               <td align="left"><font face="Liberation Serif" size=4>']'</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Toggle Out point timeline marker</font></td>
        </tr>
        <tr>
                <td align="left"><font face="Liberation Serif" size=4>Shift-ctrl</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Move cursor to label right of cursor, expand selection</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>, (comma)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Scroll window timeline display left (not insertion pt)</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>, (comma)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Ctrl</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Move cursor to label left of cursor (main shortcuts)</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>, (comma)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Alt</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Move cursor to edit boundary left of cursor position</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>. (period)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Scroll window timeline display right (not insertion pt)</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>. (period)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Ctrl</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Move cursor to label right of cursor (main shortcuts)</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>. (period)</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Alt</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Move cursor to edit boundary right of cursor position</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4>UP (up arrow)</font></td>
                <td align="left"><font face="Liberation Serif" size=4>'Shift-tab’</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Toggle all of the other tracks arming status</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On plugin title bar, selects that area</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On an edit, selects that area</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On subtitle track, displays text in Line text</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On fade/speed, synch video/audio ganged</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4>Projector zoom</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><b><font face="Liberation Serif,Times New Roman" size=4> Transport &</font></b></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>(plus 3 below)</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Same as in Main window</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4>  Edit Buttons</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>(plus 3 below)</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Same as in Main window</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Left click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Only Protect enabled, start/stop forward play</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Middle click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Only Protect enabled, start/stop play reverse</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Middle wheel</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Only Protect enabled, plays forw/rev 1 frame</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><b><font face="Liberation Serif,Times New Roman" size=4>Viewer</font></b></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif" size=4>+Shift w/Alt</font></td>
                <td align="left"><font face="Liberation Serif" size=4>Shift with Alt+x above, adds/removes audio</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>+Shift w/Ctrl</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Loops play; all or between In/Out</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Left click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Start or stop play forward</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Middle click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Start or stop play reverse</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Middle wheel</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Plays forward or reverse 1 frame</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>In point</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>'[' or '<'</font></td>
+               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>'['</font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Toggle In point timeline marker</font></td>
        </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Out point</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>']' or '>'</font></td>
+               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>']'</font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Toggle Out point timeline marker</font></td>
        </tr>
        <tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><b><font face="Liberation Serif,Times New Roman" size=4> Mixer</font></b></td>
-               <td align="left"><b><u><font face="Liberation Serif" size=4>Menu Items</font></u></b></td>
-               <td align="left"><b><u><font face="Liberation Serif" size=4>Shortcuts</font></u></b></td>
-               <td align="left"><b><u><font face="Liberation Serif" size=4>Description</font></u></b></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On mixer window, pastes into timeline</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><b><font face="Liberation Serif,Times New Roman" size=4> An Event</font></b></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Executes the item event (e.g. Load highlighted file)</font></td>
+               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>'Left click'</font></td>
+               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Start or stop play in Viewer window</font></td>
        </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>(also+'Shift’)</font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Copies selection to 2nd cut buffer and delete</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On word in textbox, highlites that word</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On highlighted Probe order, enables/disables</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Triple click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>In subtitle script text, loads line into line text</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>'Shift’</font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Hold down Shift and drag to move text icon</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Visibility off- loads media in Viewer</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Single click</font></td>
-               <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Visibility on- bigger thumbnail plays or stops</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4>Select the device picture</font></td>
        </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>In Find window, centers there & turns yellow</font></td>
-       </tr>
-       <tr>
-               <td height="26" align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4><br></font></td>
-               <td align="left"><font face="Liberation Serif" size=4>Double click</font></td>
-               <td align="left"><font face="Liberation Serif" size=4>On batchbay line, selects and loads ch info</font></td>
-       </tr>
        <tr>
                <td height="26" align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>
                <td align="left"><font face="Liberation Serif,Times New Roman" size=4><br></font></td>