mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-17 17:17:40 +02:00
Menu rearrangement merged from DarkAudacity
This commit is contained in:
parent
e78d209a68
commit
5c1f4d24b5
313
src/Menus.cpp
313
src/Menus.cpp
@ -324,37 +324,24 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
AudioIONotBusyFlag | UnsavedChangesFlag,
|
AudioIONotBusyFlag | UnsavedChangesFlag,
|
||||||
AudioIONotBusyFlag | UnsavedChangesFlag);
|
AudioIONotBusyFlag | UnsavedChangesFlag);
|
||||||
c->AddItem(wxT("SaveAs"), _("Save Project &As..."), FN(OnSaveAs));
|
c->AddItem(wxT("SaveAs"), _("Save Project &As..."), FN(OnSaveAs));
|
||||||
#ifdef USE_LIBVORBIS
|
c->BeginSubMenu( _("Save Other") );
|
||||||
c->AddItem(wxT("SaveCompressed"), _("Sa&ve Compressed Copy of Project..."), FN(OnSaveCompressed));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
c->AddItem(wxT("CheckDeps"), _("Chec&k Dependencies..."), FN(OnCheckDependencies));
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
|
|
||||||
c->AddItem(wxT("EditMetaData"), _("Edit Me&tadata Tags..."), FN(OnEditMetadata));
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
c->BeginSubMenu(_("&Import"));
|
|
||||||
|
|
||||||
c->AddItem(wxT("ImportAudio"), _("&Audio..."), FN(OnImport), wxT("Ctrl+Shift+I"));
|
|
||||||
c->AddItem(wxT("ImportLabels"), _("&Labels..."), FN(OnImportLabels));
|
|
||||||
#ifdef USE_MIDI
|
|
||||||
c->AddItem(wxT("ImportMIDI"), _("&MIDI..."), FN(OnImportMIDI));
|
|
||||||
#endif // USE_MIDI
|
|
||||||
c->AddItem(wxT("ImportRaw"), _("&Raw Data..."), FN(OnImportRaw));
|
|
||||||
|
|
||||||
c->EndSubMenu();
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
//#ifdef EXPERIMENTAL_DA
|
||||||
// Enable Export audio commands only when there are audio tracks.
|
// Enable Export audio commands only when there are audio tracks.
|
||||||
c->AddItem(wxT("Export"), _("&Export Audio..."), FN(OnExport), wxT("Ctrl+Shift+E"),
|
c->AddItem(wxT("ExportMp3"), _("Export as MP&3"), FN(OnExportMp3), wxT(""),
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag,
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag);
|
||||||
|
|
||||||
|
c->AddItem(wxT("ExportWav"), _("Export as &WAV"), FN(OnExportWav), wxT(""),
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag,
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag);
|
||||||
|
|
||||||
|
c->AddItem(wxT("ExportOgg"), _("Export as &OGG"), FN(OnExportOgg), wxT(""),
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag,
|
||||||
|
AudioIONotBusyFlag | WaveTracksExistFlag);
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
c->AddItem(wxT("Export"), _("&Export Audio..."), FN(OnExportAudio), wxT("Ctrl+Shift+E"),
|
||||||
AudioIONotBusyFlag | WaveTracksExistFlag,
|
AudioIONotBusyFlag | WaveTracksExistFlag,
|
||||||
AudioIONotBusyFlag | WaveTracksExistFlag);
|
AudioIONotBusyFlag | WaveTracksExistFlag);
|
||||||
|
|
||||||
@ -375,12 +362,32 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
AudioIONotBusyFlag | NoteTracksSelectedFlag,
|
AudioIONotBusyFlag | NoteTracksSelectedFlag,
|
||||||
AudioIONotBusyFlag | NoteTracksSelectedFlag);
|
AudioIONotBusyFlag | NoteTracksSelectedFlag);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef USE_LIBVORBIS
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
c->AddItem(wxT("SaveCompressed"), _("&Save Compressed Copy of Project..."), FN(OnSaveCompressed));
|
||||||
|
#endif
|
||||||
|
c->EndSubMenu();
|
||||||
|
c->AddSeparator();
|
||||||
|
c->BeginSubMenu(_("&Import"));
|
||||||
|
|
||||||
|
c->AddItem(wxT("ImportAudio"), _("&Audio..."), FN(OnImport), wxT("Ctrl+Shift+I"));
|
||||||
|
c->AddItem(wxT("ImportLabels"), _("&Labels..."), FN(OnImportLabels));
|
||||||
|
#ifdef USE_MIDI
|
||||||
|
c->AddItem(wxT("ImportMIDI"), _("&MIDI..."), FN(OnImportMIDI));
|
||||||
|
#endif // USE_MIDI
|
||||||
|
c->AddItem(wxT("ImportRaw"), _("&Raw Data..."), FN(OnImportRaw));
|
||||||
|
|
||||||
|
c->EndSubMenu();
|
||||||
|
c->AddSeparator();
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Chains"));
|
||||||
c->AddItem(wxT("ApplyChain"), _("Appl&y Chain..."), FN(OnApplyChain),
|
c->AddItem(wxT("ApplyChain"), _("Appl&y Chain..."), FN(OnApplyChain),
|
||||||
AudioIONotBusyFlag,
|
AudioIONotBusyFlag,
|
||||||
AudioIONotBusyFlag);
|
AudioIONotBusyFlag);
|
||||||
c->AddItem(wxT("EditChains"), _("Edit C&hains..."), FN(OnEditChains));
|
c->AddItem(wxT("EditChains"), _("Edit C&hains..."), FN(OnEditChains));
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
@ -451,7 +458,7 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
c->BeginSubMenu(_("R&emove Special"));
|
c->BeginSubMenu(_("R&emove Audio"));
|
||||||
/* i18n-hint: (verb) Do a special kind of cut*/
|
/* i18n-hint: (verb) Do a special kind of cut*/
|
||||||
c->AddItem(wxT("SplitCut"), _("Spl&it Cut"), FN(OnSplitCut), wxT("Ctrl+Alt+X"));
|
c->AddItem(wxT("SplitCut"), _("Spl&it Cut"), FN(OnSplitCut), wxT("Ctrl+Alt+X"));
|
||||||
/* i18n-hint: (verb) Do a special kind of DELETE*/
|
/* i18n-hint: (verb) Do a special kind of DELETE*/
|
||||||
@ -471,10 +478,6 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
|
AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
|
||||||
c->EndSubMenu();
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddItem(wxT("PasteNewLabel"), _("Paste Te&xt to New Label"), FN(OnPasteNewLabel), wxT("Ctrl+Alt+V"),
|
|
||||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
|
||||||
|
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
@ -495,9 +498,30 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
|
c->AddItem(wxT("EditMetaData"), _("Me&tadata..."), FN(OnEditMetadata));
|
||||||
|
c->AddSeparator();
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
c->BeginSubMenu(_("La&beled Audio"));
|
c->BeginSubMenu(_("La&bels"));
|
||||||
|
|
||||||
|
c->AddItem(wxT("EditLabels"), _("&Edit Labels..."), FN(OnEditLabels));
|
||||||
|
c->AddItem(wxT("AddLabel"), _("Add Label At &Selection"), FN(OnAddLabel), wxT("Ctrl+B"),
|
||||||
|
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
|
c->AddItem(wxT("AddLabelPlaying"), _("Add Label At &Playback Position"),
|
||||||
|
FN(OnAddLabelPlaying),
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
wxT("Ctrl+."),
|
||||||
|
#else
|
||||||
|
wxT("Ctrl+M"),
|
||||||
|
#endif
|
||||||
|
AudioIOBusyFlag,
|
||||||
|
AudioIOBusyFlag);
|
||||||
|
c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||||
|
c->AddItem(wxT("PasteNewLabel"), _("Paste Te&xt to New Label"), FN(OnPasteNewLabel), wxT("Ctrl+Alt+V"),
|
||||||
|
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||||
|
c->AddSeparator();
|
||||||
|
|
||||||
c->SetDefaultFlags(AudioIONotBusyFlag | LabelsSelectedFlag | WaveTracksExistFlag | TimeSelectedFlag,
|
c->SetDefaultFlags(AudioIONotBusyFlag | LabelsSelectedFlag | WaveTracksExistFlag | TimeSelectedFlag,
|
||||||
AudioIONotBusyFlag | LabelsSelectedFlag | WaveTracksExistFlag | TimeSelectedFlag);
|
AudioIONotBusyFlag | LabelsSelectedFlag | WaveTracksExistFlag | TimeSelectedFlag);
|
||||||
|
|
||||||
@ -532,6 +556,12 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
c->AddItem(wxT("JoinLabels"), _("&Join"), FN(OnJoinLabels), wxT("Alt+J"));
|
c->AddItem(wxT("JoinLabels"), _("&Join"), FN(OnJoinLabels), wxT("Alt+J"));
|
||||||
c->AddItem(wxT("DisjoinLabels"), _("Detac&h at Silences"), FN(OnDisjoinLabels), wxT("Alt+Shift+J"));
|
c->AddItem(wxT("DisjoinLabels"), _("Detac&h at Silences"), FN(OnDisjoinLabels), wxT("Alt+Shift+J"));
|
||||||
|
|
||||||
|
c->AddSeparator();
|
||||||
|
|
||||||
|
// New in Audacity 2.1.3
|
||||||
|
c->AddCheck(wxT("TypeToCreateLabel"), _("&Type to Create a Label (on/off)"),
|
||||||
|
FN(OnToggleTypeToCreateLabel), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
|
|
||||||
c->EndSubMenu();
|
c->EndSubMenu();
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
@ -569,58 +599,36 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
TracksExistFlag, TracksExistFlag);
|
TracksExistFlag, TracksExistFlag);
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_SYNC_LOCK
|
#ifdef EXPERIMENTAL_SYNC_LOCK
|
||||||
c->AddItem(wxT("SelSyncLockTracks"), _("In All S&ync-Locked Tracks"),
|
#ifdef EXPERIMENTAL_DA
|
||||||
|
c->AddItem(wxT("SelSyncLockTracks"), _("In All Time-Locked Tracks"),
|
||||||
|
#else
|
||||||
|
c->AddItem(wxT("SelSyncLockTracks"), _("In All Sync-Locked Tracks"),
|
||||||
|
#endif
|
||||||
FN(OnSelectSyncLockSel), wxT("Ctrl+Shift+Y"),
|
FN(OnSelectSyncLockSel), wxT("Ctrl+Shift+Y"),
|
||||||
TracksSelectedFlag | IsSyncLockedFlag,
|
TracksSelectedFlag | IsSyncLockedFlag,
|
||||||
TracksSelectedFlag | IsSyncLockedFlag);
|
TracksSelectedFlag | IsSyncLockedFlag);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
c->EndSubMenu();
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
c->AddItem(wxT("ZeroCross"), _("Find &Zero Crossings"), FN(OnZeroCrossing), wxT("Z"));
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
c->BeginSubMenu(_("Mo&ve Cursor"));
|
|
||||||
|
|
||||||
c->AddItem(wxT("CursSelStart"), _("to Selection Star&t"), FN(OnCursorSelStart));
|
|
||||||
c->AddItem(wxT("CursSelEnd"), _("to Selection En&d"), FN(OnCursorSelEnd));
|
|
||||||
|
|
||||||
c->AddItem(wxT("CursTrackStart"), _("to Track &Start"), FN(OnCursorTrackStart), wxT("J"));
|
|
||||||
c->AddItem(wxT("CursTrackEnd"), _("to Track &End"), FN(OnCursorTrackEnd), wxT("K"));
|
|
||||||
|
|
||||||
c->EndSubMenu();
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
c->AddItem(wxT("ZeroCross"), _("Ends to &Zero Crossings"), FN(OnZeroCrossing), wxT("Z"));
|
||||||
c->AddItem(wxT("SelSave"), _("Store Re&gion"), FN(OnSelectionSave),
|
c->AddSeparator();
|
||||||
|
// Audacity has 'Store Re&gion' here.
|
||||||
|
c->AddItem(wxT("SelSave"), _("Save Sele&ction"), FN(OnSelectionSave),
|
||||||
WaveTracksSelectedFlag,
|
WaveTracksSelectedFlag,
|
||||||
WaveTracksSelectedFlag);
|
WaveTracksSelectedFlag);
|
||||||
c->AddItem(wxT("SelRestore"), _("Retrieve Regio&n"), FN(OnSelectionRestore),
|
// Audacity has 'Retrieve Regio&n' here.
|
||||||
|
c->AddItem(wxT("SelRestore"), _("Restore Selectio&n"), FN(OnSelectionRestore),
|
||||||
TracksExistFlag,
|
TracksExistFlag,
|
||||||
TracksExistFlag);
|
TracksExistFlag);
|
||||||
c->AddItem(wxT("StoreCursorPosition"), _("Store Cursor Pos&ition"), FN(OnCursorPositionStore),
|
c->EndSubMenu();
|
||||||
WaveTracksExistFlag,
|
//Present in Audacity...
|
||||||
WaveTracksExistFlag);
|
//c->AddItem(wxT("StoreCursorPosition"), _("Store Cursor Pos&ition"), FN(OnCursorPositionStore),
|
||||||
|
// WaveTracksExistFlag,
|
||||||
c->AddSeparator();
|
// WaveTracksExistFlag);
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
c->BeginSubMenu(_("Pla&y Region"));
|
|
||||||
|
|
||||||
c->AddItem(wxT("LockPlayRegion"), _("&Lock"), FN(OnLockPlayRegion),
|
|
||||||
PlayRegionNotLockedFlag,
|
|
||||||
PlayRegionNotLockedFlag);
|
|
||||||
c->AddItem(wxT("UnlockPlayRegion"), _("&Unlock"), FN(OnUnlockPlayRegion),
|
|
||||||
PlayRegionLockedFlag,
|
|
||||||
PlayRegionLockedFlag);
|
|
||||||
|
|
||||||
c->EndSubMenu();
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -648,6 +656,7 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->BeginMenu(_("&View"));
|
c->BeginMenu(_("&View"));
|
||||||
c->SetDefaultFlags(TracksExistFlag, TracksExistFlag);
|
c->SetDefaultFlags(TracksExistFlag, TracksExistFlag);
|
||||||
|
c->BeginSubMenu(_("Zoom"));
|
||||||
|
|
||||||
c->AddItem(wxT("ZoomIn"), _("Zoom &In"), FN(OnZoomIn), wxT("Ctrl+1"),
|
c->AddItem(wxT("ZoomIn"), _("Zoom &In"), FN(OnZoomIn), wxT("Ctrl+1"),
|
||||||
ZoomInAvailableFlag,
|
ZoomInAvailableFlag,
|
||||||
@ -657,18 +666,17 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
ZoomOutAvailableFlag,
|
ZoomOutAvailableFlag,
|
||||||
ZoomOutAvailableFlag);
|
ZoomOutAvailableFlag);
|
||||||
c->AddItem(wxT("ZoomSel"), _("&Zoom to Selection"), FN(OnZoomSel), wxT("Ctrl+E"), TimeSelectedFlag, TimeSelectedFlag);
|
c->AddItem(wxT("ZoomSel"), _("&Zoom to Selection"), FN(OnZoomSel), wxT("Ctrl+E"), TimeSelectedFlag, TimeSelectedFlag);
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
c->AddItem(wxT("FitInWindow"), _("&Fit in Window"), FN(OnZoomFit), wxT("Ctrl+F"));
|
c->BeginSubMenu(_("&Track Size"));
|
||||||
c->AddItem(wxT("FitV"), _("Fit &Vertically"), FN(OnZoomFitV), wxT("Ctrl+Shift+F"));
|
c->AddItem(wxT("FitInWindow"), _("&Fit to Width"), FN(OnZoomFit), wxT("Ctrl+F"));
|
||||||
|
c->AddItem(wxT("FitV"), _("Fit to &Height"), FN(OnZoomFitV), wxT("Ctrl+Shift+F"));
|
||||||
c->AddSeparator();
|
|
||||||
c->AddItem(wxT("GoSelStart"), _("Go to Selection Sta&rt"), FN(OnGoSelStart), wxT("Ctrl+["), TimeSelectedFlag, TimeSelectedFlag);
|
|
||||||
c->AddItem(wxT("GoSelEnd"), _("Go to Selection En&d"), FN(OnGoSelEnd), wxT("Ctrl+]"), TimeSelectedFlag, TimeSelectedFlag);
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
c->AddItem(wxT("CollapseAllTracks"), _("&Collapse All Tracks"), FN(OnCollapseAllTracks), wxT("Ctrl+Shift+C"));
|
c->AddItem(wxT("CollapseAllTracks"), _("&Collapse All Tracks"), FN(OnCollapseAllTracks), wxT("Ctrl+Shift+C"));
|
||||||
c->AddItem(wxT("ExpandAllTracks"), _("E&xpand Collapsed Tracks"), FN(OnExpandAllTracks), wxT("Ctrl+Shift+X"));
|
c->AddItem(wxT("ExpandAllTracks"), _("E&xpand Collapsed Tracks"), FN(OnExpandAllTracks), wxT("Ctrl+Shift+X"));
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
c->AddCheck(wxT("ShowClipping"), _("&Show Clipping"), FN(OnShowClipping),
|
c->AddCheck(wxT("ShowClipping"), _("&Show Clipping"), FN(OnShowClipping),
|
||||||
@ -742,7 +750,7 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
/* i18n-hint: (verb)*/
|
/* i18n-hint: (verb)*/
|
||||||
c->AddItem(wxT("ResetToolbars"), _("Reset Toolb&ars"), FN(OnResetToolBars), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
|
c->AddItem(wxT("ResetToolbars"), _("&Reset Toolb&ars"), FN(OnResetToolBars), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
|
|
||||||
c->EndSubMenu();
|
c->EndSubMenu();
|
||||||
|
|
||||||
@ -756,36 +764,79 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
play, record, pause etc. */
|
play, record, pause etc. */
|
||||||
c->BeginMenu(_("T&ransport"));
|
c->BeginMenu(_("T&ransport"));
|
||||||
c->SetDefaultFlags(CanStopAudioStreamFlag, CanStopAudioStreamFlag);
|
c->SetDefaultFlags(CanStopAudioStreamFlag, CanStopAudioStreamFlag);
|
||||||
|
c->BeginSubMenu(_("Play"));
|
||||||
/* i18n-hint: (verb) Start or Stop audio playback*/
|
/* i18n-hint: (verb) Start or Stop audio playback*/
|
||||||
c->AddItem(wxT("PlayStop"), _("Pl&ay/Stop"), FN(OnPlayStop), wxT("Space"));
|
c->AddItem(wxT("PlayStop"), _("Pl&ay/Stop"), FN(OnPlayStop), wxT("Space"));
|
||||||
c->AddItem(wxT("PlayStopSelect"), _("Play/Stop and &Set Cursor"), FN(OnPlayStopSelect), wxT("X"));
|
c->AddItem(wxT("PlayStopSelect"), _("Play/Stop and &Set Cursor"), FN(OnPlayStopSelect), wxT("X"));
|
||||||
c->AddItem(wxT("PlayLooped"), _("&Loop Play"), FN(OnPlayLooped), wxT("Shift+Space"),
|
c->AddItem(wxT("PlayLooped"), _("&Loop Play"), FN(OnPlayLooped), wxT("Shift+Space"),
|
||||||
WaveTracksExistFlag | AudioIONotBusyFlag | CanStopAudioStreamFlag,
|
WaveTracksExistFlag | AudioIONotBusyFlag | CanStopAudioStreamFlag,
|
||||||
WaveTracksExistFlag | AudioIONotBusyFlag | CanStopAudioStreamFlag);
|
WaveTracksExistFlag | AudioIONotBusyFlag | CanStopAudioStreamFlag);
|
||||||
|
|
||||||
// Scrubbing sub-menu
|
|
||||||
GetScrubber().AddMenuItems();
|
|
||||||
|
|
||||||
c->AddItem(wxT("Pause"), _("&Pause"), FN(OnPause), wxT("P"));
|
c->AddItem(wxT("Pause"), _("&Pause"), FN(OnPause), wxT("P"));
|
||||||
c->AddItem(wxT("SkipStart"), _("S&kip to Start"), FN(OnSkipStart), wxT("Home"),
|
c->EndSubMenu();
|
||||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
|
||||||
c->AddItem(wxT("SkipEnd"), _("Skip to E&nd"), FN(OnSkipEnd), wxT("End"),
|
|
||||||
WaveTracksExistFlag | AudioIONotBusyFlag,
|
|
||||||
WaveTracksExistFlag | AudioIONotBusyFlag);
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
|
|
||||||
|
c->BeginSubMenu( _("Record"));
|
||||||
c->SetDefaultFlags(AudioIONotBusyFlag | CanStopAudioStreamFlag,
|
c->SetDefaultFlags(AudioIONotBusyFlag | CanStopAudioStreamFlag,
|
||||||
AudioIONotBusyFlag | CanStopAudioStreamFlag);
|
AudioIONotBusyFlag | CanStopAudioStreamFlag);
|
||||||
/* i18n-hint: (verb)*/
|
/* i18n-hint: (verb)*/
|
||||||
c->AddItem(wxT("Record"), _("&Record"), FN(OnRecord), wxT("R"));
|
c->AddItem(wxT("Record"), _("&Record"), FN(OnRecord), wxT("R"));
|
||||||
c->AddItem(wxT("TimerRecord"), _("&Timer Record..."), FN(OnTimerRecord), wxT("Shift+T"));
|
c->AddItem(wxT("TimerRecord"), _("&Timer Record..."), FN(OnTimerRecord), wxT("Shift+T"));
|
||||||
c->AddItem(wxT("RecordAppend"), _("Appen&d Record"), FN(OnRecordAppend), wxT("Shift+R"));
|
c->AddItem(wxT("RecordBelow"), _("Record Below"), FN(OnRecordBelow), wxT("Shift+R"));
|
||||||
|
// I decided to duplicate this between play and record, rather than put it at the top level.
|
||||||
|
// However I must not set the short cut here, as setting it twice disables it!
|
||||||
|
// TODO: find a way that it is OK to have the same shortcut for a repeated function.
|
||||||
|
c->AddItem(wxT("Pause"), _("&Pause"), FN(OnPause));//, wxT("P"));
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
|
// Scrubbing sub-menu
|
||||||
|
GetScrubber().AddMenuItems();
|
||||||
|
|
||||||
|
c->AddSeparator();
|
||||||
|
c->BeginSubMenu(_("Skip to"));
|
||||||
|
c->AddItem(wxT("GoSelStart"), _("Selection Sta&rt"), FN(OnGoSelStart), wxT("Ctrl+["), TimeSelectedFlag, TimeSelectedFlag);
|
||||||
|
c->AddItem(wxT("GoSelEnd"), _("Selection En&d"), FN(OnGoSelEnd), wxT("Ctrl+]"), TimeSelectedFlag, TimeSelectedFlag);
|
||||||
|
|
||||||
|
c->AddItem(wxT("SkipStart"), _("Track Start"), FN(OnSkipStart), wxT("Home"),
|
||||||
|
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||||
|
c->AddItem(wxT("SkipEnd"), _("Track E&nd"), FN(OnSkipEnd), wxT("End"),
|
||||||
|
WaveTracksExistFlag | AudioIONotBusyFlag,
|
||||||
|
WaveTracksExistFlag | AudioIONotBusyFlag);
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
c->AddCheck(wxT("PinnedHead"), _("Pinned Recording/Playback &Head"),
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Pla&y Region"));
|
||||||
|
|
||||||
|
c->AddItem(wxT("LockPlayRegion"), _("&Lock"), FN(OnLockPlayRegion),
|
||||||
|
PlayRegionNotLockedFlag,
|
||||||
|
PlayRegionNotLockedFlag);
|
||||||
|
c->AddItem(wxT("UnlockPlayRegion"), _("&Unlock"), FN(OnUnlockPlayRegion),
|
||||||
|
PlayRegionLockedFlag,
|
||||||
|
PlayRegionLockedFlag);
|
||||||
|
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
|
c->AddSeparator();
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// Taken from the edit menu, where it did not belong.
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Skip to"));
|
||||||
|
|
||||||
|
c->AddItem(wxT("CursSelStart"), _("Selection Star&t"), FN(OnCursorSelStart));
|
||||||
|
c->AddItem(wxT("CursSelEnd"), _("Selection En&d"), FN(OnCursorSelEnd));
|
||||||
|
|
||||||
|
c->AddItem(wxT("CursTrackStart"), _("Track &Start"), FN(OnCursorTrackStart), wxT("J"));
|
||||||
|
c->AddItem(wxT("CursTrackEnd"), _("Track &End"), FN(OnCursorTrackEnd), wxT("K"));
|
||||||
|
|
||||||
|
c->EndSubMenu();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Transport Options"));
|
||||||
|
c->AddCheck(wxT("PinnedHead"), _("Pinned Play/Record &Head (on/off)"),
|
||||||
FN(OnTogglePinnedHead), 0,
|
FN(OnTogglePinnedHead), 0,
|
||||||
// Switching of scrolling on and off is permitted even during transport
|
// Switching of scrolling on and off is permitted even during transport
|
||||||
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
@ -800,6 +851,7 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
#ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
|
#ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
|
||||||
c->AddCheck(wxT("AutomatedInputLevelAdjustmentOnOff"), _("A&utomated Recording Level Adjustment (on/off)"), FN(OnToggleAutomatedInputLevelAdjustment), 0);
|
c->AddCheck(wxT("AutomatedInputLevelAdjustmentOnOff"), _("A&utomated Recording Level Adjustment (on/off)"), FN(OnToggleAutomatedInputLevelAdjustment), 0);
|
||||||
#endif
|
#endif
|
||||||
|
c->EndSubMenu();
|
||||||
c->AddItem(wxT("RescanDevices"), _("R&escan Audio Devices"), FN(OnRescanDevices));
|
c->AddItem(wxT("RescanDevices"), _("R&escan Audio Devices"), FN(OnRescanDevices));
|
||||||
|
|
||||||
c->EndMenu();
|
c->EndMenu();
|
||||||
@ -826,13 +878,14 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Mix") );
|
||||||
{
|
{
|
||||||
// Stereo to Mono is an oddball command that is also subject to control by the
|
// Stereo to Mono is an oddball command that is also subject to control by the
|
||||||
// plug-in manager, as if an effect. Decide whether to show or hide it.
|
// plug-in manager, as if an effect. Decide whether to show or hide it.
|
||||||
const PluginID ID = EffectManager::Get().GetEffectByIdentifier(wxT("StereoToMono"));
|
const PluginID ID = EffectManager::Get().GetEffectByIdentifier(wxT("StereoToMono"));
|
||||||
const PluginDescriptor *plug = PluginManager::Get().GetPlugin(ID);
|
const PluginDescriptor *plug = PluginManager::Get().GetPlugin(ID);
|
||||||
if (plug && plug->IsEnabled())
|
if (plug && plug->IsEnabled())
|
||||||
c->AddItem(wxT("Stereo to Mono"), _("Stereo Trac&k to Mono"), FN(OnStereoToMono),
|
c->AddItem(wxT("Stereo to Mono"), _("Mix Stereo down to Mono"), FN(OnStereoToMono),
|
||||||
AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
|
AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag,
|
||||||
AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
|
AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag);
|
||||||
}
|
}
|
||||||
@ -842,6 +895,8 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
c->AddItem(wxT("MixAndRenderToNewTrack"), _("Mix and Render to Ne&w Track"), FN(OnMixAndRenderToNewTrack), wxT("Ctrl+Shift+M"),
|
c->AddItem(wxT("MixAndRenderToNewTrack"), _("Mix and Render to Ne&w Track"), FN(OnMixAndRenderToNewTrack), wxT("Ctrl+Shift+M"),
|
||||||
AudioIONotBusyFlag | WaveTracksSelectedFlag,
|
AudioIONotBusyFlag | WaveTracksSelectedFlag,
|
||||||
AudioIONotBusyFlag | WaveTracksSelectedFlag);
|
AudioIONotBusyFlag | WaveTracksSelectedFlag);
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddItem(wxT("Resample"), _("&Resample..."), FN(OnResample),
|
c->AddItem(wxT("Resample"), _("&Resample..."), FN(OnResample),
|
||||||
AudioIONotBusyFlag | WaveTracksSelectedFlag,
|
AudioIONotBusyFlag | WaveTracksSelectedFlag,
|
||||||
AudioIONotBusyFlag | WaveTracksSelectedFlag);
|
AudioIONotBusyFlag | WaveTracksSelectedFlag);
|
||||||
@ -854,8 +909,10 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
|
c->BeginSubMenu("Mute/Unmute");
|
||||||
c->AddItem(wxT("MuteAllTracks"), _("&Mute All Tracks"), FN(OnMuteAllTracks), wxT("Ctrl+U"));
|
c->AddItem(wxT("MuteAllTracks"), _("&Mute All Tracks"), FN(OnMuteAllTracks), wxT("Ctrl+U"));
|
||||||
c->AddItem(wxT("UnMuteAllTracks"), _("&Unmute All Tracks"), FN(OnUnMuteAllTracks), wxT("Ctrl+Shift+U"));
|
c->AddItem(wxT("UnMuteAllTracks"), _("&Unmute All Tracks"), FN(OnUnMuteAllTracks), wxT("Ctrl+Shift+U"));
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
@ -878,16 +935,14 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->BeginSubMenu(_("&Align Tracks"));
|
c->BeginSubMenu(_("&Align Tracks"));
|
||||||
|
|
||||||
|
c->BeginSubMenu(_("Just Move Tracks"));
|
||||||
c->AddItemList(wxT("Align"), alignLabelsNoSync, FN(OnAlignNoSync));
|
c->AddItemList(wxT("Align"), alignLabelsNoSync, FN(OnAlignNoSync));
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
c->AddItemList(wxT("Align"), alignLabels, FN(OnAlign));
|
c->AddItemList(wxT("Align"), alignLabels, FN(OnAlign));
|
||||||
|
|
||||||
c->EndSubMenu();
|
c->EndSubMenu();
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// TODO: Can these labels be made clearer? Do we need this sub-menu at all?
|
// TODO: Can these labels be made clearer? Do we need this sub-menu at all?
|
||||||
c->BeginSubMenu(_("Move Sele&ction when Aligning"));
|
c->BeginSubMenu(_("Move Sele&ction and Tracks"));
|
||||||
|
|
||||||
c->AddItemList(wxT("AlignMove"), alignLabels, FN(OnAlignMoveSel));
|
c->AddItemList(wxT("AlignMove"), alignLabels, FN(OnAlignMoveSel));
|
||||||
c->SetCommandFlags(wxT("AlignMove"),
|
c->SetCommandFlags(wxT("AlignMove"),
|
||||||
@ -895,6 +950,11 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
AudioIONotBusyFlag | TracksSelectedFlag);
|
AudioIONotBusyFlag | TracksSelectedFlag);
|
||||||
|
|
||||||
c->EndSubMenu();
|
c->EndSubMenu();
|
||||||
|
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
|
c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||||
|
|
||||||
|
|
||||||
@ -909,30 +969,12 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_SYNC_LOCK
|
#ifdef EXPERIMENTAL_SYNC_LOCK
|
||||||
c->AddCheck(wxT("SyncLock"), _("Sync-&Lock Tracks (on/off)"), FN(OnSyncLock), 0,
|
c->AddCheck(wxT("SyncLock"), _("Time-&Lock Tracks (on/off)"), FN(OnSyncLock), 0,
|
||||||
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
c->AddItem(wxT("AddLabel"), _("Add Label at &Selection"), FN(OnAddLabel), wxT("Ctrl+B"),
|
|
||||||
AlwaysEnabledFlag, AlwaysEnabledFlag);
|
|
||||||
c->AddItem(wxT("AddLabelPlaying"), _("Add Label at &Playback Position"),
|
|
||||||
FN(OnAddLabelPlaying),
|
|
||||||
#ifdef __WXMAC__
|
|
||||||
wxT("Ctrl+."),
|
|
||||||
#else
|
|
||||||
wxT("Ctrl+M"),
|
|
||||||
#endif
|
|
||||||
AudioIOBusyFlag,
|
|
||||||
AudioIOBusyFlag);
|
|
||||||
c->AddItem(wxT("EditLabels"), _("&Edit Labels..."), FN(OnEditLabels));
|
|
||||||
|
|
||||||
c->AddCheck(wxT("TypeToCreateLabel"), _("&Type to Create a Label (on/off)"),
|
|
||||||
FN(OnToggleTypeToCreateLabel), 0, AlwaysEnabledFlag, AlwaysEnabledFlag);
|
|
||||||
|
|
||||||
c->AddSeparator();
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
c->BeginSubMenu(_("S&ort Tracks"));
|
c->BeginSubMenu(_("S&ort Tracks"));
|
||||||
@ -1069,11 +1111,21 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
c->BeginMenu(_("&Help"));
|
c->BeginMenu(_("&Help"));
|
||||||
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
|
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
|
||||||
|
|
||||||
|
#ifndef EXPERIMENTAL_DA
|
||||||
c->AddItem(wxT("QuickHelp"), _("&Quick Help"), FN(OnQuickHelp));
|
c->AddItem(wxT("QuickHelp"), _("&Quick Help"), FN(OnQuickHelp));
|
||||||
c->AddItem(wxT("Manual"), _("&Manual"), FN(OnManual));
|
c->AddItem(wxT("Manual"), _("&Manual"), FN(OnManual));
|
||||||
|
#else
|
||||||
|
// 'Getting Started' rather than 'Quick Help' for DarkAudacity.
|
||||||
|
// At the moment the video tutorials are aspirational (aka do not exist yet).
|
||||||
|
// Emphasise that manual is for Audacity, not DarkAudacity.
|
||||||
|
c->AddItem(wxT("QuickHelp"), _("&Getting Started"), FN(OnQuickHelp));
|
||||||
|
c->AddItem(wxT("Manual"), wxT("Audacity &Manual"), FN(OnManual));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
|
|
||||||
|
c->BeginSubMenu( _("Tools") );
|
||||||
c->AddItem(wxT("Screenshot"), _("&Screenshot Tools..."), FN(OnScreenshot));
|
c->AddItem(wxT("Screenshot"), _("&Screenshot Tools..."), FN(OnScreenshot));
|
||||||
|
|
||||||
#if IS_ALPHA
|
#if IS_ALPHA
|
||||||
@ -1082,9 +1134,10 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
|
|
||||||
c->AddItem(wxT("Benchmark"), _("&Run Benchmark..."), FN(OnBenchmark));
|
c->AddItem(wxT("Benchmark"), _("&Run Benchmark..."), FN(OnBenchmark));
|
||||||
#endif
|
#endif
|
||||||
|
c->EndSubMenu();
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
c->AddItem(wxT("Updates"), _("&Check for Updates..."), FN(OnCheckForUpdates));
|
|
||||||
|
c->BeginSubMenu(_("Diagnostics"));
|
||||||
c->AddItem(wxT("DeviceInfo"), _("Au&dio Device Info..."), FN(OnAudioDeviceInfo),
|
c->AddItem(wxT("DeviceInfo"), _("Au&dio Device Info..."), FN(OnAudioDeviceInfo),
|
||||||
AudioIONotBusyFlag,
|
AudioIONotBusyFlag,
|
||||||
AudioIONotBusyFlag);
|
AudioIONotBusyFlag);
|
||||||
@ -1094,11 +1147,14 @@ void AudacityProject::CreateMenusAndCommands()
|
|||||||
#if defined(EXPERIMENTAL_CRASH_REPORT)
|
#if defined(EXPERIMENTAL_CRASH_REPORT)
|
||||||
c->AddItem(wxT("CrashReport"), _("&Generate Support Data..."), FN(OnCrashReport));
|
c->AddItem(wxT("CrashReport"), _("&Generate Support Data..."), FN(OnCrashReport));
|
||||||
#endif
|
#endif
|
||||||
|
c->AddItem(wxT("CheckDeps"), _("Chec&k Dependencies..."), FN(OnCheckDependencies));
|
||||||
|
c->EndSubMenu();
|
||||||
|
|
||||||
#ifndef __WXMAC__
|
#ifndef __WXMAC__
|
||||||
c->AddSeparator();
|
c->AddSeparator();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//c->AddItem(wxT("Updates"), _("&Check for Updates..."), FN(OnCheckForUpdates));
|
||||||
c->AddItem(wxT("About"), _("&About Audacity..."), FN(OnAbout));
|
c->AddItem(wxT("About"), _("&About Audacity..."), FN(OnAbout));
|
||||||
|
|
||||||
c->EndMenu();
|
c->EndMenu();
|
||||||
@ -2371,7 +2427,7 @@ void AudacityProject::OnRecord()
|
|||||||
GetControlToolBar()->OnRecord(evt);
|
GetControlToolBar()->OnRecord(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudacityProject::OnRecordAppend()
|
void AudacityProject::OnRecordBelow()
|
||||||
{
|
{
|
||||||
wxCommandEvent evt;
|
wxCommandEvent evt;
|
||||||
evt.SetInt(1); // 0 is default, use 1 to set shift on, 2 to clear it
|
evt.SetInt(1); // 0 is default, use 1 to set shift on, 2 to clear it
|
||||||
@ -3901,14 +3957,20 @@ void AudacityProject::OnExportMIDI(){
|
|||||||
#endif // USE_MIDI
|
#endif // USE_MIDI
|
||||||
|
|
||||||
|
|
||||||
void AudacityProject::OnExport()
|
void AudacityProject::OnExport(const wxString & Format )
|
||||||
{
|
{
|
||||||
Exporter e;
|
Exporter e;
|
||||||
|
e.SetDefaultFormat( Format );
|
||||||
|
|
||||||
wxGetApp().SetMissingAliasedFileWarningShouldShow(true);
|
wxGetApp().SetMissingAliasedFileWarningShouldShow(true);
|
||||||
e.Process(this, false, 0.0, mTracks->GetEndTime());
|
e.Process(this, false, 0.0, mTracks->GetEndTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudacityProject::OnExportAudio(){ OnExport("");}
|
||||||
|
void AudacityProject::OnExportMp3(){ OnExport("MP3");}
|
||||||
|
void AudacityProject::OnExportWav(){ OnExport("WAV");}
|
||||||
|
void AudacityProject::OnExportOgg(){ OnExport("OGG");}
|
||||||
|
|
||||||
void AudacityProject::OnExportSelection()
|
void AudacityProject::OnExportSelection()
|
||||||
{
|
{
|
||||||
Exporter e;
|
Exporter e;
|
||||||
@ -3944,6 +4006,7 @@ void AudacityProject::OnPreferences()
|
|||||||
|
|
||||||
p->RebuildMenuBar();
|
p->RebuildMenuBar();
|
||||||
p->RebuildOtherMenus();
|
p->RebuildOtherMenus();
|
||||||
|
// TODO: The comment below suggests this workaround is obsolete.
|
||||||
#if defined(__WXGTK__)
|
#if defined(__WXGTK__)
|
||||||
// Workaround for:
|
// Workaround for:
|
||||||
//
|
//
|
||||||
|
@ -70,7 +70,7 @@ public:
|
|||||||
void OnStop();
|
void OnStop();
|
||||||
void OnPause();
|
void OnPause();
|
||||||
void OnRecord();
|
void OnRecord();
|
||||||
void OnRecordAppend();
|
void OnRecordBelow();
|
||||||
void OnStopSelect();
|
void OnStopSelect();
|
||||||
void OnSkipStart();
|
void OnSkipStart();
|
||||||
void OnSkipEnd();
|
void OnSkipEnd();
|
||||||
@ -210,7 +210,11 @@ void OnSaveAs();
|
|||||||
|
|
||||||
void OnCheckDependencies();
|
void OnCheckDependencies();
|
||||||
|
|
||||||
void OnExport();
|
void OnExport(const wxString & Format);
|
||||||
|
void OnExportAudio();
|
||||||
|
void OnExportMp3();
|
||||||
|
void OnExportWav();
|
||||||
|
void OnExportOgg();
|
||||||
void OnExportSelection();
|
void OnExportSelection();
|
||||||
void OnExportMultiple();
|
void OnExportMultiple();
|
||||||
void OnExportLabels();
|
void OnExportLabels();
|
||||||
|
@ -921,6 +921,10 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||||||
mViewInfo(0.0, 1.0, ZoomInfo::GetDefaultZoom()),
|
mViewInfo(0.0, 1.0, ZoomInfo::GetDefaultZoom()),
|
||||||
mbLoadedFromAup( false )
|
mbLoadedFromAup( false )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef EXPERIMENTAL_DA2
|
||||||
|
SetBackgroundColour(theTheme.Colour( clrMedium ));
|
||||||
|
#endif
|
||||||
// Note that the first field of the status bar is a dummy, and it's width is set
|
// Note that the first field of the status bar is a dummy, and it's width is set
|
||||||
// to zero latter in the code. This field is needed for wxWidgets 2.8.12 because
|
// to zero latter in the code. This field is needed for wxWidgets 2.8.12 because
|
||||||
// if you move to the menu bar, the first field of the menu bar is cleared, which
|
// if you move to the menu bar, the first field of the menu bar is cleared, which
|
||||||
@ -979,6 +983,9 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||||||
wxSize{ this->GetSize().GetWidth(), -1 }
|
wxSize{ this->GetSize().GetWidth(), -1 }
|
||||||
};
|
};
|
||||||
mTopPanel->SetAutoLayout(true);
|
mTopPanel->SetAutoLayout(true);
|
||||||
|
#ifdef EXPERIMENTAL_DA2
|
||||||
|
mTopPanel->SetBackgroundColour(theTheme.Colour( clrMedium ));
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create the ToolDock
|
// Create the ToolDock
|
||||||
@ -1033,6 +1040,10 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||||||
//pPage->SetBackgroundColour( theTheme.Colour( clrDark ));
|
//pPage->SetBackgroundColour( theTheme.Colour( clrDark ));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef EXPERIMENTAL_DA2
|
||||||
|
pPage->SetBackgroundColour(theTheme.Colour( clrMedium ));
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
auto ubs = std::make_unique<wxBoxSizer>(wxVERTICAL);
|
auto ubs = std::make_unique<wxBoxSizer>(wxVERTICAL);
|
||||||
ubs->Add(mToolManager->GetTopDock(), 0, wxEXPAND | wxALIGN_TOP);
|
ubs->Add(mToolManager->GetTopDock(), 0, wxEXPAND | wxALIGN_TOP);
|
||||||
@ -1215,7 +1226,9 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||||||
|
|
||||||
//Initialize the last selection adjustment time.
|
//Initialize the last selection adjustment time.
|
||||||
mLastSelectionAdjustment = ::wxGetLocalTimeMillis();
|
mLastSelectionAdjustment = ::wxGetLocalTimeMillis();
|
||||||
|
#ifdef EXPERIMENTAL_DA2
|
||||||
|
ClearBackground();// For wxGTK.
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
AudacityProject::~AudacityProject()
|
AudacityProject::~AudacityProject()
|
||||||
@ -1243,6 +1256,13 @@ AudacityProject::~AudacityProject()
|
|||||||
this);
|
this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudacityProject::ResetColours()
|
||||||
|
{
|
||||||
|
SetBackgroundColour(theTheme.Colour( clrMedium ));
|
||||||
|
ClearBackground();// For wxGTK.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
AudioIOStartStreamOptions AudacityProject::GetDefaultPlayOptions()
|
AudioIOStartStreamOptions AudacityProject::GetDefaultPlayOptions()
|
||||||
{
|
{
|
||||||
AudioIOStartStreamOptions options { GetRate() };
|
AudioIOStartStreamOptions options { GetRate() };
|
||||||
@ -1257,7 +1277,12 @@ void AudacityProject::UpdatePrefsVariables()
|
|||||||
gPrefs->Read(wxT("/AudioFiles/NormalizeOnLoad"),&mNormalizeOnLoad, false);
|
gPrefs->Read(wxT("/AudioFiles/NormalizeOnLoad"),&mNormalizeOnLoad, false);
|
||||||
gPrefs->Read(wxT("/GUI/AutoScroll"), &mViewInfo.bUpdateTrackIndicator, true);
|
gPrefs->Read(wxT("/GUI/AutoScroll"), &mViewInfo.bUpdateTrackIndicator, true);
|
||||||
gPrefs->Read(wxT("/GUI/EmptyCanBeDirty"), &mEmptyCanBeDirty, true );
|
gPrefs->Read(wxT("/GUI/EmptyCanBeDirty"), &mEmptyCanBeDirty, true );
|
||||||
gPrefs->Read(wxT("/GUI/Help"), &mHelpPref, wxT("InBrowser") );
|
// DA 2.1.3x did not ship with a manual, so default for DA is internet.
|
||||||
|
#ifdef EXPERIMENTAL_DA
|
||||||
|
gPrefs->Read(wxT("/GUI/Help"), &mHelpPref, wxT("FromInternet") );
|
||||||
|
#else
|
||||||
|
gPrefs->Read(wxT("/GUI/Help"), &mHelpPref, wxT("Local") );
|
||||||
|
#endif
|
||||||
gPrefs->Read(wxT("/GUI/SelectAllOnNone"), &mSelectAllOnNone, true);
|
gPrefs->Read(wxT("/GUI/SelectAllOnNone"), &mSelectAllOnNone, true);
|
||||||
mStopIfWasPaused = true; // not configurable for now, but could be later.
|
mStopIfWasPaused = true; // not configurable for now, but could be later.
|
||||||
gPrefs->Read(wxT("/GUI/ShowSplashScreen"), &mShowSplashScreen, true);
|
gPrefs->Read(wxT("/GUI/ShowSplashScreen"), &mShowSplashScreen, true);
|
||||||
|
@ -167,6 +167,7 @@ class AUDACITY_DLL_API AudacityProject final : public wxFrame,
|
|||||||
const wxPoint & pos, const wxSize & size);
|
const wxPoint & pos, const wxSize & size);
|
||||||
virtual ~AudacityProject();
|
virtual ~AudacityProject();
|
||||||
|
|
||||||
|
void ResetColours();
|
||||||
AudioIOStartStreamOptions GetDefaultPlayOptions();
|
AudioIOStartStreamOptions GetDefaultPlayOptions();
|
||||||
|
|
||||||
TrackList *GetTracks() { return mTracks.get(); }
|
TrackList *GetTracks() { return mTracks.get(); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user