33 return std::tie (d.fileOrIdentifier, d.deprecatedUid, d.uniqueId);
36 return tie (*
this) == tie (
other);
47 const auto matches = [&] (
int uid)
49 return identifierString.endsWithIgnoreCase (getPluginDescSuffix (*
this, uid));
63 auto e = std::make_unique<XmlElement> (
"PLUGIN");
65 e->setAttribute (
"name",
name);
71 e->setAttribute (
"category",
category);
73 e->setAttribute (
"version",
version);
A small class to represent some facts about a particular type of plug-in.
int numOutputChannels
The number of outputs.
String pluginFormatName
The plug-in format, e.g.
std::unique_ptr< XmlElement > createXml() const
Creates an XML object containing these details.
bool loadFromXml(const XmlElement &xml)
Reloads the info in this structure from an XML record that was previously saved with createXML().
bool isInstrument
True if the plug-in identifies itself as a synthesiser.
bool matchesIdentifierString(const String &identifierString) const
Return true if this description is equivalent to another one which created the given identifier strin...
String category
A category, such as "Dynamics", "Reverbs", etc.
String version
The version.
bool hasSharedContainer
True if the plug-in is part of a multi-type container, e.g.
bool isDuplicateOf(const PluginDescription &other) const noexcept
Returns true if the two descriptions refer to the same plug-in.
int numInputChannels
The number of inputs.
String name
The name of the plug-in.
String manufacturerName
The manufacturer.
int deprecatedUid
Deprecated: New projects should use uniqueId instead.
bool hasARAExtension
True if the plug-in is ARA enabled and can supply a valid ARAFactoryWrapper.
int uniqueId
A unique ID for the plug-in.
Time lastFileModTime
The last time the plug-in file was changed.
String descriptiveName
A more descriptive name for the plug-in.
String fileOrIdentifier
Either the file containing the plug-in module, or some other unique way of identifying it.
String createIdentifierString() const
Returns a string that can be saved and used to uniquely identify the plugin again.
Time lastInfoUpdateTime
The last time that this information was updated.
static String toHexString(IntegerType number)
Returns a string representing this numeric value in hexadecimal.
int hashCode() const noexcept
Generates a probably-unique 32-bit hashcode from this string.
int64 getHexValue64() const noexcept
Parses the string as a hexadecimal number.
int getHexValue32() const noexcept
Parses the string as a hexadecimal number.
Holds an absolute date and time.
int64 toMilliseconds() const noexcept
Returns the time as a number of milliseconds.
Used to build a tree of elements representing an XML document.
bool getBoolAttribute(StringRef attributeName, bool defaultReturnValue=false) const
Returns the value of a named attribute as a boolean.
bool hasTagName(StringRef possibleTagName) const noexcept
Tests whether this element has a particular tag name.
int getIntAttribute(StringRef attributeName, int defaultReturnValue=0) const
Returns the value of a named attribute as an integer.
const String & getStringAttribute(StringRef attributeName) const noexcept
Returns the value of a named attribute.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...