projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
proxy/mixer fixes, add proxy beep, igor ru xlat
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
awindowgui.C
diff --git
a/cinelerra-5.1/cinelerra/awindowgui.C
b/cinelerra-5.1/cinelerra/awindowgui.C
index 42672233ec775b5fe10e0273db3573e232c62f94..8c615bee7be58dea8a298b6d0f3cbb611c32101f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/awindowgui.C
+++ b/
cinelerra-5.1/cinelerra/awindowgui.C
@@
-552,6
+552,7
@@
void AssetPicon::create_objects()
pixmap_w = pixmap_h * 16/9;
icon_vframe = new VFrame(0,
-1, pixmap_w, pixmap_h, BC_RGB888, -1);
pixmap_w = pixmap_h * 16/9;
icon_vframe = new VFrame(0,
-1, pixmap_w, pixmap_h, BC_RGB888, -1);
+ icon_vframe->clear_frame();
{ char string[BCTEXTLEN];
sprintf(string, _("Reading %s"), name);
mwindow->gui->lock_window("AssetPicon::create_objects 3");
{ char string[BCTEXTLEN];
sprintf(string, _("Reading %s"), name);
mwindow->gui->lock_window("AssetPicon::create_objects 3");
@@
-684,6
+685,7
@@
void AssetPicon::create_objects()
pixmap_w = pixmap_h * 16/9;
icon_vframe = new VFrame(0,
-1, pixmap_w, pixmap_h, BC_RGB888, -1);
pixmap_w = pixmap_h * 16/9;
icon_vframe = new VFrame(0,
-1, pixmap_w, pixmap_h, BC_RGB888, -1);
+ icon_vframe->clear_frame();
char string[BCTEXTLEN];
sprintf(string, _("Rendering %s"), name);
mwindow->gui->lock_window("AssetPicon::create_objects 3");
char string[BCTEXTLEN];
sprintf(string, _("Rendering %s"), name);
mwindow->gui->lock_window("AssetPicon::create_objects 3");
@@
-1308,6
+1310,12
@@
int AWindowGUI::keypress_event()
return 1;
}
break;
return 1;
}
break;
+ case 'o':
+ if( !ctrl_down() && !shift_down() ) {
+ assetlist_menu->load_file->handle_event();
+ return 1;
+ }
+ break;
case DELETE:
if( shift_down() ) {
PluginServer* plugin = selected_plugin();
case DELETE:
if( shift_down() ) {
PluginServer* plugin = selected_plugin();
@@
-1418,11
+1426,13
@@
void AWindowGUI::create_label_folder()
void AWindowGUI::update_asset_list()
{
void AWindowGUI::update_asset_list()
{
+ ArrayList<AssetPicon *> new_assets;
for( int i = 0; i < assets.total; i++ ) {
AssetPicon *picon = (AssetPicon*)assets.values[i];
picon->in_use = 0;
}
for( int i = 0; i < assets.total; i++ ) {
AssetPicon *picon = (AssetPicon*)assets.values[i];
picon->in_use = 0;
}
+ mwindow->gui->lock_window("AWindowGUI::update_asset_list");
// Synchronize EDL clips
for( int i=0; i<mwindow->edl->clips.size(); ++i ) {
int exists = 0;
// Synchronize EDL clips
for( int i=0; i<mwindow->edl->clips.size(); ++i ) {
int exists = 0;
@@
-1443,8
+1453,7
@@
void AWindowGUI::update_asset_list()
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, mwindow->edl->clips[i]);
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, mwindow->edl->clips[i]);
- picon->create_objects();
- assets.append(picon);
+ new_assets.append(picon);
}
}
}
}
@@
-1467,14
+1476,11
@@
void AWindowGUI::update_asset_list()
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, current);
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, current);
- picon->create_objects();
- assets.append(picon);
+ new_assets.append(picon);
}
}
}
}
- mwindow->gui->lock_window("AWindowGUI::update_asset_list");
mwindow->gui->default_message();
mwindow->gui->default_message();
- mwindow->gui->unlock_window();
// Synchronize nested EDLs
for( int i=0; i<mwindow->edl->nested_edls.size(); ++i ) {
// Synchronize nested EDLs
for( int i=0; i<mwindow->edl->nested_edls.size(); ++i ) {
@@
-1496,10
+1502,16
@@
void AWindowGUI::update_asset_list()
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, (Indexable*)nested_edl);
if( !exists ) {
AssetPicon *picon = new AssetPicon(mwindow,
this, (Indexable*)nested_edl);
- picon->create_objects();
- assets.append(picon);
+ new_assets.append(picon);
}
}
}
}
+ mwindow->gui->unlock_window();
+
+ for( int i=0; i<new_assets.size(); ++i ) {
+ AssetPicon *picon = new_assets[i];
+ picon->create_objects();
+ assets.append(picon);
+ }
for( int i = assets.size() - 1; i >= 0; i-- ) {
AssetPicon *picon = (AssetPicon*)assets.get(i);
for( int i = assets.size() - 1; i >= 0; i-- ) {
AssetPicon *picon = (AssetPicon*)assets.get(i);
@@
-2018,20
+2030,30
@@
int AWindowAssets::handle_event()
{
AssetPicon *asset_picon = (AssetPicon *)get_selection(0, 0);
if( !asset_picon ) return 0;
{
AssetPicon *asset_picon = (AssetPicon *)get_selection(0, 0);
if( !asset_picon ) return 0;
+ Indexable *picon_idxbl = asset_picon->indexable;
+ EDL *picon_edl = asset_picon->edl;
+ int proxy = 0;
+ VWindow *vwindow = 0;
switch( mwindow->edl->session->awindow_folder ) {
case AW_AEFFECT_FOLDER:
case AW_VEFFECT_FOLDER:
case AW_ATRANSITION_FOLDER:
case AW_VTRANSITION_FOLDER: return 1;
switch( mwindow->edl->session->awindow_folder ) {
case AW_AEFFECT_FOLDER:
case AW_VEFFECT_FOLDER:
case AW_ATRANSITION_FOLDER:
case AW_VTRANSITION_FOLDER: return 1;
+ case AW_PROXY_FOLDER:
+ proxy = 1; // fall thru
+ default:
+ if( mwindow->vwindows.size() > DEFAULT_VWINDOW )
+ vwindow = mwindow->vwindows.get(DEFAULT_VWINDOW);
+ break;
}
}
- VWindow *vwindow = mwindow->vwindows.size() > DEFAULT_VWINDOW ?
- mwindow->vwindows.get(DEFAULT_VWINDOW) : 0;
if( !vwindow || !vwindow->is_running() ) return 1;
if( !vwindow || !vwindow->is_running() ) return 1;
+ if( proxy && picon_idxbl ) {
+ picon_edl = gui->collect_proxy(picon_idxbl);
+ picon_idxbl = 0;
+ }
- if( asset_picon->indexable )
- vwindow->change_source(asset_picon->indexable);
- else if( asset_picon->edl )
- vwindow->change_source(asset_picon->edl);
+ if( picon_idxbl ) vwindow->change_source(picon_idxbl);
+ else if( picon_edl ) vwindow->change_source(picon_edl);
return 1;
}
return 1;
}
@@
-2459,10
+2481,14
@@
AddTools::AddTools(MWindow *mwindow, AWindowGUI *gui, int x, int y, const char *
void AddTools::create_objects()
{
uint64_t vis = 0;
void AddTools::create_objects()
{
uint64_t vis = 0;
- add_item(new AddPluginItem(this, "ladspa", PLUGIN_LADSPA_ID));
- vis |= 1 << PLUGIN_LADSPA_ID;
add_item(new AddPluginItem(this, "ffmpeg", PLUGIN_FFMPEG_ID));
vis |= 1 << PLUGIN_FFMPEG_ID;
add_item(new AddPluginItem(this, "ffmpeg", PLUGIN_FFMPEG_ID));
vis |= 1 << PLUGIN_FFMPEG_ID;
+ add_item(new AddPluginItem(this, "ladspa", PLUGIN_LADSPA_ID));
+ vis |= 1 << PLUGIN_LADSPA_ID;
+#ifdef HAVE_LV2
+ add_item(new AddPluginItem(this, "lv2", PLUGIN_LV2_ID));
+ vis |= 1 << PLUGIN_LV2_ID;
+#endif
for( int i=0; i<MWindow::plugindb->size(); ++i ) {
PluginServer *plugin = MWindow::plugindb->get(i);
if( !plugin->audio && !plugin->video ) continue;
for( int i=0; i<MWindow::plugindb->size(); ++i ) {
PluginServer *plugin = MWindow::plugindb->get(i);
if( !plugin->audio && !plugin->video ) continue;
@@
-2481,8
+2507,9
@@
void AddTools::create_objects()
#if 0
// plugin_dirs list from toplevel makefile include plugin_defs
#if 0
// plugin_dirs list from toplevel makefile include plugin_defs
-N_("ladspa")
N_("ffmpeg")
N_("ffmpeg")
+N_("ladspa")
+N_("lv2")
N_("audio_tools")
N_("audio_transitions")
N_("blending")
N_("audio_tools")
N_("audio_transitions")
N_("blending")