X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedl.C;h=4cea20f53576bc1415164d4d586a381d9053773b;hb=c6016b2d08ac0fdda37ee6e1f59dadcfd4335388;hp=77705fcf53f2e2b2b741373b696eecc48e3f905c;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/edl.C b/cinelerra-5.1/cinelerra/edl.C index 77705fcf..4cea20f5 100644 --- a/cinelerra-5.1/cinelerra/edl.C +++ b/cinelerra-5.1/cinelerra/edl.C @@ -1631,6 +1631,25 @@ Asset *EDL::get_proxy_asset() tracks->first->edits->first->asset : 0; } +Track *EDL::add_new_track(int data_type) +{ + Track *new_track = 0; + switch( data_type ) { + case TRACK_VIDEO: + ++session->video_tracks; + new_track = tracks->add_video_track(0, 0); + break; + case TRACK_AUDIO: + ++session->audio_tracks; + new_track = tracks->add_audio_track(0, 0); + break; + case TRACK_SUBTITLE: + new_track = tracks->add_subttl_track(0, 0); + break; + } + return new_track; +} + double EDL::get_cursor_position(int cursor_x, int pane_no) { return (double)cursor_x * local_session->zoom_sample / session->sample_rate + @@ -1638,3 +1657,22 @@ double EDL::get_cursor_position(int cursor_x, int pane_no) local_session->zoom_sample / session->sample_rate; } +int EDL::in_use(Indexable *indexable) +{ + for( Track *track=tracks->first; track; track=track->next ) { + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + Indexable *idxbl = (Indexable *)edit->asset; + if( !idxbl ) idxbl = (Indexable *)edit->nested_edl; + if( !idxbl ) continue; + if( idxbl->id == indexable->id ) return 1; + if( !indexable->is_asset != !idxbl->is_asset ) continue; + if( !strcmp(idxbl->path, indexable->path) ) return 1; + } + } + for( int i=0; iin_use(indexable) ) return 1; + for( int i=0; iin_use(indexable) ) return 1; + return 0; +} +