X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.C;h=3b939df5bb6fe3459c093d3835a83bb02a01e3a0;hp=f875a14a30bac80becd05082c7d60a9fd5a31c2a;hb=HEAD;hpb=b104b77f5296719bd5e6de8472eb71542ddaedec diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index f875a14a..3b939df5 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -1236,6 +1236,32 @@ int MWindowGUI::keypress_event() } break; + case '!': + if( !ctrl_down() || !shift_down() ) break; + { + if( mwindow->session->current_operation != NO_OPERATION ) return 1; + first_track = mwindow->edl->tracks->first; + double start = mwindow->edl->local_session->get_selectionstart(); + int64_t pos = first_track->to_units(start, 0); + Edit *edit=first_track->edits->editof(pos, PLAY_FORWARD, 0); + if( !edit || !edit->asset ) return 1; + Asset *asset = edit->asset; + double timecode = asset->timecode != -2 ? asset->timecode : + FFMPEG::get_timecode(asset->path, + edit->track->data_type, edit->channel, + mwindow->edl->session->frame_rate); + asset->timecode = timecode; + if( timecode >= 0 ) { + int64_t pos = edit->startproject + edit->startsource; + double position = edit->track->from_units(pos); + mwindow->set_timecode_offset(timecode - position); + } + else + mwindow->set_timecode_offset(0); + } + result = 1; + break; + case UP: if( ctrl_down() && !alt_down() ) mwindow->expand_y();