1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-09 00:21:16 +02:00
audacity/src/AudacityHeaders.h
lllucius 1eeb4d979a The fabled realtime effects...
I've made it where you can enable and disable via experimentals:

EXPERIMENTAL_REALTIME_EFFECTS
EXPERIMENTAL_EFFECTS_RACK

You will notice that, as of now, the only effects currently set up for
realtime are VSTs.  Now that this is in, I will start converting the
rest.

As I start to convert the effects, the astute of you may notice that
they no longer directly access tracks or any "internal" Audacity
objects.  This isolates the effects from changes in Audacity and makes
it much easier to add new ones.

Anyway, all 3 platforms can now display VST effects in graphical mode.
Yes, that means Linux too.  There are quite a few VSTs for Linux if
you search for them.

The so-called "rack" definitely needs some discussion, work, and attention
from someone much better at graphics than me.  I'm not really sure it should
stay in as-is.  I'd originally planned for it to be simply a utility window
where you can store your (preconfigured) favorite effects.  It should probably
revert back to that idea.

You may notice that this DOES include the API work I did.  The realtime effects
were too tied to it and I didn't want to redo the whole thing.  As I mentioned
elsewhere, the API stuff may or may not be very future proof.

So, let the critter complaints commence.  I absolute KNOW there will be some.
(I know I'll be hearing from the Linux peeps pretty darn quickly.  ;-))
2014-10-26 03:24:10 +00:00

95 lines
2.1 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>
#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>
#ifdef __WXMAC__
#include <wx/mac/private.h>
#endif
#include "audacity/Types.h"
#include "AColor.h"
#include "AudacityApp.h"
#include "AudioIO.h"
#include "BlockFile.h"
#include "DirManager.h"
#include "Envelope.h"
#include "FFT.h"
#include "FileFormats.h"
#include "FreqWindow.h"
#include "ImageManipulation.h"
#include "Internat.h"
#include "LabelTrack.h"
#include "Mix.h"
#include "NoteTrack.h"
#include "Prefs.h"
#include "Project.h"
#include "Resample.h"
#include "SampleFormat.h"
#include "Sequence.h"
#include "TimeTrack.h"
#include "Track.h"
#include "UndoManager.h"
#include "ViewInfo.h"
#include "WaveTrack.h"
#include "widgets/ASlider.h"
#include "widgets/ProgressDialog.h"
#include "widgets/Ruler.h"
#include "xml/XMLTagHandler.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>
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
#define new DEBUG_NEW
#endif
#endif