1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-18 00:50:05 +02:00

Redo sample display choice in Tracks preferences

This commit is contained in:
Paul Licameli 2018-03-20 13:43:01 -04:00
parent 83a01e255f
commit aed6eb2215
4 changed files with 33 additions and 14 deletions

View File

@ -176,6 +176,7 @@ audio tracks.
#include "Prefs.h" #include "Prefs.h"
#include "prefs/GUISettings.h" #include "prefs/GUISettings.h"
#include "prefs/SpectrogramSettings.h" #include "prefs/SpectrogramSettings.h"
#include "prefs/TracksPrefs.h"
#include "prefs/WaveformSettings.h" #include "prefs/WaveformSettings.h"
#include "Spectrum.h" #include "Spectrum.h"
#include "ViewInfo.h" #include "ViewInfo.h"
@ -3311,7 +3312,7 @@ void TrackArtist::UpdatePrefs()
{ {
mdBrange = gPrefs->Read(ENV_DB_KEY, mdBrange); mdBrange = gPrefs->Read(ENV_DB_KEY, mdBrange);
mShowClipping = gPrefs->Read(wxT("/GUI/ShowClipping"), mShowClipping); mShowClipping = gPrefs->Read(wxT("/GUI/ShowClipping"), mShowClipping);
gPrefs->Read(wxT("/GUI/SampleView"), &mSampleDisplay, 1); mSampleDisplay = TracksPrefs::SampleViewChoice();
SetColours(0); SetColours(0);
} }

View File

@ -179,7 +179,7 @@ class AUDACITY_DLL_API TrackArtist {
// Preference values // Preference values
float mdBrange; // "/GUI/EnvdBRange" float mdBrange; // "/GUI/EnvdBRange"
long mShowClipping; // "/GUI/ShowClipping" long mShowClipping; // "/GUI/ShowClipping"
int mSampleDisplay; // "/GUI/SampleView" int mSampleDisplay;
bool mbShowTrackNameInWaveform; // "/GUI/ShowTrackNameInWaveform" bool mbShowTrackNameInWaveform; // "/GUI/ShowTrackNameInWaveform"
int mMarginLeft; int mMarginLeft;

View File

@ -118,6 +118,34 @@ WaveTrack::WaveTrackDisplay TracksPrefs::ViewModeChoice()
return (WaveTrack::WaveTrackDisplay) viewModeSetting.ReadInt(); return (WaveTrack::WaveTrackDisplay) viewModeSetting.ReadInt();
} }
//////////
static const IdentInterfaceSymbol choicesSampleDisplay[] = {
{ wxT("ConnectDots"), XO("Connect dots") },
{ wxT("StemPlot"), XO("Stem plot") }
};
static const size_t nChoicesSampleDisplay = WXSIZEOF( choicesSampleDisplay );
static const int intChoicesSampleDisplay[] = {
(int) WaveTrack::LinearInterpolate,
(int) WaveTrack::StemPlot
};
static_assert(
nChoicesSampleDisplay == WXSIZEOF(intChoicesSampleDisplay), "size mismatch" );
static const size_t defaultChoiceSampleDisplay = 1;
static EncodedEnumSetting sampleDisplaySetting{
wxT("/GUI/SampleViewChoice"),
choicesSampleDisplay, nChoicesSampleDisplay, defaultChoiceSampleDisplay,
intChoicesSampleDisplay,
wxT("/GUI/SampleView")
};
WaveTrack::SampleDisplay TracksPrefs::SampleViewChoice()
{
return (WaveTrack::SampleDisplay) sampleDisplaySetting.ReadInt();
}
////////// //////////
TracksPrefs::TracksPrefs(wxWindow * parent, wxWindowID winid) TracksPrefs::TracksPrefs(wxWindow * parent, wxWindowID winid)
/* i18n-hint: "Tracks" include audio recordings but also other collections of /* i18n-hint: "Tracks" include audio recordings but also other collections of
@ -140,12 +168,6 @@ void TracksPrefs::Populate()
// How samples are displayed when zoomed in: // How samples are displayed when zoomed in:
mSampleDisplayChoices.Add(_("Connect dots"));
mSampleDisplayCodes.push_back((int) WaveTrack::LinearInterpolate);
mSampleDisplayChoices.Add(_("Stem plot"));
mSampleDisplayCodes.push_back((int) WaveTrack::StemPlot);
mZoomChoices.Add( _("Fit to Width") ); mZoomChoices.Add( _("Fit to Width") );
mZoomCodes.push_back( WaveTrack::kZoomToFit ); mZoomCodes.push_back( WaveTrack::kZoomToFit );
mZoomChoices.Add( _("Zoom to Selection") ); mZoomChoices.Add( _("Zoom to Selection") );
@ -216,10 +238,7 @@ void TracksPrefs::PopulateOrExchange(ShuttleGui & S)
viewModeSetting ); viewModeSetting );
S.TieChoice(_("Display &samples:"), S.TieChoice(_("Display &samples:"),
wxT("/GUI/SampleView"), sampleDisplaySetting );
1,
mSampleDisplayChoices,
mSampleDisplayCodes);
S.TieTextBox(_("Default audio track &name:"), S.TieTextBox(_("Default audio track &name:"),
wxT("/GUI/TrackNames/DefaultTrackName"), wxT("/GUI/TrackNames/DefaultTrackName"),

View File

@ -38,6 +38,7 @@ class TracksPrefs final : public PrefsPanel
static wxString GetDefaultAudioTrackNamePreference(); static wxString GetDefaultAudioTrackNamePreference();
static WaveTrack::WaveTrackDisplay ViewModeChoice(); static WaveTrack::WaveTrackDisplay ViewModeChoice();
static WaveTrack::SampleDisplay SampleViewChoice();
private: private:
void Populate(); void Populate();
@ -45,8 +46,6 @@ class TracksPrefs final : public PrefsPanel
static int iPreferencePinned; static int iPreferencePinned;
std::vector<int> mSampleDisplayCodes;
wxArrayString mSampleDisplayChoices;
std::vector<int> mZoomCodes; std::vector<int> mZoomCodes;
wxArrayString mZoomChoices; wxArrayString mZoomChoices;
}; };