void AssetPopup::paste_assets()
{
-// Collect items into the drag vectors for temporary storage
- gui->lock_window("AssetPopup::paste_assets");
- mwindow->gui->lock_window("AssetPopup::paste_assets");
- mwindow->cwindow->gui->lock_window("AssetPopup::paste_assets");
-
int proxy = mwindow->edl->session->awindow_folder == AW_PROXY_FOLDER ? 1 : 0;
gui->collect_assets(proxy);
+// Collect items into the drag vectors for temporary storage
+ gui->unlock_window();
+ mwindow->gui->lock_window("AssetPopup::paste_assets");
mwindow->paste_assets(mwindow->edl->local_session->get_selectionstart(1),
mwindow->edl->tracks->first, 0); // do not overwrite
-
- gui->unlock_window();
mwindow->gui->unlock_window();
- mwindow->cwindow->gui->unlock_window();
+ gui->lock_window("AssetPopup::paste_assets");
}
void AssetPopup::match_size()
int AssetPopupBuildIndex::handle_event()
{
+ popup->unlock_window();
//printf("AssetPopupBuildIndex::handle_event 1\n");
mwindow->rebuild_indices();
+ popup->lock_window("AssetPopupBuildIndex::handle_event");
return 1;
}
int AssetPopupOpenMixer::handle_event()
{
+ popup->unlock_window();
mwindow->gui->lock_window("AssetPopupOpenMixer::handle_event");
mwindow->create_mixers();
mwindow->gui->unlock_window();
+ popup->lock_window("AssetPopupOpenMixer::handle_event");
return 1;
}
int AssetPopupInsertMixer::handle_event()
{
+ popup->unlock_window();
mwindow->gui->lock_window("AssetPopupInsertMixer::handle_event");
mwindow->create_mixers(-1);
mwindow->gui->unlock_window();
+ popup->lock_window("AssetPopupInsertMixer::handle_event");
return 1;
}
AssetPopupPaste::AssetPopupPaste(MWindow *mwindow, AssetPopup *popup)
- : BC_MenuItem(_("Paste"))
+ : BC_MenuItem(C_("Paste"))
{
this->mwindow = mwindow;
this->popup = popup;
if( !edl->have_video() ) return 1;
Preferences *preferences = mwindow->preferences;
- char filename[BCTEXTLEN];
+ char filename[BCTEXTLEN], snapshot_path[BCTEXTLEN];
static const char *exts[] = { "png", "jpg", "tif", "ppm" };
time_t tt; time(&tt);
struct tm tm; localtime_r(&tt,&tm);
+ File::getenv_path(snapshot_path, preferences->snapshot_path);
snprintf(filename,sizeof(filename),"%s/%s_%04d%02d%02d-%02d%02d%02d.%s",
- preferences->snapshot_path, _("snap"),
+ snapshot_path, _("snap"),
1900+tm.tm_year,1+tm.tm_mon,tm.tm_mday,
tm.tm_hour,tm.tm_min,tm.tm_sec, exts[mode]);
char *asset_path = FileSystem::basepath(filename);
command.realtime = 0;
RenderEngine render_engine(0, preferences, 0, 0);
- CICache video_cache(preferences);
- render_engine.set_vcache(&video_cache);
+ CICache *video_cache = new CICache(preferences);
+ render_engine.set_vcache(video_cache);
render_engine.arm_command(&command);
double position = edl->local_session->get_selectionstart(1);
if( !ret )
ret = file.write_video_buffer(1);
file.close_file();
+ video_cache->remove_user();
}
if( !ret ) {
asset->folder_no = AW_MEDIA_FOLDER;
MWindow *mwindow = grab_thread->mwindow;
Preferences *preferences = mwindow->preferences;
- char filename[BCTEXTLEN];
+ char filename[BCTEXTLEN], snapshot_path[BCTEXTLEN];
static const char *exts[] = { "png", "jpg", "tif", "ppm" };
time_t tt; time(&tt);
struct tm tm; localtime_r(&tt,&tm);
+ File::getenv_path(snapshot_path, preferences->snapshot_path);
snprintf(filename,sizeof(filename),"%s/%s_%04d%02d%02d-%02d%02d%02d.%s",
- preferences->snapshot_path, _("grab"),
+ snapshot_path, _("grab"),
1900+tm.tm_year,1+tm.tm_mon,tm.tm_mday,
tm.tm_hour,tm.tm_min,tm.tm_sec, exts[mode]);
char *asset_path = FileSystem::basepath(filename);