Audacity  2.2.2
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | Friends | List of all members
SpectrogramSettings Class Reference

Spectrogram settings, either for one track or as defaults. More...

#include <SpectrogramSettings.h>

Classes

class  Globals
 

Public Types

enum  { LogMinWindowSize = 3, LogMaxWindowSize = 15, NumWindowSizes = LogMaxWindowSize - LogMinWindowSize + 1 }
 
enum  ScaleTypeValues : int {
  stLinear, stLogarithmic, stMel, stBark,
  stErb, stPeriod, stNumScaleTypes
}
 
enum  AlgorithmValues : int { algSTFT = 0, algReassignment, algPitchEAC, algNumAlgorithms }
 
typedef int ScaleType
 
typedef int Algorithm
 

Public Member Functions

 SpectrogramSettings ()
 
 SpectrogramSettings (const SpectrogramSettings &other)
 
SpectrogramSettingsoperator= (const SpectrogramSettings &other)
 
 ~SpectrogramSettings ()
 
bool IsDefault () const
 
bool Validate (bool quiet)
 
void LoadPrefs ()
 
void SavePrefs ()
 
void InvalidateCaches ()
 
void DestroyWindows ()
 
void CacheWindows () const
 
void ConvertToEnumeratedWindowSizes ()
 
void ConvertToActualWindowSizes ()
 
float findBin (float frequency, float binUnit) const
 
NumberScale GetScale (float minFreq, float maxFreq) const
 
bool SpectralSelectionEnabled () const
 
size_t WindowSize () const
 
size_t ZeroPaddingFactor () const
 
size_t GetFFTLength () const
 
size_t NBins () const
 

Static Public Member Functions

static const wxArrayString & GetScaleNames ()
 
static const wxArrayString & GetAlgorithmNames ()
 
static SpectrogramSettingsdefaults ()
 

Public Attributes

int minFreq
 
int maxFreq
 
int range
 
int gain
 
int frequencyGain
 
int windowType
 
bool isGrayscale
 
ScaleType scaleType
 
bool spectralSelection
 
Algorithm algorithm
 
HFFT hFFT
 
Floats window
 
Floats tWindow
 
Floats dWindow
 

Private Attributes

int windowSize
 
int zeroPaddingFactor
 

Friends

class SpectrumPrefs
 

Detailed Description

Spectrogram settings, either for one track or as defaults.

Definition at line 25 of file SpectrogramSettings.h.

Member Typedef Documentation

Definition at line 135 of file SpectrogramSettings.h.

Definition at line 56 of file SpectrogramSettings.h.

Member Enumeration Documentation

anonymous enum
Enumerator
LogMinWindowSize 
LogMaxWindowSize 
NumWindowSizes 

Definition at line 46 of file SpectrogramSettings.h.

Enumerator
algSTFT 
algReassignment 
algPitchEAC 
algNumAlgorithms 

Definition at line 136 of file SpectrogramSettings.h.

Constructor & Destructor Documentation

SpectrogramSettings::SpectrogramSettings ( )

Definition at line 60 of file SpectrogramSettings.cpp.

References LoadPrefs().

61 {
62  LoadPrefs();
63 }
SpectrogramSettings::SpectrogramSettings ( const SpectrogramSettings other)

Definition at line 65 of file SpectrogramSettings.cpp.

66  : minFreq(other.minFreq)
67  , maxFreq(other.maxFreq)
68  , range(other.range)
69  , gain(other.gain)
71  , windowType(other.windowType)
72  , windowSize(other.windowSize)
73 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
75 #endif
76  , isGrayscale(other.isGrayscale)
77  , scaleType(other.scaleType)
78 #ifndef SPECTRAL_SELECTION_GLOBAL_SWITCH
80 #endif
81  , algorithm(other.algorithm)
82 #ifdef EXPERIMENTAL_FFT_Y_GRID
83  , fftYGrid(other.fftYGrid)
84 #endif
85 #ifdef EXPERIMENTAL_FIND_NOTES
86  , fftFindNotes(other.fftFindNotes)
87  , findNotesMinA(other.findNotesMinA)
88  , numberOfMaxima(other.numberOfMaxima)
89  , findNotesQuantize(other.findNotesQuantize)
90 #endif
91 
92  // Do not copy these!
93  , hFFT{}
94  , window{}
95  , tWindow{}
96  , dWindow{}
97 {
98 }
SpectrogramSettings::~SpectrogramSettings ( )

