1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-24 14:20:19 +01:00
Files
audacity/src/FileNames.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

73 lines
2.1 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
FileNames.h
James Crook
**********************************************************************/
#ifndef __AUDACITY_FILE_NAMES__
#define __AUDACITY_FILE_NAMES__
#include <wx/string.h>
#include "Audacity.h"
class wxFileName;
class wxArrayString;
// Uh, this is really a namespace rather than a class,
// since all the functions are static.
class AUDACITY_DLL_API FileNames
{
public:
static wxString MkDir(const wxString &Str);
static wxString TempDir();
// originally an ExportMultiple method. Append suffix if newName appears in otherNames.
static void MakeNameUnique(wxArrayString &otherNames, wxFileName &newName);
/** \brief Audacity user data directory
*
* Where audacity keeps it's settings and other user data squirreled away,
* by default ~/.audacity-data/ on Unix, Application Data/Audacity on
* windows system */
static wxString DataDir();
static wxString AutoSaveDir();
static wxString HtmlHelpDir();
static wxString HtmlHelpIndexFile(bool quick);
static wxString ChainDir();
static wxString NRPDir();
static wxString NRPFile();
static wxString PluginsCache();
static wxString BaseDir();
static wxString ModulesDir();
/** \brief The user plug-in directory (not a system one)
*
* This returns the string path to where the user may have put plug-ins
* if they don't have system admin rights. Under default settings, it's
* <DataDir>/Plug-Ins/ */
static wxString PlugInDir();
static wxString ThemeDir();
static wxString ThemeComponentsDir();
static wxString ThemeCachePng();
static wxString ThemeCacheAsCee();
static wxString ThemeComponent(const wxString &Str);
static wxString ThemeCacheHtm();
static wxString ThemeImageDefsAsCee();
// Obtain name of loaded module that contains address
static wxString PathFromAddr(void *addr);
private:
// Private constructors: No one is ever going to instantiate it.
//
FileNames(){;};
~FileNames(){;};
};
#endif