{
this->mwindow = mwindow;
this->awindow = awindow;
- file_icon = 0;
- audio_icon = 0;
- video_icon = 0;
- folder_icon = 0;
- clip_icon = 0;
- label_icon = 0;
- atransition_icon = 0; atransition_vframe = 0;
- vtransition_icon = 0; vtransition_vframe = 0;
- aeffect_icon = 0; aeffect_vframe = 0;
- ladspa_icon = 0; ladspa_vframe = 0;
- veffect_icon = 0; veffect_vframe = 0;
- ff_aud_icon = 0; ff_aud_vframe = 0;
- ff_vid_icon = 0; ff_vid_vframe = 0;
+
+ file_vframe = 0; file_icon = 0;
+ folder_vframe = 0; folder_icon = 0;
+ audio_vframe = 0; audio_icon = 0;
+ video_vframe = 0; video_icon = 0;
+ label_vframe = 0; label_icon = 0;
+
+ atransition_vframe = 0; atransition_icon = 0;
+ vtransition_vframe = 0; vtransition_icon = 0;
+ aeffect_vframe = 0; aeffect_icon = 0;
+ ladspa_vframe = 0; ladspa_icon = 0;
+ veffect_vframe = 0; veffect_icon = 0;
+ ff_aud_vframe = 0; ff_aud_icon = 0;
+ ff_vid_vframe = 0; ff_vid_icon = 0;
+
+ aeffect_folder_vframe = 0; aeffect_folder_icon = 0;
+ atransition_folder_vframe = 0; atransition_folder_icon = 0;
+ clip_folder_vframe = 0; clip_folder_icon = 0;
+ label_folder_vframe = 0; label_folder_icon = 0;
+ media_folder_vframe = 0; media_folder_icon = 0;
+ proxy_folder_vframe = 0; proxy_folder_icon = 0;
+ veffect_folder_vframe = 0; veffect_folder_icon = 0;
+ vtransition_folder_vframe = 0; vtransition_folder_icon = 0;
+
+ ladspa_vframe = 0; ladspa_icon = 0;
+ ff_aud_vframe = 0; ff_aud_icon = 0;
+ ff_vid_vframe = 0; ff_vid_icon = 0;
+
+ clip_vframe = 0; clip_icon = 0;
+ atransition_vframe = 0; atransition_icon = 0;
+ vtransition_vframe = 0; vtransition_icon = 0;
+ aeffect_vframe = 0; aeffect_icon = 0;
+ veffect_vframe = 0; veffect_icon = 0;
+
plugin_visibility = ((uint64_t)1<<(8*sizeof(uint64_t)-1))-1;
newfolder_thread = 0;
asset_menu = 0;
displayed_assets[1].remove_all_objects();
delete vicon_thread;
- delete file_icon;
- delete audio_icon;
- delete video_icon;
- delete folder_icon;
- delete clip_icon;
- delete label_icon;
- delete atransition_icon;
- delete vtransition_icon;
- delete aeffect_icon;
- delete veffect_icon;
- delete ladspa_icon;
- delete ff_aud_icon;
- delete ff_vid_icon;
delete newfolder_thread;
+
delete asset_menu;
delete clip_menu;
delete label_menu;
delete folderlist_menu;
delete temp_picon;
delete remove_plugin;
+
+ delete file_vframe; delete file_icon;
+ delete folder_vframe; delete folder_icon;
+ delete audio_vframe; delete audio_icon;
+ delete video_vframe; delete video_icon;
+ delete label_vframe; delete label_icon;
+ delete clip_vframe; delete clip_icon;
+ delete aeffect_folder_vframe; delete aeffect_folder_icon;
+ delete atransition_folder_vframe; delete atransition_folder_icon;
+ delete veffect_folder_vframe; delete veffect_folder_icon;
+ delete vtransition_folder_vframe; delete vtransition_folder_icon;
+ delete clip_folder_vframe; delete clip_folder_icon;
+ delete label_folder_vframe; delete label_folder_icon;
+ delete media_folder_vframe; delete media_folder_icon;
+ delete proxy_folder_vframe; delete proxy_folder_icon;
+ delete ladspa_vframe; delete ladspa_icon;
+ delete ff_aud_vframe; delete ff_aud_icon;
+ delete ff_vid_vframe; delete ff_vid_icon;
+ delete atransition_vframe; delete atransition_icon;
+ delete vtransition_vframe; delete vtransition_icon;
+ delete aeffect_vframe; delete aeffect_icon;
+ delete veffect_vframe; delete veffect_icon;
}
bool AWindowGUI::protected_pixmap(BC_Pixmap *icon)
{
char png_path[BCTEXTLEN];
char *pp = png_path, *ep = pp + sizeof(png_path)-1;
- snprintf(pp, ep-pp, "%s/picon_%s/%s.png",
+ snprintf(pp, ep-pp, "%s/picon/%s/%s.png",
File::get_plugin_path(), plugin_icons, name);
+ if( access(png_path, R_OK) ) return 0;
return VFramePng::vframe_png(png_path,0,0);
}
VFrame *AWindowGUI::get_picon(const char *name)
{
VFrame *vframe = get_picon(name, mwindow->preferences->plugin_icons);
- if( !vframe ) vframe = get_picon(name, DEFAULT_PICON);
+ if( !vframe ) {
+ char png_name[BCSTRLEN], *pp = png_name, *ep = pp + sizeof(png_name)-1;
+ snprintf(pp, ep-pp, "%s.png", name);
+ unsigned char *data = mwindow->theme->get_image_data(png_name);
+ if( data ) vframe = new VFramePng(data, 0.);
+ }
return vframe;
}
void AWindowGUI::create_objects()
{
lock_window("AWindowGUI::create_objects");
- asset_titles[0] = _("Title");
+ asset_titles[0] = C_("Title");
asset_titles[1] = _("Comments");
set_icon(mwindow->theme->get_image("awindow_icon"));
mwindow->theme->get_awindow_sizes(this);
load_defaults(mwindow->defaults);
- add_subwindow(asset_list = new AWindowAssets(mwindow,
- this,
- mwindow->theme->alist_x,
- mwindow->theme->alist_y,
- mwindow->theme->alist_w,
- mwindow->theme->alist_h));
+ add_subwindow(asset_list = new AWindowAssets(mwindow, this,
+ mwindow->theme->alist_x, mwindow->theme->alist_y,
+ mwindow->theme->alist_w, mwindow->theme->alist_h));
vicon_thread = new VIconThread(asset_list);
vicon_thread->start();
- add_subwindow(divider = new AWindowDivider(mwindow,
- this,
- mwindow->theme->adivider_x,
- mwindow->theme->adivider_y,
- mwindow->theme->adivider_w,
- mwindow->theme->adivider_h));
+ add_subwindow(divider = new AWindowDivider(mwindow, this,
+ mwindow->theme->adivider_x, mwindow->theme->adivider_y,
+ mwindow->theme->adivider_w, mwindow->theme->adivider_h));
divider->set_cursor(HSEPARATE_CURSOR, 0, 0);
add_subwindow(title);
y += title->get_h() + 5;
list = new BC_ListBox(x, y,
- get_w() - 20, ok_button->get_y() - y - 5, LISTBOX_TEXT, &plugin_list,
- 0, 0, 1, 0, 0, LISTBOX_SINGLE, ICON_LEFT, 0);
+ get_w() - 20, ok_button->get_y() - y - 5, LISTBOX_TEXT, &plugin_list,
+ 0, 0, 1, 0, 0, LISTBOX_SINGLE, ICON_LEFT, 0);
add_subwindow(list);
show_window();
}
snprintf(index_path, sizeof(index_path), "%s/%s",
mwindow->preferences->plugin_dir, PLUGIN_FILE);
remove(index_path);
+ char picon_path[BCTEXTLEN];
FileSystem fs;
- fs.update(File::get_plugin_path());
+ snprintf(picon_path, sizeof(picon_path), "%s/picon",
+ File::get_plugin_path());
+ char png_name[BCSTRLEN], png_path[BCTEXTLEN];
+ plugin->get_plugin_png_name(png_name);
+ fs.update(picon_path);
for( int i=0; i<fs.dir_list.total; ++i ) {
char *fs_path = fs.dir_list[i]->path;
if( !fs.is_dir(fs_path) ) continue;
- char *cp = strrchr(fs_path,'/');
- cp = !cp ? fs_path : cp+1;
- if( strncmp("picon_", cp, 6) ) continue;
- char png_path[BCTEXTLEN];
- if( !plugin->get_plugin_png_path(png_path, cp+6) )
- remove(png_path);
+ snprintf(png_path, sizeof(picon_path), "%s/%s",
+ fs_path, png_name);
+ remove(png_path);
}
delete plugin; plugin = 0;
awindow->gui->async_update_assets();
default:
sort_picons(&assets);
}
-
+// reset xyposition
+ asset_list->update_format(asset_list->get_format(), 0);
update_assets();
}
void AWindowGUI::sort_folders()
{
sort_picons(&folders);
+ folder_list->update_format(folder_list->get_format(), 0);
update_assets();
}
void AWindowGUI::filter_displayed_assets()
{
//allow_iconlisting = 1;
- asset_titles[0] = _("Title");
+ asset_titles[0] = C_("Title");
asset_titles[1] = _("Comments");
switch( mwindow->edl->session->awindow_folder ) {
case AW_LABEL_FOLDER:
copy_picons(displayed_assets, &labellist, AW_NO_FOLDER);
asset_titles[0] = _("Time Stamps");
- asset_titles[1] = _("Title");
+ asset_titles[1] = C_("Title");
//allow_iconlisting = 0;
break;
default:
0, // If this listbox is a popup window
LISTBOX_MULTIPLE, // Select one item or multiple items
ICON_TOP, // Position of icon relative to text of each item
- 1) // Allow drag
+ -1) // Allow drags, require shift for scrolling
{
this->mwindow = mwindow;
this->gui = gui;
return 1;
}
-AWindowInfo::AWindowInfo(MWindow *mwindow, AWindowGUI *gui, int x, int y)
- : BC_Button(x, y, mwindow->theme->infoasset_data)
-{
- this->mwindow = mwindow;
- this->gui = gui;
- set_tooltip(_("Edit information on asset"));
-}
-
-int AWindowInfo::handle_event()
-{
- int cur_x, cur_y;
- gui->get_abs_cursor_xy(cur_x, cur_y, 0);
- gui->awindow->asset_edit->edit_asset(gui->selected_asset(), cur_x, cur_y);
- return 1;
-}
+// AWindowInfo::AWindowInfo(MWindow *mwindow, AWindowGUI *gui, int x, int y)
+// : BC_Button(x, y, mwindow->theme->infoasset_data)
+// {
+// this->mwindow = mwindow;
+// this->gui = gui;
+// set_tooltip(_("Edit information on asset"));
+// }
+//
+// int AWindowInfo::handle_event()
+// {
+// int cur_x, cur_y;
+// gui->get_abs_cursor(cur_x, cur_y, 0);
+// gui->awindow->asset_edit->edit_asset(gui->selected_asset(), cur_x, cur_y);
+// return 1;
+// }
AWindowRedrawIndex::AWindowRedrawIndex(MWindow *mwindow, AWindowGUI *gui, int x, int y)
: BC_Button(x, y, mwindow->theme->redrawindex_data)
this->idx = idx;
uint64_t msk = (uint64_t)1 << idx, vis = menu->gui->plugin_visibility;
int chk = (msk & vis) ? 1 : 0;
- set_checked(chk);
+ set_checked(chk);
}
int AddPluginItem::handle_event()
{
- int chk = get_checked() ^ 1;
- set_checked(chk);
+ int chk = get_checked() ^ 1;
+ set_checked(chk);
uint64_t msk = (uint64_t)1 << idx, vis = menu->gui->plugin_visibility;
menu->gui->plugin_visibility = chk ? vis | msk : vis & ~msk;
menu->gui->update_effects();
void AWindowListFormat::update()
{
- set_text(mwindow->edl->session->assetlist_format == ASSETS_TEXT ?
- (char*)_("Display icons") : (char*)_("Display text"));
+ set_text(mwindow->edl->session->assetlist_format == ASSETS_TEXT ?
+ (char*)_("Display icons") : (char*)_("Display text"));
}
AWindowListSort::AWindowListSort(MWindow *mwindow, AWindowGUI *gui)
return 1;
}
-