Definition at line 345 of file SpectrogramSettings.cpp.

References DestroyWindows().

346 {
347  DestroyWindows();
348 }

Member Function Documentation

void SpectrogramSettings::CacheWindows ( ) const

Definition at line 413 of file SpectrogramSettings.cpp.

References algorithm, algReassignment, dWindow, GetFFT(), hFFT, tWindow, WindowSize(), zeroPaddingFactor, and ZeroPaddingFactor().

Referenced by SpecCache::Grow().

414 {
415  if (hFFT == NULL || window == NULL) {
416 
417  double scale;
418  const auto fftLen = WindowSize() * ZeroPaddingFactor();
419  const auto padding = (WindowSize() * (zeroPaddingFactor - 1)) / 2;
420 
421  hFFT = GetFFT(fftLen);
422  RecreateWindow(window, WINDOW, fftLen, padding, windowType, windowSize, scale);
423  if (algorithm == algReassignment) {
424  RecreateWindow(tWindow, TWINDOW, fftLen, padding, windowType, windowSize, scale);
425  RecreateWindow(dWindow, DWINDOW, fftLen, padding, windowType, windowSize, scale);
426  }
427  }
428 }
HFFT GetFFT(size_t fftlen)
Definition: RealFFTf.cpp:110
size_t WindowSize() const
size_t ZeroPaddingFactor() const
void SpectrogramSettings::ConvertToActualWindowSizes ( )

Definition at line 454 of file SpectrogramSettings.cpp.

References LogMinWindowSize, and zeroPaddingFactor.

Referenced by SpectrumPrefs::Preview(), SpectrumPrefs::Validate(), and Validate().

455 {
457 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
459 #endif
460 }
void SpectrogramSettings::ConvertToEnumeratedWindowSizes ( )

Definition at line 430 of file SpectrogramSettings.cpp.

References LogMaxWindowSize, LogMinWindowSize, min(), NumWindowSizes, and zeroPaddingFactor.

Referenced by SpectrumPrefs::OnDefaults(), SpectrumPrefs::Preview(), SpectrumPrefs::SpectrumPrefs(), SpectrumPrefs::Validate(), and Validate().

431 {
432  unsigned size;
433  int logarithm;
434 
435  logarithm = -LogMinWindowSize;
436  size = unsigned(windowSize);
437  while (size > 1)
438  size >>= 1, ++logarithm;
439  windowSize = std::max(0, std::min(NumWindowSizes - 1, logarithm));
440 
441 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
442  // Choices for zero padding begin at 1
443  logarithm = 0;
444  size = unsigned(zeroPaddingFactor);
445  while (zeroPaddingFactor > 1)
446  zeroPaddingFactor >>= 1, ++logarithm;
447  zeroPaddingFactor = std::max(0,
449  logarithm
450  ));
451 #endif
452 }
int min(int a, int b)
SpectrogramSettings & SpectrogramSettings::defaults ( )
static
void SpectrogramSettings::DestroyWindows ( )

Definition at line 350 of file SpectrogramSettings.cpp.

References dWindow, hFFT, tWindow, and window.

Referenced by InvalidateCaches(), operator=(), and ~SpectrogramSettings().

351 {
352  hFFT.reset();
353  window.reset();
354  dWindow.reset();
355  tWindow.reset();
356 }
float SpectrogramSettings::findBin ( float  frequency,
float  binUnit 
) const

Definition at line 462 of file SpectrogramSettings.cpp.

Referenced by TrackArtist::DrawClipSpectrum().

463 {
464  float linearBin = frequency / binUnit;
465  if (linearBin < 0)
466  return -1;
467  else
468  return linearBin;
469 }
const wxArrayString & SpectrogramSettings::GetAlgorithmNames ( )
static

Definition at line 167 of file SpectrogramSettings.cpp.

References _().

Referenced by SpectrumPrefs::Populate().

