edl plugin names eng, fix segv for opengl brender, renderfarm rework strategy, perf...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / awindowgui.C
index 7195d4e78b2bcb1d35ba3497634bedc1070fd2af..ae74854b19e0517640e164b042943dc5a9c97b42 100644 (file)
@@ -106,14 +106,14 @@ VFrame *AssetVIcon::frame()
                        delete temp;  temp = 0;
                }
                if( !temp )
-                       temp = new VFrame(asset->width, asset->height, BC_RGB888, 0);
+                       temp = new VFrame(0, -1, asset->width, asset->height, BC_RGB888, -1);
                int ww = picon->gui->vicon_thread->view_w;
                int hh = picon->gui->vicon_thread->view_h;
                while( seq_no >= images.size() ) {
                        file->set_layer(0);
                        int64_t pos = images.size() / picon->gui->vicon_thread->refresh_rate * frame_rate;
                        file->set_video_position(pos,0);
-                       file->read_frame(temp);
+                       if( file->read_frame(temp) ) temp->clear_frame();
                        add_image(temp, ww, hh, BC_RGB8);
                }
                mwindow->video_cache->check_in(asset);
@@ -328,7 +328,7 @@ void AssetPicon::create_objects()
        }
        else
        if( plugin ) {
-               strcpy(name,  plugin->title);
+               strcpy(name, _(plugin->title));
                set_text(name);
                icon_vframe = plugin->get_picon();
                if( icon_vframe )
@@ -1110,7 +1110,11 @@ void AWindowGUI::update_asset_list()
                if( !picon->in_use ) {
                        delete picon;
                        assets.remove_number(i);
+                       continue;
                }
+               if( !picon->indexable || !picon->indexable->is_asset ) continue;
+               struct stat st;
+               picon->mtime = !stat(picon->indexable->path, &st) ? st.st_mtime : 0;
        }
 }
 
@@ -1556,7 +1560,7 @@ int AWindowAssets::button_press_event()
                        break;
                case AW_MEDIA_FOLDER:
                case AW_PROXY_FOLDER:
-                       gui->assetlist_menu->update_titles();
+                       gui->assetlist_menu->update_titles(folder==AW_MEDIA_FOLDER);
                        gui->assetlist_menu->activate_menu();
                        break;
                }