X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fappearanceprefs.C;h=435f70ad1bf6df6a54397e854a0f4ca2ee2ef3fd;hp=6de484032743ebb25625eefcfca6487ef72f1232;hb=a6fa7638ac79011ab3188e1f4120680c641cca52;hpb=e854f4eeda320c2626780afdac9546f482de54b1 diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C index 6de48403..435f70ad 100644 --- a/cinelerra-5.1/cinelerra/appearanceprefs.C +++ b/cinelerra-5.1/cinelerra/appearanceprefs.C @@ -38,6 +38,7 @@ AppearancePrefs::AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow) { hms = 0; hmsf = 0; + timecode = 0; samples = 0; frames = 0; hex = 0; @@ -52,6 +53,7 @@ AppearancePrefs::~AppearancePrefs() { delete hms; delete hmsf; + delete timecode; delete samples; delete frames; delete hex; @@ -92,7 +94,12 @@ void AppearancePrefs::create_objects() add_subwindow(new BC_Title(x, y, _("Plugin Icons:"))); add_subwindow(plugin_icons = new ViewPluginIcons(x1, y, pwindow)); plugin_icons->create_objects(); - y += plugin_icons->get_h() + ys15; + y += plugin_icons->get_h() + ys10; + add_subwindow(new BC_Title(x, y, _("Locale:"))); + LayoutLocale *layout_locale; + add_subwindow(layout_locale = new LayoutLocale(x1, y, pwindow)); + layout_locale->create_objects(); + y += layout_locale->get_h() + ys15; x1 = get_w()/2; int x2 = x1 + xS(160), y2 = y; @@ -131,6 +138,10 @@ void AppearancePrefs::create_objects() pwindow->thread->edl->session->time_format == TIME_HMSF, x, y)); y += ys20; + add_subwindow(timecode = new TimeFormatTimecode(pwindow, this, + pwindow->thread->edl->session->time_format == TIME_TIMECODE, + x, y)); + y += ys20; add_subwindow(samples = new TimeFormatSamples(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SAMPLES, x, y)); @@ -178,18 +189,17 @@ void AppearancePrefs::create_objects() x2, y, xS(80), yS(24), clr_color, clr_alpha)); draw_3d_border(x2-2,y-2, xS(80)+4,xS(24)+4, 1); cwdw_bg_color->create_objects(); + x2 += cwdw_bg_color->get_w(); y += ys35; - x = x1; - add_subwindow(title = new BC_Title(x, y, _("YUV color space:"))); - x += title->get_w() + margin; + add_subwindow(title = new BC_Title(x1, y, _("YUV color space:"))); + x = x2 - xS(120); add_subwindow(yuv_color_space = new YuvColorSpace(x, y, pwindow)); yuv_color_space->create_objects(); y += yuv_color_space->get_h() + ys5; - x = x1; - add_subwindow(title = new BC_Title(x, y, _("YUV color range:"))); - x += title->get_w() + margin; + add_subwindow(title = new BC_Title(x1, y, _("YUV color range:"))); + x = x2 - xS(100); add_subwindow(yuv_color_range = new YuvColorRange(x, y, pwindow)); yuv_color_range->create_objects(); y += yuv_color_range->get_h() + ys35; @@ -208,9 +218,6 @@ void AppearancePrefs::create_objects() UseWarnVersion *ver_warn = new UseWarnVersion(pwindow, x, y); add_subwindow(ver_warn); y += ver_warn->get_h() + ys5; - UseWarnStack *stack_warn = new UseWarnStack(pwindow, x, y); - add_subwindow(stack_warn); - y += stack_warn->get_h() + ys5; BD_WarnRoot *bdwr_warn = new BD_WarnRoot(pwindow, x, y); add_subwindow(bdwr_warn); y += bdwr_warn->get_h() + ys5; @@ -220,7 +227,7 @@ void AppearancePrefs::create_objects() x = get_w() / 3 + xs30; y = y1; - add_subwindow(title = new BC_Title(x1, y, _("Flags:"), LARGEFONT, + add_subwindow(title = new BC_Title(x, y, _("Flags:"), LARGEFONT, resources->text_default)); y += title->get_h() + ys10; y1 = y; @@ -259,6 +266,9 @@ void AppearancePrefs::create_objects() DeactivateFocusPolicy *focus_deactivate = new DeactivateFocusPolicy(pwindow, x, y); add_subwindow(focus_deactivate); y += focus_deactivate->get_h() + ys5; + AutoRotate *auto_rotate = new AutoRotate(pwindow, x, y); + add_subwindow(auto_rotate); + y += auto_rotate->get_h() + ys5; } int AppearancePrefs::update(int new_value) @@ -267,6 +277,7 @@ int AppearancePrefs::update(int new_value) pwindow->thread->edl->session->time_format = new_value; hms->update(new_value == TIME_HMS); hmsf->update(new_value == TIME_HMSF); + timecode->update(new_value == TIME_TIMECODE); samples->update(new_value == TIME_SAMPLES); hex->update(new_value == TIME_SAMPLES_HEX); frames->update(new_value == TIME_FRAMES); @@ -296,6 +307,16 @@ int TimeFormatHMSF::handle_event() return 1; } +TimeFormatTimecode::TimeFormatTimecode(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y) + : BC_Radial(x, y, value, TIME_TIMECODE_TEXT) +{ this->pwindow = pwindow; this->tfwindow = tfwindow; } + +int TimeFormatTimecode::handle_event() +{ + tfwindow->update(TIME_TIMECODE); + return 1; +} + TimeFormatSamples::TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y) : BC_Radial(x, y, value, TIME_SAMPLES_TEXT) { this->pwindow = pwindow; this->tfwindow = tfwindow; } @@ -446,6 +467,42 @@ int ViewPluginIconItem::handle_event() return 1; } +LayoutLocale::LayoutLocale(int x, int y, PreferencesWindow *pwindow) + : BC_PopupMenu(x, y, xS(200), pwindow->thread->preferences->locale, 1) +{ + this->pwindow = pwindow; +} +LayoutLocale::~LayoutLocale() +{ +} + +const char *LayoutLocale::locale_list[] = { LOCALE_LIST, 0 }; + +void LayoutLocale::create_objects() +{ + for( const char *tp, **lp=locale_list; (tp=*lp)!=0; ++lp ) + add_item(new LayoutLocaleItem(this, tp)); +} + +int LayoutLocale::handle_event() +{ + return 1; +} + +LayoutLocaleItem::LayoutLocaleItem(LayoutLocale *popup, const char *text) + : BC_MenuItem(text) +{ + this->popup = popup; +} + +int LayoutLocaleItem::handle_event() +{ + popup->set_text(get_text()); + strcpy(popup->pwindow->thread->preferences->locale, get_text()); + popup->handle_event(); + return 1; +} + ViewLayoutScale::ViewLayoutScale(PreferencesWindow *pwindow, AppearancePrefs *aprefs, int x, int y) : BC_TumbleTextBox(aprefs, @@ -605,19 +662,6 @@ int UseWarnVersion::handle_event() return 1; } -UseWarnStack::UseWarnStack(PreferencesWindow *pwindow, int x, int y) - : BC_CheckBox(x, y, pwindow->thread->preferences->warn_stack, - _("Stack warns if reference not modified")) -{ - this->pwindow = pwindow; -} - -int UseWarnStack::handle_event() -{ - pwindow->thread->preferences->warn_stack = get_value(); - return 1; -} - BD_WarnRoot::BD_WarnRoot(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->bd_warn_root, _("Create Bluray warns if not root")) @@ -703,6 +747,19 @@ int DeactivateFocusPolicy::handle_event() return 1; } +AutoRotate::AutoRotate(PreferencesWindow *pwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->thread->preferences->auto_rotate != 0, + _("Auto rotate ffmpeg media")) +{ + this->pwindow = pwindow; +} + +int AutoRotate::handle_event() +{ + pwindow->thread->preferences->auto_rotate = get_value(); + return 1; +} + ForwardRenderDisplacement::ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->forward_render_displacement, _("Always show next frame")) @@ -750,9 +807,9 @@ int HighlightInverseColor::handle_event() const char *YuvColorSpace::color_space[] = { - N_("BT601"), - N_("BT709"), - N_("BT2020"), + N_("BT601"), // COLOR_SPACE_BT601 + N_("BT709"), // COLOR_SPACE_BT709 + N_("BT2020"), // COLOR_SPACE_BT2020 }; YuvColorSpace::YuvColorSpace(int x, int y, PreferencesWindow *pwindow) @@ -794,8 +851,8 @@ int YuvColorSpaceItem::handle_event() const char *YuvColorRange::color_range[] = { - N_("JPEG"), - N_("MPEG"), + N_("JPEG"), // COLOR_RANGE_JPEG + N_("MPEG"), // COLOR_RANGE_MPEG }; YuvColorRange::YuvColorRange(int x, int y, PreferencesWindow *pwindow)