168 {
169  class AlgorithmNamesArray final : public TranslatableStringArray
170  {
171  void Populate() override
172  {
173  // Keep in correspondence with enum SpectrogramSettings::Algorithm:
174  mContents.Add(_("Frequencies"));
175  /* i18n-hint: the Reassignment algorithm for spectrograms */
176  mContents.Add(_("Reassignment"));
177  /* i18n-hint: EAC abbreviates "Enhanced Autocorrelation" */
178  mContents.Add(_("Pitch (EAC)"));
179  }
180  };
181 
182  static AlgorithmNamesArray theArray;
183  return theArray.Get();
184 }
_("Move Track &Down")+wxT("\t")+(GetActiveProject() -> GetCommandManager() ->GetKeyFromName(wxT("TrackMoveDown")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveTopID, _("Move Track to &Top")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveTop")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveBottomID, _("Move Track to &Bottom")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveBottom")).Raw()), OnMoveTrack)#define SET_TRACK_NAME_PLUGIN_SYMBOLclass SetTrackNameCommand:public AudacityCommand
size_t SpectrogramSettings::GetFFTLength ( ) const
NumberScale SpectrogramSettings::GetScale ( float  minFreq,
float  maxFreq 
) const

Definition at line 486 of file SpectrogramSettings.cpp.

References nstBark, nstErb, nstLinear, nstLogarithmic, nstMel, nstPeriod, scaleType, stBark, stErb, stLinear, stLogarithmic, stMel, and stPeriod.

Referenced by WaveTrackVZoomHandle::DoZoom(), TrackArtist::DrawClipSpectrum(), WaveTrackVRulerControls::HandleWheelRotation(), and TrackArtist::UpdateVRuler().

487 {
488  NumberScaleType type = nstLinear;
489 
490  // Don't assume the correspondence of the enums will remain direct in the future.
491  // Do this switch.
492  switch (scaleType) {
493  default:
494  wxASSERT(false);
495  case stLinear:
496  type = nstLinear; break;
497  case stLogarithmic:
498  type = nstLogarithmic; break;
499  case stMel:
500  type = nstMel; break;
501  case stBark:
502  type = nstBark; break;
503  case stErb:
504  type = nstErb; break;
505  case stPeriod:
506  type = nstPeriod; break;
507  }
508 
509  return NumberScale(type, minFreq, maxFreq);
510 }
NumberScaleType
Definition: NumberScale.h:19
const wxArrayString & SpectrogramSettings::GetScaleNames ( )
static

Definition at line 142 of file SpectrogramSettings.cpp.

References _().

Referenced by BEGIN_POPUP_MENU(), and SpectrumPrefs::Populate().

143 {
144  class ScaleNamesArray final : public TranslatableStringArray
145  {
146  void Populate() override
147  {
148  // Keep in correspondence with enum SpectrogramSettings::ScaleType:
149  mContents.Add(_("Linear"));
150  mContents.Add(_("Logarithmic"));
151  /* i18n-hint: The name of a frequency scale in psychoacoustics */
152  mContents.Add(_("Mel"));
153  /* i18n-hint: The name of a frequency scale in psychoacoustics, named for Heinrich Barkhausen */
154  mContents.Add(_("Bark"));
155  /* i18n-hint: The name of a frequency scale in psychoacoustics, abbreviates Equivalent Rectangular Bandwidth */
156  mContents.Add(_("ERB"));
157  /* i18n-hint: Time units, that is Period = 1 / Frequency */
158  mContents.Add(_("Period"));
159  }
160  };
161 
162  static ScaleNamesArray theArray;
163  return theArray.Get();
164 }
_("Move Track &Down")+wxT("\t")+(GetActiveProject() -> GetCommandManager() ->GetKeyFromName(wxT("TrackMoveDown")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveTopID, _("Move Track to &Top")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveTop")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveBottomID, _("Move Track to &Bottom")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveBottom")).Raw()), OnMoveTrack)#define SET_TRACK_NAME_PLUGIN_SYMBOLclass SetTrackNameCommand:public AudacityCommand
void SpectrogramSettings::InvalidateCaches ( )

Definition at line 340 of file SpectrogramSettings.cpp.

References DestroyWindows().

Referenced by LoadPrefs().

341 {
342  DestroyWindows();
343 }
bool SpectrogramSettings::IsDefault ( ) const
inline

Definition at line 77 of file SpectrogramSettings.h.

References defaults().

