drag+drop group highlight changes, fileref tweaks + warn, tweak awdw for ref/edl...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / awindowgui.C
index d5531ac0b69a31e4ffa33d6d2ff6175f4c639640..dc884e55896a2d0729c7d07a58f15d7ab97dae87 100644 (file)
@@ -120,7 +120,8 @@ AssetVIcon::~AssetVIcon()
 VFrame *AssetVIcon::frame()
 {
        AssetVIconThread *avt = picon->gui->vicon_thread;
-       Asset *asset = (Asset *)picon->indexable;
+       Indexable *idxbl = picon->indexable;
+       Asset *asset = idxbl && idxbl->is_asset ? (Asset *)idxbl : 0;
        if( !asset ) return vframes()>0 ? (VFrame*)*images[0] : 0;
        if( !asset->video_data && audio_data && audio_size && length > 0 ) {
                if( !temp ) temp = new VFrame(0, -1, w, h, BC_RGB888, -1);
@@ -917,16 +918,25 @@ void AssetPicon::create_objects()
        int is_clip = 0;
 
        if( this->indexable ) {
-               fs.extract_name(name, indexable->path);
-               set_text(name);
-               if( this->indexable->is_asset )
+               char *cp = name;
+               if( this->indexable->is_asset ) {
                        asset = (Asset *)indexable;
-               else
+                       if( asset->format == FILE_REF ) {
+                               cp += sprintf(cp, "ref:");
+                               set_color(get_color() ^ 0x5599CC);
+                       }
+               }
+               else {
                        edl = (EDL *)indexable;
+                       cp += sprintf(cp, "edl:");
+                       set_color(get_color() ^ 0xCC9955);
+               }
+               fs.extract_name(cp, indexable->path);
+               set_text(name);
        }
        else if( this->edl ) {
                edl = this->edl;
-               set_text(strcpy(name, edl->local_session->clip_title));
+               strcpy(name, edl->local_session->clip_title);
                set_text(name);
                is_clip = 1;
        }
@@ -1899,7 +1909,7 @@ int AWindowGUI::keypress_event()
                        return 1;
                }
                unlock_window();
-               mwindow->remove_assets_from_project(1, 1,
+               mwindow->remove_assets_from_project(1, 1, 1,
                        mwindow->session->drag_assets,
                        mwindow->session->drag_clips);
                lock_window("AWindowGUI::keypress_event 2");