42#include "../CommonCommandFlags.h"
46#include "../TrackPanel.h"
48#include "../prefs/WaveformSettings.h"
49#include "../prefs/SpectrogramSettings.h"
52#include "../tracks/playabletrack/wavetrack/ui/WaveChannelView.h"
53#include "../tracks/playabletrack/wavetrack/ui/WaveChannelViewConstants.h"
67{
XO(
"Set Track Status") };
81 {
return VisitSettings<false>(
S); }
84 {
return VisitSettings<true>(
S); }
88 S.StartMultiColumn(3, wxEXPAND);
90 S.SetStretchyCol( 2 );
94 S.StartMultiColumn(2, wxEXPAND);
96 S.SetStretchyCol( 1 );
118 else if (&t == trackFocus.
Get())
119 trackFocus.Set(
nullptr);
127{
XO(
"Set Track Audio") };
142 {
return VisitSettings<false>(
S); }
145 {
return VisitSettings<true>(
S); }
149 S.StartMultiColumn(2, wxEXPAND);
151 S.SetStretchyCol( 1 );
156 S.StartMultiColumn(3, wxEXPAND);
158 S.SetStretchyCol( 2 );
167 static_cast<void>(context);
174 wt->SetPan(
mPan/100.0);
186{
XO(
"Set Track Visuals") };
201 {
wxT(
"Color0"),
XO(
"Color 0") },
202 {
wxT(
"Color1"),
XO(
"Color 1") },
203 {
wxT(
"Color2"),
XO(
"Color 2") },
204 {
wxT(
"Color3"),
XO(
"Color 3") },
219 {
wxT(
"Linear"),
XO(
"Linear (amp)") },
221 {
wxT(
"dB"),
XO(
"Logarithmic (dB)") },
223 {
wxT(
"LinearDB"),
XO(
"Linear (dB)")}
237 {
wxT(
"Times2"),
XO(
"Times 2") },
244 auto result = transform_container< EnumValueSymbols >(
275 {
return VisitSettings<false>(
S); }
278 {
return VisitSettings<true>(
S); }
282 S.StartMultiColumn(3, wxEXPAND);
284 S.SetStretchyCol( 2 );
291 auto typeNames = transform_container<TranslatableStrings>(
305 S.StartMultiColumn(2, wxEXPAND);
307 S.SetStretchyCol( 1 );
312 S.StartMultiColumn(3, wxEXPAND);
314 S.SetStretchyCol( 2 );
317 Msgids( schemes.data(), schemes.size() ) );
325 static_cast<void>(context);
326 const auto wt =
dynamic_cast<WaveTrack *
>(&t);
330 static const double ZOOMLIMIT = 0.001f;
345 view.SetMultiView(
true );
363 case kReset: cache.SetDisplayBounds(-1,1);
break;
364 case kTimes2: cache.SetDisplayBounds(-2,2);
break;
365 case kHalfWave: cache.SetDisplayBounds(0,1);
break;
372 cache.GetDisplayBounds(vzmin, vzmax);
421 {
return VisitSettings<false>(
S); }
423 {
return VisitSettings<true>(
S); }
440 Command(
wxT(
"SetTrackVisuals"),
XXO(
"Set Track Visuals..."),
443 wxT(
"Optional/Extra/Part2/Scriptables1")
453 wxT(
"Optional/Extra/Part2/Scriptables2")
AttachedItem sAttachment1
AttachedItem sAttachment2
const ReservedCommandFlag & AudioIONotBusyFlag()
XXO("&Cut/Copy/Paste Toolbar")
static const EnumValueSymbol kScaleTypeStrings[nScaleTypes]
static const EnumValueSymbol kZoomTypeStrings[nZoomTypes]
static EnumValueSymbols DiscoverSubViewTypes()
static const EnumValueSymbol kColourStrings[nColours]
TranslatableStrings Msgids(const EnumValueSymbol strings[], size_t nStrings)
Convenience function often useful when adding choice controls.
static Settings & settings()
IteratorRange< ChannelIterator< ChannelType > > Channels()
Get range of channels with mutative access.
static ChannelView & Get(Channel &channel)
void SetExpandedHeight(int height)
Subclass & Get(const RegisteredFactory &key)
Get reference to an attachment, creating on demand if not present, down-cast it to Subclass.
CommandContext provides additional information to an 'Apply()' command. It provides the project,...
AudacityProject & project
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
const TranslatableString Stripped() const
AudioTrack subclass that can also be audibly replayed by the program.
Generates classes whose instances register items at construction.
bool ApplyInner(const CommandContext &context, Track &t) override
static const ComponentInterfaceSymbol Symbol
bool VisitSettings(SettingsVisitorBase< Const > &S)
void PopulateOrExchange(ShuttleGui &S) override
bool Apply(const CommandContext &context) final
virtual bool ApplyInner(const CommandContext &context, Track &t)=0
static const ComponentInterfaceSymbol Symbol
bool VisitSettings(SettingsVisitorBase< Const > &S)
void PopulateOrExchange(ShuttleGui &S) override
static const ComponentInterfaceSymbol Symbol
bool VisitSettings(SettingsVisitorBase< Const > &S)
bool ApplyInner(const CommandContext &context, Track &t) override
static const ComponentInterfaceSymbol Symbol
bool ApplyInner(const CommandContext &context, Track &t) override
void PopulateOrExchange(ShuttleGui &S) override
bool VisitSettings(SettingsVisitorBase< Const > &S)
Visitor of effect or command parameters. This is a base class with lots of virtual functions that do ...
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
static void Reset(WaveTrack &track)
Make track lose indpendent settings and use defaults.
static SpectrogramSettings & Get(const WaveTrack &track)
Mutative access to attachment even if the track argument is const.
static const EnumValueSymbols & GetColorSchemeNames()
static SpectrogramSettings & Own(WaveTrack &track)
Abstract base class for an object holding data associated with points on a time axis.
virtual void SetSelected(bool s)
void SetName(const wxString &n)
static TrackList & Get(AudacityProject &project)
static TrackPanel & Get(AudacityProject &project)
static WaveChannelView & Get(WaveChannel &channel)
A Track that contains audio waveform data.
void SetWaveColorIndex(int colorIndex)
AUDACITY_DLL_API void OnAudacityCommand(const CommandContext &ctx)
AUDACITY_DLL_API const EnumValueSymbol MultiViewSymbol
String identifier for a preference for one of each type of view.
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)
BuiltinCommandsModule::Registration< SetTrackAudioCommand > reg2
BuiltinCommandsModule::Registration< SetTrackCommand > reg4
BuiltinCommandsModule::Registration< SetTrackStatusCommand > reg
BuiltinCommandsModule::Registration< SetTrackVisualsCommand > reg3
static Display Default()
Return a preferred type.
static const std::vector< WaveChannelSubViewType > & All()
Discover all registered types.