78  {
79  return this == &defaults();
80  }
static SpectrogramSettings & defaults()
void SpectrogramSettings::LoadPrefs ( )

Definition at line 252 of file SpectrogramSettings.cpp.

References algorithm, eWinFuncHanning, frequencyGain, gain, gPrefs, InvalidateCaches(), isGrayscale, maxFreq, minFreq, range, scaleType, spectralSelection, Validate(), windowSize, windowType, and zeroPaddingFactor.

Referenced by PrefsDialog::OnOK(), AudacityProject::OnReloadPreferences(), and SpectrogramSettings().

253 {
254  minFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
255 
256  maxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), 8000L);
257 
258  range = gPrefs->Read(wxT("/Spectrum/Range"), 80L);
259  gain = gPrefs->Read(wxT("/Spectrum/Gain"), 20L);
260  frequencyGain = gPrefs->Read(wxT("/Spectrum/FrequencyGain"), 0L);
261 
262  windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 1024);
263 
264 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
265  zeroPaddingFactor = gPrefs->Read(wxT("/Spectrum/ZeroPaddingFactor"), 1);
266 #endif
267 
268  gPrefs->Read(wxT("/Spectrum/WindowType"), &windowType, eWinFuncHanning);
269 
270  isGrayscale = (gPrefs->Read(wxT("/Spectrum/Grayscale"), 0L) != 0);
271 
272  scaleType = ScaleType(gPrefs->Read(wxT("/Spectrum/ScaleType"), 0L));
273 
274 #ifndef SPECTRAL_SELECTION_GLOBAL_SWITCH
275  spectralSelection = (gPrefs->Read(wxT("/Spectrum/EnableSpectralSelection"), 1L) != 0);
276 #endif
277 
278  algorithm = Algorithm(gPrefs->Read(wxT("/Spectrum/Algorithm"), 0L));
279 
280 #ifdef EXPERIMENTAL_FFT_Y_GRID
281  fftYGrid = (gPrefs->Read(wxT("/Spectrum/FFTYGrid"), 0L) != 0);
282 #endif //EXPERIMENTAL_FFT_Y_GRID
283 
284 #ifdef EXPERIMENTAL_FIND_NOTES
285  fftFindNotes = (gPrefs->Read(wxT("/Spectrum/FFTFindNotes"), 0L) != 0);
286  findNotesMinA = gPrefs->Read(wxT("/Spectrum/FindNotesMinA"), -30.0);
287  numberOfMaxima = gPrefs->Read(wxT("/Spectrum/FindNotesN"), 5L);
288  findNotesQuantize = (gPrefs->Read(wxT("/Spectrum/FindNotesQuantize"), 0L) != 0);
289 #endif //EXPERIMENTAL_FIND_NOTES
290 
291  // Enforce legal values
292  Validate(true);
293 
295 }
AudacityPrefs * gPrefs
Definition: Prefs.cpp:73
size_t SpectrogramSettings::NBins ( ) const

Definition at line 480 of file SpectrogramSettings.cpp.

References GetFFTLength().

Referenced by SpecCache::CalculateOneSpectrum(), TrackArtist::DrawClipSpectrum(), WaveClip::GetSpectrogram(), SpecCache::Grow(), and SpecCache::Populate().

481 {
482  // Omit the Nyquist frequency bin
483  return GetFFTLength() / 2;
484 }
size_t GetFFTLength() const
SpectrogramSettings & SpectrogramSettings::operator= ( const SpectrogramSettings other)

Definition at line 100 of file SpectrogramSettings.cpp.

References algorithm, DestroyWindows(), frequencyGain, gain, isGrayscale, maxFreq, minFreq, range, scaleType, spectralSelection, windowSize, windowType, and zeroPaddingFactor.

101 {
102  if (this != &other) {
103  minFreq = other.minFreq;
104  maxFreq = other.maxFreq;
105  range = other.range;
106  gain = other.gain;
108  windowType = other.windowType;
109  windowSize = other.windowSize;
110 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
112 #endif
113  isGrayscale = other.isGrayscale;
114  scaleType = other.scaleType;
115 #ifndef SPECTRAL_SELECTION_GLOBAL_SWITCH
117 #endif
118  algorithm = other.algorithm;
119 #ifdef EXPERIMENTAL_FFT_Y_GRID
120  fftYGrid = other.fftYGrid;
121 #endif
122 #ifdef EXPERIMENTAL_FIND_NOTES
123  fftFindNotes = other.fftFindNotes;
124  findNotesMinA = other.findNotesMinA;
125  numberOfMaxima = other.numberOfMaxima;
126  findNotesQuantize = other.findNotesQuantize;
127 #endif
128 
129  // Invalidate the caches
130  DestroyWindows();
131  }
132  return *this;
133 }
void SpectrogramSettings::SavePrefs ( )

