29#ifndef __AUDACITY_TAGS__
30#define __AUDACITY_TAGS__
41#include <unordered_map>
46class wxGridCellChoiceEditor;
47class wxGridCellStringRenderer;
56using TagMap = std::unordered_map< wxString, wxString >;
58#define TAG_TITLE wxT("TITLE")
59#define TAG_ARTIST wxT("ARTIST")
60#define TAG_ALBUM wxT("ALBUM")
61#define TAG_TRACK wxT("TRACKNUMBER")
62#define TAG_YEAR wxT("YEAR")
63#define TAG_GENRE wxT("GENRE")
64#define TAG_COMMENTS wxT("COMMENTS")
65#define TAG_SOFTWARE wxT("Software")
66#define TAG_COPYRIGHT wxT("Copyright")
70 ,
public std::enable_shared_from_this< Tags >
90 void Merge(
const Tags &other );
92 Tags & operator= (
const Tags & src );
98 void LoadDefaultGenres();
103 int GetNumUserGenres();
104 wxString GetUserGenre(
int value);
106 wxString GetGenre(
int value);
107 int GetGenre(
const wxString &
name);
109 bool HasTag(
const wxString &
name)
const;
110 wxString GetTag(
const wxString &
name)
const;
115 void SetTag(
const wxString &
name,
const wxString & value,
const bool bSpecialTag=
false);
116 void SetTag(
const wxString &
name,
const int & value);
121 size_t Count()
const;
136{
return !(lhs == rhs); }
Utility ClientData::Site to register hooks into a host class that attach client data.
bool operator==(const WaveTrackLocation &a, const WaveTrackLocation &b)
std::vector< Attribute > AttributesList
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Supplies an accessible grid based on wxGrid.
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Base class for extra information attached to undo/redo states.
virtual void RestoreUndoRedoState(AudacityProject &project)=0
Modify the project when undoing or redoing to some state in history.
This class is an interface which should be implemented by classes which wish to be able to load and s...
virtual XMLTagHandler * HandleXMLChild(const std::string_view &tag)=0
virtual bool HandleXMLTag(const std::string_view &tag, const AttributesList &attrs)=0
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
size_t Count(const Ptr< Type, BaseDeleter > &p)
Find out how many elements were allocated with a Ptr.
std::vector< std::vector< float > > Duplicate(const std::vector< float > &audio, size_t numChannels)
A convenient default parameter for class template Site.
A convenience for use with range-for.