26#include "../widgets/NumericTextCtrl.h"
27#include "../widgets/valnum.h"
68 mUIParent =
S.GetParent();
74 wxT(
"TimeFormat"), formatId, mFormat.GET());
81 wxT(
"VinylChoice"), mFromVinyl, mFromVinyl);
85 S.StartVerticalLay(0);
88 S.StartMultiColumn(4, wxCENTER);
91 .Validator<FloatingPointValidator<double>>(
93 NumValidatorStyle::THREE_TRAILING_ZEROES,
94 Percentage.min / 100.0, ((Percentage.max / 100.0) + 1) )
95 .AddTextBox(
XXO(
"&Speed Multiplier:"), L
"", 12);
98 .Validator<FloatingPointValidator<double>>(
100 NumValidatorStyle::THREE_TRAILING_ZEROES,
101 Percentage.min, Percentage.max )
102 .AddTextBox(
XXO(
"Percent C&hange:"), L
"", 12);
107 S.StartHorizontalLay(wxEXPAND);
110 .Name(
XO(
"Percent Change"))
111 .Style(wxSL_HORIZONTAL)
112 .AddSlider( {}, 0, (int)
kSliderMax, (
int)Percentage.min);
114 S.EndHorizontalLay();
117 S.StartMultiColumn(5, wxCENTER);
121 S.AddUnits(
XO(
"Standard Vinyl rpm:"));
127 .Name(
XO(
"From rpm"))
128 .MinSize( { 100, -1 } )
137 .MinSize( { 100, -1 } )
144 S.StartStatic(
XO(
"Selection Length"), 0);
146 S.StartMultiColumn(2, wxALIGN_LEFT);
148 S.AddPrompt(
XXO(
"C&urrent Length:"));
152 S.GetParent(), wxID_ANY,
158 .MenuEnabled(
false));
160 S.ToolTip(
XO(
"Current length of selection."))
162 .Name(
XC(
"from",
"change speed"))
163 .Position(wxALIGN_LEFT)
164 .AddWindow(mpFromLengthCtrl);
166 S.AddPrompt(
XXO(
"&New Length:"));
176 S.Name(
XC(
"to",
"change speed"))
177 .Position(wxALIGN_LEFT)
178 .AddWindow(mpToLengthCtrl);
395 int unwarpedi = (int)(unwarped + 0.5);
396 unwarpedi = std::min<int>(unwarpedi, (
int)
kSliderMax);
static const double kSliderMax
static const TranslatableStrings kVinylStrings
static const double kSliderWarp
const RegistryPath & CurrentSettingsGroup()
Component of a configuration key path, for last-used destructive settings.
XXO("&Cut/Copy/Paste Toolbar")
EVT_COMMAND(wxID_ANY, EVT_FREQUENCYTEXTCTRL_UPDATED, LabelDialog::OnFreqUpdate) LabelDialog
const NumericConverterType & NumericConverterType_TIME()
std::vector< TranslatableString > TranslatableStrings
static constexpr EffectParameter Percentage
const wxString & Internal() const
void OnText_PercentChange(wxCommandEvent &evt)
NumericTextCtrl * mpToLengthCtrl
void OnChoice_Vinyl(wxCommandEvent &evt)
void OnText_Multiplier(wxCommandEvent &evt)
bool TransferDataToWindow(const EffectSettings &settings) override
void Update_Slider_PercentChange()
wxTextCtrl * mpTextCtrl_Multiplier
void Update_TimeCtrl_ToLength()
wxChoice * mpChoice_ToVinyl
wxTextCtrl * mpTextCtrl_PercentChange
wxWeakRef< wxWindow > mUIParent
void Update_Text_PercentChange()
wxChoice * mpChoice_FromVinyl
void OnTimeCtrl_ToLength(wxCommandEvent &evt)
void Update_Text_Multiplier()
void OnSlider_PercentChange(wxCommandEvent &evt)
bool TransferDataFromWindow(EffectSettings &settings) override
void OnTimeCtrlUpdate(wxCommandEvent &evt)
wxSlider * mpSlider_PercentChange
NumericTextCtrl * mpFromLengthCtrl
static bool EnableApply(wxWindow *parent, bool enable=true)
Enable or disable the Apply button of the dialog that contains parent.
const EffectSettingsManager & GetDefinition() const override
Performs effect computation.
Hold values to send to effect output meters.
static FormatterContext SampleRateContext(double sampleRate)
const wxString & GET() const
Explicit conversion to wxString, meant to be ugly-looking and demanding of a comment why it's correct...
bool SetFormatName(const NumericFormatID &formatName)
void SetValue(double newValue)
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
bool SetConfig(const EffectDefinitionInterface &ident, ConfigurationType type, const RegistryPath &group, const RegistryPath &key, const Value &value)
bool GetConfig(const EffectDefinitionInterface &ident, ConfigurationType type, const RegistryPath &group, const RegistryPath &key, Value &var, const Value &defval)
BuiltinEffectsModule::Registration< EffectChangeSpeed > reg
const Type min
Minimum value.
const Type max
Maximum value.
Externalized state of a plug-in.
Options & ReadOnly(bool enable)