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)
continue;
}
new_track->copy_from(current);
+
+ if( current->get_id() == solo_track_id )
+ edl->local_session->solo_track_id = new_track->get_id();
}
}
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()
{
for( Track *track=first; track; track=track->next ) {
if( !track->record ) continue;
for( Edit *edit=track->edits->first; edit; edit=edit->next ) {
+ if( edit->group_id > 0 ) continue;
if( !edit->is_selected ) continue;
edit->group_id = id;
++count;