X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fappearanceprefs.C;h=1f87883551ba69b5096b71932046dd05437ec904;hp=b3718b755876affa5e6f5ff72dbc5a43ec8c2690;hb=232ae3c6972c1740b6e1890ccce1264f2bb311f5;hpb=4c207ab325a8e8e6b79a9a18d4647273b5f59f93 diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C index b3718b75..1f878835 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, _("Language:"))); + 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)); @@ -173,30 +184,28 @@ void AppearancePrefs::create_objects() y += ys35; add_subwindow(title = new BC_Title(x, y, _("Composer BG Color:"))); int clr_color = pwindow->thread->edl->session->cwindow_clear_color; - int clr_alpha = pwindow->thread->edl->session->cwindow_clear_alpha; add_subwindow(cwdw_bg_color = new Composer_BG_Color(pwindow, - x2, y, xS(80), yS(24), clr_color, clr_alpha)); + x2, y, xS(80), yS(24), clr_color)); 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; if( y2 < y ) y2 = y; add_subwindow(new BC_Bar(x0, y2, get_w()-x0 - xs30)); - y += ys15; + y += ys35; x = x0; y1 = y; add_subwindow(title = new BC_Title(x, y, _("Warnings:"), LARGEFONT, @@ -208,16 +217,16 @@ 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; + UseWarnFileRef *warn_ref = new UseWarnFileRef(pwindow, x, y); + add_subwindow(warn_ref); + y += warn_ref->get_h() + ys5; 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; @@ -256,6 +265,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) @@ -264,6 +276,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); @@ -293,6 +306,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; } @@ -443,6 +466,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, @@ -602,32 +661,33 @@ 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")) +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")) { this->pwindow = pwindow; } -int UseWarnStack::handle_event() +int BD_WarnRoot::handle_event() { - pwindow->thread->preferences->warn_stack = get_value(); + pwindow->thread->preferences->bd_warn_root = 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")) +UseWarnFileRef::UseWarnFileRef(PreferencesWindow *pwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->thread->preferences->warn_fileref, + _("Warn on creating file references")) { this->pwindow = pwindow; } -int BD_WarnRoot::handle_event() +int UseWarnFileRef::handle_event() { - pwindow->thread->preferences->bd_warn_root = get_value(); + pwindow->thread->preferences->warn_fileref = get_value(); return 1; } + PopupMenuBtnup::PopupMenuBtnup(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->popupmenu_btnup, _("Popups activate on button up")) @@ -686,6 +746,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")) @@ -733,9 +806,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) @@ -777,8 +850,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) @@ -858,8 +931,8 @@ int RectifyAudioToggle::handle_event() } Composer_BG_Color::Composer_BG_Color(PreferencesWindow *pwindow, - int x, int y, int w, int h, int color, int alpha) - : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, alpha, 1) + int x, int y, int w, int h, int color) + : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, -1, 1) { this->pwindow = pwindow; } @@ -881,7 +954,6 @@ void Composer_BG_Color::handle_done_event(int result) int Composer_BG_Color::handle_new_color(int color, int alpha) { pwindow->thread->edl->session->cwindow_clear_color = color; - pwindow->thread->edl->session->cwindow_clear_alpha = alpha; return 1; }