1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-29 23:19:28 +02:00

New utility library

This commit is contained in:
Paul Licameli 2021-02-17 12:49:31 -05:00
parent 094675bd42
commit 64d7ca7403
12 changed files with 37 additions and 8 deletions

View File

@ -5,6 +5,7 @@
set( LIBRARIES set( LIBRARIES
"lib-string-utils" "lib-string-utils"
lib-strings lib-strings
lib-utility
) )
if ( ${_OPT}has_networking ) if ( ${_OPT}has_networking )

View File

@ -0,0 +1,25 @@
#[[
A small library defining various constants and utilities
No dependencies on wxWidgets. Very few if any symbols with linkage.
One very important utility is finally() as defined in The C++ Programming
Language, fourth edition, for describing ad-hoc RAII actions.
Historically, MemoryX.h began as a wrapper of C++11 <memory>, which by itself
did not yet provide std::make_unique. That explains the name.
Audacity now uses C++14, and yet, need arose for other anticipations of
future standards, such as with optional. It also provides other pervasively
used utilities that don't correspond to things in the standard.
]]#
set( SOURCES
MemoryX.cpp
MemoryX.h
ModuleConstants.h
)
audacity_library( lib-utility "${SOURCES}" ""
"" ""
)

View File

@ -0,0 +1,5 @@
#include "MemoryX.h"
// Make the symbol table non-empty
UTILITY_API void lib_utility_dummy_symbol()
{}

View File

@ -180,14 +180,12 @@ list( APPEND SOURCES
MacroMagic.h MacroMagic.h
Matrix.cpp Matrix.cpp
Matrix.h Matrix.h
MemoryX.h
Menus.cpp Menus.cpp
Menus.h Menus.h
Mix.cpp Mix.cpp
Mix.h Mix.h
MixerBoard.cpp MixerBoard.cpp
MixerBoard.h MixerBoard.h
ModuleConstants.h
ModuleManager.cpp ModuleManager.cpp
ModuleManager.h ModuleManager.h
ModuleSettings.cpp ModuleSettings.cpp

View File

@ -45,7 +45,7 @@ a certain criterion. This is a base validator which allows anything.
class wxArrayString; class wxArrayString;
#include "../MemoryX.h" #include "MemoryX.h"
#include <wx/variant.h> // member variable #include <wx/variant.h> // member variable

View File

@ -31,7 +31,7 @@
#include <AudioUnit/AudioUnitCarbonView.h> #include <AudioUnit/AudioUnitCarbonView.h>
#endif #endif
#include "../../MemoryX.h" #include "MemoryX.h"
@interface AUView : NSView @interface AUView : NSView
{ {

View File

@ -14,7 +14,7 @@
#if USE_AUDIO_UNITS #if USE_AUDIO_UNITS
#include "../../MemoryX.h" #include "MemoryX.h"
#include <vector> #include <vector>
#include <AudioToolbox/AudioUnitUtilities.h> #include <AudioToolbox/AudioUnitUtilities.h>

View File

@ -17,7 +17,7 @@
#include <wx/defs.h> #include <wx/defs.h>
#include "ToolBar.h" #include "ToolBar.h"
#include "../MemoryX.h" #include "MemoryX.h"
class wxCommandEvent; class wxCommandEvent;
class wxEraseEvent; class wxEraseEvent;

View File

@ -27,7 +27,7 @@
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/toplevel.h> #include <wx/toplevel.h>
#include "../MemoryX.h" #include "MemoryX.h"
#include "../SelectedRegion.h" #include "../SelectedRegion.h"
#if wxUSE_ACCESSIBILITY #if wxUSE_ACCESSIBILITY

View File

@ -10,7 +10,7 @@
#include "OverlayPanel.h" #include "OverlayPanel.h"
#include "Overlay.h" #include "Overlay.h"
#include "../MemoryX.h" #include "MemoryX.h"
#include <algorithm> #include <algorithm>
#include <wx/dcclient.h> #include <wx/dcclient.h>