41#include "../CommonCommandFlags.h"
44#include "../TrackPanelAx.h"
45#include "../TrackPanel.h"
47#include "../prefs/WaveformSettings.h"
48#include "../prefs/SpectrogramSettings.h"
51#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
52#include "../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
58 for (
auto t : tracks.Leaders()) {
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 );
119 else if( t == trackFocus.
Get() )
120 trackFocus.Set(
nullptr );
128{
XO(
"Set Track Audio") };
143 {
return VisitSettings<false>(
S); }
146 {
return VisitSettings<true>(
S); }
150 S.StartMultiColumn(2, wxEXPAND);
152 S.SetStretchyCol( 1 );
157 S.StartMultiColumn(3, wxEXPAND);
159 S.SetStretchyCol( 2 );
168 static_cast<void>(context);
175 wt->SetPan(
mPan/100.0);
187{
XO(
"Set Track Visuals") };
202 {
wxT(
"Color0"),
XO(
"Color 0") },
203 {
wxT(
"Color1"),
XO(
"Color 1") },
204 {
wxT(
"Color2"),
XO(
"Color 2") },
205 {
wxT(
"Color3"),
XO(
"Color 3") },
220 {
wxT(
"Linear"),
XO(
"Linear (amp)") },
222 {
wxT(
"dB"),
XO(
"Logarithmic (dB)") },
224 {
wxT(
"LinearDB"),
XO(
"Linear (dB)")}
238 {
wxT(
"Times2"),
XO(
"Times 2") },
245 auto result = transform_container< EnumValueSymbols >(
276 {
return VisitSettings<false>(
S); }
279 {
return VisitSettings<true>(
S); }
283 S.StartMultiColumn(3, wxEXPAND);
285 S.SetStretchyCol( 2 );
292 auto typeNames = transform_container<TranslatableStrings>(
306 S.StartMultiColumn(2, wxEXPAND);
308 S.SetStretchyCol( 1 );
313 S.StartMultiColumn(3, wxEXPAND);
315 S.SetStretchyCol( 2 );
318 Msgids( schemes.data(), schemes.size() ) );
325 static_cast<void>(context);
328 static const double ZOOMLIMIT = 0.001f;
344 view.SetMultiView(
true );
362 case kReset: cache.SetDisplayBounds(-1,1);
break;
363 case kTimes2: cache.SetDisplayBounds(-2,2);
break;
364 case kHalfWave: cache.SetDisplayBounds(0,1);
break;
371 cache.GetDisplayBounds(vzmin, vzmax);
423 {
return VisitSettings<false>(
S); }
425 {
return VisitSettings<true>(
S); }
433 wxT(
"Optional/Extra/Part2/Scriptables1"),
443 Command(
wxT(
"SetTrackVisuals"),
XXO(
"Set Track Visuals..."),
449 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()
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.
static const ComponentInterfaceSymbol Symbol
bool ApplyInner(const CommandContext &context, Track *t) override
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 ApplyInner(const CommandContext &context, Track *t) override
bool VisitSettings(SettingsVisitorBase< Const > &S)
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 auto Channels(TrackType *pTrack) -> TrackIterRange< TrackType >
static TrackPanel & Get(AudacityProject &project)
void SetExpandedHeight(int height)
static TrackView & Get(Track &)
A Track that contains audio waveform data.
void SetWaveColorIndex(int colorIndex)
static WaveTrackView & Get(WaveTrack &track)
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 const std::vector< WaveTrackSubViewType > & All()
Discover all registered types.
static Display Default()
Return a preferred type.