Audacity 3.2.0
TrackArtist.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 TrackArtist.h
6
7 Dominic Mazzoni
8
9 This singleton class handles the actual rendering of WaveTracks
10 (both waveforms and spectra), NoteTracks, and LabelTracks.
11
12 It's actually a little harder than it looks, because for
13 waveforms at least it needs to cache the samples that are
14 currently on-screen.
15
16**********************************************************************/
17
18#ifndef __AUDACITY_TRACKARTIST__
19#define __AUDACITY_TRACKARTIST__
20
21
22
23
24#include <wx/brush.h> // member variable
25#include <wx/pen.h> // member variables
26
27#include "Prefs.h"
28
29class wxRect;
30
31class PendingTracks;
32class TrackList;
33class TrackPanel;
34class SelectedRegion;
35class Track;
36class TrackPanel;
38class ZoomInfo;
39
40class AUDACITY_DLL_API TrackArtist final : private PrefsListener {
41
42public:
43
44 enum : unsigned {
53
54 NPasses
55 };
56
57 TrackArtist( TrackPanel *parent_ );
60
61 void SetColours(int iColorIndex);
62
63 void UpdatePrefs() override;
64
66
67 // Preference values
68 float mdBrange; // "/GUI/EnvdBRange"
70
71 wxBrush blankBrush;
74 wxBrush sampleBrush;
76 wxBrush dragsampleBrush;// for samples which are draggable.
82 wxPen blankPen;
85 wxPen samplePen;
86 wxPen rmsPen;
95
96 wxPen beatSepearatorPen[2];
97 wxPen barSepearatorPen[2];
98 wxBrush beatStrongBrush[2];
99 wxBrush beatWeakBrush[2];
100 wxBrush beatStrongSelBrush[2];
101 wxBrush beatWeakSelBrush[2];
102
103#ifdef EXPERIMENTAL_FFT_Y_GRID
104 bool fftYGridOld;
105#endif //EXPERIMENTAL_FFT_Y_GRID
106
107#ifdef EXPERIMENTAL_FIND_NOTES
108 bool fftFindNotesOld;
109 int findNotesMinAOld;
110 int findNotesNOld;
111 bool findNotesQuantizeOld;
112#endif
113
114 const SelectedRegion *pSelectedRegion{};
115 ZoomInfo *pZoomInfo{};
116 const PendingTracks *pPendingTracks{};
117
118 bool drawEnvelope{ false };
119 bool bigPoints{ false };
120 bool drawSliders{ false };
121 bool onBrushTool{ false };
122 bool hasSolo{ false };
123};
124
125#endif // define __AUDACITY_TRACKARTIST__
A listener notified of changes in preferences.
Definition: Prefs.h:652
virtual void UpdatePrefs()=0
Definition: Prefs.cpp:154
Defines a selected portion of a project.
This class handles the actual rendering of WaveTracks (both waveforms and spectra),...
Definition: TrackArtist.h:40
wxBrush blankBrush
Definition: TrackArtist.h:71
wxBrush envelopeBackgroundBrush
Definition: TrackArtist.h:79
wxPen odProgressDonePen
Definition: TrackArtist.h:91
wxPen rmsPen
Definition: TrackArtist.h:86
wxPen unselectedPen
Definition: TrackArtist.h:83
float mdBrange
Definition: TrackArtist.h:68
wxPen muteSamplePen
Definition: TrackArtist.h:89
wxBrush sampleBrush
Definition: TrackArtist.h:74
wxPen muteClippedPen
Definition: TrackArtist.h:93
wxBrush selectedBrush
Definition: TrackArtist.h:73
wxBrush muteSampleBrush
Definition: TrackArtist.h:77
wxPen selectedPen
Definition: TrackArtist.h:84
wxPen samplePen
Definition: TrackArtist.h:85
wxPen odProgressNotYetPen
Definition: TrackArtist.h:90
wxPen clippedPen
Definition: TrackArtist.h:92
wxBrush selsampleBrush
Definition: TrackArtist.h:75
wxPen blankPen
Definition: TrackArtist.h:82
wxPen muteRmsPen
Definition: TrackArtist.h:87
TrackPanel * parent
Definition: TrackArtist.h:65
int mSampleDisplay
Definition: TrackArtist.h:69
wxBrush clipAffordanceBackgroundSelBrush
Definition: TrackArtist.h:81
wxBrush dragsampleBrush
Definition: TrackArtist.h:76
wxPen selsamplePen
Definition: TrackArtist.h:88
wxBrush clipAffordanceBackgroundBrush
Definition: TrackArtist.h:80
wxBrush unselectedBrush
Definition: TrackArtist.h:72
wxBrush blankSelectedBrush
Definition: TrackArtist.h:78
wxPen blankSelectedPen
Definition: TrackArtist.h:94
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:110
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Definition: Track.h:850
The TrackPanel class coordinates updates and operations on the main part of the screen which contains...
Definition: TrackPanel.h:63
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
Definition: BasicUI.cpp:202