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 void UpdateSelectedPrefs( int id ) override;
65
67
68 // Preference values
69 float mdBrange; // "/GUI/EnvdBRange"
70 bool mShowClipping; // "/GUI/ShowClipping"
72
73 wxBrush blankBrush;
76 wxBrush sampleBrush;
78 wxBrush dragsampleBrush;// for samples which are draggable.
81 wxPen blankPen;
84 wxPen samplePen;
85 wxPen rmsPen;
94
101
102#ifdef EXPERIMENTAL_FFT_Y_GRID
103 bool fftYGridOld;
104#endif //EXPERIMENTAL_FFT_Y_GRID
105
106#ifdef EXPERIMENTAL_FIND_NOTES
107 bool fftFindNotesOld;
108 int findNotesMinAOld;
109 int findNotesNOld;
110 bool findNotesQuantizeOld;
111#endif
112
113 const SelectedRegion *pSelectedRegion{};
114 ZoomInfo *pZoomInfo{};
115 const PendingTracks *pPendingTracks{};
116
117 bool drawEnvelope{ false };
118 bool bigPoints{ false };
119 bool drawSliders{ false };
120 bool onBrushTool{ false };
121 bool hasSolo{ false };
122};
123
124#endif // define __AUDACITY_TRACKARTIST__
A listener notified of changes in preferences.
Definition: Prefs.h:652
virtual void UpdateSelectedPrefs(int id)
Definition: Prefs.cpp:158
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 beatWeakSelBrush
Definition: TrackArtist.h:100
wxBrush blankBrush
Definition: TrackArtist.h:73
wxPen odProgressDonePen
Definition: TrackArtist.h:90
wxPen rmsPen
Definition: TrackArtist.h:85
wxPen unselectedPen
Definition: TrackArtist.h:82
float mdBrange
Definition: TrackArtist.h:69
wxPen muteSamplePen
Definition: TrackArtist.h:88
wxBrush sampleBrush
Definition: TrackArtist.h:76
wxBrush beatWeakBrush
Definition: TrackArtist.h:98
wxPen muteClippedPen
Definition: TrackArtist.h:92
wxBrush selectedBrush
Definition: TrackArtist.h:75
wxBrush beatStrongSelBrush
Definition: TrackArtist.h:99
wxBrush muteSampleBrush
Definition: TrackArtist.h:79
wxPen selectedPen
Definition: TrackArtist.h:83
wxBrush beatStrongBrush
Definition: TrackArtist.h:97
wxPen samplePen
Definition: TrackArtist.h:84
wxPen barSepearatorPen
Definition: TrackArtist.h:96
wxPen odProgressNotYetPen
Definition: TrackArtist.h:89
wxPen clippedPen
Definition: TrackArtist.h:91
wxBrush selsampleBrush
Definition: TrackArtist.h:77
wxPen blankPen
Definition: TrackArtist.h:81
wxPen muteRmsPen
Definition: TrackArtist.h:86
TrackPanel * parent
Definition: TrackArtist.h:66
bool mShowClipping
Definition: TrackArtist.h:70
int mSampleDisplay
Definition: TrackArtist.h:71
wxBrush dragsampleBrush
Definition: TrackArtist.h:78
wxPen selsamplePen
Definition: TrackArtist.h:87
wxBrush unselectedBrush
Definition: TrackArtist.h:74
wxBrush blankSelectedBrush
Definition: TrackArtist.h:80
wxPen beatSepearatorPen
Definition: TrackArtist.h:95
wxPen blankSelectedPen
Definition: TrackArtist.h:93
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