X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracks.C;h=36dc79cc5d4c1ab9ccd5628337c66237ae5dc565;hp=d8357e2f61d8e865d1eebd62d2b3671de7c5c2f3;hb=HEAD;hpb=22c6251d37911a11e322bf7518e6a992ea0bb6c7 diff --git a/cinelerra-5.1/cinelerra/tracks.C b/cinelerra-5.1/cinelerra/tracks.C index d8357e2f..dc6bfc81 100644 --- a/cinelerra-5.1/cinelerra/tracks.C +++ b/cinelerra-5.1/cinelerra/tracks.C @@ -1,6 +1,7 @@ /* * CINELERRA * Copyright (C) 2010 Adam Williams + * Copyright (C) 2003-2016 Cinelerra CV contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -126,7 +127,7 @@ void Tracks::get_selected_edits(ArrayList *drag_edits) } } -void Tracks::select_edits(double start, double end) +void Tracks::select_edits(double start, double end, int v) { for( Track *track=first; track; track=track->next ) { if( !track->is_armed() ) continue; @@ -135,7 +136,7 @@ void Tracks::select_edits(double start, double end) for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( start_pos >= edit->startproject+edit->length ) continue; if( edit->startproject >= end_pos ) continue; - edit->is_selected = 1; + edit->is_selected = v > 1 ? 1 : v < 0 ? 0 : !edit->is_selected ; } } } @@ -333,7 +334,7 @@ int Tracks::delete_track(Track *track, int gang) { if( !track ) return 0; if( gang < 0 ) - gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; + gang = edl->local_session->gang_tracks != GANG_NONE ? 1 : 0; Track *nxt = track->next; if( gang ) { track = track->gang_master(); @@ -363,7 +364,7 @@ int Tracks::detach_shared_effects(int module) } int Tracks::detach_ganged_effects(Plugin *plugin) { - if( edl->session->gang_tracks == GANG_NONE ) return 1; + if( edl->local_session->gang_tracks == GANG_NONE ) return 1; for( Track *current=first; current; current=NEXT ) { if( current == plugin->track ) continue; if( !current->armed_gang(plugin->track) ) continue; @@ -385,7 +386,7 @@ int Tracks::total_of(int type) IntAuto *mute_auto = (IntAuto *)mute_keyframe; result += - (current->play && type == PLAY) || + (current->plays() && type == PLAY) || (current->is_armed() && type == RECORD) || (current->is_ganged() && type == GANG) || (current->draw && type == DRAW) || @@ -420,7 +421,7 @@ int Tracks::playable_audio_tracks() for(Track *current = first; current; current = NEXT) { - if(current->data_type == TRACK_AUDIO && current->play) + if(current->data_type == TRACK_AUDIO && current->plays()) { result++; } @@ -435,7 +436,7 @@ int Tracks::playable_video_tracks() for(Track *current = first; current; current = NEXT) { - if(current->data_type == TRACK_VIDEO && current->play) + if(current->data_type == TRACK_VIDEO && current->plays()) { result++; } @@ -464,7 +465,7 @@ double Tracks::total_playable_length() double total = 0; for(Track *current = first; current; current = NEXT) { - if( current->play ) + if( current->plays() ) { double length = current->get_length(); if(length > total) total = length; @@ -745,7 +746,7 @@ int Tracks::new_group(int id) int Tracks::set_group_selected(int id, int v) { int count = 0; - int gang = edl->session->gang_tracks != GANG_NONE ? 1 : 0; + int gang = edl->local_session->gang_tracks != GANG_NONE ? 1 : 0; for( Track *track=first; track; track=track->next ) { if( track->is_hidden() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { @@ -782,7 +783,7 @@ Track *Tracks::get(int idx, int data_type) return 0; } -void Tracks::move_tracks(Track *src, Track *dst, int n) +void Tracks::roll_tracks(Track *src, Track *dst, int n) { if( src == dst ) return; while( --n >= 0 && src ) {