audacia/src/AudacityHeaders.h
Paul Licameli 00117897bc Decouple class AudacityProject from some attached frames...
... use registered factories instead, so class AudacityProject needn't know
the other classes.

This frees 9 .cpp files, related to various non-modal dialogs, to higher
levels out of the big strongly connected component, as determined by
scripts/graph.pl!

But in reality there is still link dependency on them that the script does not
detect.  The remaining dependency is via the declarations of ViewMenu,
EffectMenu, etc. in Menus.cpp.

That could be broken with a registration system for menus.
2019-05-24 15:46:28 -04:00

87 lines
2.0 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
AudacityHeaders.h
Dominic Mazzoni
This is not a normal include file - it's currently only used
on Mac OS X as a "precompiled header" file that's automatically
included by all source files, resulting in roughly a 2x increase
in compilation speed.
When gcc 3.4 is released, it will have precompiled header support
on other platforms, and this file could be adapted to support
precompiled headers on Linux, etc.
**********************************************************************/
#include "Audacity.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#ifdef __WXMSW__
#include <initializer_list>
#endif
#include <wx/wx.h>
#include <wx/bitmap.h>
#include <wx/filedlg.h>
#include <wx/filefn.h>
#include <wx/image.h>
#include <wx/ffile.h>
#include <wx/filename.h>
#include <wx/progdlg.h>
#include <wx/textfile.h>
#include <wx/thread.h>
#include <wx/tooltip.h>
#include "audacity/Types.h"
#include "AColor.h"
#include "AudioIO.h"
#include "BlockFile.h"
#include "Diags.h"
#include "DirManager.h"
#include "Envelope.h"
#include "FFT.h"
#include "FileFormats.h"
#include "ImageManipulation.h"
#include "LabelTrack.h"
#include "Mix.h"
#include "NoteTrack.h"
#include "Prefs.h"
#include "Project.h"
#include "Sequence.h"
#include "TimeTrack.h"
#include "UndoManager.h"
#include "WaveTrack.h"
#include "widgets/ASlider.h"
#include "widgets/ProgressDialog.h"
#include "widgets/Ruler.h"
// PRL: These lines allow you to remove Project.h above.
// They must be included before the definition of macro NEW below.
#include <set>
#include <map>
//#ifdef __WXMSW__
// Enable this to diagnose memory leaks too!
// #include <wx/msw/msvcrt.h> // redefines the NEW() operator
//#endif
#if __WXMSW__
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#undef new
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
#define new DEBUG_NEW
#endif
#endif