Definition at line 297 of file SpectrogramSettings.cpp.

References algorithm, frequencyGain, gain, gPrefs, isGrayscale, maxFreq, minFreq, range, scaleType, spectralSelection, windowSize, windowType, and zeroPaddingFactor.

Referenced by SpectrumPrefs::Commit().

298 {
299  gPrefs->Write(wxT("/Spectrum/MinFreq"), minFreq);
300  gPrefs->Write(wxT("/Spectrum/MaxFreq"), maxFreq);
301 
302  // Nothing wrote these. They only varied from the linear scale bounds in-session. -- PRL
303  // gPrefs->Write(wxT("/SpectrumLog/MaxFreq"), logMinFreq);
304  // gPrefs->Write(wxT("/SpectrumLog/MinFreq"), logMaxFreq);
305 
306  gPrefs->Write(wxT("/Spectrum/Range"), range);
307  gPrefs->Write(wxT("/Spectrum/Gain"), gain);
308  gPrefs->Write(wxT("/Spectrum/FrequencyGain"), frequencyGain);
309 
310  gPrefs->Write(wxT("/Spectrum/FFTSize"), windowSize);
311 
312 #ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
313  gPrefs->Write(wxT("/Spectrum/ZeroPaddingFactor"), zeroPaddingFactor);
314 #endif
315 
316  gPrefs->Write(wxT("/Spectrum/WindowType"), windowType);
317 
318  gPrefs->Write(wxT("/Spectrum/Grayscale"), isGrayscale);
319 
320  gPrefs->Write(wxT("/Spectrum/ScaleType"), (int) scaleType);
321 
322 #ifndef SPECTRAL_SELECTION_GLOBAL_SWITCH
323  gPrefs->Write(wxT("/Spectrum/EnableSpectralSelection"), spectralSelection);
324 #endif
325 
326  gPrefs->Write(wxT("/Spectrum/Algorithm"), (int) algorithm);
327 
328 #ifdef EXPERIMENTAL_FFT_Y_GRID
329  gPrefs->Write(wxT("/Spectrum/FFTYGrid"), fftYGrid);
330 #endif //EXPERIMENTAL_FFT_Y_GRID
331 
332 #ifdef EXPERIMENTAL_FIND_NOTES
333  gPrefs->Write(wxT("/Spectrum/FFTFindNotes"), fftFindNotes);
334  gPrefs->Write(wxT("/Spectrum/FindNotesMinA"), findNotesMinA);
335  gPrefs->Write(wxT("/Spectrum/FindNotesN"), numberOfMaxima);
336  gPrefs->Write(wxT("/Spectrum/FindNotesQuantize"), findNotesQuantize);
337 #endif //EXPERIMENTAL_FIND_NOTES
338 }
AudacityPrefs * gPrefs
Definition: Prefs.cpp:73
bool SpectrogramSettings::SpectralSelectionEnabled ( ) const

Definition at line 512 of file SpectrogramSettings.cpp.

References SpectrogramSettings::Globals::Get(), and spectralSelection.

Referenced by TrackArtist::DrawClipSpectrum(), and NyquistEffect::ProcessOne().

513 {
514 #ifdef SPECTRAL_SELECTION_GLOBAL_SWITCH
515  return Globals::Get().spectralSelection;
516 #else
517  return spectralSelection;
518 #endif
519 }
bool SpectrogramSettings::Validate ( bool  quiet)

Definition at line 186 of file SpectrogramSettings.cpp.

References _(), algNumAlgorithms, algorithm, AudacityMessageBox(), ConvertToActualWindowSizes(), ConvertToEnumeratedWindowSizes(), frequencyGain, maxFreq, min(), minFreq, NumWindowFuncs(), range, scaleType, stNumScaleTypes, and windowType.

