diff --git a/include/audacity/EffectInterface.h b/include/audacity/EffectInterface.h index 956334d48..d0e6dc43b 100755 --- a/include/audacity/EffectInterface.h +++ b/include/audacity/EffectInterface.h @@ -49,7 +49,7 @@ #include -typedef enum EffectType +typedef enum EffectType : int { EffectTypeNone, EffectTypeHidden, diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp index 8800a9de5..470540e1f 100644 --- a/src/AudacityApp.cpp +++ b/src/AudacityApp.cpp @@ -75,6 +75,7 @@ It handles initialization and termination by subclassing wxApp. #include "Internat.h" #include "LangChoice.h" #include "Languages.h" +#include "Menus.h" #include "PluginManager.h" #include "Prefs.h" #include "Project.h" diff --git a/src/BatchCommands.cpp b/src/BatchCommands.cpp index 6f15f9424..c5b3ffa79 100644 --- a/src/BatchCommands.cpp +++ b/src/BatchCommands.cpp @@ -30,6 +30,7 @@ processing. See also MacrosWindow and ApplyMacroDialog. #include "effects/EffectManager.h" #include "FileNames.h" #include "Internat.h" +#include "Menus.h" #include "PluginManager.h" #include "Prefs.h" #include "Shuttle.h" diff --git a/src/BatchProcessDialog.cpp b/src/BatchProcessDialog.cpp index f8bb20a3e..b811fff0c 100644 --- a/src/BatchProcessDialog.cpp +++ b/src/BatchProcessDialog.cpp @@ -34,6 +34,7 @@ #include "AudacityException.h" #include "ShuttleGui.h" +#include "Menus.h" #include "Prefs.h" #include "Project.h" #include "Internat.h" diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp index 70ed598b0..1de49d6ba 100644 --- a/src/LabelTrack.cpp +++ b/src/LabelTrack.cpp @@ -56,6 +56,7 @@ for drawing different aspects of the label and its text box. #include "AudioIO.h" #include "DirManager.h" #include "Internat.h" +#include "Menus.h" #include "Prefs.h" #include "RefreshCode.h" #include "Theme.h" diff --git a/src/Menus.cpp b/src/Menus.cpp index 44b99879d..562e710b1 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -36,7 +36,7 @@ menu items. *//*******************************************************************/ #include "Audacity.h" -#include "Project.h" +#include "Menus.h" #include #include diff --git a/src/Menus.h b/src/Menus.h index a192d03a3..c4fad9628 100644 --- a/src/Menus.h +++ b/src/Menus.h @@ -12,6 +12,26 @@ #include "Experimental.h" +#include +#include "SelectedRegion.h" + +class AudacityProject; +class CommandContext; +class CommandManager; +class LabelTrack; +class PluginDescriptor; +class Track; +class TrackList; +class ViewInfo; +class WaveClip; +class WaveTrack; + +enum CommandFlag : unsigned long long; +enum EffectType : int; + +typedef wxString PluginID; +typedef wxArrayString PluginIDList; + struct MenuCommandHandler : public wxEvtHandler { MenuCommandHandler(); ~MenuCommandHandler(); @@ -223,7 +243,8 @@ void OnExit(const CommandContext &context ); void OnUndo(const CommandContext &context ); void OnRedo(const CommandContext &context ); -static void FinishCopy(const Track *n, Track::Holder &&dest, TrackList &list); +static void FinishCopy( + const Track *n, std::unique_ptr &&dest, TrackList &list); void OnCut(const CommandContext &context ); void OnSplitCut(const CommandContext &context ); diff --git a/src/MenusMac.cpp b/src/MenusMac.cpp index f92bb1eaf..145b3cb0c 100644 --- a/src/MenusMac.cpp +++ b/src/MenusMac.cpp @@ -11,6 +11,7 @@ #include "Audacity.h" #include "AudacityApp.h" +#include "Menus.h" #include "Project.h" #include "commands/CommandContext.h" diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp index 7c5b6444c..a6333a561 100644 --- a/src/MixerBoard.cpp +++ b/src/MixerBoard.cpp @@ -10,6 +10,7 @@ **********************************************************************/ #include "Audacity.h" +#include "MixerBoard.h" #include #include @@ -20,11 +21,12 @@ #include "Theme.h" #include "Experimental.h" -#include "MixerBoard.h" #include "AColor.h" #include "AllThemeResources.h" #include "AudioIO.h" +#include "Menus.h" + #ifdef USE_MIDI #include "NoteTrack.h" #endif diff --git a/src/Project.cpp b/src/Project.cpp index 3c9dbf71e..991e0a87d 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -106,6 +106,7 @@ scroll information. It also has some status flags. #include "LabelTrack.h" #include "Legacy.h" #include "LyricsWindow.h" +#include "Menus.h" #include "Mix.h" #include "NoteTrack.h" #include "Prefs.h" diff --git a/src/Project.h b/src/Project.h index beddcc02f..e5c55a531 100644 --- a/src/Project.h +++ b/src/Project.h @@ -172,11 +172,8 @@ class WaveTrack; #include "./commands/CommandManager.h" -// Include Menus.h for struct MenuCommandHandler -// and all the functions it contains. - -#include "Menus.h" - +class MenuCommandHandler; +class MenuManager; class AUDACITY_DLL_API AudacityProject final : public wxFrame, public TrackPanelListener, diff --git a/src/TimerRecordDialog.cpp b/src/TimerRecordDialog.cpp index baf475d9e..2724f046b 100644 --- a/src/TimerRecordDialog.cpp +++ b/src/TimerRecordDialog.cpp @@ -34,6 +34,7 @@ #include // #include "../AudacityException.h" +#include "../Menus.h" #include "../Prefs.h" #include "../Project.h" diff --git a/src/commands/OpenSaveCommands.cpp b/src/commands/OpenSaveCommands.cpp index c43a5a729..d2994c557 100644 --- a/src/commands/OpenSaveCommands.cpp +++ b/src/commands/OpenSaveCommands.cpp @@ -16,6 +16,7 @@ #include "../Audacity.h" #include "OpenSaveCommands.h" +#include "../Menus.h" #include "../Project.h" #include "../export/Export.h" #include "../ShuttleGui.h" diff --git a/src/commands/PreferenceCommands.cpp b/src/commands/PreferenceCommands.cpp index 6c1098e38..359f35682 100644 --- a/src/commands/PreferenceCommands.cpp +++ b/src/commands/PreferenceCommands.cpp @@ -17,6 +17,7 @@ SetPreferenceCommand classes #include "../Audacity.h" #include "PreferenceCommands.h" +#include "../Menus.h" #include "../Prefs.h" #include "../ShuttleGui.h" #include "../commands/CommandContext.h" diff --git a/src/effects/Effect.cpp b/src/effects/Effect.cpp index 19a835719..ecae0d438 100644 --- a/src/effects/Effect.cpp +++ b/src/effects/Effect.cpp @@ -41,6 +41,7 @@ greater use in future. #include "../AudacityException.h" #include "../AudioIO.h" #include "../LabelTrack.h" +#include "../Menus.h" #include "../Mix.h" #include "../Prefs.h" #include "../Project.h" diff --git a/src/export/Export.cpp b/src/export/Export.cpp index 96fc1f782..9f89c09d8 100644 --- a/src/export/Export.cpp +++ b/src/export/Export.cpp @@ -59,6 +59,7 @@ #include "../DirManager.h" #include "../FileFormats.h" #include "../Internat.h" +#include "../Menus.h" #include "../Mix.h" #include "../Prefs.h" #include "../Project.h" diff --git a/src/import/ImportLOF.cpp b/src/import/ImportLOF.cpp index e33b9c74b..d0b8780b2 100644 --- a/src/import/ImportLOF.cpp +++ b/src/import/ImportLOF.cpp @@ -84,6 +84,7 @@ #include "../WaveTrack.h" #include "ImportPlugin.h" #include "Import.h" +#include "../Menus.h" #include "../NoteTrack.h" #include "../Project.h" #include "../FileFormats.h" diff --git a/src/toolbars/ControlToolBar.cpp b/src/toolbars/ControlToolBar.cpp index 7586e7d9b..82b25d081 100644 --- a/src/toolbars/ControlToolBar.cpp +++ b/src/toolbars/ControlToolBar.cpp @@ -61,6 +61,7 @@ #include "../AllThemeResources.h" #include "../AudioIO.h" #include "../ImageManipulation.h" +#include "../Menus.h" #include "../Prefs.h" #include "../Project.h" #include "../Theme.h" diff --git a/src/toolbars/EditToolBar.cpp b/src/toolbars/EditToolBar.cpp index e33f50eaa..56b9f352f 100644 --- a/src/toolbars/EditToolBar.cpp +++ b/src/toolbars/EditToolBar.cpp @@ -49,6 +49,7 @@ #include "../AudioIO.h" #include "../ImageManipulation.h" #include "../Internat.h" +#include "../Menus.h" #include "../Prefs.h" #include "../Project.h" #include "../Theme.h" diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp index a13237ba8..cdc775477 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp @@ -17,6 +17,7 @@ Paul Licameli split from TrackPanel.cpp #include "../../../../AudioIO.h" #include "../../../../HitTestResult.h" #include "../../../../MixerBoard.h" +#include "../../../../Menus.h" #include "../../../../Project.h" #include "../../../../RefreshCode.h" #include "../../../../WaveTrack.h" diff --git a/src/tracks/ui/Scrubbing.cpp b/src/tracks/ui/Scrubbing.cpp index 5e3c81edc..28b1d61e8 100644 --- a/src/tracks/ui/Scrubbing.cpp +++ b/src/tracks/ui/Scrubbing.cpp @@ -14,6 +14,7 @@ Paul Licameli split from TrackPanel.cpp #include #include "../../AudioIO.h" +#include "../../Menus.h" #include "../../Project.h" #include "../../TrackPanel.h" #include "../../TrackPanelCell.h" diff --git a/src/tracks/ui/SelectHandle.cpp b/src/tracks/ui/SelectHandle.cpp index 6e1fcf8b1..87e629426 100644 --- a/src/tracks/ui/SelectHandle.cpp +++ b/src/tracks/ui/SelectHandle.cpp @@ -17,6 +17,7 @@ Paul Licameli split from TrackPanel.cpp #include "../../AColor.h" #include "../../FreqWindow.h" #include "../../HitTestResult.h" +#include "../../Menus.h" #include "../../MixerBoard.h" #include "../../NumberScale.h" #include "../../Project.h" diff --git a/src/tracks/ui/TrackControls.cpp b/src/tracks/ui/TrackControls.cpp index bdf2fe855..537841495 100644 --- a/src/tracks/ui/TrackControls.cpp +++ b/src/tracks/ui/TrackControls.cpp @@ -14,6 +14,7 @@ Paul Licameli split from TrackPanel.cpp #include "TrackSelectHandle.h" #include "../../HitTestResult.h" #include "../../RefreshCode.h" +#include "../../Menus.h" #include "../../MixerBoard.h" #include "../../Project.h" #include "../../TrackPanel.h" // for TrackInfo diff --git a/src/tracks/ui/TrackSelectHandle.cpp b/src/tracks/ui/TrackSelectHandle.cpp index bc0ff480c..620091092 100644 --- a/src/tracks/ui/TrackSelectHandle.cpp +++ b/src/tracks/ui/TrackSelectHandle.cpp @@ -13,6 +13,7 @@ Paul Licameli split from TrackPanel.cpp #include "TrackControls.h" #include "../../Experimental.h" #include "../../HitTestResult.h" +#include "../../Menus.h" #include "../../MixerBoard.h" #include "../../Project.h" #include "../../RefreshCode.h" diff --git a/src/widgets/MultiDialog.cpp b/src/widgets/MultiDialog.cpp index a910f8cd4..4bd51c626 100644 --- a/src/widgets/MultiDialog.cpp +++ b/src/widgets/MultiDialog.cpp @@ -34,6 +34,7 @@ for each problem encountered, since there can be many orphans. #include #include +#include "../Menus.h" #include "../commands/CommandContext.h" class MultiDialog final : public wxDialogWrapper diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp index dc41be6db..b6d33767d 100644 --- a/src/widgets/Ruler.cpp +++ b/src/widgets/Ruler.cpp @@ -89,6 +89,7 @@ array of Ruler::Label. #include "../TimeTrack.h" #include "../TrackPanel.h" #include "../TrackPanelCellIterator.h" +#include "../Menus.h" #include "../NumberScale.h" #include "../Prefs.h" #include "../Snap.h"