1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
/**********************************************************************
Audacity: A Digital Audio Editor
Prefs.cpp
Dominic Mazzoni
Preference field specification:
/
Version - Audacity Version that created these prefs
DefaultOpenPath - Default directory for new file selector
/FileFormats
CopyOrEditUncompressedData - Copy data from uncompressed files or
[ "copy", "edit"] - edit in place?
DefaultExportFormat - Default format to export data in
[ "AIFF", "WAV", "IRCAM", "AU", "Ogg Vorbis", "MP3" ]
/SamplingRate
DefaultProjectSampleRate- New projects will have this rate
[ 8000, 11025, 22050, 44100, 48000 ]
/AudioIO
PlaybackDevice(*) - device file to use for playback
RecordingDevice(*) - device file to use for recording
/Display
WaveformColor - 0xRRGGBB --since it will be stored in
ShadowColor - decimal, it will be somewhat
SpectrumLowColor - non-intuitive to edit, but
SpectrumHighColor - much easier to parse.
(*): wxGTK
(+): wxWin
($): wxMac
**********************************************************************/
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/app.h>
#include <wx/config.h>
#endif
#ifdef __WXMAC__
#include <Files.h>
#include <Folders.h>
/* prototype of MoreFiles fn, included in wxMac already */
pascal OSErr FSpGetFullPath(const FSSpec * spec,
short *fullPathLength, Handle * fullPath);
#endif
#include "Audacity.h"
#include "Prefs.h"
wxConfig *gPrefs = NULL;
int gMenusDirty = 0;
void InitPreferences()
{
wxString vendorName = "Audacity";
wxString appName = "Audacity";
wxTheApp->SetVendorName(vendorName);
wxTheApp->SetAppName(appName);
gPrefs = new wxConfig(appName);
wxConfigBase::Set(gPrefs);
#ifdef __WXMAC__
// This fixes changes in Mac filenames under wxWindows between versions
// 0.95 and 0.96 of Audacity.
wxString path;
bool fix = false;
path = gPrefs->Read("/DefaultOpenPath", "");
if (path.Length() > 0 && path.Left(1)=="/")
fix = true;
path = gPrefs->Read("/DefaultExportPath", "");
if (path.Length() > 0 && path.Left(1)=="/")
fix = true;
path = gPrefs->Read("/Directories/TempDir", "");
if (path.Length() > 0 && path.Left(1)=="/")
fix = true;
if (fix) {
gPrefs->Write("/DefaultOpenPath", ::wxGetCwd());
gPrefs->Write("/DefaultExportPath", ::wxGetCwd());
gPrefs->Write("/Directories/TempDir", "");
wxMessageBox("Some of your preferences were from an earlier version of Audacity "
"and have been reset.");
}
#endif
// Fix exporting - MP3 is no longer a valid default export format in 0.96
// (it has its own menu items!)
if (gPrefs->Read("/FileFormats/DefaultExportFormat", "WAV") == "MP3")
gPrefs->Write("/FileFormats/DefaultExportFormat", "WAV");
gPrefs->Write("/Version", AUDACITY_VERSION_STRING);
}
void FinishPreferences()
{
if (gPrefs) {
wxConfigBase::Set(NULL);
delete gPrefs;
gPrefs = NULL;
}
}
|