mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-29 15:19:44 +02:00
More uses of AUDACITY_DLL_API...
... in many places where the function call will later need to be between modules (or libraries, or the executable) and the annotation will be a necessity to keep the linkage working on Windows. That's all that this sweeping commit does.
This commit is contained in:
parent
fbfccf1393
commit
406b23cae7
@ -30,4 +30,5 @@
|
||||
#endif
|
||||
#include "Cursors32/SubViewsCursor.xpm"
|
||||
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxCursor> MakeCursor(int WXUNUSED(CursorId), const char * const pXpm[36], int HotX, int HotY);
|
||||
|
@ -51,7 +51,7 @@
|
||||
class ModuleInterface;
|
||||
|
||||
|
||||
class PluginManagerInterface /* not final */
|
||||
class AUDACITY_DLL_API PluginManagerInterface /* not final */
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -287,7 +287,7 @@ using CommandIDs = std::vector<CommandID>;
|
||||
// The msgid should be used only in unusual cases and the translation more often
|
||||
//
|
||||
// Implicit conversions to and from wxString are intentionally disabled
|
||||
class TranslatableString {
|
||||
class AUDACITY_DLL_API TranslatableString {
|
||||
enum class Request;
|
||||
template< size_t N > struct PluralTemp;
|
||||
|
||||
|
@ -22,7 +22,7 @@ class wxDC;
|
||||
class wxGraphicsContext;
|
||||
class wxRect;
|
||||
|
||||
class AColor {
|
||||
class AUDACITY_DLL_API AColor {
|
||||
public:
|
||||
|
||||
enum ColorGradientChoice {
|
||||
|
@ -29,7 +29,7 @@ struct AboutDialogCreditItem {
|
||||
|
||||
using AboutDialogCreditItemsList = std::vector<AboutDialogCreditItem>;
|
||||
|
||||
class AboutDialog final : public wxDialogWrapper {
|
||||
class AUDACITY_DLL_API AboutDialog final : public wxDialogWrapper {
|
||||
DECLARE_DYNAMIC_CLASS(AboutDialog)
|
||||
|
||||
public:
|
||||
|
@ -45,7 +45,8 @@ protected:
|
||||
//! Abstract AudacityException subclass displays a message, specified by further subclass
|
||||
/*! At most one message will be displayed for each pass through the main event idle loop,
|
||||
no matter how many exceptions were caught. */
|
||||
class MessageBoxException /* not final */ : public AudacityException
|
||||
class AUDACITY_DLL_API MessageBoxException /* not final */
|
||||
: public AudacityException
|
||||
{
|
||||
//! Privatize the inherited function
|
||||
using AudacityException::DelayedHandlerAction;
|
||||
@ -74,7 +75,8 @@ protected:
|
||||
};
|
||||
|
||||
//! A MessageBoxException that shows a given, unvarying string.
|
||||
class SimpleMessageBoxException /* not final */ : public MessageBoxException
|
||||
class AUDACITY_DLL_API SimpleMessageBoxException /* not final */
|
||||
: public MessageBoxException
|
||||
{
|
||||
public:
|
||||
explicit SimpleMessageBoxException(
|
||||
|
@ -26,7 +26,7 @@
|
||||
class wxFrame;
|
||||
class wxTextCtrl;
|
||||
|
||||
class AudacityLogger final : public wxEvtHandler,
|
||||
class AUDACITY_DLL_API AudacityLogger final : public wxEvtHandler,
|
||||
public wxLog,
|
||||
public PrefsListener
|
||||
{
|
||||
|
@ -14,6 +14,7 @@
|
||||
class wxWindow;
|
||||
class AudacityProject;
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void RunBenchmark( wxWindow *parent, AudacityProject &project );
|
||||
|
||||
#endif // define __AUDACITY_BENCHMARK__
|
||||
|
@ -44,7 +44,7 @@ template< typename Object > using BarePtr = Object*;
|
||||
*/
|
||||
template<
|
||||
template<typename> class Owner = UniquePtr
|
||||
> struct Cloneable
|
||||
> struct AUDACITY_DLL_API Cloneable
|
||||
{
|
||||
using Base = Cloneable;
|
||||
using PointerType = Owner< Base >;
|
||||
|
@ -23,7 +23,7 @@ class TrackList;
|
||||
wxDECLARE_EXPORTED_EVENT( AUDACITY_DLL_API,
|
||||
EVT_CLIPBOARD_CHANGE, wxCommandEvent );
|
||||
|
||||
class Clipboard final
|
||||
class AUDACITY_DLL_API Clipboard final
|
||||
: public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
|
@ -15,10 +15,17 @@ Paul Licameli split from Menus.cpp
|
||||
|
||||
#include "commands/CommandFlag.h"
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool EditableTracksSelectedPred( const AudacityProject &project );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool AudioIOBusyPred( const AudacityProject &project );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool TimeSelectedPred( const AudacityProject &project );
|
||||
extern const CommandFlagOptions &cutCopyOptions();
|
||||
|
||||
AUDACITY_DLL_API
|
||||
const CommandFlagOptions &cutCopyOptions();
|
||||
|
||||
extern AUDACITY_DLL_API const ReservedCommandFlag
|
||||
&AudioIONotBusyFlag(),
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
namespace CrashReport
|
||||
{
|
||||
AUDACITY_DLL_API
|
||||
void Generate(wxDebugReport::Context ctx);
|
||||
}
|
||||
#endif
|
||||
|
@ -131,7 +131,7 @@ private:
|
||||
Commit() must not be called again after one successful call.
|
||||
An exception is thrown from the constructor if the transaction cannot open.
|
||||
*/
|
||||
class TransactionScope
|
||||
class AUDACITY_DLL_API TransactionScope
|
||||
{
|
||||
public:
|
||||
TransactionScope(DBConnection &connection, const char *name);
|
||||
|
@ -18,8 +18,6 @@
|
||||
#ifndef __AUDACITY_DEVICEMANAGER__
|
||||
#define __AUDACITY_DEVICEMANAGER__
|
||||
|
||||
|
||||
|
||||
#include <chrono>
|
||||
#include <vector>
|
||||
|
||||
@ -45,9 +43,10 @@ typedef struct DeviceSourceMap {
|
||||
wxString hostString;
|
||||
} DeviceSourceMap;
|
||||
|
||||
AUDACITY_DLL_API
|
||||
wxString MakeDeviceSourceString(const DeviceSourceMap *map);
|
||||
|
||||
class DeviceManager final
|
||||
class AUDACITY_DLL_API DeviceManager final
|
||||
#if defined(EXPERIMENTAL_DEVICE_CHANGE_HANDLER)
|
||||
#if defined(HAVE_DEVICE_CHANGE)
|
||||
: public DeviceChangeHandler
|
||||
|
@ -25,7 +25,7 @@ public:
|
||||
static DitherType FastDitherChoice();
|
||||
static DitherType BestDitherChoice();
|
||||
|
||||
static EnumSetting< DitherType > FastSetting, BestSetting;
|
||||
static AUDACITY_DLL_API EnumSetting< DitherType > FastSetting, BestSetting;
|
||||
|
||||
/// Default constructor
|
||||
Dither();
|
||||
|
@ -68,7 +68,7 @@ private:
|
||||
typedef std::vector<EnvPoint> EnvArray;
|
||||
struct TrackPanelDrawingContext;
|
||||
|
||||
class Envelope /* not final */ : public XMLTagHandler {
|
||||
class AUDACITY_DLL_API Envelope /* not final */ : public XMLTagHandler {
|
||||
public:
|
||||
// Envelope can define a piecewise linear function, or piecewise exponential.
|
||||
Envelope(bool exponential, double minValue, double maxValue, double defaultValue);
|
||||
|
@ -19,7 +19,7 @@ class ZoomInfo;
|
||||
|
||||
// A class that holds state for the duration of dragging
|
||||
// of an envelope point.
|
||||
class EnvelopeEditor
|
||||
class AUDACITY_DLL_API EnvelopeEditor
|
||||
{
|
||||
public:
|
||||
static void DrawPoints(
|
||||
|
10
src/FFT.h
10
src/FFT.h
@ -72,6 +72,7 @@ void PowerSpectrum(size_t NumSamples, const float *In, float *Out);
|
||||
* NumSamples must be a power of two.
|
||||
*/
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void RealFFT(size_t NumSamples,
|
||||
const float *RealIn, float *RealOut, float *ImagOut);
|
||||
|
||||
@ -80,6 +81,7 @@ void RealFFT(size_t NumSamples,
|
||||
* so the output is purely real. NumSamples must be a power of
|
||||
* two.
|
||||
*/
|
||||
AUDACITY_DLL_API
|
||||
void InverseRealFFT(size_t NumSamples,
|
||||
const float *RealIn, const float *ImagIn, float *RealOut);
|
||||
|
||||
@ -89,6 +91,7 @@ void InverseRealFFT(size_t NumSamples,
|
||||
* inverse transform as well.
|
||||
*/
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void FFT(size_t NumSamples,
|
||||
bool InverseTransform,
|
||||
const float *RealIn, const float *ImagIn, float *RealOut, float *ImagOut);
|
||||
@ -117,6 +120,7 @@ enum eWindowFunctions
|
||||
eWinFuncCount
|
||||
};
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void WindowFunc(int whichFunction, size_t NumSamples, float *data);
|
||||
|
||||
/*
|
||||
@ -125,6 +129,7 @@ void WindowFunc(int whichFunction, size_t NumSamples, float *data);
|
||||
* otherwise about (NumSamples - 1) / 2
|
||||
* All functions have 0 in data[0] except Rectangular, Hamming and Gaussians
|
||||
*/
|
||||
AUDACITY_DLL_API
|
||||
void NewWindowFunc(int whichFunction, size_t NumSamples, bool extraSample, float *data);
|
||||
|
||||
/*
|
||||
@ -134,19 +139,20 @@ void NewWindowFunc(int whichFunction, size_t NumSamples, bool extraSample, float
|
||||
* otherwise about (NumSamples - 1) / 2
|
||||
* All functions have 0 in data[0] except Rectangular, Hamming and Gaussians
|
||||
*/
|
||||
AUDACITY_DLL_API
|
||||
void DerivativeOfWindowFunc(int whichFunction, size_t NumSamples, bool extraSample, float *data);
|
||||
|
||||
/*
|
||||
* Returns the name of the windowing function (for UI display)
|
||||
*/
|
||||
|
||||
const TranslatableString WindowFuncName(int whichFunction);
|
||||
AUDACITY_DLL_API const TranslatableString WindowFuncName(int whichFunction);
|
||||
|
||||
/*
|
||||
* Returns the number of windowing functions supported
|
||||
*/
|
||||
|
||||
int NumWindowFuncs();
|
||||
AUDACITY_DLL_API int NumWindowFuncs();
|
||||
|
||||
void DeinitFFT();
|
||||
|
||||
|
@ -14,7 +14,8 @@
|
||||
#include <wx/filename.h> // wxFileName member variable
|
||||
|
||||
//! Thrown for failure of file or database operations in deeply nested places
|
||||
class FileException /* not final */ : public MessageBoxException
|
||||
class AUDACITY_DLL_API FileException /* not final */
|
||||
: public MessageBoxException
|
||||
{
|
||||
public:
|
||||
//! Identifies file operation that failed
|
||||
|
@ -30,6 +30,7 @@ class wxString;
|
||||
/** @brief Get the number of container formats supported by libsndfile
|
||||
*
|
||||
* Uses SFC_GET_FORMAT_MAJOR_COUNT in sf_command interface */
|
||||
AUDACITY_DLL_API
|
||||
int sf_num_headers();
|
||||
|
||||
/** @brief Get the name of a container format from libsndfile
|
||||
@ -39,8 +40,10 @@ int sf_num_headers();
|
||||
* @param format_num The libsndfile format number for the container format
|
||||
* required
|
||||
*/
|
||||
AUDACITY_DLL_API
|
||||
wxString sf_header_index_name(int format_num);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
unsigned int sf_header_index_to_type(int format_num);
|
||||
|
||||
//
|
||||
@ -48,11 +51,14 @@ unsigned int sf_header_index_to_type(int format_num);
|
||||
//
|
||||
/** @brief Get the number of data encodings libsndfile supports (in any
|
||||
* container or none */
|
||||
AUDACITY_DLL_API
|
||||
int sf_num_encodings();
|
||||
/** @brief Get the string name of the data encoding of the requested format
|
||||
*
|
||||
* uses SFC_GET_FORMAT_SUBTYPE */
|
||||
AUDACITY_DLL_API
|
||||
wxString sf_encoding_index_name(int encoding_num);
|
||||
AUDACITY_DLL_API
|
||||
unsigned int sf_encoding_index_to_subtype(int encoding_num);
|
||||
|
||||
//
|
||||
@ -64,6 +70,7 @@ unsigned int sf_encoding_index_to_subtype(int encoding_num);
|
||||
* then use SFC_GET_FORMAT_INFO to get the description
|
||||
* @param format the libsndfile format to get the name for (only the container
|
||||
* part is used) */
|
||||
AUDACITY_DLL_API
|
||||
wxString sf_header_name(int format);
|
||||
/** @brief Get an abbreviated form of the string name of the specified format
|
||||
*
|
||||
@ -71,6 +78,7 @@ wxString sf_header_name(int format);
|
||||
* to get just the first word of the format name.
|
||||
* @param format the libsndfile format to get the name for (only the container
|
||||
* part is used) */
|
||||
AUDACITY_DLL_API
|
||||
wxString sf_header_shortname(int format);
|
||||
/** @brief Get the most common file extension for the given format
|
||||
*
|
||||
@ -78,6 +86,7 @@ wxString sf_header_shortname(int format);
|
||||
* format, then retrieve the most common extension using SFC_GET_FORMAT_INFO.
|
||||
* @param format the libsndfile format to get the name for (only the container
|
||||
* part is used) */
|
||||
AUDACITY_DLL_API
|
||||
wxString sf_header_extension(int format);
|
||||
/** @brief Get the string name of the specified data encoding
|
||||
*
|
||||
@ -98,13 +107,18 @@ SF_FORMAT_INFO *sf_simple_format(int i);
|
||||
// other utility functions
|
||||
//
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool sf_subtype_more_than_16_bits(unsigned int format);
|
||||
AUDACITY_DLL_API
|
||||
bool sf_subtype_is_integer(unsigned int format);
|
||||
AUDACITY_DLL_API
|
||||
int sf_subtype_bytes_per_sample(unsigned int format);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
//! Choose the narrowest value in the sampleFormat enumeration for a given libsndfile format
|
||||
sampleFormat sf_subtype_to_effective_format(unsigned int format);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
extern FileExtensions sf_get_all_extensions();
|
||||
|
||||
wxString sf_normalize_name(const char *name);
|
||||
@ -123,7 +137,7 @@ inline R SFCall(F fun, Args&&... args)
|
||||
}
|
||||
|
||||
//RAII for SNDFILE*
|
||||
struct SFFileCloser { int operator () (SNDFILE*) const; };
|
||||
struct AUDACITY_DLL_API SFFileCloser { int operator () (SNDFILE*) const; };
|
||||
struct SFFile : public std::unique_ptr<SNDFILE, ::SFFileCloser>
|
||||
{
|
||||
SFFile() = default;
|
||||
|
@ -18,7 +18,7 @@ class wxOutputStream;
|
||||
class wxFFileOutputStream;
|
||||
class wxFileNameWrapper;
|
||||
|
||||
class FileIO
|
||||
class AUDACITY_DLL_API FileIO
|
||||
{
|
||||
public:
|
||||
typedef enum FileIOMode
|
||||
|
@ -69,7 +69,7 @@ namespace FileNames
|
||||
};
|
||||
|
||||
// Frequently used types
|
||||
extern const FileType
|
||||
extern AUDACITY_DLL_API const FileType
|
||||
AllFiles // *
|
||||
, AudacityProjects // *.aup3
|
||||
, DynamicLibraries // depends on the operating system
|
||||
@ -80,20 +80,21 @@ namespace FileNames
|
||||
|
||||
// Convert fileTypes into a single string as expected by wxWidgets file
|
||||
// selection dialog
|
||||
wxString FormatWildcard( const FileTypes &fileTypes );
|
||||
AUDACITY_DLL_API wxString FormatWildcard( const FileTypes &fileTypes );
|
||||
|
||||
// This exists to compensate for bugs in wxCopyFile:
|
||||
bool DoCopyFile(
|
||||
AUDACITY_DLL_API bool DoCopyFile(
|
||||
const FilePath& file1, const FilePath& file2, bool overwrite = true);
|
||||
|
||||
// wxWidgets doesn't have a function to do this: make a hard file-system
|
||||
// link if possible. It might not be, as when the paths are on different
|
||||
// storage devices.
|
||||
AUDACITY_DLL_API
|
||||
bool HardLinkFile( const FilePath& file1, const FilePath& file2);
|
||||
|
||||
wxString MkDir(const wxString &Str);
|
||||
AUDACITY_DLL_API wxString MkDir(const wxString &Str);
|
||||
|
||||
bool IsMidi(const FilePath &fName);
|
||||
AUDACITY_DLL_API bool IsMidi(const FilePath &fName);
|
||||
|
||||
/** \brief A list of directories that should be searched for Audacity files
|
||||
* (plug-ins, help files, etc.).
|
||||
@ -103,52 +104,52 @@ namespace FileNames
|
||||
* directories can be specified using the AUDACITY_PATH environment
|
||||
* variable. On Windows or Mac OS, this will include the directory
|
||||
* which contains the Audacity program. */
|
||||
const FilePaths &AudacityPathList();
|
||||
void SetAudacityPathList( FilePaths list );
|
||||
AUDACITY_DLL_API const FilePaths &AudacityPathList();
|
||||
AUDACITY_DLL_API void SetAudacityPathList( FilePaths list );
|
||||
|
||||
// originally an ExportMultipleDialog method. Append suffix if newName appears in otherNames.
|
||||
void MakeNameUnique(
|
||||
AUDACITY_DLL_API void MakeNameUnique(
|
||||
FilePaths &otherNames, wxFileName &newName);
|
||||
|
||||
wxString LowerCaseAppNameInPath( const wxString & dirIn);
|
||||
AUDACITY_DLL_API wxString LowerCaseAppNameInPath( const wxString & dirIn);
|
||||
/** \brief Audacity user data directory
|
||||
*
|
||||
* Where audacity keeps its settings and other user data squirreled away,
|
||||
* by default ~/.audacity-data/ on Unix, Application Data/Audacity on
|
||||
* windows system */
|
||||
FilePath DataDir();
|
||||
FilePath ResourcesDir();
|
||||
FilePath HtmlHelpDir();
|
||||
FilePath HtmlHelpIndexFile(bool quick);
|
||||
FilePath LegacyChainDir();
|
||||
FilePath MacroDir();
|
||||
FilePath NRPDir();
|
||||
FilePath NRPFile();
|
||||
FilePath PluginRegistry();
|
||||
FilePath PluginSettings();
|
||||
AUDACITY_DLL_API FilePath DataDir();
|
||||
AUDACITY_DLL_API FilePath ResourcesDir();
|
||||
AUDACITY_DLL_API FilePath HtmlHelpDir();
|
||||
AUDACITY_DLL_API FilePath HtmlHelpIndexFile(bool quick);
|
||||
AUDACITY_DLL_API FilePath LegacyChainDir();
|
||||
AUDACITY_DLL_API FilePath MacroDir();
|
||||
AUDACITY_DLL_API FilePath NRPDir();
|
||||
AUDACITY_DLL_API FilePath NRPFile();
|
||||
AUDACITY_DLL_API FilePath PluginRegistry();
|
||||
AUDACITY_DLL_API FilePath PluginSettings();
|
||||
|
||||
FilePath BaseDir();
|
||||
FilePath ModulesDir();
|
||||
AUDACITY_DLL_API FilePath BaseDir();
|
||||
AUDACITY_DLL_API FilePath 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/ */
|
||||
FilePath PlugInDir();
|
||||
FilePath ThemeDir();
|
||||
FilePath ThemeComponentsDir();
|
||||
FilePath ThemeCachePng();
|
||||
FilePath ThemeCacheAsCee();
|
||||
FilePath ThemeComponent(const wxString &Str);
|
||||
FilePath ThemeCacheHtm();
|
||||
FilePath ThemeImageDefsAsCee();
|
||||
AUDACITY_DLL_API FilePath PlugInDir();
|
||||
AUDACITY_DLL_API FilePath ThemeDir();
|
||||
AUDACITY_DLL_API FilePath ThemeComponentsDir();
|
||||
AUDACITY_DLL_API FilePath ThemeCachePng();
|
||||
AUDACITY_DLL_API FilePath ThemeCacheAsCee();
|
||||
AUDACITY_DLL_API FilePath ThemeComponent(const wxString &Str);
|
||||
AUDACITY_DLL_API FilePath ThemeCacheHtm();
|
||||
AUDACITY_DLL_API FilePath ThemeImageDefsAsCee();
|
||||
|
||||
// Obtain name of loaded module that contains address
|
||||
FilePath PathFromAddr(void *addr);
|
||||
AUDACITY_DLL_API FilePath PathFromAddr(void *addr);
|
||||
|
||||
bool IsPathAvailable( const FilePath & Path);
|
||||
wxFileNameWrapper DefaultToDocumentsFolder
|
||||
AUDACITY_DLL_API bool IsPathAvailable( const FilePath & Path);
|
||||
AUDACITY_DLL_API wxFileNameWrapper DefaultToDocumentsFolder
|
||||
(const wxString &preference);
|
||||
|
||||
// If not None, determines a preference key (for the default path string) to
|
||||
@ -176,10 +177,10 @@ namespace FileNames
|
||||
LastUsed
|
||||
};
|
||||
|
||||
wxString PreferenceKey(FileNames::Operation op, FileNames::PathType type);
|
||||
AUDACITY_DLL_API wxString PreferenceKey(FileNames::Operation op, FileNames::PathType type);
|
||||
|
||||
FilePath FindDefaultPath(Operation op);
|
||||
void UpdateDefaultPath(Operation op, const FilePath &path);
|
||||
AUDACITY_DLL_API FilePath FindDefaultPath(Operation op);
|
||||
AUDACITY_DLL_API void UpdateDefaultPath(Operation op, const FilePath &path);
|
||||
|
||||
// F is a function taking a wxString, returning wxString
|
||||
template<typename F>
|
||||
@ -194,7 +195,7 @@ namespace FileNames
|
||||
return result;
|
||||
}
|
||||
|
||||
FilePath
|
||||
AUDACITY_DLL_API FilePath
|
||||
SelectFile(Operation op, // op matters only when default_path is empty
|
||||
const TranslatableString& message,
|
||||
const FilePath& default_path,
|
||||
@ -205,11 +206,11 @@ namespace FileNames
|
||||
wxWindow *parent);
|
||||
|
||||
// Useful functions for working with search paths
|
||||
void AddUniquePathToPathList(const FilePath &path,
|
||||
AUDACITY_DLL_API void AddUniquePathToPathList(const FilePath &path,
|
||||
FilePaths &pathList);
|
||||
void AddMultiPathsToPathList(const wxString &multiPathString,
|
||||
AUDACITY_DLL_API void AddMultiPathsToPathList(const wxString &multiPathString,
|
||||
FilePaths &pathList);
|
||||
void FindFilesInPathList(const wxString & pattern,
|
||||
AUDACITY_DLL_API void FindFilesInPathList(const wxString & pattern,
|
||||
const FilePaths & pathList,
|
||||
FilePaths &results,
|
||||
int flags = wxDIR_FILES);
|
||||
@ -217,18 +218,18 @@ namespace FileNames
|
||||
/** \brief Protect against Unicode to multi-byte conversion failures
|
||||
* on Windows */
|
||||
#if defined(__WXMSW__)
|
||||
char *VerifyFilename(const wxString &s, bool input = true);
|
||||
AUDACITY_DLL_API char *VerifyFilename(const wxString &s, bool input = true);
|
||||
#endif
|
||||
|
||||
// wxString compare function for sorting case, which is needed to load correctly.
|
||||
int CompareNoCase(const wxString& first, const wxString& second);
|
||||
AUDACITY_DLL_API int CompareNoCase(const wxString& first, const wxString& second);
|
||||
|
||||
// Create a unique filename using the passed prefix and suffix
|
||||
wxString CreateUniqueName(const wxString &prefix,
|
||||
AUDACITY_DLL_API wxString CreateUniqueName(const wxString &prefix,
|
||||
const wxString &suffix = wxEmptyString);
|
||||
|
||||
// File extension used for unsaved/temporary project files
|
||||
wxString UnsavedProjectExtension();
|
||||
AUDACITY_DLL_API wxString UnsavedProjectExtension();
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool IsOnFATFileSystem(const FilePath &path);
|
||||
|
@ -14,12 +14,12 @@
|
||||
class TranslatableString;
|
||||
class wxString;
|
||||
|
||||
wxString HelpText( const wxString & Key );
|
||||
TranslatableString TitleText( const wxString & Key );
|
||||
AUDACITY_DLL_API wxString HelpText( const wxString & Key );
|
||||
AUDACITY_DLL_API TranslatableString TitleText( const wxString & Key );
|
||||
|
||||
extern const wxString VerCheckArgs();
|
||||
extern const wxString VerCheckUrl();
|
||||
extern const wxString VerCheckHtml();
|
||||
extern wxString FormatHtmlText( const wxString & Text );
|
||||
extern AUDACITY_DLL_API const wxString VerCheckArgs();
|
||||
extern AUDACITY_DLL_API const wxString VerCheckUrl();
|
||||
extern AUDACITY_DLL_API const wxString VerCheckHtml();
|
||||
extern AUDACITY_DLL_API wxString FormatHtmlText( const wxString & Text );
|
||||
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@ class wxImage;
|
||||
// the entire image by the vector difference between that
|
||||
// pixel and the dstColour. For better control, use
|
||||
// ChangeImageColour(wxImage, wxColour*, wxColour*) below
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> ChangeImageColour(wxImage * srcImage, wxColour & dstColour);
|
||||
|
||||
// This function takes a source image, which it assumes to
|
||||
@ -27,6 +28,7 @@ std::unique_ptr<wxImage> ChangeImageColour(wxImage * srcImage, wxColour & dstCol
|
||||
// Audacity uses this routines to make the buttons
|
||||
// (skip-start, play, stop, record, skip-end) adapt to
|
||||
// the color scheme of the user.
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> ChangeImageColour(wxImage * srcImage,
|
||||
wxColour & srcColour,
|
||||
wxColour & dstColour);
|
||||
@ -36,6 +38,7 @@ std::unique_ptr<wxImage> ChangeImageColour(wxImage * srcImage,
|
||||
// returns a NEW image where the foreground has been
|
||||
// overlaid onto the background using alpha-blending,
|
||||
// at location (xoff, yoff).
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> OverlayImage(wxImage * background, wxImage * foreground,
|
||||
wxImage * mask, int xoff, int yoff);
|
||||
|
||||
@ -45,23 +48,29 @@ using teBmps = int; /// The index of a bitmap resource in Theme Resources.
|
||||
|
||||
// Same idea, but this time the mask is an alpha channel in
|
||||
// the foreground bitmap, and it's all retrieved from Themes.
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> OverlayImage(teBmps eBack, teBmps eForeground,
|
||||
int xoff, int yoff);
|
||||
|
||||
|
||||
// Creates an image with a solid background color
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> CreateBackground(int width, int height, wxColour colour);
|
||||
|
||||
// Creates an image with the Mac OS X Aqua stripes, to be used
|
||||
// as a background
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> CreateAquaBackground(int width, int height, int offset);
|
||||
|
||||
// Uses color on all OS except Mac, uses Aqua
|
||||
AUDACITY_DLL_API
|
||||
std::unique_ptr<wxImage> CreateSysBackground(int width, int height, int offset,
|
||||
wxColour colour);
|
||||
|
||||
// Pastes one image into another at specified location.
|
||||
AUDACITY_DLL_API
|
||||
void PasteSubImage( wxImage * pDest, wxImage * pSrc, int x, int y );
|
||||
|
||||
// Gets a rectangle from within another image, INCLUDING the alpha channel
|
||||
AUDACITY_DLL_API
|
||||
wxImage GetSubImageWithAlpha( const wxImage & Src, const wxRect &rect );
|
||||
|
@ -20,7 +20,7 @@
|
||||
The error message identifies source file and line number, possibly the function too (depending on
|
||||
the compiler), and suggests that the user inform the development team.
|
||||
*/
|
||||
class InconsistencyException final : public MessageBoxException
|
||||
class AUDACITY_DLL_API InconsistencyException final : public MessageBoxException
|
||||
{
|
||||
public:
|
||||
InconsistencyException() {}
|
||||
|
@ -101,7 +101,7 @@ extern AUDACITY_DLL_API const wxString& GetCustomSubstitution(const wxString& st
|
||||
#define XPC(sing, plur, n, c) \
|
||||
TranslatableString{ wxT(sing), {} }.Context(c).Plural<(n)>( wxT(plur) )
|
||||
|
||||
class Internat
|
||||
class AUDACITY_DLL_API Internat
|
||||
{
|
||||
public:
|
||||
/** \brief Initialize internationalisation support. Call this once at
|
||||
@ -161,9 +161,9 @@ private:
|
||||
#define LAT1CTOWX(X) wxString((X), wxConvISO8859_1)
|
||||
|
||||
class ComponentInterfaceSymbol;
|
||||
TranslatableStrings Msgids(
|
||||
AUDACITY_DLL_API TranslatableStrings Msgids(
|
||||
const EnumValueSymbol strings[], size_t nStrings);
|
||||
TranslatableStrings Msgids( const std::vector<EnumValueSymbol> &strings );
|
||||
AUDACITY_DLL_API TranslatableStrings Msgids( const std::vector<EnumValueSymbol> &strings );
|
||||
|
||||
// Whether disambiguationg contexts are supported
|
||||
// If not, then the program builds and runs, but strings in the catalog with
|
||||
|
@ -31,16 +31,17 @@ DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_CAPTURE_KEY, -1);
|
||||
|
||||
namespace KeyboardCapture
|
||||
{
|
||||
bool IsHandler(const wxWindow *handler);
|
||||
wxWindow *GetHandler();
|
||||
void Capture(wxWindow *handler);
|
||||
void Release(wxWindow *handler);
|
||||
AUDACITY_DLL_API bool IsHandler(const wxWindow *handler);
|
||||
AUDACITY_DLL_API wxWindow *GetHandler();
|
||||
AUDACITY_DLL_API void Capture(wxWindow *handler);
|
||||
AUDACITY_DLL_API void Release(wxWindow *handler);
|
||||
|
||||
using FilterFunction = std::function< bool( wxKeyEvent& ) >;
|
||||
|
||||
/// \brief Install a pre-filter, returning the previously installed one
|
||||
/// Pre-filter is called before passing the event to the captured window; if it
|
||||
/// returns false, then skip the event entirely
|
||||
AUDACITY_DLL_API
|
||||
FilterFunction SetPreFilter( const FilterFunction &function );
|
||||
|
||||
/// \brief Install a post-filter, returning the previously installed one
|
||||
@ -49,12 +50,14 @@ namespace KeyboardCapture
|
||||
/// it skips only the wxEVT_CHAR or wxEVT_KEY_UP event); it is passed a
|
||||
/// wxKEY_DOWN or a wxKEY_UP event; if it returns false, then the event is
|
||||
/// skipped
|
||||
AUDACITY_DLL_API
|
||||
FilterFunction SetPostFilter( const FilterFunction &function );
|
||||
|
||||
/// \brief a function useful to implement a focus event handler
|
||||
/// The window releases the keyboard if the event is for killing focus,
|
||||
/// otherwise the window captures the keyboard; then refresh the window
|
||||
/// and skip the event
|
||||
AUDACITY_DLL_API
|
||||
void OnFocus( wxWindow &window, wxFocusEvent &event );
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ class TimeWarper;
|
||||
struct LabelTrackHit;
|
||||
struct TrackPanelDrawingContext;
|
||||
|
||||
class LabelStruct
|
||||
class AUDACITY_DLL_API LabelStruct
|
||||
{
|
||||
public:
|
||||
LabelStruct() = default;
|
||||
|
@ -16,6 +16,7 @@ class wxString;
|
||||
|
||||
#include "audacity/Types.h"
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetLanguages(
|
||||
wxArrayString &langCodes, TranslatableStrings &langNames);
|
||||
|
||||
|
@ -35,7 +35,7 @@ typedef wxArrayString PluginIDs;
|
||||
|
||||
namespace Registry{ class Visitor; }
|
||||
|
||||
class MenuCreator
|
||||
class AUDACITY_DLL_API MenuCreator
|
||||
{
|
||||
public:
|
||||
MenuCreator();
|
||||
@ -71,7 +71,7 @@ public:
|
||||
|
||||
struct ToolbarMenuVisitor;
|
||||
|
||||
class MenuManager final
|
||||
class AUDACITY_DLL_API MenuManager final
|
||||
: public MenuCreator
|
||||
, public ClientData::Base
|
||||
, private PrefsListener
|
||||
|
@ -43,7 +43,7 @@ class WaveTrackCache;
|
||||
* no explicit time range to process, and the whole occupied length of the
|
||||
* input tracks is processed.
|
||||
*/
|
||||
void MixAndRender(TrackList * tracks, WaveTrackFactory *factory,
|
||||
void AUDACITY_DLL_API MixAndRender(TrackList * tracks, WaveTrackFactory *factory,
|
||||
double rate, sampleFormat format,
|
||||
double startTime, double endTime,
|
||||
std::shared_ptr<WaveTrack> &uLeft,
|
||||
@ -79,7 +79,7 @@ class AUDACITY_DLL_API Mixer {
|
||||
public:
|
||||
|
||||
// An argument to Mixer's constructor
|
||||
class WarpOptions
|
||||
class AUDACITY_DLL_API WarpOptions
|
||||
{
|
||||
public:
|
||||
//! Construct with warp from the TimeTrack if there is one
|
||||
|
@ -75,7 +75,7 @@ typedef std::map<wxString, ModuleInterfaceHandle> ModuleMap;
|
||||
typedef std::map<ModuleInterface *, std::unique_ptr<wxDynamicLibrary>> LibraryMap;
|
||||
using PluginIDs = wxArrayString;
|
||||
|
||||
class ModuleManager final
|
||||
class AUDACITY_DLL_API ModuleManager final
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -26,37 +26,39 @@ class TranslatableString;
|
||||
// Each register starts with C (e.g., for middle C and A440,
|
||||
// it's register 4).
|
||||
// MIDI note number 0 is C-1 in Scientific pitch notation.
|
||||
double FreqToMIDInote(const double freq);
|
||||
AUDACITY_DLL_API double FreqToMIDInote(const double freq);
|
||||
|
||||
double MIDInoteToFreq(const double dMIDInote);
|
||||
AUDACITY_DLL_API double MIDInoteToFreq(const double dMIDInote);
|
||||
|
||||
// PitchIndex returns the [0,11] index for a double MIDI note number,
|
||||
// per result from FreqToMIDInote, corresponding to modulo 12
|
||||
// of the integer part of (dMIDInote + 0.5), so 0=C, 1=C#, etc.
|
||||
unsigned int PitchIndex(const double dMIDInote);
|
||||
AUDACITY_DLL_API unsigned int PitchIndex(const double dMIDInote);
|
||||
|
||||
// PitchOctave returns the octave index for a double dMIDInote note number,
|
||||
// per result from FreqToMIDInote.
|
||||
// MIDI note number 0 is C-1 in Scientific pitch notation.
|
||||
int PitchOctave(const double dMIDInote);
|
||||
AUDACITY_DLL_API int PitchOctave(const double dMIDInote);
|
||||
|
||||
enum class PitchNameChoice { Sharps, Flats, Both };
|
||||
|
||||
// PitchName takes dMIDInote (per result from
|
||||
// FreqToMIDInote) and returns a standard pitch/note name [C, C#, etc.).
|
||||
TranslatableString PitchName(
|
||||
AUDACITY_DLL_API TranslatableString PitchName(
|
||||
const double dMIDInote,
|
||||
const PitchNameChoice choice = PitchNameChoice::Sharps );
|
||||
|
||||
// PitchName_Absolute does the same thing as PitchName, but appends
|
||||
// the octave number, e.g., instead of "C" it will return "C4"
|
||||
// if the dMIDInote corresponds to middle C, i.e., is 60.
|
||||
TranslatableString PitchName_Absolute(
|
||||
AUDACITY_DLL_API TranslatableString PitchName_Absolute(
|
||||
const double dMIDInote,
|
||||
const PitchNameChoice choice = PitchNameChoice::Sharps);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
double PitchToMIDInote(const unsigned int nPitchIndex, const int nPitchOctave);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
double PitchToFreq(const unsigned int nPitchIndex, const int nPitchOctave);
|
||||
|
||||
#endif // __AUDACITY_PITCHNAME__
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "audacity/Types.h"
|
||||
|
||||
class PlatformCompatibility
|
||||
class AUDACITY_DLL_API PlatformCompatibility
|
||||
{
|
||||
public:
|
||||
//
|
||||
|
@ -41,7 +41,7 @@ typedef enum
|
||||
} PluginType;
|
||||
|
||||
// TODO: Convert this to multiple derived classes
|
||||
class PluginDescriptor
|
||||
class AUDACITY_DLL_API PluginDescriptor
|
||||
{
|
||||
public:
|
||||
PluginDescriptor();
|
||||
@ -168,7 +168,7 @@ typedef wxArrayString PluginIDs;
|
||||
|
||||
class PluginRegistrationDialog;
|
||||
|
||||
class PluginManager final : public PluginManagerInterface
|
||||
class AUDACITY_DLL_API PluginManager final : public PluginManagerInterface
|
||||
{
|
||||
public:
|
||||
|
||||
|
12
src/Prefs.h
12
src/Prefs.h
@ -58,7 +58,7 @@ extern ByColumns_t ByColumns;
|
||||
/// A table of EnumValueSymbol that you can access by "row" with
|
||||
/// operator [] but also allowing access to the "columns" of internal or
|
||||
/// translated strings, and also allowing convenient column-wise construction
|
||||
class EnumValueSymbols : public std::vector< EnumValueSymbol >
|
||||
class AUDACITY_DLL_API EnumValueSymbols : public std::vector< EnumValueSymbol >
|
||||
{
|
||||
public:
|
||||
EnumValueSymbols() = default;
|
||||
@ -86,7 +86,7 @@ private:
|
||||
|
||||
/// Packages a table of user-visible choices each with an internal code string,
|
||||
/// a preference key path, and a default choice
|
||||
class ChoiceSetting
|
||||
class AUDACITY_DLL_API ChoiceSetting
|
||||
{
|
||||
public:
|
||||
ChoiceSetting(
|
||||
@ -136,7 +136,7 @@ protected:
|
||||
/// (generally not equal to their table positions),
|
||||
/// and optionally an old preference key path that stored integer codes, to be
|
||||
/// migrated into one that stores internal string values instead
|
||||
class EnumSettingBase : public ChoiceSetting
|
||||
class AUDACITY_DLL_API EnumSettingBase : public ChoiceSetting
|
||||
{
|
||||
public:
|
||||
EnumSettingBase(
|
||||
@ -209,7 +209,8 @@ public:
|
||||
|
||||
// An event emitted by the application when the Preference dialog commits
|
||||
// changes
|
||||
wxDECLARE_EVENT(EVT_PREFS_UPDATE, wxCommandEvent);
|
||||
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
|
||||
EVT_PREFS_UPDATE, wxCommandEvent);
|
||||
|
||||
// Invoke UpdatePrefs() when Preference dialog commits changes.
|
||||
class AUDACITY_DLL_API PrefsListener
|
||||
@ -236,13 +237,14 @@ private:
|
||||
/// Return the config file key associated with a warning dialog identified
|
||||
/// by internalDialogName. When the box is checked, the value at the key
|
||||
/// becomes false.
|
||||
AUDACITY_DLL_API
|
||||
wxString WarningDialogKey(const wxString &internalDialogName);
|
||||
|
||||
/*
|
||||
Meant to be statically constructed. A callback to repopulate configuration
|
||||
files after a reset.
|
||||
*/
|
||||
struct PreferenceInitializer {
|
||||
struct AUDACITY_DLL_API PreferenceInitializer {
|
||||
PreferenceInitializer();
|
||||
virtual ~PreferenceInitializer();
|
||||
virtual void operator () () = 0;
|
||||
|
@ -27,14 +27,14 @@ class AudacityProject;
|
||||
|
||||
AUDACITY_DLL_API AudacityProject *GetActiveProject();
|
||||
// For use by ProjectManager only:
|
||||
extern void SetActiveProject(AudacityProject * project);
|
||||
AUDACITY_DLL_API void SetActiveProject(AudacityProject * project);
|
||||
|
||||
/// \brief an object of class AllProjects acts like a standard library
|
||||
/// container, but refers to a global array of open projects. So you can
|
||||
/// iterate easily over shared pointers to them with range-for :
|
||||
/// for (auto pProject : AllProjects{}) { ... }
|
||||
/// The pointers are never null.
|
||||
class AllProjects
|
||||
class AUDACITY_DLL_API AllProjects
|
||||
{
|
||||
// Use shared_ptr to projects, because elsewhere we need weak_ptr
|
||||
using AProjectHolder = std::shared_ptr< AudacityProject >;
|
||||
|
@ -19,7 +19,7 @@ class MeterPanelBase;
|
||||
|
||||
///\ brief Holds per-project state needed for interaction with AudioIO,
|
||||
/// including the audio stream token and pointers to meters
|
||||
class ProjectAudioIO final
|
||||
class AUDACITY_DLL_API ProjectAudioIO final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
|
@ -38,7 +38,7 @@ struct TransportTracks;
|
||||
|
||||
enum StatusBarField : int;
|
||||
|
||||
class ProjectAudioManager final
|
||||
class AUDACITY_DLL_API ProjectAudioManager final
|
||||
: public ClientData::Base
|
||||
, public AudioIOListener
|
||||
, public std::enable_shared_from_this< ProjectAudioManager >
|
||||
@ -163,7 +163,9 @@ private:
|
||||
const AudacityProject &project, StatusBarField field);
|
||||
};
|
||||
|
||||
AUDACITY_DLL_API
|
||||
AudioIOStartStreamOptions DefaultPlayOptions( AudacityProject &project );
|
||||
AUDACITY_DLL_API
|
||||
AudioIOStartStreamOptions DefaultSpeedPlayOptions( AudacityProject &project );
|
||||
|
||||
struct PropertiesOfSelected
|
||||
@ -173,11 +175,12 @@ struct PropertiesOfSelected
|
||||
int numberOfSelected{ 0 };
|
||||
};
|
||||
|
||||
AUDACITY_DLL_API
|
||||
PropertiesOfSelected GetPropertiesOfSelected(const AudacityProject &proj);
|
||||
|
||||
#include "commands/CommandFlag.h"
|
||||
|
||||
extern const ReservedCommandFlag
|
||||
extern AUDACITY_DLL_API const ReservedCommandFlag
|
||||
&CanStopAudioStreamFlag();
|
||||
|
||||
#endif
|
||||
|
@ -52,7 +52,7 @@ wxDECLARE_EXPORTED_EVENT( AUDACITY_DLL_API,
|
||||
|
||||
///\brief Object associated with a project that manages reading and writing
|
||||
/// of Audacity project file formats, and autosave
|
||||
class ProjectFileIO final
|
||||
class AUDACITY_DLL_API ProjectFileIO final
|
||||
: public ClientData::Base
|
||||
, public XMLTagHandler
|
||||
, private PrefsListener
|
||||
@ -327,7 +327,7 @@ wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
|
||||
EVT_PROJECT_TITLE_CHANGE, wxCommandEvent);
|
||||
|
||||
//! Makes a temporary project that doesn't display on the screen
|
||||
class InvisibleTemporaryProject
|
||||
class AUDACITY_DLL_API InvisibleTemporaryProject
|
||||
{
|
||||
public:
|
||||
InvisibleTemporaryProject();
|
||||
|
@ -24,7 +24,7 @@ using TagHandlerFactory =
|
||||
std::function< XMLTagHandler *( AudacityProject & ) >;
|
||||
|
||||
// Typically statically constructed
|
||||
struct Entry{
|
||||
struct AUDACITY_DLL_API Entry{
|
||||
Entry( const wxString &tag, const TagHandlerFactory &factory );
|
||||
};
|
||||
|
||||
|
@ -28,7 +28,7 @@ class XMLTagHandler;
|
||||
using WaveTrackArray = std::vector < std::shared_ptr < WaveTrack > >;
|
||||
using TrackHolders = std::vector< WaveTrackArray >;
|
||||
|
||||
class ProjectFileManager final
|
||||
class AUDACITY_DLL_API ProjectFileManager final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
|
@ -17,7 +17,7 @@ class AudacityProject;
|
||||
struct UndoState;
|
||||
enum class UndoPush : unsigned char;
|
||||
|
||||
class ProjectHistory final
|
||||
class AUDACITY_DLL_API ProjectHistory final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
|
@ -25,7 +25,7 @@ struct AudioIOStartStreamOptions;
|
||||
///\brief Object associated with a project for high-level management of the
|
||||
/// project's lifetime, including creation, destruction, opening from file,
|
||||
/// importing, pushing undo states, and reverting to saved states
|
||||
class ProjectManager final
|
||||
class AUDACITY_DLL_API ProjectManager final
|
||||
: public wxEvtHandler
|
||||
, public ClientData::Base
|
||||
{
|
||||
|
@ -17,7 +17,7 @@ Paul Licameli split from ProjectManager.cpp
|
||||
|
||||
class AudacityProject;
|
||||
|
||||
class ProjectSelectionManager final
|
||||
class AUDACITY_DLL_API ProjectSelectionManager final
|
||||
: public ClientData::Base
|
||||
, public SelectionBarListener
|
||||
, public SpectralSelectionBarListener
|
||||
|
@ -47,7 +47,7 @@ enum {
|
||||
|
||||
///\brief Holds various per-project settings values, including the sample rate,
|
||||
/// and sends events to the project when certain values change
|
||||
class ProjectSettings final
|
||||
class AUDACITY_DLL_API ProjectSettings final
|
||||
: public ClientData::Base
|
||||
, private PrefsListener
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ enum StatusBarField : int {
|
||||
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
|
||||
EVT_PROJECT_STATUS_UPDATE, wxCommandEvent);
|
||||
|
||||
class ProjectStatus final
|
||||
class AUDACITY_DLL_API ProjectStatus final
|
||||
: public ClientData::Base
|
||||
, public PrefsListener
|
||||
{
|
||||
@ -57,7 +57,7 @@ public:
|
||||
using StatusWidthFunctions = std::vector< StatusWidthFunction >;
|
||||
|
||||
// Typically a static instance of this struct is used.
|
||||
struct RegisteredStatusWidthFunction
|
||||
struct AUDACITY_DLL_API RegisteredStatusWidthFunction
|
||||
{
|
||||
explicit
|
||||
RegisteredStatusWidthFunction( const StatusWidthFunction &function );
|
||||
|
@ -26,7 +26,7 @@ void InitProjectWindow( ProjectWindow &window );
|
||||
|
||||
///\brief A top-level window associated with a project, and handling scrollbars
|
||||
/// and zooming
|
||||
class ProjectWindow final : public ProjectWindowBase
|
||||
class AUDACITY_DLL_API ProjectWindow final : public ProjectWindowBase
|
||||
, public TrackPanelListener
|
||||
, public PrefsListener
|
||||
{
|
||||
|
@ -33,7 +33,7 @@ protected:
|
||||
AudacityProject &mProject;
|
||||
};
|
||||
|
||||
AudacityProject *FindProjectFromWindow( wxWindow *pWindow );
|
||||
AUDACITY_DLL_API AudacityProject *FindProjectFromWindow( wxWindow *pWindow );
|
||||
const AudacityProject *FindProjectFromWindow( const wxWindow *pWindow );
|
||||
|
||||
#endif
|
||||
|
@ -17,7 +17,7 @@ struct FFTParam {
|
||||
#endif
|
||||
};
|
||||
|
||||
struct FFTDeleter{
|
||||
struct AUDACITY_DLL_API FFTDeleter{
|
||||
void operator () (FFTParam *p) const;
|
||||
};
|
||||
|
||||
@ -25,11 +25,11 @@ using HFFT = std::unique_ptr<
|
||||
FFTParam, FFTDeleter
|
||||
>;
|
||||
|
||||
HFFT GetFFT(size_t);
|
||||
void RealFFTf(fft_type *, const FFTParam *);
|
||||
void InverseRealFFTf(fft_type *, const FFTParam *);
|
||||
void ReorderToTime(const FFTParam *hFFT, const fft_type *buffer, fft_type *TimeOut);
|
||||
void ReorderToFreq(const FFTParam *hFFT, const fft_type *buffer,
|
||||
AUDACITY_DLL_API HFFT GetFFT(size_t);
|
||||
AUDACITY_DLL_API void RealFFTf(fft_type *, const FFTParam *);
|
||||
AUDACITY_DLL_API void InverseRealFFTf(fft_type *, const FFTParam *);
|
||||
AUDACITY_DLL_API void ReorderToTime(const FFTParam *hFFT, const fft_type *buffer, fft_type *TimeOut);
|
||||
AUDACITY_DLL_API void ReorderToFreq(const FFTParam *hFFT, const fft_type *buffer,
|
||||
fft_type *RealOut, fft_type *ImagOut);
|
||||
|
||||
#endif
|
||||
|
@ -56,7 +56,7 @@ namespace Registry {
|
||||
// Most items in the table will be the large ones describing commands, so the
|
||||
// waste of space in unions for separators and sub-menus should not be
|
||||
// large.
|
||||
struct BaseItem {
|
||||
struct AUDACITY_DLL_API BaseItem {
|
||||
// declare at least one virtual function so dynamic_cast will work
|
||||
explicit
|
||||
BaseItem( const Identifier &internalName )
|
||||
@ -79,7 +79,7 @@ namespace Registry {
|
||||
// static tables of items to be computed once and reused
|
||||
// The name of the delegate is significant for path calculations, but the
|
||||
// SharedItem's ordering hint is used if the delegate has none
|
||||
struct SharedItem final : BaseItem {
|
||||
struct AUDACITY_DLL_API SharedItem final : BaseItem {
|
||||
explicit SharedItem( const BaseItemSharedPtr &ptr_ )
|
||||
: BaseItem{ wxEmptyString }
|
||||
, ptr{ ptr_ }
|
||||
@ -97,7 +97,7 @@ namespace Registry {
|
||||
// the ComputedItem is visited
|
||||
// The name of the substitute is significant for path calculations, but the
|
||||
// ComputedItem's ordering hint is used if the substitute has none
|
||||
struct ComputedItem final : BaseItem {
|
||||
struct AUDACITY_DLL_API ComputedItem final : BaseItem {
|
||||
// The type of functions that generate descriptions of items.
|
||||
// Return type is a shared_ptr to let the function decide whether to
|
||||
// recycle the object or rebuild it on demand each time.
|
||||
@ -117,13 +117,13 @@ namespace Registry {
|
||||
};
|
||||
|
||||
// Common abstract base class for items that are not groups
|
||||
struct SingleItem : BaseItem {
|
||||
struct AUDACITY_DLL_API SingleItem : BaseItem {
|
||||
using BaseItem::BaseItem;
|
||||
~SingleItem() override = 0;
|
||||
};
|
||||
|
||||
// Common abstract base class for items that group other items
|
||||
struct GroupItem : BaseItem {
|
||||
struct AUDACITY_DLL_API GroupItem : BaseItem {
|
||||
using BaseItem::BaseItem;
|
||||
|
||||
// Construction from an internal name and a previously built-up
|
||||
@ -231,13 +231,14 @@ namespace Registry {
|
||||
// The sequence of calls to RegisterItem has no significance for
|
||||
// determining the visitation ordering. When sequence is important, register
|
||||
// a GroupItem.
|
||||
AUDACITY_DLL_API
|
||||
void RegisterItem( GroupItem ®istry, const Placement &placement,
|
||||
BaseItemPtr pItem );
|
||||
|
||||
// Define actions to be done in Visit.
|
||||
// Default implementations do nothing
|
||||
// The supplied path does not include the name of the item
|
||||
class Visitor
|
||||
class AUDACITY_DLL_API Visitor
|
||||
{
|
||||
public:
|
||||
virtual ~Visitor();
|
||||
@ -268,7 +269,8 @@ namespace Registry {
|
||||
// registry of plug-ins, and something must be done to preserve old
|
||||
// behavior. It can be done in the central place using string literal
|
||||
// identifiers only, not requiring static compilation or linkage dependency.
|
||||
struct OrderingPreferenceInitializer : PreferenceInitializer {
|
||||
struct AUDACITY_DLL_API
|
||||
OrderingPreferenceInitializer : PreferenceInitializer {
|
||||
using Literal = const wxChar *;
|
||||
using Pair = std::pair< Literal, Literal >;
|
||||
using Pairs = std::vector< Pair >;
|
||||
|
@ -25,7 +25,7 @@ struct soxr_deleter {
|
||||
};
|
||||
using soxrHandle = std::unique_ptr<soxr, soxr_deleter>;
|
||||
|
||||
class Resample final
|
||||
class AUDACITY_DLL_API Resample final
|
||||
{
|
||||
public:
|
||||
/// Resamplers may have more than one method, offering a
|
||||
|
@ -44,7 +44,7 @@ typedef enum {
|
||||
#define SAMPLE_SIZE_DISK(SampleFormat) (((SampleFormat) == int24Sample) ? \
|
||||
size_t{ 3 } : SAMPLE_SIZE(SampleFormat) )
|
||||
|
||||
TranslatableString GetSampleFormatStr(sampleFormat format);
|
||||
AUDACITY_DLL_API TranslatableString GetSampleFormatStr(sampleFormat format);
|
||||
|
||||
//
|
||||
// Allocating/Freeing Samples
|
||||
@ -124,21 +124,25 @@ private:
|
||||
// Copying, Converting and Clearing Samples
|
||||
//
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void CopySamples(constSamplePtr src, sampleFormat srcFormat,
|
||||
samplePtr dst, sampleFormat dstFormat,
|
||||
unsigned int len, bool highQuality=true,
|
||||
unsigned int srcStride=1,
|
||||
unsigned int dstStride=1);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void CopySamplesNoDither(samplePtr src, sampleFormat srcFormat,
|
||||
samplePtr dst, sampleFormat dstFormat,
|
||||
unsigned int len,
|
||||
unsigned int srcStride=1,
|
||||
unsigned int dstStride=1);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void ClearSamples(samplePtr buffer, sampleFormat format,
|
||||
size_t start, size_t len);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void ReverseSamples(samplePtr buffer, sampleFormat format,
|
||||
int start, int len);
|
||||
|
||||
@ -147,6 +151,7 @@ void ReverseSamples(samplePtr buffer, sampleFormat format,
|
||||
// are set in preferences.
|
||||
//
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void InitDitherers();
|
||||
|
||||
// These are so commonly done for processing samples in floating point form in memory,
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
class AudacityProject;
|
||||
|
||||
void OpenScreenshotTools( AudacityProject &project );
|
||||
AUDACITY_DLL_API void OpenScreenshotTools( AudacityProject &project );
|
||||
void CloseScreenshotTools();
|
||||
|
||||
#endif // __AUDACITY_SCREENSHOT__
|
||||
|
@ -17,17 +17,17 @@ class Track;
|
||||
/// Namespace for functions for Select menu
|
||||
namespace SelectUtilities {
|
||||
|
||||
void DoSelectTimeAndTracks(
|
||||
AUDACITY_DLL_API void DoSelectTimeAndTracks(
|
||||
AudacityProject &project, bool bAllTime, bool bAllTracks);
|
||||
void SelectAllIfNone( AudacityProject &project );
|
||||
bool SelectAllIfNoneAndAllowed( AudacityProject &project );
|
||||
void SelectNone( AudacityProject &project );
|
||||
void DoListSelection(
|
||||
AUDACITY_DLL_API void SelectAllIfNone( AudacityProject &project );
|
||||
AUDACITY_DLL_API bool SelectAllIfNoneAndAllowed( AudacityProject &project );
|
||||
AUDACITY_DLL_API void SelectNone( AudacityProject &project );
|
||||
AUDACITY_DLL_API void DoListSelection(
|
||||
AudacityProject &project, Track *t,
|
||||
bool shift, bool ctrl, bool modifyState );
|
||||
void DoSelectAll( AudacityProject &project );
|
||||
void DoSelectAllAudio( AudacityProject &project );
|
||||
void DoSelectSomething( AudacityProject &project );
|
||||
AUDACITY_DLL_API void DoSelectAll( AudacityProject &project );
|
||||
AUDACITY_DLL_API void DoSelectAllAudio( AudacityProject &project );
|
||||
AUDACITY_DLL_API void DoSelectSomething( AudacityProject &project );
|
||||
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ class ViewInfo;
|
||||
#include <vector>
|
||||
|
||||
// State relating to the set of selected tracks
|
||||
class SelectionState final
|
||||
class AUDACITY_DLL_API SelectionState final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
@ -52,7 +52,7 @@ private:
|
||||
|
||||
// For committing or rolling-back of changes in selectedness of tracks.
|
||||
// When rolling back, it is assumed that no tracks have been added or removed.
|
||||
class SelectionStateChanger
|
||||
class AUDACITY_DLL_API SelectionStateChanger
|
||||
{
|
||||
public:
|
||||
SelectionStateChanger( SelectionState &state, TrackList &tracks );
|
||||
|
@ -57,7 +57,7 @@ class CommandParameters;
|
||||
virtual functions that do nothing by default.
|
||||
Unrelated to class Shuttle.
|
||||
********************************************************************************/
|
||||
class ShuttleParams /* not final */
|
||||
class AUDACITY_DLL_API ShuttleParams /* not final */
|
||||
{
|
||||
public:
|
||||
wxString mParams;
|
||||
@ -83,7 +83,7 @@ public:
|
||||
/**************************************************************************//**
|
||||
\brief Shuttle that gets parameter values into a string.
|
||||
********************************************************************************/
|
||||
class ShuttleGetAutomation final : public ShuttleParams
|
||||
class AUDACITY_DLL_API ShuttleGetAutomation final : public ShuttleParams
|
||||
{
|
||||
public:
|
||||
ShuttleParams & Optional( bool & var ) override;
|
||||
@ -101,7 +101,7 @@ public:
|
||||
/**************************************************************************//**
|
||||
\brief Shuttle that sets parameters to a value (from a string)
|
||||
********************************************************************************/
|
||||
class ShuttleSetAutomation final : public ShuttleParams
|
||||
class AUDACITY_DLL_API ShuttleSetAutomation final : public ShuttleParams
|
||||
{
|
||||
public:
|
||||
ShuttleSetAutomation(){ bWrite = false; bOK = false;};
|
||||
|
@ -17,7 +17,7 @@
|
||||
/**************************************************************************//**
|
||||
\brief Shuttle that retrieves a JSON format definition of a command's parameters.
|
||||
********************************************************************************/
|
||||
class ShuttleGetDefinition final
|
||||
class AUDACITY_DLL_API ShuttleGetDefinition final
|
||||
: public ShuttleParams, public CommandMessageTargetDecorator
|
||||
{
|
||||
public:
|
||||
|
@ -52,7 +52,7 @@ struct SnapResults {
|
||||
bool Snapped() const { return snappedPoint || snappedTime; }
|
||||
};
|
||||
|
||||
class SnapManager
|
||||
class AUDACITY_DLL_API SnapManager
|
||||
{
|
||||
public:
|
||||
SnapManager(const AudacityProject &project,
|
||||
|
@ -21,6 +21,7 @@
|
||||
calculates windowSize/2 frequency samples
|
||||
*/
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool ComputeSpectrum(const float * data, size_t width, size_t windowSize,
|
||||
double rate, float *out, bool autocorrelation,
|
||||
int windowFunc = eWinFuncHann);
|
||||
|
@ -18,20 +18,19 @@ class wxWindow;
|
||||
|
||||
namespace TempDirectory
|
||||
{
|
||||
wxString TempDir();
|
||||
void ResetTempDir();
|
||||
AUDACITY_DLL_API wxString TempDir();
|
||||
AUDACITY_DLL_API void ResetTempDir();
|
||||
|
||||
const FilePath &DefaultTempDir();
|
||||
void SetDefaultTempDir( const FilePath &tempDir );
|
||||
bool IsTempDirectoryNameOK( const FilePath & Name );
|
||||
AUDACITY_DLL_API const FilePath &DefaultTempDir();
|
||||
AUDACITY_DLL_API void SetDefaultTempDir( const FilePath &tempDir );
|
||||
AUDACITY_DLL_API bool IsTempDirectoryNameOK( const FilePath & Name );
|
||||
|
||||
// Create a filename for an unsaved/temporary project file
|
||||
wxString UnsavedProjectFileName();
|
||||
AUDACITY_DLL_API wxString UnsavedProjectFileName();
|
||||
|
||||
bool FATFilesystemDenied(const FilePath &path,
|
||||
AUDACITY_DLL_API bool FATFilesystemDenied(const FilePath &path,
|
||||
const TranslatableString &msg,
|
||||
wxWindow *window = nullptr);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -179,7 +179,7 @@ class wxWindow;
|
||||
class wxString;
|
||||
class wxPaintEvent;
|
||||
|
||||
class auStaticText : public wxWindow
|
||||
class AUDACITY_DLL_API auStaticText : public wxWindow
|
||||
{
|
||||
public:
|
||||
auStaticText(wxWindow* parent, wxString text);
|
||||
@ -193,7 +193,7 @@ public:
|
||||
|
||||
extern AUDACITY_DLL_API Theme theTheme;
|
||||
|
||||
extern ChoiceSetting
|
||||
extern AUDACITY_DLL_API ChoiceSetting
|
||||
GUITheme
|
||||
;
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
class NumericTextCtrl;
|
||||
class ShuttleGui;
|
||||
|
||||
class TimeDialog final : public wxDialogWrapper
|
||||
class AUDACITY_DLL_API TimeDialog final : public wxDialogWrapper
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -21,7 +21,7 @@ class Ruler;
|
||||
class ZoomInfo;
|
||||
struct TrackPanelDrawingContext;
|
||||
|
||||
class TimeTrack final : public Track {
|
||||
class AUDACITY_DLL_API TimeTrack final : public Track {
|
||||
|
||||
public:
|
||||
|
||||
|
@ -182,7 +182,7 @@ private:
|
||||
};
|
||||
|
||||
//! Optional extra information about an interval, appropriate to a subtype of Track
|
||||
struct TrackIntervalData {
|
||||
struct AUDACITY_DLL_API TrackIntervalData {
|
||||
virtual ~TrackIntervalData();
|
||||
};
|
||||
|
||||
@ -1255,7 +1255,7 @@ wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
|
||||
/*! @brief A flat linked list of tracks supporting Add, Remove,
|
||||
* Clear, and Contains, serialization of the list of tracks, event notifications
|
||||
*/
|
||||
class TrackList final
|
||||
class AUDACITY_DLL_API TrackList final
|
||||
: public wxEvtHandler
|
||||
, public ListOfTracks
|
||||
, public std::enable_shared_from_this<TrackList>
|
||||
|
@ -39,15 +39,18 @@ class ZoomInfo;
|
||||
namespace TrackArt {
|
||||
|
||||
// Helper: draws the "sync-locked" watermark tiled to a rectangle
|
||||
AUDACITY_DLL_API
|
||||
void DrawSyncLockTiles(
|
||||
TrackPanelDrawingContext &context, const wxRect &rect );
|
||||
|
||||
// Helper: draws background with selection rect
|
||||
AUDACITY_DLL_API
|
||||
void DrawBackgroundWithSelection(TrackPanelDrawingContext &context,
|
||||
const wxRect &rect, const Track *track,
|
||||
const wxBrush &selBrush, const wxBrush &unselBrush,
|
||||
bool useSelection = true);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void DrawNegativeOffsetTrackArrows( TrackPanelDrawingContext &context,
|
||||
const wxRect & rect );
|
||||
}
|
||||
@ -137,11 +140,11 @@ public:
|
||||
bool hasSolo{ false };
|
||||
};
|
||||
|
||||
extern int GetWaveYPos(float value, float min, float max,
|
||||
extern AUDACITY_DLL_API int GetWaveYPos(float value, float min, float max,
|
||||
int height, bool dB, bool outer, float dBr,
|
||||
bool clip);
|
||||
extern float FromDB(float value, double dBRange);
|
||||
extern float ValueOfPixel(int yy, int height, bool offset,
|
||||
extern AUDACITY_DLL_API float ValueOfPixel(int yy, int height, bool offset,
|
||||
bool dB, double dBRange, float zoomMin, float zoomMax);
|
||||
|
||||
#endif // define __AUDACITY_TRACKARTIST__
|
||||
|
@ -30,6 +30,7 @@ static const int TitleSoloBorderOverlap = 1;
|
||||
|
||||
namespace TrackInfo
|
||||
{
|
||||
AUDACITY_DLL_API
|
||||
unsigned MinimumTrackHeight();
|
||||
|
||||
struct TCPLine {
|
||||
@ -65,59 +66,81 @@ namespace TrackInfo
|
||||
using TCPLines = std::vector< TCPLine >;
|
||||
|
||||
// return y value and height
|
||||
AUDACITY_DLL_API
|
||||
std::pair< int, int > CalcItemY( const TCPLines &lines, unsigned iItem );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
unsigned DefaultTrackHeight( const TCPLines &topLines );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void DrawItems
|
||||
( TrackPanelDrawingContext &context,
|
||||
const wxRect &rect, const Track &track );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void DrawItems
|
||||
( TrackPanelDrawingContext &context,
|
||||
const wxRect &rect, const Track *pTrack,
|
||||
const std::vector<TCPLine> &topLines,
|
||||
const std::vector<TCPLine> &bottomLines );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void DrawCloseButton(
|
||||
TrackPanelDrawingContext &context, const wxRect &bev,
|
||||
const Track *pTrack, ButtonHandle *target );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void CloseTitleDrawFunction
|
||||
( TrackPanelDrawingContext &context,
|
||||
const wxRect &rect, const Track *pTrack );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void MinimizeSyncLockDrawFunction
|
||||
( TrackPanelDrawingContext &context,
|
||||
const wxRect &rect, const Track *pTrack );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void SetTrackInfoFont(wxDC *dc);
|
||||
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetCloseBoxHorizontalBounds( const wxRect & rect, wxRect &dest );
|
||||
AUDACITY_DLL_API
|
||||
void GetCloseBoxRect(const wxRect & rect, wxRect &dest);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetTitleBarHorizontalBounds( const wxRect & rect, wxRect &dest );
|
||||
AUDACITY_DLL_API
|
||||
void GetTitleBarRect(const wxRect & rect, wxRect &dest);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetSliderHorizontalBounds( const wxPoint &topleft, wxRect &dest );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetMinimizeHorizontalBounds( const wxRect &rect, wxRect &dest );
|
||||
AUDACITY_DLL_API
|
||||
void GetMinimizeRect(const wxRect & rect, wxRect &dest);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetSelectButtonHorizontalBounds( const wxRect &rect, wxRect &dest );
|
||||
AUDACITY_DLL_API
|
||||
void GetSelectButtonRect(const wxRect & rect, wxRect &dest);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void GetSyncLockHorizontalBounds( const wxRect &rect, wxRect &dest );
|
||||
AUDACITY_DLL_API
|
||||
void GetSyncLockIconRect(const wxRect & rect, wxRect &dest);
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool HideTopItem( const wxRect &rect, const wxRect &subRect,
|
||||
int allowance = 0 );
|
||||
|
||||
// Non-member, namespace function relying on TrackPanel to invoke it
|
||||
// when it handles preference update events
|
||||
AUDACITY_DLL_API
|
||||
void UpdatePrefs( wxWindow *pParent );
|
||||
|
||||
AUDACITY_DLL_API
|
||||
bool HasSoloButton();
|
||||
};
|
||||
|
||||
|
@ -213,7 +213,7 @@ protected:
|
||||
};
|
||||
|
||||
// A predicate class
|
||||
struct IsVisibleTrack
|
||||
struct AUDACITY_DLL_API IsVisibleTrack
|
||||
{
|
||||
IsVisibleTrack(AudacityProject *project);
|
||||
|
||||
|
@ -156,7 +156,7 @@ private:
|
||||
int mMessageCount;
|
||||
};
|
||||
|
||||
class TrackFocus final
|
||||
class AUDACITY_DLL_API TrackFocus final
|
||||
: public ClientData::Base
|
||||
{
|
||||
public:
|
||||
|
@ -20,13 +20,18 @@ namespace TrackUtilities {
|
||||
OnMoveUpID, OnMoveDownID, OnMoveTopID, OnMoveBottomID
|
||||
};
|
||||
/// Move a track up, down, to top or to bottom.
|
||||
void DoMoveTrack( AudacityProject &project, Track* target, MoveChoice choice );
|
||||
AUDACITY_DLL_API void DoMoveTrack(
|
||||
AudacityProject &project, Track* target, MoveChoice choice );
|
||||
// "exclusive" mute means mute the chosen track and unmute all others.
|
||||
AUDACITY_DLL_API
|
||||
void DoTrackMute( AudacityProject &project, Track *pTrack, bool exclusive );
|
||||
// Type of solo (standard or simple) follows the set preference, unless
|
||||
// exclusive == true, which causes the opposite behavior.
|
||||
AUDACITY_DLL_API
|
||||
void DoTrackSolo( AudacityProject &project, Track *pTrack, bool exclusive );
|
||||
AUDACITY_DLL_API
|
||||
void DoRemoveTrack( AudacityProject &project, Track * toRemove );
|
||||
AUDACITY_DLL_API
|
||||
void DoRemoveTracks( AudacityProject & );
|
||||
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ struct TrackPanelMouseState;
|
||||
// A TrackPanelCell reports a handle object of some subclass, in response to a
|
||||
// hit test at a mouse position; then this handle processes certain events,
|
||||
// and maintains necessary state through click-drag-release event sequences.
|
||||
class UIHandle /* not final */ : public TrackPanelDrawable
|
||||
class AUDACITY_DLL_API UIHandle /* not final */ : public TrackPanelDrawable
|
||||
{
|
||||
public:
|
||||
// See RefreshCode.h for bit flags:
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
//! Can be thrown when user cancels operations, as with a progress dialog. Delayed handler does nothing
|
||||
/*! This class does not inherit from MessageBoxException. */
|
||||
class UserException final : public AudacityException
|
||||
class AUDACITY_DLL_API UserException final : public AudacityException
|
||||
{
|
||||
public:
|
||||
UserException() {}
|
||||
|
@ -38,7 +38,7 @@ wxDECLARE_EXPORTED_EVENT( AUDACITY_DLL_API,
|
||||
|
||||
// This heavyweight wrapper of the SelectedRegion structure emits events
|
||||
// on mutating operations, that other classes can listen for.
|
||||
class NotifyingSelectedRegion : public wxEvtHandler
|
||||
class AUDACITY_DLL_API NotifyingSelectedRegion : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
// Expose SelectedRegion's const accessors
|
||||
|
@ -34,7 +34,7 @@ class WaveCache;
|
||||
class WaveTrackCache;
|
||||
class wxFileNameWrapper;
|
||||
|
||||
class SpecCache {
|
||||
class AUDACITY_DLL_API SpecCache {
|
||||
public:
|
||||
|
||||
// Make invalid cache
|
||||
|
@ -596,7 +596,7 @@ private:
|
||||
// the contents of the WaveTrack are known not to change. It can replace
|
||||
// repeated calls to WaveTrack::Get() (each of which opens and closes at least
|
||||
// one block file).
|
||||
class WaveTrackCache {
|
||||
class AUDACITY_DLL_API WaveTrackCache {
|
||||
public:
|
||||
WaveTrackCache()
|
||||
: mBufferSize(0)
|
||||
|
@ -72,7 +72,8 @@ public:
|
||||
|
||||
};
|
||||
|
||||
class CommandImplementation /* not final */ : public OldStyleCommand
|
||||
class AUDACITY_DLL_API CommandImplementation /* not final */
|
||||
: public OldStyleCommand
|
||||
{
|
||||
private:
|
||||
OldStyleCommandType &mType;
|
||||
|
@ -27,7 +27,7 @@ they are kept separate to make things simpler.
|
||||
|
||||
class CommandOutputTargets;
|
||||
|
||||
class CommandDirectory
|
||||
class AUDACITY_DLL_API CommandDirectory
|
||||
{
|
||||
private:
|
||||
static std::unique_ptr<CommandDirectory> mInstance;
|
||||
|
@ -85,7 +85,7 @@ struct CommandFlagOptions{
|
||||
// Construct one statically to register (and reserve) a bit position in the set
|
||||
// an associate it with a test function; those with quickTest = true are cheap
|
||||
// to compute and always checked
|
||||
class ReservedCommandFlag : public CommandFlag
|
||||
class AUDACITY_DLL_API ReservedCommandFlag : public CommandFlag
|
||||
{
|
||||
public:
|
||||
using Predicate = std::function< bool( const AudacityProject& ) >;
|
||||
@ -116,7 +116,7 @@ struct MenuItemEnabler {
|
||||
};
|
||||
|
||||
// Typically this is statically constructed:
|
||||
struct RegisteredMenuItemEnabler{
|
||||
struct AUDACITY_DLL_API RegisteredMenuItemEnabler{
|
||||
RegisteredMenuItemEnabler( const MenuItemEnabler &enabler );
|
||||
};
|
||||
|
||||
|
@ -94,7 +94,7 @@ class AUDACITY_DLL_API CommandManager final
|
||||
using CheckFn = std::function< bool(AudacityProject&) >;
|
||||
|
||||
// For specifying unusual arguments in AddItem
|
||||
struct Options
|
||||
struct AUDACITY_DLL_API Options
|
||||
{
|
||||
Options() {}
|
||||
// Allow implicit construction from an accelerator string, which is
|
||||
@ -366,7 +366,7 @@ private:
|
||||
std::unique_ptr< wxMenuBar > mTempMenuBar;
|
||||
};
|
||||
|
||||
struct MenuVisitor : Registry::Visitor
|
||||
struct AUDACITY_DLL_API MenuVisitor : Registry::Visitor
|
||||
{
|
||||
// final overrides
|
||||
void BeginGroup( Registry::GroupItem &item, const Path &path ) final;
|
||||
@ -397,17 +397,18 @@ namespace MenuTable {
|
||||
using namespace Registry;
|
||||
|
||||
// These are found by dynamic_cast
|
||||
struct MenuSection {
|
||||
struct AUDACITY_DLL_API MenuSection {
|
||||
virtual ~MenuSection();
|
||||
};
|
||||
struct WholeMenu {
|
||||
struct AUDACITY_DLL_API WholeMenu {
|
||||
WholeMenu( bool extend = false ) : extension{ extend } {}
|
||||
virtual ~WholeMenu();
|
||||
bool extension;
|
||||
};
|
||||
|
||||
// Describes a main menu in the toolbar, or a sub-menu
|
||||
struct MenuItem final : ConcreteGroupItem< false, ToolbarMenuVisitor >
|
||||
struct AUDACITY_DLL_API MenuItem final
|
||||
: ConcreteGroupItem< false, ToolbarMenuVisitor >
|
||||
, WholeMenu {
|
||||
// Construction from an internal name and a previously built-up
|
||||
// vector of pointers
|
||||
@ -460,7 +461,7 @@ namespace MenuTable {
|
||||
// This is used before a sequence of many calls to Command() and
|
||||
// CommandGroup(), so that the finder argument need not be specified
|
||||
// in each call.
|
||||
class FinderScope : ValueRestorer< CommandHandlerFinder >
|
||||
class AUDACITY_DLL_API FinderScope : ValueRestorer< CommandHandlerFinder >
|
||||
{
|
||||
static CommandHandlerFinder sFinder;
|
||||
|
||||
@ -474,7 +475,7 @@ namespace MenuTable {
|
||||
};
|
||||
|
||||
// Describes one command in a menu
|
||||
struct CommandItem final : SingleItem {
|
||||
struct AUDACITY_DLL_API CommandItem final : SingleItem {
|
||||
CommandItem(const CommandID &name_,
|
||||
const TranslatableString &label_in_,
|
||||
CommandFunctorPointer callback_,
|
||||
@ -508,7 +509,7 @@ namespace MenuTable {
|
||||
// Describes several successive commands in a menu that are closely related
|
||||
// and dispatch to one common callback, which will be passed a number
|
||||
// in the CommandContext identifying the command
|
||||
struct CommandGroupItem final : SingleItem {
|
||||
struct AUDACITY_DLL_API CommandGroupItem final : SingleItem {
|
||||
CommandGroupItem(const Identifier &name_,
|
||||
std::vector< ComponentInterfaceSymbol > items_,
|
||||
CommandFunctorPointer callback_,
|
||||
@ -683,7 +684,7 @@ namespace MenuTable {
|
||||
// Typically you make a static object of this type in the .cpp file that
|
||||
// also defines the added menu actions.
|
||||
// pItem can be specified by an expression using the inline functions above.
|
||||
struct AttachedItem final
|
||||
struct AUDACITY_DLL_API AttachedItem final
|
||||
{
|
||||
AttachedItem( const Placement &placement, BaseItemPtr pItem );
|
||||
|
||||
|
@ -25,7 +25,7 @@ struct AUDACITY_DLL_API NonKeystrokeInterceptingWindow
|
||||
\brief Top-level windows that do redirect keystrokes to the associated
|
||||
project's CommandManager inherit this class.
|
||||
*/
|
||||
struct TopLevelKeystrokeHandlingWindow
|
||||
struct AUDACITY_DLL_API TopLevelKeystrokeHandlingWindow
|
||||
{
|
||||
virtual ~TopLevelKeystrokeHandlingWindow();
|
||||
};
|
||||
|
@ -25,7 +25,7 @@ class wxString;
|
||||
class wxVariant;
|
||||
class Validator;
|
||||
|
||||
class CommandSignature
|
||||
class AUDACITY_DLL_API CommandSignature
|
||||
{
|
||||
private:
|
||||
ParamValueMap mDefaults;
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
};
|
||||
|
||||
/// Interface for objects that can receive (string) messages from a command
|
||||
class CommandMessageTarget /* not final */
|
||||
class AUDACITY_DLL_API CommandMessageTarget /* not final */
|
||||
{
|
||||
public:
|
||||
CommandMessageTarget() {mCounts.push_back(0);}
|
||||
@ -202,7 +202,7 @@ public:
|
||||
};
|
||||
|
||||
/// Displays messages from a command in an AudacityMessageBox
|
||||
class MessageBoxTarget final : public CommandMessageTarget
|
||||
class AUDACITY_DLL_API MessageBoxTarget final : public CommandMessageTarget
|
||||
{
|
||||
public:
|
||||
virtual ~MessageBoxTarget() {}
|
||||
@ -210,7 +210,7 @@ public:
|
||||
};
|
||||
|
||||
/// Displays messages from a command in a wxStatusBar
|
||||
class StatusBarTarget final : public CommandMessageTarget
|
||||
class AUDACITY_DLL_API StatusBarTarget final : public CommandMessageTarget
|
||||
{
|
||||
private:
|
||||
wxStatusBar &mStatus;
|
||||
@ -385,7 +385,8 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class LispifiedCommandOutputTargets : public CommandOutputTargets
|
||||
class AUDACITY_DLL_API LispifiedCommandOutputTargets
|
||||
: public CommandOutputTargets
|
||||
{
|
||||
public :
|
||||
LispifiedCommandOutputTargets( CommandOutputTargets & target );
|
||||
@ -394,7 +395,7 @@ private:
|
||||
CommandOutputTargets * pToRestore;
|
||||
};
|
||||
|
||||
class BriefCommandOutputTargets : public CommandOutputTargets
|
||||
class AUDACITY_DLL_API BriefCommandOutputTargets : public CommandOutputTargets
|
||||
{
|
||||
public :
|
||||
BriefCommandOutputTargets( CommandOutputTargets & target );
|
||||
|
@ -39,7 +39,7 @@ class CommandOutputTargets;
|
||||
class CommandSignature;
|
||||
class wxString;
|
||||
|
||||
class OldStyleCommandType : public AudacityCommand
|
||||
class AUDACITY_DLL_API OldStyleCommandType : public AudacityCommand
|
||||
{
|
||||
private:
|
||||
ComponentInterfaceSymbol mSymbol;
|
||||
|
@ -21,7 +21,7 @@ struct NormalizedKeyStringTag;
|
||||
// Case insensitive comparisons
|
||||
using NormalizedKeyStringBase = TaggedIdentifier<NormalizedKeyStringTag, false>;
|
||||
|
||||
struct NormalizedKeyString : NormalizedKeyStringBase
|
||||
struct AUDACITY_DLL_API NormalizedKeyString : NormalizedKeyStringBase
|
||||
{
|
||||
NormalizedKeyString() = default;
|
||||
explicit NormalizedKeyString( const wxString &key );
|
||||
@ -35,6 +35,7 @@ namespace std
|
||||
: hash< NormalizedKeyStringBase > {};
|
||||
}
|
||||
|
||||
AUDACITY_DLL_API
|
||||
NormalizedKeyString KeyEventToKeyString(const wxKeyEvent & keyEvent);
|
||||
|
||||
#endif
|
||||
|
@ -27,7 +27,7 @@ class AudacityCommand;
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class BuiltinCommandsModule final : public ModuleInterface
|
||||
class AUDACITY_DLL_API BuiltinCommandsModule final : public ModuleInterface
|
||||
{
|
||||
public:
|
||||
BuiltinCommandsModule(const wxString *path);
|
||||
|
@ -28,7 +28,7 @@ class AdornedRulerPanel;
|
||||
class AudacityProject;
|
||||
class CommandContext;
|
||||
|
||||
class ScreenshotCommand : public AudacityCommand
|
||||
class AUDACITY_DLL_API ScreenshotCommand : public AudacityCommand
|
||||
{
|
||||
public:
|
||||
enum kBackgrounds
|
||||
|
@ -25,7 +25,7 @@ class wxString;
|
||||
typedef int(*tpExecScriptServerFunc)(wxString * pIn, wxString * pOut);
|
||||
typedef int(*tpRegScriptServerFunc)(tpExecScriptServerFunc pFn);
|
||||
|
||||
class ScriptCommandRelay
|
||||
class AUDACITY_DLL_API ScriptCommandRelay
|
||||
{
|
||||
public:
|
||||
static void StartScriptServer(tpRegScriptServerFunc scriptFn);
|
||||
|
@ -376,7 +376,7 @@ protected:
|
||||
|
||||
// For the use of analyzers, which don't need to make output wave tracks,
|
||||
// but may need to add label tracks.
|
||||
class AddedAnalysisTrack {
|
||||
class AUDACITY_DLL_API AddedAnalysisTrack {
|
||||
friend Effect;
|
||||
AddedAnalysisTrack(Effect *pEffect, const wxString &name);
|
||||
AddedAnalysisTrack(const AddedAnalysisTrack&) PROHIBITED;
|
||||
@ -406,7 +406,7 @@ protected:
|
||||
|
||||
// For the use of analyzers, which don't need to make output wave tracks,
|
||||
// but may need to modify label tracks.
|
||||
class ModifiedAnalysisTrack {
|
||||
class AUDACITY_DLL_API ModifiedAnalysisTrack {
|
||||
friend Effect;
|
||||
ModifiedAnalysisTrack
|
||||
(Effect *pEffect, const LabelTrack *pOrigTrack, const wxString &name);
|
||||
|
@ -220,6 +220,7 @@ class CommandContext;
|
||||
|
||||
namespace EffectUI {
|
||||
|
||||
AUDACITY_DLL_API
|
||||
wxDialog *DialogFactory( wxWindow &parent, EffectHostInterface *pHost,
|
||||
EffectUIClientInterface *client);
|
||||
|
||||
@ -227,7 +228,7 @@ namespace EffectUI {
|
||||
// Returns true on success. Will only operate on tracks that
|
||||
// have the "selected" flag set to true, which is consistent with
|
||||
// Audacity's standard UI.
|
||||
bool DoEffect(
|
||||
AUDACITY_DLL_API bool DoEffect(
|
||||
const PluginID & ID, const CommandContext &context, unsigned flags );
|
||||
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ protected:
|
||||
// Postcondition:
|
||||
// If mDuration was valid (>= 0), then the tracks are replaced by the
|
||||
// generated results and true is returned. Otherwise, return false.
|
||||
bool Process() override;
|
||||
AUDACITY_DLL_API bool Process() override;
|
||||
};
|
||||
|
||||
// Abstract generator which creates the sound in discrete blocks, whilst
|
||||
|
@ -26,7 +26,7 @@ class Effect;
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class BuiltinEffectsModule final : public ModuleInterface
|
||||
class AUDACITY_DLL_API BuiltinEffectsModule final : public ModuleInterface
|
||||
{
|
||||
public:
|
||||
BuiltinEffectsModule(const wxString *path);
|
||||
|
@ -58,20 +58,20 @@ of the warped region.
|
||||
|
||||
#include "../MemoryX.h"
|
||||
|
||||
class TimeWarper /* not final */
|
||||
class AUDACITY_DLL_API TimeWarper /* not final */
|
||||
{
|
||||
public:
|
||||
virtual ~TimeWarper();
|
||||
virtual double Warp(double originalTime) const = 0;
|
||||
};
|
||||
|
||||
class IdentityTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API IdentityTimeWarper final : public TimeWarper
|
||||
{
|
||||
public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class ShiftTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API ShiftTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
std::unique_ptr<TimeWarper> mWarper;
|
||||
@ -83,7 +83,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class LinearTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API LinearTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
double mScale;
|
||||
@ -97,7 +97,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class LinearInputRateTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API LinearInputRateTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mRateWarper;
|
||||
@ -110,7 +110,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class LinearOutputRateTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API LinearOutputRateTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mTimeWarper;
|
||||
@ -125,7 +125,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class LinearInputStretchTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API LinearInputStretchTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mTimeWarper;
|
||||
@ -138,7 +138,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class LinearOutputStretchTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API LinearOutputStretchTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mTimeWarper;
|
||||
@ -151,7 +151,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class GeometricInputTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API GeometricInputTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mTimeWarper;
|
||||
@ -164,7 +164,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class GeometricOutputTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API GeometricOutputTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
LinearTimeWarper mTimeWarper;
|
||||
@ -177,7 +177,7 @@ public:
|
||||
double Warp(double originalTime) const override;
|
||||
};
|
||||
|
||||
class PasteTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API PasteTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
const double mOldT1, mNewT1;
|
||||
@ -188,7 +188,7 @@ public:
|
||||
|
||||
|
||||
// Note: this assumes that tStart is a fixed point of warper->warp()
|
||||
class RegionTimeWarper final : public TimeWarper
|
||||
class AUDACITY_DLL_API RegionTimeWarper final : public TimeWarper
|
||||
{
|
||||
private:
|
||||
std::unique_ptr<TimeWarper> mWarper;
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
class WaveTrack;
|
||||
|
||||
class EffectTwoPassSimpleMono /* not final */ : public Effect
|
||||
class AUDACITY_DLL_API EffectTwoPassSimpleMono /* not final */ : public Effect
|
||||
{
|
||||
public:
|
||||
// Effect implementation
|
||||
|
@ -158,7 +158,8 @@ using ExportPluginArray = std::vector < std::unique_ptr< ExportPlugin > > ;
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
// For a file suffix change from the options.
|
||||
wxDECLARE_EVENT(AUDACITY_FILE_SUFFIX_EVENT, wxCommandEvent);
|
||||
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
|
||||
AUDACITY_FILE_SUFFIX_EVENT, wxCommandEvent);
|
||||
|
||||
class AUDACITY_DLL_API Exporter final : public wxEvtHandler
|
||||
{
|
||||
@ -172,7 +173,7 @@ public:
|
||||
// Register factories, not plugin objects themselves, which allows them
|
||||
// to have some fresh state variables each time export begins again
|
||||
// and to compute translated strings for the current locale
|
||||
struct RegisteredExportPlugin{
|
||||
struct AUDACITY_DLL_API RegisteredExportPlugin{
|
||||
RegisteredExportPlugin(
|
||||
const Identifier &id, // an internal string naming the plug-in
|
||||
const ExportPluginFactory&,
|
||||
@ -322,16 +323,17 @@ private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
TranslatableString AudacityExportCaptionStr();
|
||||
TranslatableString AudacityExportMessageStr();
|
||||
AUDACITY_DLL_API TranslatableString AudacityExportCaptionStr();
|
||||
AUDACITY_DLL_API TranslatableString AudacityExportMessageStr();
|
||||
|
||||
/// We have many Export errors that are essentially anonymous
|
||||
/// and are distinguished only by an error code number.
|
||||
/// Rather than repeat the code, we have it just once.
|
||||
void ShowExportErrorDialog(wxString ErrorCode,
|
||||
AUDACITY_DLL_API void ShowExportErrorDialog(wxString ErrorCode,
|
||||
TranslatableString message = AudacityExportMessageStr(),
|
||||
const TranslatableString& caption = AudacityExportCaptionStr());
|
||||
|
||||
AUDACITY_DLL_API
|
||||
void ShowDiskFullExportErrorDialog(const wxFileNameWrapper &fileName);
|
||||
|
||||
#endif
|
||||
|
@ -29,7 +29,7 @@ class SelectionState;
|
||||
class ShuttleGui;
|
||||
class Track;
|
||||
|
||||
class ExportMultipleDialog final : public wxDialogWrapper
|
||||
class AUDACITY_DLL_API ExportMultipleDialog final : public wxDialogWrapper
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -77,12 +77,12 @@ class ExtImportItem
|
||||
wxArrayString mime_types;
|
||||
};
|
||||
|
||||
class Importer {
|
||||
class AUDACITY_DLL_API Importer {
|
||||
public:
|
||||
|
||||
// Objects of this type are statically constructed in files implementing
|
||||
// subclasses of ImportPlugin
|
||||
struct RegisteredImportPlugin{
|
||||
struct AUDACITY_DLL_API RegisteredImportPlugin{
|
||||
RegisteredImportPlugin(
|
||||
const Identifier &id, // an internal string naming the plug-in
|
||||
std::unique_ptr<ImportPlugin>,
|
||||
|
@ -60,7 +60,7 @@ class Tags;
|
||||
|
||||
class ImportFileHandle;
|
||||
|
||||
class ImportPlugin /* not final */
|
||||
class AUDACITY_DLL_API ImportPlugin /* not final */
|
||||
{
|
||||
public:
|
||||
|
||||
@ -100,7 +100,7 @@ protected:
|
||||
class WaveTrack;
|
||||
using TrackHolders = std::vector< std::vector< std::shared_ptr<WaveTrack> > >;
|
||||
|
||||
class ImportFileHandle /* not final */
|
||||
class AUDACITY_DLL_API ImportFileHandle /* not final */
|
||||
{
|
||||
public:
|
||||
ImportFileHandle(const FilePath & filename);
|
||||
|
@ -38,5 +38,5 @@ class EffectsPrefs final : public PrefsPanel
|
||||
void Populate();
|
||||
};
|
||||
|
||||
extern ChoiceSetting EffectsGroupBy;
|
||||
AUDACITY_DLL_API extern ChoiceSetting EffectsGroupBy;
|
||||
#endif
|
||||
|
@ -22,7 +22,7 @@ class ShuttleGui;
|
||||
|
||||
#define GUI_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("GUI") }
|
||||
|
||||
class GUIPrefs final : public PrefsPanel
|
||||
class AUDACITY_DLL_API GUIPrefs final : public PrefsPanel
|
||||
{
|
||||
public:
|
||||
GUIPrefs(wxWindow * parent, wxWindowID winid);
|
||||
@ -68,10 +68,11 @@ class GUIPrefs final : public PrefsPanel
|
||||
int mDefaultRangeIndex;
|
||||
};
|
||||
|
||||
AUDACITY_DLL_API
|
||||
int ShowClippingPrefsID();
|
||||
int ShowTrackNameInWaveformPrefsID();
|
||||
|
||||
extern ChoiceSetting
|
||||
extern AUDACITY_DLL_API ChoiceSetting
|
||||
GUIManualLocation
|
||||
;
|
||||
|
||||
|
@ -23,7 +23,7 @@ class ShuttleGui;
|
||||
|
||||
template< typename Enum > class EnumSetting;
|
||||
|
||||
class ImportExportPrefs final : public PrefsPanel
|
||||
class AUDACITY_DLL_API ImportExportPrefs final : public PrefsPanel
|
||||
{
|
||||
public:
|
||||
static EnumSetting< bool > ExportDownMixSetting;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user