X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracks.C;h=0f53df742895db789f82963b445cd5331dbeceb1;hp=bab0b6b47679be66ca9b5b267e25a73c29be64fb;hb=e23393f4ff9f772ac8f47926cf490dc87a630ed4;hpb=d5a0afb9bc8562f6c2698f88ff40790009a5e63c diff --git a/cinelerra-5.1/cinelerra/tracks.C b/cinelerra-5.1/cinelerra/tracks.C index bab0b6b4..0f53df74 100644 --- a/cinelerra-5.1/cinelerra/tracks.C +++ b/cinelerra-5.1/cinelerra/tracks.C @@ -131,6 +131,7 @@ void Tracks::get_selected_edits(ArrayList *drag_edits) { drag_edits->remove_all(); for( Track *track=first; track; track=track->next ) { + if( !track->record ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; drag_edits->append(edit); @@ -651,6 +652,46 @@ int Tracks::track_exists(Track *track) return 0; } +int Tracks::new_group(int id) +{ + int count = 0; + for( Track *track=first; track; track=track->next ) { + if( !track->record ) continue; + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + if( !edit->is_selected ) continue; + edit->group_id = id; + ++count; + } + } + return count; +} + +int Tracks::set_group_selected(int id, int v) +{ + int count = 0; + for( Track *track=first; track; track=track->next ) { + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + if( edit->group_id != id ) continue; + edit->is_selected = v; + ++count; + } + } + return count; +} + +int Tracks::del_group(int id) +{ + int count = 0; + for( Track *track=first; track; track=track->next ) { + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + if( edit->group_id != id ) continue; + edit->is_selected = 1; + edit->group_id = 0; + ++count; + } + } + return count; +} Track *Tracks::get(int idx, int data_type) { @@ -662,4 +703,3 @@ Track *Tracks::get(int idx, int data_type) return 0; } -