Referenced by LoadPrefs(), and SpectrumPrefs::Validate().

187 {
188  if (!quiet &&
189  maxFreq < 100) {
190  AudacityMessageBox(_("Maximum frequency must be 100 Hz or above"));
191  return false;
192  }
193  else
194  maxFreq = std::max(100, maxFreq);
195 
196  if (!quiet &&
197  minFreq < 0) {
198  AudacityMessageBox(_("Minimum frequency must be at least 0 Hz"));
199  return false;
200  }
201  else
202  minFreq = std::max(0, minFreq);
203 
204  if (!quiet &&
205  maxFreq <= minFreq) {
206  AudacityMessageBox(_("Minimum frequency must be less than maximum frequency"));
207  return false;
208  }
209  else
210  maxFreq = std::max(1 + minFreq, maxFreq);
211 
212  if (!quiet &&
213  range <= 0) {
214  AudacityMessageBox(_("The range must be at least 1 dB"));
215  return false;
216  }
217  else
218  range = std::max(1, range);
219 
220  if (!quiet &&
221  frequencyGain < 0) {
222  AudacityMessageBox(_("The frequency gain cannot be negative"));
223  return false;
224  }
225  else if (!quiet &&
226  frequencyGain > 60) {
227  AudacityMessageBox(_("The frequency gain must be no more than 60 dB/dec"));
228  return false;
229  }
230  else
231  frequencyGain =
232  std::max(0, std::min(60, frequencyGain));
233 
234  // The rest are controlled by drop-down menus so they can't go wrong
235  // in the Preferences dialog, but we also come here after reading fom saved
236  // preference files, which could be or from future versions. Validate quietly.
237  windowType =
238  std::max(0, std::min(NumWindowFuncs() - 1, windowType));
239  scaleType =
240  ScaleType(std::max(0,
242  (int)(scaleType))));
244  std::max(0, std::min((int)(algNumAlgorithms) - 1, (int)(algorithm)))
245  );
248 
249  return true;
250 }
int AudacityMessageBox(const wxString &message, const wxString &caption=AudacityMessageBoxCaptionStr(), long style=wxOK|wxCENTRE, wxWindow *parent=NULL, int x=wxDefaultCoord, int y=wxDefaultCoord)
Definition: ErrorDialog.h:92
int min(int a, int b)
int NumWindowFuncs()
Definition: FFT.cpp:330
_("Move Track &Down")+wxT("\t")+(GetActiveProject() -> GetCommandManager() ->GetKeyFromName(wxT("TrackMoveDown")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveTopID, _("Move Track to &Top")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveTop")).Raw()), OnMoveTrack) POPUP_MENU_ITEM(OnMoveBottomID, _("Move Track to &Bottom")+wxT("\t")+(GetActiveProject() ->GetCommandManager() ->GetKeyFromName(wxT("TrackMoveBottom")).Raw()), OnMoveTrack)#define SET_TRACK_NAME_PLUGIN_SYMBOLclass SetTrackNameCommand:public AudacityCommand
size_t SpectrogramSettings::WindowSize ( ) const
inline
size_t SpectrogramSettings::ZeroPaddingFactor ( ) const
inline

Friends And Related Function Documentation

friend class SpectrumPrefs
friend

Definition at line 27 of file SpectrogramSettings.h.

Member Data Documentation

Algorithm SpectrogramSettings::algorithm
Floats SpectrogramSettings::dWindow
mutable
int SpectrogramSettings::frequencyGain
int SpectrogramSettings::gain
HFFT SpectrogramSettings::hFFT
mutable
bool SpectrogramSettings::isGrayscale
int SpectrogramSettings::maxFreq
int SpectrogramSettings::minFreq
int SpectrogramSettings::range
ScaleType SpectrogramSettings::scaleType
bool SpectrogramSettings::spectralSelection
Floats SpectrogramSettings::tWindow
mutable
Floats SpectrogramSettings::window
mutable

Definition at line 160 of file SpectrogramSettings.h.

Referenced by SpecCache::CalculateOneSpectrum(), and DestroyWindows().

int SpectrogramSettings::windowSize
private
int SpectrogramSettings::windowType
int SpectrogramSettings::zeroPaddingFactor
private

The documentation for this class was generated from the following files: