Audacity 3.2.0
Classes | Namespaces | Macros | Typedefs | Functions | Variables
TrackInfo.cpp File Reference
#include "TrackInfo.h"
#include <wx/app.h>
#include <wx/dc.h>
#include <wx/frame.h>
#include "AColor.h"
#include "AllThemeResources.h"
#include "Prefs.h"
#include "Project.h"
#include "SyncLock.h"
#include "Theme.h"
#include "Track.h"
#include "TrackPanelDrawingContext.h"
#include "ViewInfo.h"
#include "prefs/TracksBehaviorsPrefs.h"
#include "tracks/ui/TrackView.h"
#include "tracks/ui/CommonTrackControls.h"
#include "tracks/ui/TrackButtonHandles.h"
Include dependency graph for TrackInfo.cpp:

Go to the source code of this file.

Classes

struct  Settings
 

Namespaces

namespace  TrackInfo
 Functions for drawing the track control panel, which is shown to the side of a track It has the menus, pan and gain controls displayed in it. So "Info" is somewhat a misnomer. Should possibly be "TrackControls".
 
namespace  anonymous_namespace{TrackInfo.cpp}
 

Macros

#define RANGE(array)   (array), (array) + sizeof(array)/sizeof(*(array))
 

Typedefs

using TCPLine = TrackInfo::TCPLine
 
using TCPLines = TrackInfo::TCPLines
 

Functions

static Settingssettings ()
 
static const TCPLinescommonTrackTCPLines ()
 
int anonymous_namespace{TrackInfo.cpp}::totalTCPLines (const TCPLines &lines, bool omitLastExtra)
 
std::pair< int, int > anonymous_namespace{TrackInfo.cpp}::CalcBottomItemY (const TCPLines &lines, unsigned iItem, int height)
 

Variables

const TrackInfo::TCPLine anonymous_namespace{TrackInfo.cpp}::defaultCommonTrackTCPBottomLines []
 
TCPLines anonymous_namespace{TrackInfo.cpp}::commonTrackTCPBottomLines { RANGE(defaultCommonTrackTCPBottomLines) }
 

Macro Definition Documentation

◆ RANGE

#define RANGE (   array)    (array), (array) + sizeof(array)/sizeof(*(array))

Definition at line 100 of file TrackInfo.cpp.

Typedef Documentation

◆ TCPLine

Definition at line 101 of file TrackInfo.cpp.

◆ TCPLines

Definition at line 102 of file TrackInfo.cpp.

Function Documentation

◆ commonTrackTCPLines()

static const TCPLines & commonTrackTCPLines ( )
static

Definition at line 104 of file TrackInfo.cpp.

105{
106 static const TCPLines theLines{
107#ifdef EXPERIMENTAL_DA
108
111
112#else
113
116
117#endif
118 };
119 return theLines;
120}
TrackInfo::TCPLines TCPLines
Definition: TrackInfo.cpp:102
@ kTrackInfoBtnSize
Definition: ViewInfo.h:95
AUDACITY_DLL_API void CloseTitleDrawFunction(TrackPanelDrawingContext &context, const wxRect &rect, const Track *pTrack)
Definition: TrackInfo.cpp:301

References TrackInfo::CloseTitleDrawFunction(), TrackInfo::TCPLine::kItemBarButtons, and kTrackInfoBtnSize.

Referenced by TrackInfo::GetCloseBoxRect(), CommonTrackControls::GetTCPLines(), TrackInfo::GetTitleBarRect(), TrackInfo::MinimumTrackHeight(), and CommonTrackControls::StaticTCPLines().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ settings()

static Settings & settings ( )
static

Definition at line 87 of file TrackInfo.cpp.

88{
89 static Settings theSettings;
90 if ( !theSettings.mInitialized )
91 theSettings.UpdatePrefs();
92 return theSettings;
93}
bool mInitialized
Definition: TrackInfo.cpp:52
void UpdatePrefs() override
Definition: TrackInfo.cpp:54

References Settings::mInitialized, and Settings::UpdatePrefs().

Referenced by MacroCommands::ApplyCommandInBatchMode(), ProjectSelectionManager::AS_GetSelectionFormat(), ProjectSelectionManager::AS_GetSnapTo(), ProjectSelectionManager::AS_SetSelectionFormat(), ProjectSelectionManager::AS_SetSnapTo(), anonymous_namespace{VST3Wrapper.cpp}::ComponentHandler::BeginStateChange(), LV2Validator::BuildPlain(), EffectTimeScale::CalcPreviewInputLength(), SpecCache::CalculateOneSpectrum(), SelectHandle::Click(), WaveformPrefs::Commit(), LV2Wrapper::ConnectControlPorts(), LV2Wrapper::ConnectPorts(), VST3Wrapper::ConsumeChanges(), AudioGraph::EffectStage::Create(), LV2Wrapper::Create(), Effect::Delegate(), EffectUIHost::DoCancel(), anonymous_namespace{ClipMenus.cpp}::DoClipLeftOrRight(), LabelTrackView::DoEditLabels(), Exporter::DoEditMetadata(), EffectUI::DoEffect(), EffectBase::DoEffect(), EffectManager::DoGetEffect(), WaveformVRulerControls::DoHandleWheelRotation(), SpectrumVRulerControls::DoHandleWheelRotation(), SelectUtilities::DoListSelection(), EffectChangeSpeed::DoLoadFactoryDefaults(), EffectEqualization::DoLoadFactoryDefaults(), CapturedParameters< EffectType, Parameters >::DoReset(), ProjectFileManager::DoSave(), CapturedParameters< EffectType, Parameters >::DoSet(), TrackUtilities::DoTrackMute(), TrackUtilities::DoTrackSolo(), SpectrumVRulerControls::DoUpdateVRuler(), anonymous_namespace{SpectrumView.cpp}::DrawClipSpectrum(), TrackPanel::DrawTracks(), LV2Ports::EmitPortValues(), AudioUnitEffect::Export(), ExportMultipleDialog::ExportMultipleByLabel(), ExportMultipleDialog::ExportMultipleByTrack(), AudioUnitEffect::ExportPresets(), Effect::ExportPresets(), VSTEffect::ExportPresets(), VST3Effect::ExportPresets(), AudioUnitWrapper::FetchSettings(), VST3Wrapper::FetchSettings(), AudioUnitValidator::FetchSettingsFromInstance(), VST3Wrapper::Finalize(), VST3Wrapper::FlushParameters(), anonymous_namespace{BrushHandle.cpp}::FrequencyToPosition(), anonymous_namespace{SelectHandle.cpp}::FrequencyToPosition(), BlockGenerator::GenerateTrack(), EffectSilence::GenerateTrack(), CapturedParameters< EffectType, Parameters >::Get(), anonymous_namespace{LV2Ports.cpp}::get_value_func(), EffectManager::GetCommandDefinition(), GetEffectStages(), LadspaEffect::Instance::GetLatency(), LV2Ports::GetPortValue(), AudioUnitWrapper::GetSettings(), EffectWithSettings< Settings, Base >::GetSettings(), GetSettings(), anonymous_namespace{VST3Wrapper.cpp}::GetSettings(), VSTEffectInstance::GetSettings(), WaveClipSpectrumCache::GetSpectrogram(), WaveTrack::GetSpectrumBounds(), anonymous_namespace{SelectMenus.cpp}::GridMove(), SpecCache::Grow(), PluginManager::HasGroup(), TrackInfo::HasSoloButton(), CommonTrackView::HitTest(), NoteTrackAffordanceControls::HitTest(), WaveTrackAffordanceControls::HitTest(), AudioUnitEffect::Import(), AUPImportFileHandle::Import(), AudioUnitEffect::ImportPresets(), Effect::ImportPresets(), VSTEffect::ImportPresets(), VST3Effect::ImportPresets(), ExportFFmpeg::InitCodecs(), VST3Wrapper::Initialize(), RealtimeEffectState::AccessState::Initialize(), LadspaEffect::InitializeControls(), anonymous_namespace{EffectManager.cpp}::InitializePreset(), LadspaEffect::InitInstance(), EffectReverb::Instance::InstanceInit(), EffectWahwah::Instance::InstanceInit(), EffectReverb::Instance::InstanceProcess(), EffectWahwah::Instance::InstanceProcess(), AudioUnitWrapper::InterpretBlob(), anonymous_namespace{BrushHandle.cpp}::isSpectralSelectionView(), anonymous_namespace{SelectHandle.cpp}::isSpectralSelectionView(), anonymous_namespace{EffectManager.cpp}::LoadComponent(), EffectChangeSpeed::LoadFactoryDefaults(), Effect::LoadFactoryDefaults(), EffectEqualization::LoadFactoryDefaults(), AudioUnitEffect::LoadFactoryPreset(), EffectEqualization::LoadFactoryPreset(), LV2Effect::LoadFactoryPreset(), EffectReverb::LoadFactoryPreset(), VSTEffect::LoadFactoryPreset(), VST3Effect::LoadFactoryPreset(), LadspaEffect::LoadParameters(), LV2Effect::LoadParameters(), VSTEffect::LoadParameters(), AudioUnitEffect::LoadPreset(), VST3Effect::LoadPreset(), VST3Wrapper::LoadSettings(), AudioUnitEffect::LoadSettings(), Effect::LoadSettings(), LadspaEffect::LoadSettings(), LV2Effect::LoadSettings(), NyquistEffect::LoadSettings(), EffectTruncSilence::LoadSettings(), VSTEffect::LoadSettings(), VST3Effect::LoadSettings(), Effect::LoadSettingsFromString(), VST3Wrapper::LoadUserPreset(), AudioUnitEffect::LoadUserPreset(), Effect::LoadUserPreset(), LadspaEffect::LoadUserPreset(), LV2Effect::LoadUserPreset(), VSTEffect::LoadUserPreset(), VST3Effect::LoadUserPreset(), RealtimeEffectState::AccessState::MainWrite(), RealtimeEffectState::AccessState::MainWriteThrough(), AudioUnitWrapper::MakeBlob(), anonymous_namespace{EffectStage.cpp}::MakeInstances(), LV2Instance::MakeMaster(), AudioUnitEffect::MakeSettings(), LV2Effect::MakeSettings(), LV2Instance::MakeWrapper(), SpecCache::Matches(), AudioUnitEffect::MigrateOldConfigFile(), EffectSettingsAccess::ModifySettings(), MenuManager::ModifyToolbarMenus(), anonymous_namespace{SelectMenus.cpp}::MoveWhenAudioInactive(), TrackActions::Handler::MuteTracks(), LV2Validator::OnChoice(), VST3UIValidator::OnClose(), ProjectManager::OnCloseWindow(), EffectUIHost::OnDefaults(), EffectDtmf::Validator::OnDuration(), EffectDtmf::Validator::OnDutyCycle(), EffectUIHost::OnFactoryPreset(), EffectUIHost::OnImport(), ToolActions::Handler::OnNextTool(), EditActions::Handler::OnPaste(), ToolActions::Handler::OnPrevTool(), EffectDtmf::Validator::OnSequence(), SelectUtilities::OnSetRegion(), LV2Validator::OnSlider(), LV2Validator::OnText(), TransportActions::Handler::OnTimerRecord(), LV2Validator::OnToggle(), LV2Validator::OnTrigger(), ViewActions::Handler::OnUndoPushed(), EffectUIHost::OnUserPreset(), ProjectFileManager::OpenProjectFile(), RealtimeEffectState::AccessState::FromMainSlot::operator=(), EffectDistortion::Parameters(), anonymous_namespace{VST3Wrapper.cpp}::ComponentHandler::performEdit(), TimeToolBar::Populate(), SpecCache::Populate(), EffectDtmf::Validator::PopulateOrExchange(), EffectDtmf::PopulateOrExchange(), EffectEcho::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectWahwah::PopulateOrExchange(), LV2Effect::PopulateUI(), anonymous_namespace{BrushHandle.cpp}::PositionToFrequency(), anonymous_namespace{SelectHandle.cpp}::PositionToFrequency(), SpectrumPrefs::Preview(), EffectBase::Preview(), PerTrackEffect::Process(), StatefulPerTrackEffect::Process(), Generator::Process(), NyquistEffect::Process(), EffectTimeScale::Process(), EffectTwoPassSimpleMono::Process(), PerTrackEffect::Instance::Process(), StatefulEffect::Instance::Process(), EffectBassTreble::ProcessBlock(), EffectDistortion::ProcessBlock(), EffectDtmf::Instance::ProcessBlock(), EffectEcho::Instance::ProcessBlock(), EffectPhaser::ProcessBlock(), EffectReverb::Instance::ProcessBlock(), StatefulPerTrackEffect::Instance::ProcessBlock(), EffectWahwah::Instance::ProcessBlock(), VST3Wrapper::ProcessBlockStart(), EffectTruncSilence::ProcessIndependently(), AudioUnitInstance::ProcessInitialize(), EffectDtmf::Instance::ProcessInitialize(), EffectEcho::Instance::ProcessInitialize(), LadspaEffect::Instance::ProcessInitialize(), LV2Instance::ProcessInitialize(), EffectReverb::Instance::ProcessInitialize(), StatefulPerTrackEffect::Instance::ProcessInitialize(), VSTEffectInstance::ProcessInitialize(), VST3Instance::ProcessInitialize(), EffectWahwah::Instance::ProcessInitialize(), PerTrackEffect::ProcessPass(), PerTrackEffect::ProcessTrack(), RealtimeEffectState::AccessState::FromMainSlot::Reader::Reader(), RealtimeEffectState::AccessState::ToMainSlot::Reader::Reader(), AudioUnitInstance::RealtimeAddProcessor(), LadspaEffect::Instance::RealtimeAddProcessor(), LV2Instance::RealtimeAddProcessor(), EffectReverb::Instance::RealtimeAddProcessor(), StatefulEffectBase::Instance::RealtimeAddProcessor(), VSTEffectInstance::RealtimeAddProcessor(), VST3Instance::RealtimeAddProcessor(), EffectWahwah::Instance::RealtimeAddProcessor(), StatefulEffectBase::Instance::RealtimeFinalize(), VST3Instance::RealtimeFinalize(), AudioUnitInstance::RealtimeInitialize(), StatefulEffectBase::Instance::RealtimeInitialize(), VST3Instance::RealtimeInitialize(), AudioUnitInstance::RealtimeProcess(), EffectBassTreble::RealtimeProcess(), EffectDistortion::RealtimeProcess(), EffectPhaser::RealtimeProcess(), EffectReverb::Instance::RealtimeProcess(), StatefulEffectBase::Instance::RealtimeProcess(), VSTEffectInstance::RealtimeProcess(), EffectWahwah::Instance::RealtimeProcess(), StatefulEffectBase::Instance::RealtimeProcessEnd(), AudioUnitInstance::RealtimeProcessStart(), StatefulEffectBase::Instance::RealtimeProcessStart(), VSTEffectInstance::RealtimeProcessStart(), VST3Instance::RealtimeProcessStart(), DtmfSettings::Recalculate(), SnapManager::Reinit(), WaveTrack::Reinit(), StretchHandle::Release(), SpectrumPrefs::Rollback(), LadspaEffect::SaveParameters(), LV2Effect::SaveParameters(), VSTEffect::SaveParameters(), AudioUnitEffect::SavePreset(), VST3Wrapper::SaveSettings(), AudioUnitEffect::SaveSettings(), Effect::SaveSettings(), LadspaEffect::SaveSettings(), LV2Effect::SaveSettings(), VSTEffect::SaveSettings(), VST3Effect::SaveSettings(), Effect::SaveSettingsAsString(), VST3Wrapper::SaveUserPreset(), AudioUnitEffect::SaveUserPreset(), Effect::SaveUserPreset(), LadspaEffect::SaveUserPreset(), LV2Effect::SaveUserPreset(), VSTEffect::SaveUserPreset(), VST3Effect::SaveUserPreset(), anonymous_namespace{SelectMenus.cpp}::SeekWhenAudioInactive(), NoteTrackAffordanceHandle::SelectAt(), CapturedParameters< EffectType, Parameters >::Set(), SimpleEffectSettingsAccess::Set(), anonymous_namespace{EffectUI.cpp}::EffectSettingsAccessTee::Set(), RealtimeEffectState::Access::Set(), anonymous_namespace{LV2Ports.cpp}::set_value_func(), RealtimeEffectState::SetActive(), EffectManager::SetEffectParameters(), LV2Ports::SetPortValue(), TrackInfo::SetTrackInfoFont(), NyquistEffect::ShowHostInterface(), SelectHandle::SnapCenterOnce(), ProjectSelectionManager::SnapSelection(), SpectrumPrefs::SpectrumPrefs(), ProjectSelectionManager::SSBL_GetBandwidthSelectionFormatName(), ProjectSelectionManager::SSBL_GetFrequencySelectionFormatName(), ProjectSelectionManager::SSBL_SetBandwidthSelectionFormatName(), ProjectSelectionManager::SSBL_SetFrequencySelectionFormatName(), SelectHandle::StartSnappingFreqSelection(), AudioUnitWrapper::StoreSettings(), VST3Wrapper::StoreSettings(), AudioUnitValidator::StoreSettingsToInstance(), LV2Validator::suil_port_write(), EffectUIHost::TransferDataFromWindow(), EffectNoise::TransferDataFromWindow(), EffectSilence::TransferDataFromWindow(), EffectToneGen::TransferDataFromWindow(), EffectNoise::TransferDataToWindow(), EffectSilence::TransferDataToWindow(), EffectToneGen::TransferDataToWindow(), VSTEffect::TransferDataToWindow(), ProjectSelectionManager::TT_GetAudioTimeFormat(), ProjectSelectionManager::TT_SetAudioTimeFormat(), EffectDtmf::Validator::UpdateUI(), EffectEcho::Validator::UpdateUI(), VST3UIValidator::UpdateUI(), EffectWahwah::Validator::UpdateUI(), LV2PluginValidator::Validate(), AudioUnitValidator::ValidateUI(), EffectDtmf::Validator::ValidateUI(), EffectEcho::Validator::ValidateUI(), DefaultEffectUIValidator::ValidateUI(), LadspaEffect::Validator::ValidateUI(), LV2Validator::ValidateUI(), EffectReverb::Validator::ValidateUI(), VST3UIValidator::ValidateUI(), EffectWahwah::Validator::ValidateUI(), VSTEffect::ValidateUI(), CapturedParameters< EffectType, Parameters >::Visit(), EffectEqualization::VisitSettings(), Effect::VisitSettings(), NyquistEffect::VisitSettings(), WaveformPrefs::WaveformPrefs(), and EffectNoiseReduction::Worker::Worker().

Here is the call graph for this function: