X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrack.C;h=84e875d73030ae54f501e49b5e38954092883407;hb=5c1aff2fd123b65be6e51ca7652185e14ddaf168;hp=1a11c434b6f2e4e978ee0203ee0a46a275b561ca;hpb=3f6a262cfe390b3f8b275297d64565a5b6272969;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/track.C b/cinelerra-5.1/cinelerra/track.C index 1a11c434..84e875d7 100644 --- a/cinelerra-5.1/cinelerra/track.C +++ b/cinelerra-5.1/cinelerra/track.C @@ -218,16 +218,13 @@ printf("Track::operator= 1\n"); int Track::vertical_span(Theme *theme) { int result = 0; - if(expand_view) - result = edl->local_session->zoom_track + - plugin_set.total * - theme->get_image("plugin_bg_data")->get_h(); - else - result = edl->local_session->zoom_track; - - if(edl->session->show_titles) + if( show_titles() ) result += theme->get_image("title_bg_data")->get_h(); - + if( show_assets() ) + result += edl->local_session->zoom_track; + if( expand_view ) + result += plugin_set.total * theme->get_image("plugin_bg_data")->get_h(); + result = MAX(result, theme->title_h); return result; } @@ -284,7 +281,20 @@ int Track::has_speed() return 0; } +int Track::show_assets() +{ + return expand_view || edl->session->show_assets ? 1 : 0; +} + +int Track::show_titles() +{ + return expand_view || edl->session->show_titles ? 1 : 0; +} +int Track::show_transitions() +{ + return expand_view || edl->session->auto_conf->transitions ? 1 : 0; +} void Track::get_source_dimensions(double position, int &w, int &h) { @@ -1155,7 +1165,7 @@ int Track::copy_assets(double start, int Track::blade(double position) { - int64_t start = to_units(position, 1); + int64_t start = to_units(position, 0); Edit *edit = edits->split_edit(start); if( !edit ) return 1; edit->hard_left = 1; @@ -1856,6 +1866,13 @@ double Track::from_units(int64_t position) return (double)position; } +int64_t Track::frame_align(int64_t position, int round) +{ + if( data_type != TRACK_VIDEO && edl->session->cursor_on_frames ) + position = to_units(edl->align_to_frame(from_units(position), round), round); + return position; +} + int Track::plugin_exists(Plugin *plugin) { for(int number = 0; number < plugin_set.size(); number++)