X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracks.C;h=7feb1f99cfc1febeec05653ee8843c244ec52f1f;hp=4873fac020d351c396da0fb0914c2d8be64ae38c;hb=f41ee8a0f00338fffb7fd6760a5ecd04c0101a41;hpb=e375434717622cc3198a6bf9f7b7fb9fde555c21 diff --git a/cinelerra-5.1/cinelerra/tracks.C b/cinelerra-5.1/cinelerra/tracks.C index 4873fac0..7feb1f99 100644 --- a/cinelerra-5.1/cinelerra/tracks.C +++ b/cinelerra-5.1/cinelerra/tracks.C @@ -170,6 +170,8 @@ void Tracks::copy_from(Tracks *tracks) Track *new_track = 0; delete_all_tracks(); + int solo_track_id = tracks->edl->local_session->solo_track_id; + for(Track *current = tracks->first; current; current = NEXT) { switch(current->data_type) @@ -187,6 +189,9 @@ void Tracks::copy_from(Tracks *tracks) continue; } new_track->copy_from(current); + + if( current->get_id() == solo_track_id ) + edl->local_session->solo_track_id = new_track->get_id(); } } @@ -625,6 +630,12 @@ Track* Tracks::number(int number) return current; } +Track* Tracks::get_track_by_id(int id) +{ + Track *track = edl->tracks->first; + while( track && track->get_id() != id ) track = track->next; + return track; +} int Tracks::total_playable_vtracks() {