X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Findexable.C;h=30553a79e92177fbfba0ade776b5a34e28e3e356;hb=0d3917a4eda0344055badf0bd6e235c15c3b6cb8;hp=e7f090c483565f1cc5c5f878fb5103c35e0762db;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/indexable.C b/cinelerra-5.1/cinelerra/indexable.C index e7f090c4..30553a79 100644 --- a/cinelerra-5.1/cinelerra/indexable.C +++ b/cinelerra-5.1/cinelerra/indexable.C @@ -23,6 +23,7 @@ #include "edl.h" #include "indexable.h" #include "language.h" +#include "localsession.h" #include @@ -30,7 +31,7 @@ Indexable::Indexable(int is_asset) : Garbage(is_asset ? "Asset" : "EDL") { index_state = new IndexState; this->is_asset = is_asset; - this->awindow_folder = AW_MEDIA_FOLDER; + this->folder_no = AW_MEDIA_FOLDER; } @@ -54,7 +55,7 @@ int64_t Indexable::get_audio_samples() return 0; } -void Indexable::update_path(char *new_path) +void Indexable::update_path(const char *new_path) { strcpy(path, new_path); } @@ -62,9 +63,9 @@ void Indexable::update_path(char *new_path) void Indexable::update_index(Indexable *src) { if( index_state == src->index_state ) return; - index_state->remove_user(); + if( index_state ) index_state->remove_user(); index_state = src->index_state; - index_state->add_user(); + if( index_state ) index_state->add_user(); } @@ -73,6 +74,7 @@ void Indexable::update_index(Indexable *src) void Indexable::copy_indexable(Indexable *src) { if( this == src ) return; + folder_no = src->folder_no; update_path(src->path); update_index(src); } @@ -112,8 +114,11 @@ int64_t Indexable::get_video_frames() return 0; } - - - - +const char *Indexable::get_title() +{ + if( is_asset ) return path; + EDL *edl = (EDL*)this; + if( !edl->parent_edl || folder_no == AW_PROXY_FOLDER ) return path; + return edl->local_session->clip_title; +}