From: Good Guy Date: Sun, 23 Jul 2017 22:19:56 +0000 (-0600) Subject: asset menu size fixups, new picons+prefs, more timecode del, stretch scrollbars,... X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=3ac8199743f244669cc87ceef9c3cd23710552f3;p=goodguy%2Fhistory.git asset menu size fixups, new picons+prefs, more timecode del, stretch scrollbars, cleanup --- diff --git a/cinelerra-5.1/cinelerra/assetedit.C b/cinelerra-5.1/cinelerra/assetedit.C index ce91d691..b5a733bc 100644 --- a/cinelerra-5.1/cinelerra/assetedit.C +++ b/cinelerra-5.1/cinelerra/assetedit.C @@ -188,16 +188,13 @@ BC_Window* AssetEdit::new_gui() int AssetEdit::window_height() { int h = 128 + 64; - if( indexable->have_audio() ) - h += 180; + if( indexable->have_audio() ) h += 200; if( indexable->have_video() ) { - h += 200; + h += 210; if( indexable->is_asset ) { Asset *asset = (Asset *)indexable; if( asset->format == FILE_MPEG || - asset->format == FILE_FFMPEG ) { - h += 40; - } + asset->format == FILE_FFMPEG ) h += 42; } } return h; diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index 6ae38bb2..e1c34a57 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -835,9 +835,9 @@ void AWindowRemovePlugin::handle_close_event(int result) mwindow->preferences->plugin_dir, PLUGIN_FILE); remove(index_path); char png_path[BCTEXTLEN]; - if( plugin->get_theme_png_path(png_path, mwindow->preferences->theme) ) + if( plugin->get_plugin_png_path(png_path, mwindow->preferences->plugin_icons) ) remove(png_path); - if( plugin->get_theme_png_path(png_path, "picon") ) + if( plugin->get_plugin_png_path(png_path, DEFAULT_PICON) ) remove(png_path); delete plugin; plugin = 0; awindow->gui->async_update_assets(); @@ -1440,21 +1440,18 @@ int AWindowDivider::button_release_event() AWindowFolders::AWindowFolders(MWindow *mwindow, AWindowGUI *gui, int x, int y, int w, int h) - : BC_ListBox(x, - y, - w, - h, + : BC_ListBox(x, y, w, h, mwindow->edl->session->folderlist_format == ASSETS_ICONS ? LISTBOX_ICONS : LISTBOX_TEXT, - &gui->folders, // Each column has an ArrayList of BC_ListBoxItems. - 0, // Titles for columns. Set to 0 for no titles + &gui->folders, // Each column has an ArrayList of BC_ListBoxItems. + 0, // Titles for columns. Set to 0 for no titles 0, // width of each column - 1, // Total columns. - 0, // Pixel of top of window. - 0, // If this listbox is a popup window - LISTBOX_SINGLE, // Select one item or multiple items - ICON_TOP, // Position of icon relative to text of each item - 1) // Allow drags + 1, // Total columns. + 0, // Pixel of top of window. + 0, // If this listbox is a popup window + LISTBOX_SINGLE, // Select one item or multiple items + ICON_TOP, // Position of icon relative to text of each item + 1) // Allow drags { this->mwindow = mwindow; this->gui = gui; @@ -1515,18 +1512,19 @@ AWindowAssets::AWindowAssets(MWindow *mwindow, AWindowGUI *gui, int x, int y, in (mwindow->edl->session->assetlist_format == ASSETS_ICONS && gui->allow_iconlisting ) ? LISTBOX_ICONS : LISTBOX_TEXT, &gui->assets, // Each column has an ArrayList of BC_ListBoxItems. - gui->asset_titles, // Titles for columns. Set to 0 for no titles - mwindow->edl->session->asset_columns, // width of each column - 1, // Total columns. - 0, // Pixel of top of window. - 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 + gui->asset_titles,// Titles for columns. Set to 0 for no titles + mwindow->edl->session->asset_columns, // width of each column + 1, // Total columns. + 0, // Pixel of top of window. + 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 { this->mwindow = mwindow; this->gui = gui; set_drag_scroll(0); + set_scroll_stretch(1, 1); } AWindowAssets::~AWindowAssets() diff --git a/cinelerra-5.1/cinelerra/editpanel.C b/cinelerra-5.1/cinelerra/editpanel.C index dadae3d9..8de70d83 100644 --- a/cinelerra-5.1/cinelerra/editpanel.C +++ b/cinelerra-5.1/cinelerra/editpanel.C @@ -442,9 +442,7 @@ void EditPanel::next_edit() double EditPanel::get_position() { EDL *edl = mwindow->edl; - return !edl ? 0 : - edl->local_session->get_selectionstart(1) + - edl->session->get_frame_offset() / edl->session->frame_rate; + return !edl ? 0 : edl->local_session->get_selectionstart(1); } void EditPanel::set_position(double position) @@ -452,7 +450,6 @@ void EditPanel::set_position(double position) EDL *edl = mwindow->edl; if( !edl ) return; if( position != get_position() ) { - position -= edl->session->get_frame_offset() / edl->session->frame_rate; if( position < 0 ) position = 0; edl->local_session->set_selectionstart(position); edl->local_session->set_selectionend(position); diff --git a/cinelerra-5.1/cinelerra/edlsession.C b/cinelerra-5.1/cinelerra/edlsession.C index ddce17f1..1a83545e 100644 --- a/cinelerra-5.1/cinelerra/edlsession.C +++ b/cinelerra-5.1/cinelerra/edlsession.C @@ -121,8 +121,6 @@ EDLSession::EDLSession(EDL *edl) show_titles = 1; test_playback_edits = 1; time_format = TIME_HMSF; - for(int i = 0; i < 4; i++) - timecode_offset[i] = 0; nudge_format = 1; tool_window = 0; for(int i = 0; i < MAXCHANNELS; i++) { @@ -316,10 +314,6 @@ int EDLSession::load_defaults(BC_Hash *defaults) show_titles = defaults->get("SHOW_TITLES", 1); // test_playback_edits = defaults->get("TEST_PLAYBACK_EDITS", 1); time_format = defaults->get("TIME_FORMAT", TIME_HMSF); - for(int i = 0; i < 4; i++) { - sprintf(string, "TIMECODE_OFFSET_%d", i); - timecode_offset[i] = defaults->get(string, 0); - } nudge_format = defaults->get("NUDGE_FORMAT", 1); tool_window = defaults->get("TOOL_WINDOW", 0); vconfig_in->load_defaults(defaults); @@ -452,10 +446,6 @@ int EDLSession::save_defaults(BC_Hash *defaults) defaults->update("SHOW_TITLES", show_titles); // defaults->update("TEST_PLAYBACK_EDITS", test_playback_edits); defaults->update("TIME_FORMAT", time_format); - for(int i = 0; i < 4; i++) { - sprintf(string, "TIMECODE_OFFSET_%d", i); - defaults->update(string, timecode_offset[i]); - } defaults->update("NUDGE_FORMAT", nudge_format); defaults->update("TOOL_WINDOW", tool_window); vconfig_in->save_defaults(defaults); @@ -638,10 +628,6 @@ int EDLSession::load_xml(FileXML *file, show_titles = file->tag.get_property("SHOW_TITLES", 1); // test_playback_edits = file->tag.get_property("TEST_PLAYBACK_EDITS", test_playback_edits); time_format = file->tag.get_property("TIME_FORMAT", time_format); - for(int i = 0; i < 4; i++) { - sprintf(string, "TIMECODE_OFFSET_%d", i); - timecode_offset[i] = file->tag.get_property(string, timecode_offset[i]); - } nudge_format = file->tag.get_property("NUDGE_FORMAT", nudge_format); tool_window = file->tag.get_property("TOOL_WINDOW", tool_window); vwindow_meter = file->tag.get_property("VWINDOW_METER", vwindow_meter); @@ -706,10 +692,6 @@ int EDLSession::save_xml(FileXML *file) file->tag.set_property("SHOW_TITLES", show_titles); file->tag.set_property("TEST_PLAYBACK_EDITS", test_playback_edits); file->tag.set_property("TIME_FORMAT", time_format); - for(int i = 0; i < 4; i++) { - sprintf(string, "TIMECODE_OFFSET_%d", i); - file->tag.set_property(string, timecode_offset[i]); - } file->tag.set_property("NUDGE_FORMAT", nudge_format); file->tag.set_property("TOOL_WINDOW", tool_window); file->tag.set_property("VWINDOW_METER", vwindow_meter); @@ -876,9 +858,6 @@ int EDLSession::copy(EDLSession *session) show_titles = session->show_titles; test_playback_edits = session->test_playback_edits; time_format = session->time_format; - for(int i = 0; i < 4; i++) { - timecode_offset[i] = session->timecode_offset[i]; - } nudge_format = session->nudge_format; tool_window = session->tool_window; for(int i = 0; i < MAXCHANNELS; i++) { @@ -903,12 +882,6 @@ int EDLSession::copy(EDLSession *session) return 0; } -int64_t EDLSession::get_frame_offset() -{ - return int64_t((timecode_offset[3] * 3600 + timecode_offset[2] * 60 + - timecode_offset[1]) * frame_rate + timecode_offset[0]); -} - void EDLSession::dump() { printf("EDLSession::dump\n"); diff --git a/cinelerra-5.1/cinelerra/edlsession.h b/cinelerra-5.1/cinelerra/edlsession.h index 38dc3475..44838fa8 100644 --- a/cinelerra-5.1/cinelerra/edlsession.h +++ b/cinelerra-5.1/cinelerra/edlsession.h @@ -64,9 +64,6 @@ public: void equivalent_output(EDLSession *session, double *result); void dump(); -// calculates the frame offset for programme timecode - int64_t get_frame_offset(); - // Audio int achannel_positions[MAXCHANNELS]; // AWindow format diff --git a/cinelerra-5.1/cinelerra/interfaceprefs.C b/cinelerra-5.1/cinelerra/interfaceprefs.C index 1a3f1be5..c4771fc2 100644 --- a/cinelerra-5.1/cinelerra/interfaceprefs.C +++ b/cinelerra-5.1/cinelerra/interfaceprefs.C @@ -22,6 +22,8 @@ #include "deleteallindexes.h" #include "edl.h" #include "edlsession.h" +#include "file.h" +#include "filesystem.h" #include "language.h" #include "mwindow.h" #include "preferences.h" @@ -78,12 +80,12 @@ InterfacePrefs::~InterfacePrefs() void InterfacePrefs::create_objects() { - int x, y; BC_Resources *resources = BC_WindowBase::get_resources(); int margin = mwindow->theme->widget_border; char string[BCTEXTLEN]; - x = mwindow->theme->preferencesoptions_x; - y = mwindow->theme->preferencesoptions_y; + int x0 = mwindow->theme->preferencesoptions_x; + int y0 = mwindow->theme->preferencesoptions_y; + int x = x0, y = y0; add_subwindow(new BC_Title(x, y, _("Time Format"), LARGEFONT, resources->text_default)); @@ -114,17 +116,17 @@ void InterfacePrefs::create_objects() pwindow->thread->edl->session->time_format == TIME_FRAMES, x, y)); y += 20; - int x0 = x; add_subwindow(feet = new TimeFormatFeet(pwindow, this, pwindow->thread->edl->session->time_format == TIME_FEET_FRAMES, - x0, y)); - x0 += feet->get_w() + 15; + x, y)); + x += feet->get_w() + 15; BC_Title *title; - add_subwindow(title = new BC_Title(x0, y, _("Frames per foot:"))); - x0 += title->get_w() + margin; + add_subwindow(title = new BC_Title(x, y, _("Frames per foot:"))); + x += title->get_w() + margin; sprintf(string, "%0.2f", pwindow->thread->edl->session->frames_per_foot); add_subwindow(new TimeFormatFeetSetting(pwindow, - x0, y - 5, string)); + x, y - 5, string)); + x = x0; y += 20; add_subwindow(seconds = new TimeFormatSeconds(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SECONDS, @@ -200,7 +202,7 @@ void InterfacePrefs::create_objects() y1 = y + 5; y += 35; add_subwindow(title = new BC_Title(x, y, _("Keyframe reticle:"))); - x1 = x + title->get_w() + 10; + x1 = x + 100; keyframe_reticle = new KeyframeReticle(x1, y, &pwindow->thread->preferences->keyframe_reticle); add_subwindow(keyframe_reticle); keyframe_reticle->create_objects(); @@ -243,14 +245,14 @@ void InterfacePrefs::create_objects() add_subwindow(new BC_Title(x, y, _("Button 1:"))); ViewBehaviourText *text; - add_subwindow(text = new ViewBehaviourText(80, y - 5, + add_subwindow(text = new ViewBehaviourText(x1, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[0]), pwindow, &(pwindow->thread->edl->session->edit_handle_mode[0]))); text->create_objects(); y += 30; add_subwindow(new BC_Title(x, y, _("Button 2:"))); - add_subwindow(text = new ViewBehaviourText(80, + add_subwindow(text = new ViewBehaviourText(x1, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[1]), pwindow, @@ -258,7 +260,7 @@ void InterfacePrefs::create_objects() text->create_objects(); y += 30; add_subwindow(new BC_Title(x, y, _("Button 3:"))); - add_subwindow(text = new ViewBehaviourText(80, + add_subwindow(text = new ViewBehaviourText(x1, y - 5, behavior_to_text(pwindow->thread->edl->session->edit_handle_mode[2]), pwindow, @@ -266,7 +268,7 @@ void InterfacePrefs::create_objects() text->create_objects(); y += 40; - x1 = x; + add_subwindow(title = new BC_Title(x, y + 5, _("Min DB for meter:"))); x += title->get_w() + 10; sprintf(string, "%d", pwindow->thread->edl->session->min_meter_db); @@ -278,14 +280,21 @@ void InterfacePrefs::create_objects() sprintf(string, "%d", pwindow->thread->edl->session->max_meter_db); add_subwindow(max_db = new MeterMaxDB(pwindow, string, x, y)); - x = x1; + x = x0; y += 30; ViewTheme *theme; add_subwindow(new BC_Title(x, y, _("Theme:"))); - x += 60; + x += 100; add_subwindow(theme = new ViewTheme(x, y, pwindow)); theme->create_objects(); + x = x0; + y += theme->get_h() + 5; + ViewPluginIcons *plugin_icons; + add_subwindow(new BC_Title(x, y, _("Plugin Icons:"))); + x += 100; + add_subwindow(plugin_icons = new ViewPluginIcons(x, y, pwindow)); + plugin_icons->create_objects(); } const char* InterfacePrefs::behavior_to_text(int mode) @@ -611,15 +620,9 @@ ViewTheme::~ViewTheme() void ViewTheme::create_objects() { ArrayList themes; - MWindow::search_plugindb(0, - 0, - 0, - 0, - 1, - themes); - - for(int i = 0; i < themes.total; i++) - { + MWindow::search_plugindb(0, 0, 0, 0, 1, themes); + + for(int i = 0; i < themes.total; i++) { add_item(new ViewThemeItem(this, themes.values[i]->title)); } } @@ -629,24 +632,68 @@ int ViewTheme::handle_event() return 1; } +ViewThemeItem::ViewThemeItem(ViewTheme *popup, const char *text) + : BC_MenuItem(text) +{ + this->popup = popup; +} + +int ViewThemeItem::handle_event() +{ + popup->set_text(get_text()); + strcpy(popup->pwindow->thread->preferences->theme, get_text()); + popup->handle_event(); + return 1; +} + +ViewPluginIcons::ViewPluginIcons(int x, int y, PreferencesWindow *pwindow) + : BC_PopupMenu(x, y, 200, pwindow->thread->preferences->plugin_icons, 1) +{ + this->pwindow = pwindow; +} +ViewPluginIcons::~ViewPluginIcons() +{ +} +void ViewPluginIcons::create_objects() +{ + add_item(new ViewPluginIconItem(this, DEFAULT_PICON)); + FileSystem fs; + const char *plugin_path = File::get_plugin_path(); + fs.update(plugin_path); + if( fs.update(plugin_path) ) return; + for( int i=0; ipath; + if( !fs.is_dir(fs_path) ) continue; + char *cp = strrchr(fs_path,'/'); + cp = !cp ? fs_path : cp+1; + if( strncmp("picon_", cp, 6) ) continue; + cp += 6; + add_item(new ViewPluginIconItem(this, cp)); + } +} +int ViewPluginIcons::handle_event() +{ + return 1; +} -ViewThemeItem::ViewThemeItem(ViewTheme *popup, char *text) +ViewPluginIconItem::ViewPluginIconItem(ViewPluginIcons *popup, const char *text) : BC_MenuItem(text) { this->popup = popup; } -int ViewThemeItem::handle_event() +int ViewPluginIconItem::handle_event() { popup->set_text(get_text()); - strcpy(popup->pwindow->thread->preferences->theme, get_text()); + strcpy(popup->pwindow->thread->preferences->plugin_icons, get_text()); popup->handle_event(); return 1; } + ViewThumbnails::ViewThumbnails(int x, int y, PreferencesWindow *pwindow) diff --git a/cinelerra-5.1/cinelerra/interfaceprefs.h b/cinelerra-5.1/cinelerra/interfaceprefs.h index d4f2b97b..674bdc0f 100644 --- a/cinelerra-5.1/cinelerra/interfaceprefs.h +++ b/cinelerra-5.1/cinelerra/interfaceprefs.h @@ -41,8 +41,10 @@ class MeterVUInt; class ViewBehaviourText; class ViewBehaviourItem; class ViewTheme; -class ViewThumbnails; class ViewThemeItem; +class ViewPluginIcons; +class ViewPluginIconItem; +class ViewThumbnails; class UseTipWindow; class UseWarnIndecies; class UseWarnVersion; @@ -279,20 +281,40 @@ public: PreferencesWindow *pwindow; }; -class ViewThumbnails : public BC_CheckBox +class ViewThemeItem : public BC_MenuItem { public: - ViewThumbnails(int x, int y, PreferencesWindow *pwindow); + ViewThemeItem(ViewTheme *popup, const char *text); + int handle_event(); + ViewTheme *popup; +}; + +class ViewPluginIcons : public BC_PopupMenu +{ +public: + ViewPluginIcons(int x, int y, PreferencesWindow *pwindow); + ~ViewPluginIcons(); + + void create_objects(); int handle_event(); + PreferencesWindow *pwindow; }; -class ViewThemeItem : public BC_MenuItem +class ViewPluginIconItem : public BC_MenuItem { public: - ViewThemeItem(ViewTheme *popup, char *text); + ViewPluginIconItem(ViewPluginIcons *popup, const char *text); int handle_event(); - ViewTheme *popup; + ViewPluginIcons *popup; +}; + +class ViewThumbnails : public BC_CheckBox +{ +public: + ViewThumbnails(int x, int y, PreferencesWindow *pwindow); + int handle_event(); + PreferencesWindow *pwindow; }; class UseTipWindow : public BC_CheckBox diff --git a/cinelerra-5.1/cinelerra/mwindow.inc b/cinelerra-5.1/cinelerra/mwindow.inc index 27504bbe..c1dd02e4 100644 --- a/cinelerra-5.1/cinelerra/mwindow.inc +++ b/cinelerra-5.1/cinelerra/mwindow.inc @@ -24,6 +24,7 @@ #define PROGRAM_NAME "Cinelerra" #define DEFAULT_THEME "S.U.V." +#define DEFAULT_PICON "picon" #define CONFIG_FILE "Cinelerra_rc" #define PRESETS_FILE "Cinelerra_presets" #define PICTURE_FILE "Cinelerra_picture" diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index c21f8347..41882647 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -320,12 +320,8 @@ void MWindowGUI::create_objects() if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); add_subwindow(mainclock = new MainClock(mwindow, - mwindow->theme->mclock_x, - mwindow->theme->mclock_y, + mwindow->theme->mclock_x, mwindow->theme->mclock_y, mwindow->theme->mclock_w)); - mainclock->set_position_offset( (double) - (mwindow->edl->session->get_frame_offset() / - mwindow->edl->session->frame_rate)); if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); mainclock->update(0); diff --git a/cinelerra-5.1/cinelerra/playbackprefs.C b/cinelerra-5.1/cinelerra/playbackprefs.C index 16e69289..cadec09d 100644 --- a/cinelerra-5.1/cinelerra/playbackprefs.C +++ b/cinelerra-5.1/cinelerra/playbackprefs.C @@ -205,32 +205,11 @@ SET_TRACE if(!pwindow->thread->edl->session->interpolate_raw) white_balance_raw->disable(); - -SET_TRACE -// y += 30; -// add_subwindow(new PlaybackDeblock(pwindow, 10, y)); - - x2 = x; - x += 370; - title1 = new BC_Title(x, y, _("Timecode offset:"), MEDIUMFONT); - add_subwindow(title1); x += title1->get_w(); - for( int i=3;;) { - sprintf(string, "%d", pwindow->thread->edl->session->timecode_offset[i]); - TimecodeOffset *tcofs = new TimecodeOffset(x, y, pwindow, this, string, i); - add_subwindow(tcofs); x += tcofs->get_w(); - if( --i < 0 ) break; - title1 = new BC_Title(x, y, ":", MEDIUMFONT); - add_subwindow(title1); x += title1->get_w(); - } - - x = x2; y += white_balance_raw->get_h() + 5; add_subwindow(vdevice_title = new BC_Title(x, y, _("Video Driver:"))); video_device = new VDevicePrefs(x + vdevice_title->get_w() + 10, y, pwindow, this, playback_config->vconfig, 0, MODEPLAY); video_device->initialize(0); -SET_TRACE - } @@ -504,18 +483,3 @@ int PlaybackGain::handle_event() return 1; } -TimecodeOffset::TimecodeOffset(int x, int y, PreferencesWindow *pwindow, - PlaybackPrefs *playback, char *text, int unit) - : BC_TextBox(x, y, 30, 1, text) -{ - this->pwindow = pwindow; - this->playback = playback; - this->unit = unit; -} - -int TimecodeOffset::handle_event() -{ - pwindow->thread->edl->session->timecode_offset[unit] = atol(get_text()); - return 1; -} - diff --git a/cinelerra-5.1/cinelerra/playbackprefs.h b/cinelerra-5.1/cinelerra/playbackprefs.h index d7b2920b..9b1c3243 100644 --- a/cinelerra-5.1/cinelerra/playbackprefs.h +++ b/cinelerra-5.1/cinelerra/playbackprefs.h @@ -30,7 +30,6 @@ class PlaybackViewFollows; class PlaybackSoftwareTimer; class PlaybackRealTime; class PlaybackMap51_2; -class TimecodeOffset; class VideoAsynchronous; class VideoEveryFrame; class PlaybackDeblock; @@ -203,17 +202,6 @@ public: PlaybackPrefs *playback; }; -class TimecodeOffset : public BC_TextBox -{ - public: - TimecodeOffset(int x, int y, PreferencesWindow *pwindow, - PlaybackPrefs *playback, char *text, int unit); - int handle_event(); - int unit; - PlaybackPrefs *playback; - PreferencesWindow *pwindow; -}; - class PlaybackSubtitle : public BC_CheckBox { public: diff --git a/cinelerra-5.1/cinelerra/pluginserver.C b/cinelerra-5.1/cinelerra/pluginserver.C index 9995a4a7..94912ea5 100644 --- a/cinelerra-5.1/cinelerra/pluginserver.C +++ b/cinelerra-5.1/cinelerra/pluginserver.C @@ -1222,16 +1222,20 @@ Theme* PluginServer::get_theme() } -int PluginServer::get_theme_png_path(char *png_path, const char *theme_dir) -{ - char *bp = strrchr(path, '/'); - if( !bp ) bp = path; else ++bp; - char *sp = strrchr(bp,'.'); - if( !sp ) sp = bp + strlen(bp); - char *cp = png_path, *dp = bp; - cp += sprintf(cp,"%s/%s/", mwindow->preferences->plugin_dir, theme_dir); - while( dp < sp ) *cp++ = *dp++; - strcpy(cp, ".png"); +int PluginServer::get_plugin_png_path(char *png_path, const char *plugin_icons) +{ + char *pp = png_path, *ep = pp + BCTEXTLEN-1; + pp += snprintf(pp, ep-pp, "%s/picon", File::get_plugin_path()); + if( strcmp(DEFAULT_PICON, plugin_icons) ) + pp += snprintf(pp, ep-pp, "_%s", plugin_icons); + if( pp < ep ) *pp++ = '/'; + char *cp = strrchr(path, '/'); + cp = !cp ? path : cp+1; + char *sp = strrchr(cp, '.'); + if( !sp ) sp = cp+strlen(cp); + while( pp < ep && cp < sp ) *pp++ = *cp++; + pp += snprintf(pp, ep-pp, ".png"); + *pp = 0; struct stat st; if( stat(png_path, &st) ) return 0; if( !S_ISREG(st.st_mode) ) return 0; @@ -1239,23 +1243,10 @@ int PluginServer::get_theme_png_path(char *png_path, const char *theme_dir) return st.st_size; } -int PluginServer::get_theme_png_path(char *png_path, Theme *theme) -{ - char *bp = strrchr(theme->path, '/'); - if( !bp ) bp = theme->path; else ++bp; - char *sp = strrchr(bp,'.'); - if( !sp || ( strcmp(sp, ".plugin") && strcmp(sp,".so") ) ) return 0; - char theme_dir[BCTEXTLEN], *cp = theme_dir; - while( bp < sp ) *cp++ = *bp++; - *cp = 0; - return get_theme_png_path(png_path, theme_dir); -} - int PluginServer::get_plugin_png_path(char *png_path) { - int len = get_theme_png_path(png_path, mwindow->theme); - if( !len ) - len = get_theme_png_path(png_path, "picon"); + int len = get_plugin_png_path(png_path, mwindow->preferences->plugin_icons); + if( !len ) len = get_plugin_png_path(png_path, DEFAULT_PICON); return len; } diff --git a/cinelerra-5.1/cinelerra/pluginserver.h b/cinelerra-5.1/cinelerra/pluginserver.h index 552bbe77..62b65f97 100644 --- a/cinelerra-5.1/cinelerra/pluginserver.h +++ b/cinelerra-5.1/cinelerra/pluginserver.h @@ -125,8 +125,7 @@ public: EDL *edl, Plugin *plugin); // close the plugin int close_plugin(); - int get_theme_png_path(char *png_path, const char *theme_dir); - int get_theme_png_path(char *png_path, Theme *theme); + int get_plugin_png_path(char *png_path, const char *plugin_icons); int get_plugin_png_path(char *png_path); void dump(FILE *fp=stdout); // Release any objects which are required after playback stops. diff --git a/cinelerra-5.1/cinelerra/preferences.C b/cinelerra-5.1/cinelerra/preferences.C index 0e2629ac..27269e23 100644 --- a/cinelerra-5.1/cinelerra/preferences.C +++ b/cinelerra-5.1/cinelerra/preferences.C @@ -68,6 +68,7 @@ Preferences::Preferences() trap_sigsegv = 1; trap_sigintr = 1; theme[0] = 0; + plugin_icons[0] = 0; use_renderfarm = 0; force_uniprocessor = 0; renderfarm_port = DEAMON_PORT; @@ -172,6 +173,7 @@ void Preferences::copy_from(Preferences *that) use_thumbnails = that->use_thumbnails; keyframe_reticle = that->keyframe_reticle; strcpy(theme, that->theme); + strcpy(plugin_icons, that->plugin_icons); use_tipwindow = that->use_tipwindow; scan_commercials = that->scan_commercials; @@ -314,6 +316,8 @@ int Preferences::load_defaults(BC_Hash *defaults) strcpy(theme, DEFAULT_THEME); defaults->get("THEME", theme); + strcpy(plugin_icons, DEFAULT_PICON); + defaults->get("PLUGIN_ICONS", plugin_icons); for(int i = 0; i < MAXCHANNELS; i++) { @@ -456,8 +460,8 @@ int Preferences::save_defaults(BC_Hash *defaults) defaults->update("KEYFRAME_RETICLE", keyframe_reticle); defaults->update("TRAP_SIGSEGV", trap_sigsegv); defaults->update("TRAP_SIGINTR", trap_sigintr); -// defaults->update("GLOBAL_PLUGIN_DIR", global_plugin_dir); defaults->update("THEME", theme); + defaults->update("PLUGIN_ICONS", plugin_icons); for(int i = 0; i < MAXCHANNELS; i++) diff --git a/cinelerra-5.1/cinelerra/preferences.h b/cinelerra-5.1/cinelerra/preferences.h index af401ac0..85a1522d 100644 --- a/cinelerra-5.1/cinelerra/preferences.h +++ b/cinelerra-5.1/cinelerra/preferences.h @@ -93,6 +93,8 @@ public: int trap_sigintr; // Title of theme char theme[BCTEXTLEN]; +// plugin icon set + char plugin_icons[BCTEXTLEN]; double render_preroll; int brender_preroll; int force_uniprocessor; diff --git a/cinelerra-5.1/cinelerra/preferencesthread.C b/cinelerra-5.1/cinelerra/preferencesthread.C index 1de73c3b..8d4544f8 100644 --- a/cinelerra-5.1/cinelerra/preferencesthread.C +++ b/cinelerra-5.1/cinelerra/preferencesthread.C @@ -63,7 +63,7 @@ #define WIDTH 770 -#define HEIGHT 720 +#define HEIGHT 740 PreferencesMenuitem::PreferencesMenuitem(MWindow *mwindow) @@ -212,6 +212,8 @@ int PreferencesThread::apply_settings() if( strcmp(preferences->theme, mwindow->preferences->theme) != 0 ) mwindow->restart_status = -1; // reload, need new bcresources + if( strcmp(preferences->plugin_icons, mwindow->preferences->plugin_icons) != 0 ) + mwindow->restart_status = -1; mwindow->edl->copy_session(edl, 1); mwindow->preferences->copy_from(preferences); @@ -234,9 +236,6 @@ int PreferencesThread::apply_settings() mwindow->gui->ffmpeg_toggle->set_tooltip(ffmpeg_early_probe ? FFMPEG_EARLY_TIP : FFMPEG_LATE_TIP); mwindow->gui->mainshbtns->load(mwindow->preferences); - double tc_position = - mwindow->edl->session->get_frame_offset() / mwindow->edl->session->frame_rate; - mwindow->gui->mainclock->set_position_offset(tc_position); //edl->session->recording_format->dump(); //mwindow->edl->session->recording_format->dump(); diff --git a/cinelerra-5.1/cinelerra/renderengine.C b/cinelerra-5.1/cinelerra/renderengine.C index 6ad6629c..bb8f43a8 100644 --- a/cinelerra-5.1/cinelerra/renderengine.C +++ b/cinelerra-5.1/cinelerra/renderengine.C @@ -66,12 +66,7 @@ RenderEngine::RenderEngine(PlaybackEngine *playback_engine, audio_cache = 0; video_cache = 0; - if(playback_engine && playback_engine->mwindow) - mwindow = playback_engine->mwindow; - else - mwindow = 0; - show_tc = 0; - + mwindow = !playback_engine ? 0 : playback_engine->mwindow; input_lock = new Condition(1, "RenderEngine::input_lock"); start_lock = new Condition(1, "RenderEngine::start_lock"); diff --git a/cinelerra-5.1/cinelerra/renderengine.h b/cinelerra-5.1/cinelerra/renderengine.h index b34fbf60..5e3ed940 100644 --- a/cinelerra-5.1/cinelerra/renderengine.h +++ b/cinelerra-5.1/cinelerra/renderengine.h @@ -113,9 +113,6 @@ public: // Lock out interrupts before and after renderengine is active Mutex *interrupt_lock; -// Show the timecode on the video - int show_tc; - int done; int is_nested; // If nested, the devices are owned by someone else diff --git a/cinelerra-5.1/cinelerra/swindow.C b/cinelerra-5.1/cinelerra/swindow.C index 423dd55d..1d33f4b1 100644 --- a/cinelerra-5.1/cinelerra/swindow.C +++ b/cinelerra-5.1/cinelerra/swindow.C @@ -184,14 +184,14 @@ void SWindowGUI::create_objects() add_subwindow(script_title = new BC_Title(x1, y, _("Script Text:"))); y += script_title->get_h() + pad; int rows = (ok_y - y - BC_Title::calculate_h(this,_("Line Text:")) - - 4*pad) / text_rowsz - 3; + 4*pad) / text_rowsz - 4; int w1 = get_w() - x1 - pad; script_entry = new ScriptEntry(this, x1, y, w1, rows, blank_line); script_entry->create_objects(); y += script_entry->get_h() + pad; add_subwindow(line_title = new BC_Title(x1, y, _("Line Text:"))); y += line_title->get_h() + pad; - line_entry = new ScriptEntry(this, x1, y, w1, 3); + line_entry = new ScriptEntry(this, x1, y, w1, 4); line_entry->create_objects(); ok = new SWindowOK(this, ok_x, ok_y); add_subwindow(ok); @@ -321,12 +321,12 @@ int SWindowGUI::resize_event(int w, int h) script_title->reposition_window(x, y); y += script_title->get_h() + pad; w1 = w - x - pad; - int rows = (ok_y - y - line_title->get_h() - 4*pad) / text_rowsz - 3; + int rows = (ok_y - y - line_title->get_h() - 4*pad) / text_rowsz - 4; script_entry->reposition_window(x, y, w1, rows); y += script_entry->get_h() + 2*pad; line_title->reposition_window(x, y); y += line_title->get_h() + pad; - line_entry->reposition_window(x, y, w1, 3); + line_entry->reposition_window(x, y, w1, 4); return 0; } @@ -677,7 +677,7 @@ char *ScriptLines::get_text_row(int n) } ScriptScroll::ScriptScroll(SWindowGUI *gui, int x, int y, int w) - : BC_ScrollBar(x, y, SCROLL_HORIZ, w, 0, 0, 0) + : BC_ScrollBar(x, y, SCROLL_HORIZ + SCROLL_STRETCH, w, 0, 0, 0) { this->sw_gui = gui; } @@ -811,7 +811,7 @@ void SWindowGUI::load_script(FILE *fp) script_entries->update(value); sprintf(value,"%jd",script_text_lines); script_texts->update(value); - int hw = 2*script_scroll->get_h(); + int hw = script_scroll->get_h(); script_scroll->update_length(script.size(), script_entry_no, hw, 0); script_position->update(script_entry_no); script_position->set_boundaries((int64_t)0, (int64_t)script.size()-1); diff --git a/cinelerra-5.1/cinelerra/virtualvnode.C b/cinelerra-5.1/cinelerra/virtualvnode.C index 62af4046..5b7e3aea 100644 --- a/cinelerra-5.1/cinelerra/virtualvnode.C +++ b/cinelerra-5.1/cinelerra/virtualvnode.C @@ -263,12 +263,6 @@ int VirtualVNode::render_as_module(VFrame *video_out, //printf("VirtualVNode::render_as_module\n"); //output_temp->dump_stacks(); - Edit *edit = 0; - if(renderengine->show_tc) - renderengine->vrender->insert_timecode(edit, - start_position, - output_temp); - return 0; } diff --git a/cinelerra-5.1/cinelerra/vrender.C b/cinelerra-5.1/cinelerra/vrender.C index ae3503cd..dd738ac5 100644 --- a/cinelerra-5.1/cinelerra/vrender.C +++ b/cinelerra-5.1/cinelerra/vrender.C @@ -207,11 +207,6 @@ int VRender::process_buffer(int64_t input_position, 1, use_cache, use_asynchronous); -/* Insert timecode */ - if(renderengine->show_tc) - insert_timecode(playable_edit, - input_position, - video_out); if(debug) printf("VRender::process_buffer %d\n", __LINE__); } @@ -249,79 +244,6 @@ int VRender::get_use_vconsole(VEdit **playable_edit, } -int VRender::insert_timecode(Edit* playable_edit, - int64_t position, - VFrame *output) -{ -#if 0 - EDLSession *session = renderengine->edl->session; - /* Create a vframe with TC and SRC timecode in white - * with a black border */ - VFrame *input = new VFrame(0, - output->get_w(), MIN(output->get_h(), 50), - output->get_color_model(), output->get_bytes_per_line()); - char etc[12]; - char srctc[12]; - int src_position = 0; - -TRACE("VRender::insert_timecode 10") - - /* Edited TC */ - Units::totext(etc, - (renderengine->vrender->current_position + - session->get_frame_offset()) / session->frame_rate, - session->time_format, - session->sample_rate, - session->frame_rate, - session->frames_per_foot); - -TRACE("VRender::insert_timecode 20") - - if(playable_edit) - { -TRACE("VRender::insert_timecode 30") - src_position = renderengine->vrender->current_position - - playable_edit->startproject + - playable_edit->startsource + - playable_edit->asset->tcstart; -TRACE("VRender::insert_timecode 40") - Units::totext(srctc, - src_position / playable_edit->asset->frame_rate, - session->time_format, - session->sample_rate, - playable_edit->asset->frame_rate, - session->frames_per_foot); - } - else - { -TRACE("VRender::insert_timecode 50") - Units::totext(srctc, - 0.0, -// (renderengine->vrender->current_position - position) / session->frame_rate, - session->time_format, - session->sample_rate, - session->frame_rate, - session->frames_per_foot); - } -TRACE("VRender::insert_timecode 60") - -//printf("re position %i position %i\n", -// renderengine->vrender->current_position, position); -//printf("SRC %s TC %s\n", srctc, etc); - - /* Insert the timecode data onto the input frame */ - - vrender->overlayer->overlay(output, input, - input->x, input->y, input->width, input->height, - output->x, output->y, output->width, output->height, - 1, TRANSFER_REPLACE, - renderengine->edl->session->interpolation_type); - delete(input); -UNTRACE -#endif - return 0; -} - int VRender::get_colormodel(VEdit *playable_edit, int use_vconsole, int use_brender) { diff --git a/cinelerra-5.1/cinelerra/vwindowgui.C b/cinelerra-5.1/cinelerra/vwindowgui.C index 0c4621e2..f5fef954 100644 --- a/cinelerra-5.1/cinelerra/vwindowgui.C +++ b/cinelerra-5.1/cinelerra/vwindowgui.C @@ -614,8 +614,7 @@ void VWindowEditing::next_label() double VWindowEditing::get_position() { EDL *edl = vwindow->get_edl(); - double position = !edl ? 0 : edl->local_session->get_selectionstart(1) + - edl->session->get_frame_offset() / edl->session->frame_rate; + double position = !edl ? 0 : edl->local_session->get_selectionstart(1); return position; } @@ -624,7 +623,6 @@ void VWindowEditing::set_position(double position) EDL *edl = vwindow->get_edl(); if( !edl ) return; if( get_position() != position ) { - position -= edl->session->get_frame_offset() / edl->session->frame_rate; if( position < 0 ) position = 0; edl->local_session->set_selectionstart(position); edl->local_session->set_selectionend(position); diff --git a/cinelerra-5.1/cinelerra/zoombar.C b/cinelerra-5.1/cinelerra/zoombar.C index 8dca9e10..408473d6 100644 --- a/cinelerra-5.1/cinelerra/zoombar.C +++ b/cinelerra-5.1/cinelerra/zoombar.C @@ -202,8 +202,7 @@ int ZoomBar::update_playback(int64_t new_position) { if(new_position != old_position) { - Units::totext(string, - new_position, + Units::totext(string, new_position, mwindow->edl->session->sample_rate, mwindow->edl->session->time_format, mwindow->edl->session->frame_rate, @@ -537,8 +536,6 @@ int FromTextBox::handle_event() int FromTextBox::update_position(double new_position) { - new_position += mwindow->edl->session->get_frame_offset() / - mwindow->edl->session->frame_rate;; Units::totext(string, new_position, mwindow->edl->session->time_format, @@ -609,10 +606,7 @@ int ToTextBox::handle_event() int ToTextBox::update_position(double new_position) { - new_position += mwindow->edl->session->get_frame_offset() / - mwindow->edl->session->frame_rate; - Units::totext(string, - new_position, + Units::totext(string, new_position, mwindow->edl->session->time_format, mwindow->edl->session->sample_rate, mwindow->edl->session->frame_rate, diff --git a/cinelerra-5.1/guicast/bclistbox.C b/cinelerra-5.1/guicast/bclistbox.C index fe954f89..7aec8868 100644 --- a/cinelerra-5.1/guicast/bclistbox.C +++ b/cinelerra-5.1/guicast/bclistbox.C @@ -38,18 +38,10 @@ // ====================================================== scrollbars - -BC_ListBoxYScroll::BC_ListBoxYScroll(BC_ListBox *listbox, - int total_height, - int view_height, - int position) - : BC_ScrollBar(listbox->get_yscroll_x(), - listbox->get_yscroll_y(), - SCROLL_VERT, - listbox->get_yscroll_height(), - total_height, - position, - view_height) +BC_ListBoxYScroll::BC_ListBoxYScroll(BC_ListBox *listbox) + : BC_ScrollBar(listbox->get_yscroll_x(), listbox->get_yscroll_y(), + listbox->yscroll_orientation, listbox->get_yscroll_height(), + listbox->items_h, listbox->yposition, listbox->view_h) { this->listbox = listbox; } @@ -64,27 +56,10 @@ int BC_ListBoxYScroll::handle_event() return 1; } -int BC_ListBoxYScroll::update_length(int64_t length, int64_t position, int64_t handlelength, int flush) -{ - return BC_ScrollBar::update_length(length+handlelength/4, position, handlelength, flush); -} - - - - - - -BC_ListBoxXScroll::BC_ListBoxXScroll(BC_ListBox *listbox, - int total_width, - int view_width, - int position) - : BC_ScrollBar(listbox->get_xscroll_x(), - listbox->get_xscroll_y(), - SCROLL_HORIZ, - listbox->get_xscroll_width(), - total_width, - position, - view_width) +BC_ListBoxXScroll::BC_ListBoxXScroll(BC_ListBox *listbox) + : BC_ScrollBar(listbox->get_xscroll_x(), listbox->get_xscroll_y(), + listbox->xscroll_orientation, listbox->get_xscroll_width(), + listbox->items_w, listbox->xposition, listbox->view_w) { this->listbox = listbox; } @@ -99,16 +74,6 @@ int BC_ListBoxXScroll::handle_event() return 1; } -int BC_ListBoxXScroll::update_length(int64_t length, int64_t position, int64_t handlelength, int flush) -{ - return BC_ScrollBar::update_length(length+handlelength/4, position, handlelength, flush); -} - - - - - - BC_ListBoxToggle::BC_ListBoxToggle(BC_ListBox *listbox, BC_ListBoxItem *item, @@ -369,6 +334,8 @@ BC_ListBox::BC_ListBox(int x, new_value = 0; need_xscroll = 0; need_yscroll = 0; + xscroll_orientation = SCROLL_HORIZ; + yscroll_orientation = SCROLL_VERT; bg_tile = 0; bg_draw = 1; drag_popup = 0; @@ -1242,6 +1209,13 @@ void BC_ListBox::set_autoplacement(ArrayList *data, } +void BC_ListBox::set_scroll_stretch(int xv, int yv) +{ + if( xv >= 0 ) xscroll_orientation = + !xv ? SCROLL_HORIZ : SCROLL_HORIZ + SCROLL_STRETCH; + if( yv >= 0 ) yscroll_orientation = + !yv ? SCROLL_VERT : SCROLL_VERT + SCROLL_STRETCH; +} int BC_ListBox::get_yscroll_x() { @@ -1978,11 +1952,8 @@ int BC_ListBox::get_scrollbars() { if(!xscrollbar) { - destination->add_subwindow(xscrollbar = - new BC_ListBoxXScroll(this, - w_needed, - view_w, - xposition)); + xscrollbar = new BC_ListBoxXScroll(this); + destination->add_subwindow(xscrollbar); xscrollbar->show_window(0); xscrollbar->bound_to = this; } @@ -2005,11 +1976,8 @@ int BC_ListBox::get_scrollbars() { if(!yscrollbar) { - destination->add_subwindow(yscrollbar = - new BC_ListBoxYScroll(this, - h_needed, - view_h, - yposition)); + yscrollbar = new BC_ListBoxYScroll(this); + destination->add_subwindow(yscrollbar); yscrollbar->show_window(0); yscrollbar->bound_to = this; } diff --git a/cinelerra-5.1/guicast/bclistbox.h b/cinelerra-5.1/guicast/bclistbox.h index 442a8245..5ea18865 100644 --- a/cinelerra-5.1/guicast/bclistbox.h +++ b/cinelerra-5.1/guicast/bclistbox.h @@ -32,45 +32,36 @@ #define BCPOPUPLISTBOX_W 25 #define BCPOPUPLISTBOX_H 25 +class BC_ListBoxYScroll; +class BC_ListBoxXScroll; +class BC_ListBoxToggle; +class BC_ListBox; #define MIN_COLUMN_WIDTH 10 class BC_ListBoxYScroll : public BC_ScrollBar { + BC_ListBox *listbox; public: - BC_ListBoxYScroll(BC_ListBox *listbox, - int total_height, - int view_height, - int position); + BC_ListBoxYScroll(BC_ListBox *listbox); ~BC_ListBoxYScroll(); int handle_event(); - int update_length(int64_t length, int64_t position, int64_t handlelength, int flush); -private: - BC_ListBox *listbox; }; class BC_ListBoxXScroll : public BC_ScrollBar { + BC_ListBox *listbox; public: - BC_ListBoxXScroll(BC_ListBox *listbox, - int total_width, - int view_width, - int position); + BC_ListBoxXScroll(BC_ListBox *listbox); ~BC_ListBoxXScroll(); int handle_event(); - int update_length(int64_t length, int64_t position, int64_t handlelength, int flush); -private: - BC_ListBox *listbox; }; class BC_ListBoxToggle { public: - BC_ListBoxToggle(BC_ListBox *listbox, - BC_ListBoxItem *item, - int x, - int y); + BC_ListBoxToggle(BC_ListBox *listbox, BC_ListBoxItem *item, int x, int y); int cursor_motion_event(int *redraw_toggles); int cursor_leave_event(int *redraw_toggles); @@ -98,11 +89,11 @@ public: class BC_ListBox : public BC_SubWindow { + friend class BC_ListBoxYScroll; + friend class BC_ListBoxXScroll; + friend class BC_ListBoxToggle; public: - BC_ListBox(int x, - int y, - int w, - int h, + BC_ListBox(int x, int y, int w, int h, int display_format, // Display text list or icons ArrayList *data = 0, // Each column has an ArrayList of BC_ListBoxItems. const char **column_titles = 0, // Titles for columns. Set to 0 for no titles @@ -212,14 +203,11 @@ public: // change the contents int update(ArrayList *data, - const char **column_titles, - int *column_widths, - int columns, - int xposition = 0, - int yposition = 0, - int highlighted_number = -1, // Flat index of item cursor is over - int recalc_positions = 0, // set all autoplace flags to 1 - int draw = 1); + const char **column_titles, int *column_widths, int columns, + int xposition = 0, int yposition = 0, + int highlighted_number = -1, // Flat index of item cursor is over + int recalc_positions = 0, // set all autoplace flags to 1 + int draw = 1); void center_selection(); void update_format(int display_format, int redraw); int get_format(); @@ -248,6 +236,7 @@ public: int get_xscroll_x(); int get_xscroll_y(); int get_xscroll_width(); + void set_scroll_stretch(int xv, int yv); int get_column_offset(int column); int get_column_width(int column, int clamp_right = 0); int get_title_h(); @@ -266,7 +255,6 @@ public: int get_first_visible() { return first_in_view; } int get_last_visible() { return last_in_view; } - enum { SORT_ASCENDING, @@ -533,6 +521,7 @@ private: // In BCLISTBOX_SELECT mode determines the value to set items to int new_value; int need_xscroll, need_yscroll; + int xscroll_orientation, yscroll_orientation; // Move items during drag operation of text items. int process_drag; int allow_drag; diff --git a/cinelerra-5.1/guicast/bcscrollbar.C b/cinelerra-5.1/guicast/bcscrollbar.C index 5de4db6b..bc2e4f99 100644 --- a/cinelerra-5.1/guicast/bcscrollbar.C +++ b/cinelerra-5.1/guicast/bcscrollbar.C @@ -28,13 +28,8 @@ #include -BC_ScrollBar::BC_ScrollBar(int x, - int y, - int orientation, - int pixels, - int64_t length, - int64_t position, - int64_t handlelength, +BC_ScrollBar::BC_ScrollBar(int x, int y, int orientation, int pixels, + int64_t length, int64_t position, int64_t handlelength, VFrame **data) : BC_SubWindow(x, y, 0, 0, -1) { @@ -43,16 +38,15 @@ BC_ScrollBar::BC_ScrollBar(int x, this->handlelength = handlelength; this->selection_status = 0; this->highlight_status = 0; + this->stretch = orientation & SCROLL_STRETCH ? 1 : 0; + orientation &= ~SCROLL_STRETCH; this->orientation = orientation; this->pixels = pixels; - if(data) - this->data = data; - else - if(orientation == SCROLL_HORIZ) - this->data = BC_WindowBase::get_resources()->hscroll_data; - else - this->data = BC_WindowBase::get_resources()->vscroll_data; + if( !data ) data = orientation == SCROLL_HORIZ ? + BC_WindowBase::get_resources()->hscroll_data : + BC_WindowBase::get_resources()->vscroll_data ; + this->data = data; handle_pixel = 0; handle_pixels = 0; @@ -90,8 +84,6 @@ void BC_ScrollBar::set_images(VFrame **data) calculate_dimensions(w, h); } - - void BC_ScrollBar::calculate_dimensions(int &w, int &h) { switch(orientation) @@ -664,6 +656,7 @@ int BC_ScrollBar::update_value(int64_t value) int BC_ScrollBar::update_length(int64_t length, int64_t position, int64_t handlelength, int flush) { + if( stretch ) length += handlelength/4; this->length = length; this->position = position; this->handlelength = handlelength; diff --git a/cinelerra-5.1/guicast/bcscrollbar.h b/cinelerra-5.1/guicast/bcscrollbar.h index d631d0a6..bad1ad53 100644 --- a/cinelerra-5.1/guicast/bcscrollbar.h +++ b/cinelerra-5.1/guicast/bcscrollbar.h @@ -27,8 +27,9 @@ #include "bcsubwindow.h" // Orientations -#define SCROLL_HORIZ 0 -#define SCROLL_VERT 1 +#define SCROLL_HORIZ 0 +#define SCROLL_VERT 1 +#define SCROLL_STRETCH 2 // Selection identifiers #define SCROLL_HANDLE 1 @@ -61,14 +62,8 @@ class BC_ScrollBar : public BC_SubWindow { public: - BC_ScrollBar(int x, - int y, - int orientation, - int pixels, - int64_t length, - int64_t position, - int64_t handlelength, - VFrame **data = 0); + BC_ScrollBar(int x, int y, int orientation, int pixels, int64_t length, + int64_t position, int64_t handlelength, VFrame **data = 0); virtual ~BC_ScrollBar(); friend class BC_ListBox; @@ -95,7 +90,6 @@ public: int get_span(); static int get_span(int orientation); int get_arrow_pixels(); - private: void calculate_dimensions(int &w, int &h); int activate(); @@ -105,7 +99,7 @@ private: int64_t length, position, handlelength; // handle position and size int selection_status, highlight_status; - int orientation, pixels; + int orientation, pixels, stretch; int handle_pixel, handle_pixels; int min_pixel, max_pixel; int64_t repeat_count; diff --git a/cinelerra-5.1/guicast/bctextbox.C b/cinelerra-5.1/guicast/bctextbox.C index 5c8a8f93..2536cf7a 100644 --- a/cinelerra-5.1/guicast/bctextbox.C +++ b/cinelerra-5.1/guicast/bctextbox.C @@ -2313,10 +2313,9 @@ void BC_ScrollTextBox::update_scrollbars() int xpos = get_x_pos(); if( xpos != xscroll->get_value() ) xscroll->update_value(xpos); - int xlength = text_width + view_w/4; - if( xlength != xscroll->get_length() || + if( text_width != xscroll->get_length() || view_w != xscroll->get_handlelength() ) - xscroll->update_length(xlength, xpos, view_w, 0); + xscroll->update_length(text_width, xpos, view_w, 0); } if( yscroll ) { yscroll->reposition_window(x + w - yscroll->get_span(), y, text->get_h()); @@ -2342,8 +2341,9 @@ int BC_ScrollTextBoxText::motion_event() } BC_ScrollTextBoxXScroll::BC_ScrollTextBoxXScroll(BC_ScrollTextBox *gui) - : BC_ScrollBar(gui->x, gui->y + gui->text->get_h(), SCROLL_HORIZ, gui->text->get_w(), - gui->text->get_text_width(MEDIUMFONT, gui->get_wtext()), 0, gui->w) + : BC_ScrollBar(gui->x, gui->y + gui->text->get_h(), SCROLL_HORIZ + SCROLL_STRETCH, + gui->text->get_w(), gui->text->get_text_width(MEDIUMFONT, gui->get_wtext()), + 0, gui->w) { this->gui = gui; } @@ -2359,8 +2359,8 @@ int BC_ScrollTextBoxXScroll::handle_event() } BC_ScrollTextBoxYScroll::BC_ScrollTextBoxYScroll(BC_ScrollTextBox *gui) - : BC_ScrollBar(gui->x + gui->text->get_w(), gui->y, SCROLL_VERT, gui->text->get_h(), - gui->text->get_text_rows(), 0, gui->rows) + : BC_ScrollBar(gui->x + gui->text->get_w(), gui->y, SCROLL_VERT, + gui->text->get_h(), gui->text->get_text_rows(), 0, gui->rows) { this->gui = gui; } diff --git a/cinelerra-5.1/guicast/filesystem.C b/cinelerra-5.1/guicast/filesystem.C index 86544cc6..a3efa4dc 100644 --- a/cinelerra-5.1/guicast/filesystem.C +++ b/cinelerra-5.1/guicast/filesystem.C @@ -97,21 +97,6 @@ int FileItem::set_name(char *name) return 0; } -const char* FileItem::get_path() -{ - return path; -} - -const char* FileItem::get_name() -{ - return name; -} - -int FileItem::get_is_dir() -{ - return is_dir; -} - FileSystem::FileSystem() @@ -306,17 +291,6 @@ int FileSystem::combine(ArrayList *dir_list, ArrayList *fi return 0; } -void FileSystem::alphabetize() -{ - sort_table(&dir_list); -} - -int FileSystem::is_root_dir(char *path) -{ - if(!strcmp(current_dir, "/")) return 1; - return 0; -} - int FileSystem::test_filter(FileItem *file) { char *filter1 = 0, *filter2 = filter, *subfilter1, *subfilter2; @@ -464,7 +438,7 @@ int FileSystem::scan_directory(const char *new_dir) new_file = new FileItem; char full_path[BCTEXTLEN], name_only[BCTEXTLEN]; sprintf(full_path, "%s", current_dir); - if(!is_root_dir(current_dir)) strcat(full_path, "/"); + add_end_slash(full_path); strcat(full_path, new_filename->d_name); strcpy(name_only, new_filename->d_name); new_file->set_path(full_path); @@ -632,29 +606,12 @@ int FileSystem::parse_tildas(char *new_dir) int FileSystem::parse_directories(char *new_dir) { //printf("FileSystem::parse_directories 1 %s\n", new_dir); - if(new_dir[0] != '/') - { -// extend path completely + if( *new_dir != '/' ) { // expand to abs path char string[BCTEXTLEN]; -//printf("FileSystem::parse_directories 2 %s\n", current_dir); - if(!strlen(current_dir)) - { -// no current directory - strcpy(string, new_dir); - } - else - { - snprintf(string, sizeof(string), - is_root_dir(current_dir) || - current_dir[strlen(current_dir)-1] == '/' ? -// current directory is root or already has ending / - "%s%s" : "%s/%s", - current_dir, new_dir); - } - -//printf("FileSystem::parse_directories 3 %s %s\n", new_dir, string); + strcpy(string, current_dir); + add_end_slash(string); + strcat(string, new_dir); strcpy(new_dir, string); -//printf("FileSystem::parse_directories 4\n"); } return 0; } @@ -848,22 +805,6 @@ int FileSystem::add_end_slash(char *new_dir) return 0; } -char* FileSystem::get_current_dir() -{ - return current_dir; -} - -int FileSystem::total_files() -{ - return dir_list.total; -} - - -FileItem* FileSystem::get_entry(int entry) -{ - return dir_list.values[entry]; -} - // collapse ".", "..", "//" eg. x/./..//y = y char *FileSystem::basepath(const char *path) diff --git a/cinelerra-5.1/guicast/filesystem.h b/cinelerra-5.1/guicast/filesystem.h index 14fe9ef5..7226c11e 100644 --- a/cinelerra-5.1/guicast/filesystem.h +++ b/cinelerra-5.1/guicast/filesystem.h @@ -38,9 +38,10 @@ public: int set_path(char *path); int set_name(char *name); int reset(); - const char* get_path(); - const char* get_name(); - int get_is_dir(); + + const char *get_path() { return path; } + const char *get_name() { return name; } + int get_is_dir() { return is_dir; } char *path; char *name; @@ -75,7 +76,6 @@ public: int set_current_dir(const char *new_dir); int move_up(); - char *get_current_dir(); // Syntax of filter is // single filter without []. // multiple filters enclosed in []. @@ -95,22 +95,19 @@ public: static void set_date(const char *path, int64_t value); // set the date of the file static int64_t get_size(char *filename); // Get the number of bytes in the file. int add_end_slash(char *new_dir); - int total_files(); - FileItem* get_entry(int entry); - int number_of(FileItem *item); int parse_tildas(char *new_dir); // expand tildas int parse_directories(char *new_dir); // add directories int parse_dots(char *new_dir); // move up directory tree after expanding tildas static char *basepath(const char *path); // collapse ".", "..", "//" elements -// Alphabetize all the directories and files. By default -// directories come first. - void alphabetize(); - // Array of files and directories in the directory pointed to by current_dir. // Directories are first. ArrayList dir_list; + char *get_current_dir() { return current_dir; } + FileItem* get_entry(int entry) { return dir_list.values[entry]; } + int total_files() { return dir_list.total; } + void alphabetize() { sort_table(&dir_list); } // Sorting order and sorting field. These are identical in BC_ListBox. enum @@ -142,8 +139,6 @@ private: // Combine the directories and files into the master list, directories first. int combine(ArrayList *dir_list, ArrayList *file_list); -// Return whether or not the string is the root directory. - int is_root_dir(char *path); // Whether or not the file passes the current filter. int test_filter(FileItem *file); int reset_parameters(); diff --git a/cinelerra-5.1/msg/txt b/cinelerra-5.1/msg/txt index 036b40a3..553eba97 100644 --- a/cinelerra-5.1/msg/txt +++ b/cinelerra-5.1/msg/txt @@ -1,49 +1,43 @@ Email cinelerra@lists.cinelerra-cv.org 4 help. -Join Mailing List at cinelerra-cv.org. -Testers/programmers/translators needed. -Use root, to capture crashes in /tmp/cin*.dmp file. +Join Mailing List at cinelerra-cv.org. +Use root, to capture crashes in /tmp/cin*.dmp file. For usage help, refer to the following: - https://cinelerra-cv.org/docs/cinelerra_cv_manual_en.html - https://cinelerra-cv.org/five/Features5.pdf - http://beccatoria.dreamwidth.org/144288.html#cutid2 - http://g-raffa.eu/Cinelerra/HOWTO/basics.html -May 2017 Release/Changes of note: - Title plugin allows for 3071 characters now. - Horizontal scrollbar added to Title plugin. - Number of chars. used/remaining show in Titler. - Faststart option added for Mp4/ffmpeg format. - Probe Order preference added for flexibility. - Dcraw program updated to latest Coffin version. - NOTE: to use raw mode, must enable CR2 probe. - Equalizer plugin lock problem fixed + others. - Gif files now correctly handled by ffmpeg. - Zoom bar in compositor handles any size. -April 2017 Release/Changes of note: - Upgraded FFMPEG to 3.3 + other 3rd party libraries. - Blue Banana plugin improvements - End Mask +. - New OGG option file / Ubuntu 17 build added. - Fixed Background Rendering / added G HotKey. - Aspect Ratio when not 1 to 1, is now correct. -March 2017 Release/Changes of note: - Title plugin major changes to include: - ColorPicker added, fast Font selection, - Stroker for fonts added, BC_FONT_PATH. - 32-bit Debian build now available. - New Quicktime options for v308/v410/16mmto264. - Added C_/D_ for ambiguous translations. - Fixed Fade/curve not copying correctly backward. -February 2017 Release/Changes of note: - Title plugin major changes to include: - Drag with 9 different handles, Background - video, individual character attributes of - Color, Size, Font, Underline, Bold, Italic, - Caps, Blink, Alpha, Nudge, Sup(erscript, - subscript), and PNG inclusion + Rt. Click. - Text focus policy choice preference added. - Bluray creation allowing for non-root usage. -January 2017 Release/Changes of note: - Motion51 plugin added with easier usage. - Unicode characters can be put into textbox. - Smooth Lines create near-perfect circles/curves. - Bluray creation improved to cover more area. - H265 options file added for mp4 rendering. + https://cinelerra-cv.org/docs/cinelerra_cv_manual_en.html + https://cinelerra-cv.org/five/Features5.pdf + http://beccatoria.dreamwidth.org/144288.html#cutid2 + http://g-raffa.eu/Cinelerra/HOWTO/basics.html +. +Cinfinity icons selected in Preferences (Creative Common + By https://creativecommons.org/licenses/by/3.0/) +. +July 2017 New Features of note: + Cinfinity icons added along with a Preferences choice. + Perspective plugin improvements with more versatility. + Info on plugins with a short description added. + Copy/Paste within and across instances enhancements. + Ffmpeg seek changes for ffmpeg non-stream type files. +June 2017 New Features of note: + CriKey does edgedetect, chroma key, and interpolation. + Faststart option added for Mp4 and QT ffmpeg format. +. +January to May 2017 New Features of note: + Probe Order preference added for flexibility. + Dcraw program updated to latest Coffin version. + Zoom bar in compositor handles any size. + Upgraded FFMPEG to 3.3 + other 3rd party libraries. + Blue Banana plugin improvements - End Mask +. + Title plugin major changes to include: + ColorPicker added, fast Font selection, + Stroker for fonts added, BC_FONT_PATH. + Drag with 9 different handles, Background + video, individual character attributes of + Color, Size, Font, Underline, Bold, Italic, + Caps, Blink, Alpha, Nudge, Sup(erscript, + subscript), and PNG inclusion + Rt. Click. + Now handles 3071 characters and a count provided. + Added C_/D_ for ambiguous translations. + Bluray creation allowing for non-root usage. + Motion51 plugin added with easier usage. + Unicode characters can be put into textbox. + Smooth Lines create near-perfect circles/curves. + Bluray creation improved to cover more area. diff --git a/cinelerra-5.1/plugin_config b/cinelerra-5.1/plugin_config index 41afda3c..4c54088f 100644 --- a/cinelerra-5.1/plugin_config +++ b/cinelerra-5.1/plugin_config @@ -8,7 +8,7 @@ $(shell mkdir -p $(OBJDIR)) PLUGIN_DIR := $(BINDIR)/plugins OUTPUT_DIR = $(PLUGIN_DIR)/$($(PLUGIN)) -PLUGIN_PNGS = $(wildcard $(foreach t,$(themes),$(t).png)) picon.png +PLUGIN_PNGS = $(wildcard picon*.png) OUTPUT_PNGS = $(foreach png,$(PLUGIN_PNGS), $(PLUGIN_DIR)/$(basename $(png))/$(PLUGIN).png) OUTPUT = $(OUTPUT_DIR)/$(PLUGIN).plugin OUTPUT_G = $(OBJDIR)/$(PLUGIN).debuginfo diff --git a/cinelerra-5.1/plugins/1080to480/picon_cinfinity.png b/cinelerra-5.1/plugins/1080to480/picon_cinfinity.png new file mode 100644 index 00000000..cdfb9886 Binary files /dev/null and b/cinelerra-5.1/plugins/1080to480/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/1080to540/picon_cinfinity.png b/cinelerra-5.1/plugins/1080to540/picon_cinfinity.png new file mode 100644 index 00000000..960da06b Binary files /dev/null and b/cinelerra-5.1/plugins/1080to540/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/1080to540/theme_suv.png b/cinelerra-5.1/plugins/1080to540/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/1080to540/theme_suv.png rename to cinelerra-5.1/plugins/1080to540/picon_suv.png diff --git a/cinelerra-5.1/plugins/C41/picon_cinfinity.png b/cinelerra-5.1/plugins/C41/picon_cinfinity.png new file mode 100644 index 00000000..1d55dc31 Binary files /dev/null and b/cinelerra-5.1/plugins/C41/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/C41/theme_suv.png b/cinelerra-5.1/plugins/C41/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/C41/theme_suv.png rename to cinelerra-5.1/plugins/C41/picon_suv.png diff --git a/cinelerra-5.1/plugins/aging/picon_cinfinity.png b/cinelerra-5.1/plugins/aging/picon_cinfinity.png new file mode 100644 index 00000000..b17627d9 Binary files /dev/null and b/cinelerra-5.1/plugins/aging/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/aging/theme_suv.png b/cinelerra-5.1/plugins/aging/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/aging/theme_suv.png rename to cinelerra-5.1/plugins/aging/picon_suv.png diff --git a/cinelerra-5.1/plugins/bandslide/theme_suv.png b/cinelerra-5.1/plugins/bandslide/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/bandslide/theme_suv.png rename to cinelerra-5.1/plugins/bandslide/picon_suv.png diff --git a/cinelerra-5.1/plugins/bandwipe/theme_suv.png b/cinelerra-5.1/plugins/bandwipe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/bandwipe/theme_suv.png rename to cinelerra-5.1/plugins/bandwipe/picon_suv.png diff --git a/cinelerra-5.1/plugins/bluebanana/picon_cinfinity.png b/cinelerra-5.1/plugins/bluebanana/picon_cinfinity.png new file mode 100644 index 00000000..c20196f0 Binary files /dev/null and b/cinelerra-5.1/plugins/bluebanana/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/bluebanana/theme_suv.png b/cinelerra-5.1/plugins/bluebanana/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/bluebanana/theme_suv.png rename to cinelerra-5.1/plugins/bluebanana/picon_suv.png diff --git a/cinelerra-5.1/plugins/blur/picon_cinfinity.png b/cinelerra-5.1/plugins/blur/picon_cinfinity.png new file mode 100644 index 00000000..b91e4ab7 Binary files /dev/null and b/cinelerra-5.1/plugins/blur/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/blur/theme_suv.png b/cinelerra-5.1/plugins/blur/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/blur/theme_suv.png rename to cinelerra-5.1/plugins/blur/picon_suv.png diff --git a/cinelerra-5.1/plugins/blurzoom/theme_suv.png b/cinelerra-5.1/plugins/blurzoom/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/blurzoom/theme_suv.png rename to cinelerra-5.1/plugins/blurzoom/picon_suv.png diff --git a/cinelerra-5.1/plugins/brightness/picon_cinfinity.png b/cinelerra-5.1/plugins/brightness/picon_cinfinity.png new file mode 100644 index 00000000..757aea42 Binary files /dev/null and b/cinelerra-5.1/plugins/brightness/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/brightness/theme_suv.png b/cinelerra-5.1/plugins/brightness/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/brightness/theme_suv.png rename to cinelerra-5.1/plugins/brightness/picon_suv.png diff --git a/cinelerra-5.1/plugins/burn/picon_cinfinity.png b/cinelerra-5.1/plugins/burn/picon_cinfinity.png new file mode 100644 index 00000000..aa0d69b7 Binary files /dev/null and b/cinelerra-5.1/plugins/burn/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/burn/theme_suv.png b/cinelerra-5.1/plugins/burn/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/burn/theme_suv.png rename to cinelerra-5.1/plugins/burn/picon_suv.png diff --git a/cinelerra-5.1/plugins/chromakey/picon_cinfinity.png b/cinelerra-5.1/plugins/chromakey/picon_cinfinity.png new file mode 100644 index 00000000..3fe0dd1f Binary files /dev/null and b/cinelerra-5.1/plugins/chromakey/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/chromakey/theme_suv.png b/cinelerra-5.1/plugins/chromakey/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/chromakey/theme_suv.png rename to cinelerra-5.1/plugins/chromakey/picon_suv.png diff --git a/cinelerra-5.1/plugins/chromakeyhsv/picon_cinfinity.png b/cinelerra-5.1/plugins/chromakeyhsv/picon_cinfinity.png new file mode 100644 index 00000000..882927b0 Binary files /dev/null and b/cinelerra-5.1/plugins/chromakeyhsv/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/chromakeyhsv/theme_suv.png b/cinelerra-5.1/plugins/chromakeyhsv/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/chromakeyhsv/theme_suv.png rename to cinelerra-5.1/plugins/chromakeyhsv/picon_suv.png diff --git a/cinelerra-5.1/plugins/color3way/picon_cinfinity.png b/cinelerra-5.1/plugins/color3way/picon_cinfinity.png new file mode 100644 index 00000000..0daba21d Binary files /dev/null and b/cinelerra-5.1/plugins/color3way/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/colorbalance/picon_cinfinity.png b/cinelerra-5.1/plugins/colorbalance/picon_cinfinity.png new file mode 100644 index 00000000..b079d6fb Binary files /dev/null and b/cinelerra-5.1/plugins/colorbalance/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/colorbalance/theme_suv.png b/cinelerra-5.1/plugins/colorbalance/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/colorbalance/theme_suv.png rename to cinelerra-5.1/plugins/colorbalance/picon_suv.png diff --git a/cinelerra-5.1/plugins/compressor/theme_suv.png b/cinelerra-5.1/plugins/compressor/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/compressor/theme_suv.png rename to cinelerra-5.1/plugins/compressor/picon_suv.png diff --git a/cinelerra-5.1/plugins/crikey/picon_cinfinity.png b/cinelerra-5.1/plugins/crikey/picon_cinfinity.png new file mode 100644 index 00000000..293732c7 Binary files /dev/null and b/cinelerra-5.1/plugins/crikey/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/crossfade/theme_suv.png b/cinelerra-5.1/plugins/crossfade/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/crossfade/theme_suv.png rename to cinelerra-5.1/plugins/crossfade/picon_suv.png diff --git a/cinelerra-5.1/plugins/decimate/picon_cinfinity.png b/cinelerra-5.1/plugins/decimate/picon_cinfinity.png new file mode 100644 index 00000000..55674121 Binary files /dev/null and b/cinelerra-5.1/plugins/decimate/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/decimate/theme_suv.png b/cinelerra-5.1/plugins/decimate/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/decimate/theme_suv.png rename to cinelerra-5.1/plugins/decimate/picon_suv.png diff --git a/cinelerra-5.1/plugins/deinterlace-cv/picon_cinfinity.png b/cinelerra-5.1/plugins/deinterlace-cv/picon_cinfinity.png new file mode 100644 index 00000000..9bd4bc11 Binary files /dev/null and b/cinelerra-5.1/plugins/deinterlace-cv/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/deinterlace/picon_cinfinity.png b/cinelerra-5.1/plugins/deinterlace/picon_cinfinity.png new file mode 100644 index 00000000..f923b0b0 Binary files /dev/null and b/cinelerra-5.1/plugins/deinterlace/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/deinterlace/theme_suv.png b/cinelerra-5.1/plugins/deinterlace/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/deinterlace/theme_suv.png rename to cinelerra-5.1/plugins/deinterlace/picon_suv.png diff --git a/cinelerra-5.1/plugins/delayaudio/theme_suv.png b/cinelerra-5.1/plugins/delayaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/delayaudio/theme_suv.png rename to cinelerra-5.1/plugins/delayaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/delayvideo/picon_cinfinity.png b/cinelerra-5.1/plugins/delayvideo/picon_cinfinity.png new file mode 100644 index 00000000..7a44ca7d Binary files /dev/null and b/cinelerra-5.1/plugins/delayvideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/delayvideo/theme_suv.png b/cinelerra-5.1/plugins/delayvideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/delayvideo/theme_suv.png rename to cinelerra-5.1/plugins/delayvideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/denoise/theme_suv.png b/cinelerra-5.1/plugins/denoise/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/denoise/theme_suv.png rename to cinelerra-5.1/plugins/denoise/picon_suv.png diff --git a/cinelerra-5.1/plugins/denoisefft/theme_suv.png b/cinelerra-5.1/plugins/denoisefft/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/denoisefft/theme_suv.png rename to cinelerra-5.1/plugins/denoisefft/picon_suv.png diff --git a/cinelerra-5.1/plugins/denoisemjpeg/theme_suv.png b/cinelerra-5.1/plugins/denoisemjpeg/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/denoisemjpeg/theme_suv.png rename to cinelerra-5.1/plugins/denoisemjpeg/picon_suv.png diff --git a/cinelerra-5.1/plugins/denoiseseltempavg/picon_cinfinity.png b/cinelerra-5.1/plugins/denoiseseltempavg/picon_cinfinity.png new file mode 100644 index 00000000..affd787b Binary files /dev/null and b/cinelerra-5.1/plugins/denoiseseltempavg/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/denoiseseltempavg/theme_suv.png b/cinelerra-5.1/plugins/denoiseseltempavg/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/denoiseseltempavg/theme_suv.png rename to cinelerra-5.1/plugins/denoiseseltempavg/picon_suv.png diff --git a/cinelerra-5.1/plugins/denoisevideo/picon_cinfinity.png b/cinelerra-5.1/plugins/denoisevideo/picon_cinfinity.png new file mode 100644 index 00000000..d9749819 Binary files /dev/null and b/cinelerra-5.1/plugins/denoisevideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/denoisevideo/theme_suv.png b/cinelerra-5.1/plugins/denoisevideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/denoisevideo/theme_suv.png rename to cinelerra-5.1/plugins/denoisevideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/despike/theme_suv.png b/cinelerra-5.1/plugins/despike/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/despike/theme_suv.png rename to cinelerra-5.1/plugins/despike/picon_suv.png diff --git a/cinelerra-5.1/plugins/diffkey/picon_cinfinity.png b/cinelerra-5.1/plugins/diffkey/picon_cinfinity.png new file mode 100644 index 00000000..18ca262a Binary files /dev/null and b/cinelerra-5.1/plugins/diffkey/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/diffkey/theme_suv.png b/cinelerra-5.1/plugins/diffkey/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/diffkey/theme_suv.png rename to cinelerra-5.1/plugins/diffkey/picon_suv.png diff --git a/cinelerra-5.1/plugins/dissolve/theme_suv.png b/cinelerra-5.1/plugins/dissolve/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/dissolve/theme_suv.png rename to cinelerra-5.1/plugins/dissolve/picon_suv.png diff --git a/cinelerra-5.1/plugins/dot/picon_cinfinity.png b/cinelerra-5.1/plugins/dot/picon_cinfinity.png new file mode 100644 index 00000000..6715a407 Binary files /dev/null and b/cinelerra-5.1/plugins/dot/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/dot/theme_suv.png b/cinelerra-5.1/plugins/dot/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/dot/theme_suv.png rename to cinelerra-5.1/plugins/dot/picon_suv.png diff --git a/cinelerra-5.1/plugins/downsample/picon_cinfinity.png b/cinelerra-5.1/plugins/downsample/picon_cinfinity.png new file mode 100644 index 00000000..795a32be Binary files /dev/null and b/cinelerra-5.1/plugins/downsample/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/downsample/theme_suv.png b/cinelerra-5.1/plugins/downsample/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/downsample/theme_suv.png rename to cinelerra-5.1/plugins/downsample/picon_suv.png diff --git a/cinelerra-5.1/plugins/edge/picon_cinfinity.png b/cinelerra-5.1/plugins/edge/picon_cinfinity.png new file mode 100644 index 00000000..6ead77fd Binary files /dev/null and b/cinelerra-5.1/plugins/edge/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/fieldframe/picon_cinfinity.png b/cinelerra-5.1/plugins/fieldframe/picon_cinfinity.png new file mode 100644 index 00000000..cdc77885 Binary files /dev/null and b/cinelerra-5.1/plugins/fieldframe/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/fieldframe/theme_suv.png b/cinelerra-5.1/plugins/fieldframe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/fieldframe/theme_suv.png rename to cinelerra-5.1/plugins/fieldframe/picon_suv.png diff --git a/cinelerra-5.1/plugins/flash/theme_suv.png b/cinelerra-5.1/plugins/flash/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/flash/theme_suv.png rename to cinelerra-5.1/plugins/flash/picon_suv.png diff --git a/cinelerra-5.1/plugins/flip/picon_cinfinity.png b/cinelerra-5.1/plugins/flip/picon_cinfinity.png new file mode 100644 index 00000000..19fd1c14 Binary files /dev/null and b/cinelerra-5.1/plugins/flip/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/flip/theme_suv.png b/cinelerra-5.1/plugins/flip/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/flip/theme_suv.png rename to cinelerra-5.1/plugins/flip/picon_suv.png diff --git a/cinelerra-5.1/plugins/framefield/picon_cinfinity.png b/cinelerra-5.1/plugins/framefield/picon_cinfinity.png new file mode 100644 index 00000000..f8c50495 Binary files /dev/null and b/cinelerra-5.1/plugins/framefield/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/framefield/theme_suv.png b/cinelerra-5.1/plugins/framefield/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/framefield/theme_suv.png rename to cinelerra-5.1/plugins/framefield/picon_suv.png diff --git a/cinelerra-5.1/plugins/freeverb/theme_suv.png b/cinelerra-5.1/plugins/freeverb/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/freeverb/theme_suv.png rename to cinelerra-5.1/plugins/freeverb/picon_suv.png diff --git a/cinelerra-5.1/plugins/freezeframe/picon_cinfinity.png b/cinelerra-5.1/plugins/freezeframe/picon_cinfinity.png new file mode 100644 index 00000000..a6f74441 Binary files /dev/null and b/cinelerra-5.1/plugins/freezeframe/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/freezeframe/theme_suv.png b/cinelerra-5.1/plugins/freezeframe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/freezeframe/theme_suv.png rename to cinelerra-5.1/plugins/freezeframe/picon_suv.png diff --git a/cinelerra-5.1/plugins/gain/theme_suv.png b/cinelerra-5.1/plugins/gain/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/gain/theme_suv.png rename to cinelerra-5.1/plugins/gain/picon_suv.png diff --git a/cinelerra-5.1/plugins/gamma/picon_cinfinity.png b/cinelerra-5.1/plugins/gamma/picon_cinfinity.png new file mode 100644 index 00000000..bd42c4db Binary files /dev/null and b/cinelerra-5.1/plugins/gamma/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/gamma/theme_suv.png b/cinelerra-5.1/plugins/gamma/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/gamma/theme_suv.png rename to cinelerra-5.1/plugins/gamma/picon_suv.png diff --git a/cinelerra-5.1/plugins/gradient/picon_cinfinity.png b/cinelerra-5.1/plugins/gradient/picon_cinfinity.png new file mode 100644 index 00000000..c72bb5f8 Binary files /dev/null and b/cinelerra-5.1/plugins/gradient/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/gradient/theme_suv.png b/cinelerra-5.1/plugins/gradient/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/gradient/theme_suv.png rename to cinelerra-5.1/plugins/gradient/picon_suv.png diff --git a/cinelerra-5.1/plugins/graphic/theme_suv.png b/cinelerra-5.1/plugins/graphic/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/graphic/theme_suv.png rename to cinelerra-5.1/plugins/graphic/picon_suv.png diff --git a/cinelerra-5.1/plugins/histogram/picon_cinfinity.png b/cinelerra-5.1/plugins/histogram/picon_cinfinity.png new file mode 100644 index 00000000..5256e9a8 Binary files /dev/null and b/cinelerra-5.1/plugins/histogram/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/histogram/theme_suv.png b/cinelerra-5.1/plugins/histogram/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/histogram/theme_suv.png rename to cinelerra-5.1/plugins/histogram/picon_suv.png diff --git a/cinelerra-5.1/plugins/histogram_bezier/picon_cinfinity.png b/cinelerra-5.1/plugins/histogram_bezier/picon_cinfinity.png new file mode 100644 index 00000000..37d77e05 Binary files /dev/null and b/cinelerra-5.1/plugins/histogram_bezier/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/holo/picon_cinfinity.png b/cinelerra-5.1/plugins/holo/picon_cinfinity.png new file mode 100644 index 00000000..ab50d177 Binary files /dev/null and b/cinelerra-5.1/plugins/holo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/holo/theme_suv.png b/cinelerra-5.1/plugins/holo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/holo/theme_suv.png rename to cinelerra-5.1/plugins/holo/picon_suv.png diff --git a/cinelerra-5.1/plugins/huesaturation/picon_cinfinity.png b/cinelerra-5.1/plugins/huesaturation/picon_cinfinity.png new file mode 100644 index 00000000..d12a76e9 Binary files /dev/null and b/cinelerra-5.1/plugins/huesaturation/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/huesaturation/theme_suv.png b/cinelerra-5.1/plugins/huesaturation/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/huesaturation/theme_suv.png rename to cinelerra-5.1/plugins/huesaturation/picon_suv.png diff --git a/cinelerra-5.1/plugins/interpolate/picon_cinfinity.png b/cinelerra-5.1/plugins/interpolate/picon_cinfinity.png new file mode 100644 index 00000000..f2a07fc6 Binary files /dev/null and b/cinelerra-5.1/plugins/interpolate/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/interpolate/theme_suv.png b/cinelerra-5.1/plugins/interpolate/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/interpolate/theme_suv.png rename to cinelerra-5.1/plugins/interpolate/picon_suv.png diff --git a/cinelerra-5.1/plugins/interpolateaudio/theme_suv.png b/cinelerra-5.1/plugins/interpolateaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/interpolateaudio/theme_suv.png rename to cinelerra-5.1/plugins/interpolateaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/interpolatevideo/picon_cinfinity.png b/cinelerra-5.1/plugins/interpolatevideo/picon_cinfinity.png new file mode 100644 index 00000000..9dd59a4c Binary files /dev/null and b/cinelerra-5.1/plugins/interpolatevideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/interpolatevideo/theme_suv.png b/cinelerra-5.1/plugins/interpolatevideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/interpolatevideo/theme_suv.png rename to cinelerra-5.1/plugins/interpolatevideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/invertaudio/theme_suv.png b/cinelerra-5.1/plugins/invertaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/invertaudio/theme_suv.png rename to cinelerra-5.1/plugins/invertaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/invertvideo/picon_cinfinity.png b/cinelerra-5.1/plugins/invertvideo/picon_cinfinity.png new file mode 100644 index 00000000..c39e2846 Binary files /dev/null and b/cinelerra-5.1/plugins/invertvideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/invertvideo/theme_suv.png b/cinelerra-5.1/plugins/invertvideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/invertvideo/theme_suv.png rename to cinelerra-5.1/plugins/invertvideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/irissquare/theme_suv.png b/cinelerra-5.1/plugins/irissquare/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/irissquare/theme_suv.png rename to cinelerra-5.1/plugins/irissquare/picon_suv.png diff --git a/cinelerra-5.1/plugins/ivtc/picon_cinfinity.png b/cinelerra-5.1/plugins/ivtc/picon_cinfinity.png new file mode 100644 index 00000000..5e8071ee Binary files /dev/null and b/cinelerra-5.1/plugins/ivtc/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/ivtc/theme_suv.png b/cinelerra-5.1/plugins/ivtc/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/ivtc/theme_suv.png rename to cinelerra-5.1/plugins/ivtc/picon_suv.png diff --git a/cinelerra-5.1/plugins/lens/picon_cinfinity.png b/cinelerra-5.1/plugins/lens/picon_cinfinity.png new file mode 100644 index 00000000..ad7b6cac Binary files /dev/null and b/cinelerra-5.1/plugins/lens/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/lens/theme_suv.png b/cinelerra-5.1/plugins/lens/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/lens/theme_suv.png rename to cinelerra-5.1/plugins/lens/picon_suv.png diff --git a/cinelerra-5.1/plugins/level/theme_suv.png b/cinelerra-5.1/plugins/level/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/level/theme_suv.png rename to cinelerra-5.1/plugins/level/picon_suv.png diff --git a/cinelerra-5.1/plugins/linearblur/picon_cinfinity.png b/cinelerra-5.1/plugins/linearblur/picon_cinfinity.png new file mode 100644 index 00000000..19ce49e8 Binary files /dev/null and b/cinelerra-5.1/plugins/linearblur/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/linearblur/theme_suv.png b/cinelerra-5.1/plugins/linearblur/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/linearblur/theme_suv.png rename to cinelerra-5.1/plugins/linearblur/picon_suv.png diff --git a/cinelerra-5.1/plugins/liveaudio/theme_suv.png b/cinelerra-5.1/plugins/liveaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/liveaudio/theme_suv.png rename to cinelerra-5.1/plugins/liveaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/livevideo/picon_cinfinity.png b/cinelerra-5.1/plugins/livevideo/picon_cinfinity.png new file mode 100644 index 00000000..a3a319af Binary files /dev/null and b/cinelerra-5.1/plugins/livevideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/livevideo/theme_suv.png b/cinelerra-5.1/plugins/livevideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/livevideo/theme_suv.png rename to cinelerra-5.1/plugins/livevideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/loopaudio/theme_suv.png b/cinelerra-5.1/plugins/loopaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/loopaudio/theme_suv.png rename to cinelerra-5.1/plugins/loopaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/loopvideo/picon_cinfinity.png b/cinelerra-5.1/plugins/loopvideo/picon_cinfinity.png new file mode 100644 index 00000000..ba66d50e Binary files /dev/null and b/cinelerra-5.1/plugins/loopvideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/loopvideo/theme_suv.png b/cinelerra-5.1/plugins/loopvideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/loopvideo/theme_suv.png rename to cinelerra-5.1/plugins/loopvideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/motion-cv/picon_cinfinity.png b/cinelerra-5.1/plugins/motion-cv/picon_cinfinity.png new file mode 100644 index 00000000..d9a96e2f Binary files /dev/null and b/cinelerra-5.1/plugins/motion-cv/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motion-hv/picon_cinfinity.png b/cinelerra-5.1/plugins/motion-hv/picon_cinfinity.png new file mode 100644 index 00000000..3b2a59d2 Binary files /dev/null and b/cinelerra-5.1/plugins/motion-hv/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motion-hv/theme_suv.png b/cinelerra-5.1/plugins/motion-hv/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/motion-hv/theme_suv.png rename to cinelerra-5.1/plugins/motion-hv/picon_suv.png diff --git a/cinelerra-5.1/plugins/motion/picon_cinfinity.png b/cinelerra-5.1/plugins/motion/picon_cinfinity.png new file mode 100644 index 00000000..15767959 Binary files /dev/null and b/cinelerra-5.1/plugins/motion/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motion/theme_suv.png b/cinelerra-5.1/plugins/motion/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/motion/theme_suv.png rename to cinelerra-5.1/plugins/motion/picon_suv.png diff --git a/cinelerra-5.1/plugins/motion2point/picon_cinfinity.png b/cinelerra-5.1/plugins/motion2point/picon_cinfinity.png new file mode 100644 index 00000000..1e60a41c Binary files /dev/null and b/cinelerra-5.1/plugins/motion2point/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motion51/picon_cinfinity.png b/cinelerra-5.1/plugins/motion51/picon_cinfinity.png new file mode 100644 index 00000000..080be30a Binary files /dev/null and b/cinelerra-5.1/plugins/motion51/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motionblur/picon_cinfinity.png b/cinelerra-5.1/plugins/motionblur/picon_cinfinity.png new file mode 100644 index 00000000..75a363d2 Binary files /dev/null and b/cinelerra-5.1/plugins/motionblur/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/motionblur/theme_suv.png b/cinelerra-5.1/plugins/motionblur/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/motionblur/theme_suv.png rename to cinelerra-5.1/plugins/motionblur/picon_suv.png diff --git a/cinelerra-5.1/plugins/normalize/theme_suv.png b/cinelerra-5.1/plugins/normalize/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/normalize/theme_suv.png rename to cinelerra-5.1/plugins/normalize/picon_suv.png diff --git a/cinelerra-5.1/plugins/oilpainting/picon_cinfinity.png b/cinelerra-5.1/plugins/oilpainting/picon_cinfinity.png new file mode 100644 index 00000000..e0e7ab6c Binary files /dev/null and b/cinelerra-5.1/plugins/oilpainting/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/oilpainting/theme_suv.png b/cinelerra-5.1/plugins/oilpainting/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/oilpainting/theme_suv.png rename to cinelerra-5.1/plugins/oilpainting/picon_suv.png diff --git a/cinelerra-5.1/plugins/overlay/picon_cinfinity.png b/cinelerra-5.1/plugins/overlay/picon_cinfinity.png new file mode 100644 index 00000000..f87af1d5 Binary files /dev/null and b/cinelerra-5.1/plugins/overlay/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/overlay/theme_suv.png b/cinelerra-5.1/plugins/overlay/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/overlay/theme_suv.png rename to cinelerra-5.1/plugins/overlay/picon_suv.png diff --git a/cinelerra-5.1/plugins/overlayaudio/theme_suv.png b/cinelerra-5.1/plugins/overlayaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/overlayaudio/theme_suv.png rename to cinelerra-5.1/plugins/overlayaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/parametric/theme_suv.png b/cinelerra-5.1/plugins/parametric/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/parametric/theme_suv.png rename to cinelerra-5.1/plugins/parametric/picon_suv.png diff --git a/cinelerra-5.1/plugins/perspective/picon_cinfinity.png b/cinelerra-5.1/plugins/perspective/picon_cinfinity.png new file mode 100644 index 00000000..cdae4300 Binary files /dev/null and b/cinelerra-5.1/plugins/perspective/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/perspective/theme_suv.png b/cinelerra-5.1/plugins/perspective/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/perspective/theme_suv.png rename to cinelerra-5.1/plugins/perspective/picon_suv.png diff --git a/cinelerra-5.1/plugins/photoscale/picon_cinfinity.png b/cinelerra-5.1/plugins/photoscale/picon_cinfinity.png new file mode 100644 index 00000000..d6861913 Binary files /dev/null and b/cinelerra-5.1/plugins/photoscale/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/pitch/theme_suv.png b/cinelerra-5.1/plugins/pitch/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/pitch/theme_suv.png rename to cinelerra-5.1/plugins/pitch/picon_suv.png diff --git a/cinelerra-5.1/plugins/polar/picon_cinfinity.png b/cinelerra-5.1/plugins/polar/picon_cinfinity.png new file mode 100644 index 00000000..b498c0d5 Binary files /dev/null and b/cinelerra-5.1/plugins/polar/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/polar/theme_suv.png b/cinelerra-5.1/plugins/polar/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/polar/theme_suv.png rename to cinelerra-5.1/plugins/polar/picon_suv.png diff --git a/cinelerra-5.1/plugins/radialblur/picon_cinfinity.png b/cinelerra-5.1/plugins/radialblur/picon_cinfinity.png new file mode 100644 index 00000000..be2bbedc Binary files /dev/null and b/cinelerra-5.1/plugins/radialblur/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/radialblur/theme_suv.png b/cinelerra-5.1/plugins/radialblur/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/radialblur/theme_suv.png rename to cinelerra-5.1/plugins/radialblur/picon_suv.png diff --git a/cinelerra-5.1/plugins/reframe/theme_suv.png b/cinelerra-5.1/plugins/reframe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reframe/theme_suv.png rename to cinelerra-5.1/plugins/reframe/picon_suv.png diff --git a/cinelerra-5.1/plugins/reframert/picon_cinfinity.png b/cinelerra-5.1/plugins/reframert/picon_cinfinity.png new file mode 100644 index 00000000..dcc1193a Binary files /dev/null and b/cinelerra-5.1/plugins/reframert/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/reframert/theme_suv.png b/cinelerra-5.1/plugins/reframert/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reframert/theme_suv.png rename to cinelerra-5.1/plugins/reframert/picon_suv.png diff --git a/cinelerra-5.1/plugins/reroute/picon_cinfinity.png b/cinelerra-5.1/plugins/reroute/picon_cinfinity.png new file mode 100644 index 00000000..a15029ed Binary files /dev/null and b/cinelerra-5.1/plugins/reroute/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/reroute/theme_suv.png b/cinelerra-5.1/plugins/reroute/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reroute/theme_suv.png rename to cinelerra-5.1/plugins/reroute/picon_suv.png diff --git a/cinelerra-5.1/plugins/resample/theme_suv.png b/cinelerra-5.1/plugins/resample/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/resample/theme_suv.png rename to cinelerra-5.1/plugins/resample/picon_suv.png diff --git a/cinelerra-5.1/plugins/reverb/theme_suv.png b/cinelerra-5.1/plugins/reverb/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reverb/theme_suv.png rename to cinelerra-5.1/plugins/reverb/picon_suv.png diff --git a/cinelerra-5.1/plugins/reverseaudio/theme_suv.png b/cinelerra-5.1/plugins/reverseaudio/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reverseaudio/theme_suv.png rename to cinelerra-5.1/plugins/reverseaudio/picon_suv.png diff --git a/cinelerra-5.1/plugins/reversevideo/picon_cinfinity.png b/cinelerra-5.1/plugins/reversevideo/picon_cinfinity.png new file mode 100644 index 00000000..0f300fb3 Binary files /dev/null and b/cinelerra-5.1/plugins/reversevideo/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/reversevideo/theme_suv.png b/cinelerra-5.1/plugins/reversevideo/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/reversevideo/theme_suv.png rename to cinelerra-5.1/plugins/reversevideo/picon_suv.png diff --git a/cinelerra-5.1/plugins/rgb601/picon_cinfinity.png b/cinelerra-5.1/plugins/rgb601/picon_cinfinity.png new file mode 100644 index 00000000..05c1d997 Binary files /dev/null and b/cinelerra-5.1/plugins/rgb601/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/rgb601/theme_suv.png b/cinelerra-5.1/plugins/rgb601/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/rgb601/theme_suv.png rename to cinelerra-5.1/plugins/rgb601/picon_suv.png diff --git a/cinelerra-5.1/plugins/rgbshift/picon_cinfinity.png b/cinelerra-5.1/plugins/rgbshift/picon_cinfinity.png new file mode 100644 index 00000000..96d07bd2 Binary files /dev/null and b/cinelerra-5.1/plugins/rgbshift/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/rotate/picon_cinfinity.png b/cinelerra-5.1/plugins/rotate/picon_cinfinity.png new file mode 100644 index 00000000..3ae59980 Binary files /dev/null and b/cinelerra-5.1/plugins/rotate/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/rotate/theme_suv.png b/cinelerra-5.1/plugins/rotate/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/rotate/theme_suv.png rename to cinelerra-5.1/plugins/rotate/picon_suv.png diff --git a/cinelerra-5.1/plugins/scale/picon_cinfinity.png b/cinelerra-5.1/plugins/scale/picon_cinfinity.png new file mode 100644 index 00000000..dd305742 Binary files /dev/null and b/cinelerra-5.1/plugins/scale/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/scale/theme_suv.png b/cinelerra-5.1/plugins/scale/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/scale/theme_suv.png rename to cinelerra-5.1/plugins/scale/picon_suv.png diff --git a/cinelerra-5.1/plugins/scaleratio/picon_cinfinity.png b/cinelerra-5.1/plugins/scaleratio/picon_cinfinity.png new file mode 100644 index 00000000..51bcb4ef Binary files /dev/null and b/cinelerra-5.1/plugins/scaleratio/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/shapewipe/theme_suv.png b/cinelerra-5.1/plugins/shapewipe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/shapewipe/theme_suv.png rename to cinelerra-5.1/plugins/shapewipe/picon_suv.png diff --git a/cinelerra-5.1/plugins/sharpen/picon_cinfinity.png b/cinelerra-5.1/plugins/sharpen/picon_cinfinity.png new file mode 100644 index 00000000..0827c68f Binary files /dev/null and b/cinelerra-5.1/plugins/sharpen/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/sharpen/theme_suv.png b/cinelerra-5.1/plugins/sharpen/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/sharpen/theme_suv.png rename to cinelerra-5.1/plugins/sharpen/picon_suv.png diff --git a/cinelerra-5.1/plugins/shiftinterlace/picon_cinfinity.png b/cinelerra-5.1/plugins/shiftinterlace/picon_cinfinity.png new file mode 100644 index 00000000..6879febe Binary files /dev/null and b/cinelerra-5.1/plugins/shiftinterlace/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/shiftinterlace/theme_suv.png b/cinelerra-5.1/plugins/shiftinterlace/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/shiftinterlace/theme_suv.png rename to cinelerra-5.1/plugins/shiftinterlace/picon_suv.png diff --git a/cinelerra-5.1/plugins/slide/theme_suv.png b/cinelerra-5.1/plugins/slide/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/slide/theme_suv.png rename to cinelerra-5.1/plugins/slide/picon_suv.png diff --git a/cinelerra-5.1/plugins/spectrogram/theme_suv.png b/cinelerra-5.1/plugins/spectrogram/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/spectrogram/theme_suv.png rename to cinelerra-5.1/plugins/spectrogram/picon_suv.png diff --git a/cinelerra-5.1/plugins/svg/picon_cinfinity.png b/cinelerra-5.1/plugins/svg/picon_cinfinity.png new file mode 100644 index 00000000..573c48c4 Binary files /dev/null and b/cinelerra-5.1/plugins/svg/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/svg/theme_suv.png b/cinelerra-5.1/plugins/svg/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/svg/theme_suv.png rename to cinelerra-5.1/plugins/svg/picon_suv.png diff --git a/cinelerra-5.1/plugins/swapchannels/picon_cinfinity.png b/cinelerra-5.1/plugins/swapchannels/picon_cinfinity.png new file mode 100644 index 00000000..2a8599ab Binary files /dev/null and b/cinelerra-5.1/plugins/swapchannels/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/swapchannels/theme_suv.png b/cinelerra-5.1/plugins/swapchannels/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/swapchannels/theme_suv.png rename to cinelerra-5.1/plugins/swapchannels/picon_suv.png diff --git a/cinelerra-5.1/plugins/swapframes/picon_cinfinity.png b/cinelerra-5.1/plugins/swapframes/picon_cinfinity.png new file mode 100644 index 00000000..e2508f75 Binary files /dev/null and b/cinelerra-5.1/plugins/swapframes/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/synthesizer/theme_suv.png b/cinelerra-5.1/plugins/synthesizer/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/synthesizer/theme_suv.png rename to cinelerra-5.1/plugins/synthesizer/picon_suv.png diff --git a/cinelerra-5.1/plugins/threshold/picon_cinfinity.png b/cinelerra-5.1/plugins/threshold/picon_cinfinity.png new file mode 100644 index 00000000..fa757f2d Binary files /dev/null and b/cinelerra-5.1/plugins/threshold/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/threshold/theme_suv.png b/cinelerra-5.1/plugins/threshold/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/threshold/theme_suv.png rename to cinelerra-5.1/plugins/threshold/picon_suv.png diff --git a/cinelerra-5.1/plugins/timeavg/picon_cinfinity.png b/cinelerra-5.1/plugins/timeavg/picon_cinfinity.png new file mode 100644 index 00000000..1b0e238f Binary files /dev/null and b/cinelerra-5.1/plugins/timeavg/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/timeavg/theme_suv.png b/cinelerra-5.1/plugins/timeavg/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/timeavg/theme_suv.png rename to cinelerra-5.1/plugins/timeavg/picon_suv.png diff --git a/cinelerra-5.1/plugins/timefront/picon_cinfinity.png b/cinelerra-5.1/plugins/timefront/picon_cinfinity.png new file mode 100644 index 00000000..2c3f967e Binary files /dev/null and b/cinelerra-5.1/plugins/timefront/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/timefront/theme_suv.png b/cinelerra-5.1/plugins/timefront/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/timefront/theme_suv.png rename to cinelerra-5.1/plugins/timefront/picon_suv.png diff --git a/cinelerra-5.1/plugins/timestretch/theme_suv.png b/cinelerra-5.1/plugins/timestretch/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/timestretch/theme_suv.png rename to cinelerra-5.1/plugins/timestretch/picon_suv.png diff --git a/cinelerra-5.1/plugins/titler/picon_cinfinity.png b/cinelerra-5.1/plugins/titler/picon_cinfinity.png new file mode 100644 index 00000000..d5fd3893 Binary files /dev/null and b/cinelerra-5.1/plugins/titler/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/titler/theme_suv.png b/cinelerra-5.1/plugins/titler/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/titler/theme_suv.png rename to cinelerra-5.1/plugins/titler/picon_suv.png diff --git a/cinelerra-5.1/plugins/translate/picon_cinfinity.png b/cinelerra-5.1/plugins/translate/picon_cinfinity.png new file mode 100644 index 00000000..9f55ec32 Binary files /dev/null and b/cinelerra-5.1/plugins/translate/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/translate/theme_suv.png b/cinelerra-5.1/plugins/translate/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/translate/theme_suv.png rename to cinelerra-5.1/plugins/translate/picon_suv.png diff --git a/cinelerra-5.1/plugins/unsharp/picon_cinfinity.png b/cinelerra-5.1/plugins/unsharp/picon_cinfinity.png new file mode 100644 index 00000000..47dccfb4 Binary files /dev/null and b/cinelerra-5.1/plugins/unsharp/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/unsharp/theme_suv.png b/cinelerra-5.1/plugins/unsharp/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/unsharp/theme_suv.png rename to cinelerra-5.1/plugins/unsharp/picon_suv.png diff --git a/cinelerra-5.1/plugins/videoscope/picon_cinfinity.png b/cinelerra-5.1/plugins/videoscope/picon_cinfinity.png new file mode 100644 index 00000000..dff50f84 Binary files /dev/null and b/cinelerra-5.1/plugins/videoscope/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/videoscope/theme_suv.png b/cinelerra-5.1/plugins/videoscope/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/videoscope/theme_suv.png rename to cinelerra-5.1/plugins/videoscope/picon_suv.png diff --git a/cinelerra-5.1/plugins/wave/picon_cinfinity.png b/cinelerra-5.1/plugins/wave/picon_cinfinity.png new file mode 100644 index 00000000..32e7441e Binary files /dev/null and b/cinelerra-5.1/plugins/wave/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/wave/theme_suv.png b/cinelerra-5.1/plugins/wave/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/wave/theme_suv.png rename to cinelerra-5.1/plugins/wave/picon_suv.png diff --git a/cinelerra-5.1/plugins/whirl/picon_cinfinity.png b/cinelerra-5.1/plugins/whirl/picon_cinfinity.png new file mode 100644 index 00000000..879c6f0c Binary files /dev/null and b/cinelerra-5.1/plugins/whirl/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/whirl/theme_suv.png b/cinelerra-5.1/plugins/whirl/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/whirl/theme_suv.png rename to cinelerra-5.1/plugins/whirl/picon_suv.png diff --git a/cinelerra-5.1/plugins/wipe/theme_suv.png b/cinelerra-5.1/plugins/wipe/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/wipe/theme_suv.png rename to cinelerra-5.1/plugins/wipe/picon_suv.png diff --git a/cinelerra-5.1/plugins/yuv/picon_cinfinity.png b/cinelerra-5.1/plugins/yuv/picon_cinfinity.png new file mode 100644 index 00000000..d632734c Binary files /dev/null and b/cinelerra-5.1/plugins/yuv/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/yuv/theme_suv.png b/cinelerra-5.1/plugins/yuv/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/yuv/theme_suv.png rename to cinelerra-5.1/plugins/yuv/picon_suv.png diff --git a/cinelerra-5.1/plugins/yuv411/picon_cinfinity.png b/cinelerra-5.1/plugins/yuv411/picon_cinfinity.png new file mode 100644 index 00000000..10a18411 Binary files /dev/null and b/cinelerra-5.1/plugins/yuv411/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/yuvshift/picon_cinfinity.png b/cinelerra-5.1/plugins/yuvshift/picon_cinfinity.png new file mode 100644 index 00000000..f3056636 Binary files /dev/null and b/cinelerra-5.1/plugins/yuvshift/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/zoomblur/picon_cinfinity.png b/cinelerra-5.1/plugins/zoomblur/picon_cinfinity.png new file mode 100644 index 00000000..d097ef06 Binary files /dev/null and b/cinelerra-5.1/plugins/zoomblur/picon_cinfinity.png differ diff --git a/cinelerra-5.1/plugins/zoomblur/theme_suv.png b/cinelerra-5.1/plugins/zoomblur/picon_suv.png similarity index 100% rename from cinelerra-5.1/plugins/zoomblur/theme_suv.png rename to cinelerra-5.1/plugins/zoomblur/picon_suv.png