X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrackcanvas.C;h=2edb89bea19dd64f2d3f42e918e36059739b3975;hb=a2d9ab21fbb8e29310d9cd0be439522d05d0d0ba;hp=62aa0b282388ab8c71bab0164e09ff5d3ad5e024;hpb=df72ca6732207dc25472a23169ff79ef6d4cca1c;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/trackcanvas.C b/cinelerra-5.1/cinelerra/trackcanvas.C index 62aa0b28..2edb89be 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.C +++ b/cinelerra-5.1/cinelerra/trackcanvas.C @@ -642,7 +642,6 @@ int64_t TrackCanvas::drop_plugin_position(PluginSet *plugin_set, Plugin *moved_p return -1; } - void TrackCanvas::draw(int mode, int hide_cursor) { const int debug = 0; @@ -4571,9 +4570,11 @@ int TrackCanvas::do_tracks(int cursor_x, int cursor_y, int button_press) int64_t track_x, track_y, track_w, track_h; track_dimensions(track, track_x, track_y, track_w, track_h); - if(button_press && get_buttonpress() == RIGHT_BUTTON && - cursor_y >= track_y && cursor_y < track_y + track_h) { - gui->edit_menu->update(track, 0); + if( button_press && get_buttonpress() == RIGHT_BUTTON && + cursor_y >= track_y && cursor_y < track_y + track_h) { + double pos = mwindow->edl->get_cursor_position(cursor_x, pane->number); + int64_t position = track->to_units(pos, 0); + gui->edit_menu->update(track, track->edits->editof(position, PLAY_FORWARD, 0)); gui->edit_menu->activate_menu(); result = 1; } @@ -4836,12 +4837,7 @@ int TrackCanvas::button_press_event() mwindow->session->trim_edits = 0; if(is_event_win() && cursor_inside()) { -// double position = (double)cursor_x * -// mwindow->edl->local_session->zoom_sample / -// mwindow->edl->session->sample_rate + -// (double)mwindow->edl->local_session->view_start[pane->number] * -// mwindow->edl->local_session->zoom_sample / -// mwindow->edl->session->sample_rate; +// double position = mwindow->edl->get_cursor_position(cursor_x, pane->number); result = 1; if(!active) { @@ -4921,12 +4917,7 @@ int TrackCanvas::button_press_event() // Test handles only and select a region case EDITING_IBEAM: { - double position = (double)cursor_x * - mwindow->edl->local_session->zoom_sample / - mwindow->edl->session->sample_rate + - (double)mwindow->edl->local_session->view_start[pane->number] * - mwindow->edl->local_session->zoom_sample / - mwindow->edl->session->sample_rate; + double position = mwindow->edl->get_cursor_position(cursor_x, pane->number); //printf("TrackCanvas::button_press_event %d\n", position); if( do_transitions(cursor_x, cursor_y,