mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Docs: Replace doxygen preprocessor conditionals with @cond and @endconds
This commit is contained in:
parent
26e8d81380
commit
36d07a6ce3
136 changed files with 420 additions and 449 deletions
|
|
@ -103,9 +103,9 @@ public:
|
||||||
*/
|
*/
|
||||||
void setSuspended (bool shouldBeSuspended);
|
void setSuspended (bool shouldBeSuspended);
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
JUCE_DECLARE_SINGLETON_INLINE (Analytics, false)
|
JUCE_DECLARE_SINGLETON_INLINE (Analytics, false)
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,9 @@ public:
|
||||||
class NonConst; /**< Used as a template parameter for AudioData::Pointer. Indicates that the pointer can be used for non-const data. */
|
class NonConst; /**< Used as a template parameter for AudioData::Pointer. Indicates that the pointer can be used for non-const data. */
|
||||||
class Const; /**< Used as a template parameter for AudioData::Pointer. Indicates that the samples can only be used for const data.. */
|
class Const; /**< Used as a template parameter for AudioData::Pointer. Indicates that the samples can only be used for const data.. */
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
/** @cond */
|
||||||
class BigEndian
|
class BigEndian
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -332,7 +333,7 @@ public:
|
||||||
static void* toVoidPtr (VoidType* v) noexcept { return const_cast<void*> (v); }
|
static void* toVoidPtr (VoidType* v) noexcept { return const_cast<void*> (v); }
|
||||||
enum { isConst = 1 };
|
enum { isConst = 1 };
|
||||||
};
|
};
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
@ -799,7 +800,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/**
|
/**
|
||||||
A set of routines to convert buffers of 32-bit floating point data to and from
|
A set of routines to convert buffers of 32-bit floating point data to and from
|
||||||
various integer formats.
|
various integer formats.
|
||||||
|
|
@ -867,6 +868,6 @@ public:
|
||||||
private:
|
private:
|
||||||
AudioDataConverters();
|
AudioDataConverters();
|
||||||
};
|
};
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ struct JUCE_API FloatVectorOperationsBase
|
||||||
static FloatType JUCE_CALLTYPE findMaximum (const FloatType* src, CountType numValues) noexcept;
|
static FloatType JUCE_CALLTYPE findMaximum (const FloatType* src, CountType numValues) noexcept;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if ! DOXYGEN
|
/** @cond */
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -177,7 +177,7 @@ struct NameForwarder : public Bases...
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,7 @@ public:
|
||||||
MidiBufferIterator findNextSamplePosition (int samplePosition) const noexcept;
|
MidiBufferIterator findNextSamplePosition (int samplePosition) const noexcept;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** This class is now deprecated in favour of MidiBufferIterator.
|
/** This class is now deprecated in favour of MidiBufferIterator.
|
||||||
|
|
||||||
Used to iterate through the events in a MidiBuffer.
|
Used to iterate through the events in a MidiBuffer.
|
||||||
|
|
@ -342,7 +342,7 @@ public:
|
||||||
const MidiBuffer& buffer;
|
const MidiBuffer& buffer;
|
||||||
MidiBufferIterator iterator;
|
MidiBufferIterator iterator;
|
||||||
};
|
};
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** The raw data holding this buffer.
|
/** The raw data holding this buffer.
|
||||||
Obviously access to this data is provided at your own risk. Its internal format could
|
Obviously access to this data is provided at your own risk. Its internal format could
|
||||||
|
|
|
||||||
|
|
@ -880,7 +880,7 @@ public:
|
||||||
static MidiMessage createSysExMessage (Span<const std::byte> data);
|
static MidiMessage createSysExMessage (Span<const std::byte> data);
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Reads a midi variable-length integer.
|
/** Reads a midi variable-length integer.
|
||||||
|
|
||||||
The `data` argument indicates the data to read the number from,
|
The `data` argument indicates the data to read the number from,
|
||||||
|
|
@ -889,7 +889,7 @@ public:
|
||||||
*/
|
*/
|
||||||
[[deprecated ("This signature has been deprecated in favour of the safer readVariableLengthValue.")]]
|
[[deprecated ("This signature has been deprecated in favour of the safer readVariableLengthValue.")]]
|
||||||
static int readVariableLengthVal (const uint8* data, int& numBytesUsed) noexcept;
|
static int readVariableLengthVal (const uint8* data, int& numBytesUsed) noexcept;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Holds information about a variable-length value which was parsed
|
/** Holds information about a variable-length value which was parsed
|
||||||
from a stream of bytes.
|
from a stream of bytes.
|
||||||
|
|
@ -989,17 +989,17 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
union PackedData
|
union PackedData
|
||||||
{
|
{
|
||||||
uint8* allocatedData;
|
uint8* allocatedData;
|
||||||
uint8 asBytes[sizeof (uint8*)];
|
uint8 asBytes[sizeof (uint8*)];
|
||||||
};
|
};
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
PackedData packedData;
|
PackedData packedData;
|
||||||
double timeStamp = 0;
|
double timeStamp = 0;
|
||||||
int size;
|
int size;
|
||||||
#endif
|
|
||||||
|
|
||||||
inline bool isHeapAllocated() const noexcept { return size > (int) sizeof (packedData); }
|
inline bool isHeapAllocated() const noexcept { return size > (int) sizeof (packedData); }
|
||||||
inline uint8* getData() const noexcept { return isHeapAllocated() ? packedData.allocatedData : (uint8*) packedData.asBytes; }
|
inline uint8* getData() const noexcept { return isHeapAllocated() ? packedData.allocatedData : (uint8*) packedData.asBytes; }
|
||||||
|
|
|
||||||
|
|
@ -47,11 +47,9 @@
|
||||||
#include "juce_UMPDispatcher.h"
|
#include "juce_UMPDispatcher.h"
|
||||||
#include "juce_UMPReceiver.h"
|
#include "juce_UMPReceiver.h"
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
namespace ump = universal_midi_packets;
|
namespace ump = universal_midi_packets;
|
||||||
}
|
}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -363,5 +362,4 @@ struct Conversion
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
@ -193,5 +192,4 @@ namespace juce::universal_midi_packets
|
||||||
Midi1ToBytestreamTranslator translator;
|
Midi1ToBytestreamTranslator translator;
|
||||||
};
|
};
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -199,5 +198,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -539,5 +538,4 @@ struct Factory
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -128,5 +127,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -223,5 +222,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -196,5 +195,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -53,5 +52,4 @@ enum class MidiProtocol
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -51,5 +50,4 @@ struct Receiver
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -82,5 +81,4 @@ struct SysEx7
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -125,5 +124,4 @@ struct Utils
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -97,5 +96,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -198,5 +197,4 @@ using PacketX3 = Packet<3>;
|
||||||
using PacketX4 = Packet<4>;
|
using PacketX4 = Packet<4>;
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -101,5 +100,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -226,9 +226,9 @@ public:
|
||||||
/** Removes a listener. */
|
/** Removes a listener. */
|
||||||
void removeListener (Listener* const listenerToRemove) noexcept;
|
void removeListener (Listener* const listenerToRemove) noexcept;
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
using Zone = MPEZone;
|
using Zone = MPEZone;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,11 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS)
|
#if JUCE_MAC || JUCE_IOS
|
||||||
|
|
||||||
struct CoreAudioLayouts
|
struct CoreAudioLayouts
|
||||||
{
|
{
|
||||||
|
|
@ -361,3 +362,4 @@ private:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
// This file will be included directly by macOS/iOS-specific .cpps
|
// This file will be included directly by macOS/iOS-specific .cpps
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#if ! DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
#include <mach/mach_time.h>
|
#include <mach/mach_time.h>
|
||||||
|
|
||||||
|
|
@ -89,4 +89,4 @@ private:
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -342,7 +342,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Using the new methods:
|
/** Using the new methods:
|
||||||
|
|
||||||
lsv.setValue (x, false); -> lsv.setTargetValue (x);
|
lsv.setValue (x, false); -> lsv.setTargetValue (x);
|
||||||
|
|
@ -362,7 +362,7 @@ public:
|
||||||
|
|
||||||
setTargetValue (newValue);
|
setTargetValue (newValue);
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -486,7 +486,7 @@ public:
|
||||||
int getXRunCount() const noexcept;
|
int getXRunCount() const noexcept;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use setMidiInputDeviceEnabled instead.")]]
|
[[deprecated ("Use setMidiInputDeviceEnabled instead.")]]
|
||||||
void setMidiInputEnabled (const String&, bool);
|
void setMidiInputEnabled (const String&, bool);
|
||||||
[[deprecated ("Use isMidiInputDeviceEnabled instead.")]]
|
[[deprecated ("Use isMidiInputDeviceEnabled instead.")]]
|
||||||
|
|
@ -499,7 +499,7 @@ public:
|
||||||
void setDefaultMidiOutput (const String&);
|
void setDefaultMidiOutput (const String&);
|
||||||
[[deprecated ("Use getDefaultMidiOutputIdentifier instead.")]]
|
[[deprecated ("Use getDefaultMidiOutputIdentifier instead.")]]
|
||||||
const String& getDefaultMidiOutputName() const noexcept { return defaultMidiOutputDeviceInfo.name; }
|
const String& getDefaultMidiOutputName() const noexcept { return defaultMidiOutputDeviceInfo.name; }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -179,10 +179,10 @@ public:
|
||||||
/** Creates a Bela device type if it's available on this platform, or returns null. */
|
/** Creates a Bela device type if it's available on this platform, or returns null. */
|
||||||
static AudioIODeviceType* createAudioIODeviceType_Bela();
|
static AudioIODeviceType* createAudioIODeviceType_Bela();
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("You should call the method which takes a WASAPIDeviceMode instead.")]]
|
[[deprecated ("You should call the method which takes a WASAPIDeviceMode instead.")]]
|
||||||
static AudioIODeviceType* createAudioIODeviceType_WASAPI (bool exclusiveMode);
|
static AudioIODeviceType* createAudioIODeviceType_WASAPI (bool exclusiveMode);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit AudioIODeviceType (const String& typeName);
|
explicit AudioIODeviceType (const String& typeName);
|
||||||
|
|
|
||||||
|
|
@ -251,14 +251,14 @@ public:
|
||||||
void setName (const String& newName) noexcept { deviceInfo.name = newName; }
|
void setName (const String& newName) noexcept { deviceInfo.name = newName; }
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use getAvailableDevices instead.")]]
|
[[deprecated ("Use getAvailableDevices instead.")]]
|
||||||
static StringArray getDevices();
|
static StringArray getDevices();
|
||||||
[[deprecated ("Use getDefaultDevice instead.")]]
|
[[deprecated ("Use getDefaultDevice instead.")]]
|
||||||
static int getDefaultDeviceIndex();
|
static int getDefaultDeviceIndex();
|
||||||
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
|
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
|
||||||
static std::unique_ptr<MidiInput> openDevice (int, MidiInputCallback*);
|
static std::unique_ptr<MidiInput> openDevice (int, MidiInputCallback*);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
class Pimpl;
|
class Pimpl;
|
||||||
|
|
@ -440,14 +440,14 @@ public:
|
||||||
bool isBackgroundThreadRunning() const noexcept { return isThreadRunning(); }
|
bool isBackgroundThreadRunning() const noexcept { return isThreadRunning(); }
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use getAvailableDevices instead.")]]
|
[[deprecated ("Use getAvailableDevices instead.")]]
|
||||||
static StringArray getDevices();
|
static StringArray getDevices();
|
||||||
[[deprecated ("Use getDefaultDevice instead.")]]
|
[[deprecated ("Use getDefaultDevice instead.")]]
|
||||||
static int getDefaultDeviceIndex();
|
static int getDefaultDeviceIndex();
|
||||||
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
|
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
|
||||||
static std::unique_ptr<MidiOutput> openDevice (int);
|
static std::unique_ptr<MidiOutput> openDevice (int);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
class Pimpl;
|
class Pimpl;
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -149,5 +148,4 @@ struct BytestreamToUMPHandler : public BytestreamInputHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
} // juce::universal_midi_packets
|
} // juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce::universal_midi_packets
|
namespace juce::universal_midi_packets
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -160,6 +159,4 @@ struct U32ToUMPHandler : public U32InputHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce::universal_midi_packets
|
} // namespace juce::universal_midi_packets
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ FUNCTION_TEMPLATE = """/*
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
@ -130,7 +130,7 @@ std::vector<juce::lv2::Bundle> juce::lv2::Bundle::getAllBundles()
|
||||||
}};
|
}};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
#endif"""
|
/** @endcond */"""
|
||||||
|
|
||||||
|
|
||||||
def chunks(lst, n):
|
def chunks(lst, n):
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
// This macro can be set if you need to override this internal name for some reason..
|
// This macro can be set if you need to override this internal name for some reason..
|
||||||
#ifndef JUCE_STATE_DICTIONARY_KEY
|
#ifndef JUCE_STATE_DICTIONARY_KEY
|
||||||
#define JUCE_STATE_DICTIONARY_KEY "jucePluginState"
|
#define JUCE_STATE_DICTIONARY_KEY "jucePluginState"
|
||||||
|
|
@ -717,5 +716,4 @@ struct AudioUnitHelpers
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
#include "juce_lv2_config.h"
|
#include "juce_lv2_config.h"
|
||||||
|
|
||||||
|
|
@ -672,5 +672,4 @@ static inline String sanitiseStringAsTtlName (const String& input)
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace juce::lv2_shared
|
} // namespace juce::lv2_shared
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
@ -10238,4 +10238,4 @@ to an instance of LV2_Extension_Data_Feature.
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -1663,5 +1662,4 @@ private:
|
||||||
JUCE_END_NO_SANITIZE
|
JUCE_END_NO_SANITIZE
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public:
|
||||||
~VST3PluginFormat() override;
|
~VST3PluginFormat() override;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Attempts to reload a VST3 plugin's state from some preset file data.
|
/** Attempts to reload a VST3 plugin's state from some preset file data.
|
||||||
|
|
||||||
@see VSTPluginFormat::loadFromFXBFile
|
@see VSTPluginFormat::loadFromFXBFile
|
||||||
|
|
@ -62,7 +62,7 @@ public:
|
||||||
"Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the "
|
"Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the "
|
||||||
"contents of a vstpreset file.")]]
|
"contents of a vstpreset file.")]]
|
||||||
static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&);
|
static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
static String getFormatName() { return "VST3"; }
|
static String getFormatName() { return "VST3"; }
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -239,5 +238,4 @@ auto becomeVSTComSmartPtrOwner (ObjectType* t)
|
||||||
JUCE_END_NO_SANITIZE
|
JUCE_END_NO_SANITIZE
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif // DOXYGEN
|
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ public:
|
||||||
*/
|
*/
|
||||||
HostedParameter* getHostedParameter (int index) const;
|
HostedParameter* getHostedParameter (int index) const;
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Use the new typesafe visitor-based interface rather than this function.
|
/** Use the new typesafe visitor-based interface rather than this function.
|
||||||
|
|
||||||
Returns a pointer to some kind of platform-specific data about the plugin.
|
Returns a pointer to some kind of platform-specific data about the plugin.
|
||||||
|
|
@ -150,7 +150,7 @@ public:
|
||||||
[[deprecated]] bool isParameterOrientationInverted (int parameterIndex) const override;
|
[[deprecated]] bool isParameterOrientationInverted (int parameterIndex) const override;
|
||||||
[[deprecated]] bool isMetaParameter (int parameterIndex) const override;
|
[[deprecated]] bool isMetaParameter (int parameterIndex) const override;
|
||||||
[[deprecated]] AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const override;
|
[[deprecated]] AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const override;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -1487,7 +1487,7 @@ protected:
|
||||||
void sendParamChangeMessageToListeners (int parameterIndex, float newValue);
|
void sendParamChangeMessageToListeners (int parameterIndex, float newValue);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// These methods are all deprecated in favour of using AudioProcessorParameter
|
// These methods are all deprecated in favour of using AudioProcessorParameter
|
||||||
// and AudioProcessorParameterGroup
|
// and AudioProcessorParameterGroup
|
||||||
[[deprecated]] virtual int getNumParameters();
|
[[deprecated]] virtual int getNumParameters();
|
||||||
|
|
@ -1520,7 +1520,7 @@ public:
|
||||||
[[deprecated]] virtual const String getOutputChannelName (int channelIndex) const;
|
[[deprecated]] virtual const String getOutputChannelName (int channelIndex) const;
|
||||||
[[deprecated]] virtual bool isInputChannelStereoPair (int index) const;
|
[[deprecated]] virtual bool isInputChannelStereoPair (int index) const;
|
||||||
[[deprecated]] virtual bool isOutputChannelStereoPair (int index) const;
|
[[deprecated]] virtual bool isOutputChannelStereoPair (int index) const;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -235,13 +235,13 @@ public:
|
||||||
addChild (std::forward<Args> (remainingChildren)...);
|
addChild (std::forward<Args> (remainingChildren)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This class now has a move operator, so if you're trying to move them around, you "
|
[[deprecated ("This class now has a move operator, so if you're trying to move them around, you "
|
||||||
"should use that, or if you really need to swap two groups, just call std::swap. "
|
"should use that, or if you really need to swap two groups, just call std::swap. "
|
||||||
"However, remember that swapping a group that's already owned by an AudioProcessor "
|
"However, remember that swapping a group that's already owned by an AudioProcessor "
|
||||||
"will most likely crash the host, so don't do that.")]]
|
"will most likely crash the host, so don't do that.")]]
|
||||||
void swapWith (AudioProcessorParameterGroup& other) { std::swap (*this, other); }
|
void swapWith (AudioProcessorParameterGroup& other) { std::swap (*this, other); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,10 @@ public:
|
||||||
void paint (Graphics&) override;
|
void paint (Graphics&) override;
|
||||||
void resized() override;
|
void resized() override;
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This constructor has been changed to take a reference instead of a pointer.")]]
|
[[deprecated ("This constructor has been changed to take a reference instead of a pointer.")]]
|
||||||
GenericAudioProcessorEditor (AudioProcessor* p) : GenericAudioProcessorEditor (*p) {}
|
GenericAudioProcessorEditor (AudioProcessor* p) : GenericAudioProcessorEditor (*p) {}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -218,7 +218,7 @@ public:
|
||||||
void setCustomScanner (std::unique_ptr<CustomScanner> newScanner);
|
void setCustomScanner (std::unique_ptr<CustomScanner> newScanner);
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// These methods have been deprecated! When getting the list of plugin types you should instead use
|
// These methods have been deprecated! When getting the list of plugin types you should instead use
|
||||||
// the getTypes() method which returns a copy of the internal PluginDescription array and can be accessed
|
// the getTypes() method which returns a copy of the internal PluginDescription array and can be accessed
|
||||||
// in a thread-safe way.
|
// in a thread-safe way.
|
||||||
|
|
@ -234,7 +234,7 @@ public:
|
||||||
[[deprecated]] void addToMenu (PopupMenu& menu, SortMethod sortMethod, const String& currentlyTickedPluginID = {}) const;
|
[[deprecated]] void addToMenu (PopupMenu& menu, SortMethod sortMethod, const String& currentlyTickedPluginID = {}) const;
|
||||||
[[deprecated]] int getIndexChosenByMenu (int menuResultCode) const;
|
[[deprecated]] int getIndexChosenByMenu (int menuResultCode) const;
|
||||||
[[deprecated]] std::unique_ptr<PluginTree> createTree (SortMethod sortMethod) const;
|
[[deprecated]] std::unique_ptr<PluginTree> createTree (SortMethod sortMethod) const;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,11 @@
|
||||||
|
|
||||||
#include <juce_core/system/juce_PlatformDefs.h>
|
#include <juce_core/system/juce_PlatformDefs.h>
|
||||||
|
|
||||||
#if ! (defined (JUCE_API) || defined (DOXYGEN))
|
/** @cond */
|
||||||
#define JUCE_API
|
#ifndef JUCE_API
|
||||||
|
#define JUCE_API
|
||||||
#endif
|
#endif
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
|
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -141,8 +141,7 @@ protected:
|
||||||
void doRequestProcessingAlgorithmForAudioSource (ARA::PlugIn::AudioSource* audioSource,
|
void doRequestProcessingAlgorithmForAudioSource (ARA::PlugIn::AudioSource* audioSource,
|
||||||
ARA::ARAInt32 algorithmIndex) noexcept override;
|
ARA::ARAInt32 algorithmIndex) noexcept override;
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
bool doRestoreObjectsFromArchive (ARA::PlugIn::HostArchiveReader* archiveReader, const ARA::PlugIn::RestoreObjectsFilter* filter) noexcept override;
|
bool doRestoreObjectsFromArchive (ARA::PlugIn::HostArchiveReader* archiveReader, const ARA::PlugIn::RestoreObjectsFilter* filter) noexcept override;
|
||||||
bool doStoreObjectsToArchive (ARA::PlugIn::HostArchiveWriter* archiveWriter, const ARA::PlugIn::StoreObjectsFilter* filter) noexcept override;
|
bool doStoreObjectsToArchive (ARA::PlugIn::HostArchiveWriter* archiveWriter, const ARA::PlugIn::StoreObjectsFilter* filter) noexcept override;
|
||||||
|
|
@ -211,8 +210,10 @@ protected:
|
||||||
void willUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion, ARAPlaybackRegion::PropertiesPtr newProperties) noexcept override;
|
void willUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion, ARAPlaybackRegion::PropertiesPtr newProperties) noexcept override;
|
||||||
void didUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
|
void didUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
|
||||||
void willDestroyPlaybackRegion (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
|
void willDestroyPlaybackRegion (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/** @cond */
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/** @internal */
|
/** @internal */
|
||||||
void internalNotifyAudioSourceAnalysisProgressStarted (ARAAudioSource* audioSource) override;
|
void internalNotifyAudioSourceAnalysisProgressStarted (ARAAudioSource* audioSource) override;
|
||||||
|
|
@ -244,7 +245,7 @@ public:
|
||||||
ARAContentUpdateScopes scopeFlags,
|
ARAContentUpdateScopes scopeFlags,
|
||||||
bool notifyARAHost) override;
|
bool notifyARAHost) override;
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -279,7 +279,7 @@ public:
|
||||||
~AudioProcessorValueTreeState() override;
|
~AudioProcessorValueTreeState() override;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Previous calls to
|
/** Previous calls to
|
||||||
|
|
||||||
@code
|
@code
|
||||||
|
|
@ -326,7 +326,7 @@ public:
|
||||||
bool isDiscrete = false,
|
bool isDiscrete = false,
|
||||||
AudioProcessorParameter::Category parameterCategory = AudioProcessorParameter::genericParameter,
|
AudioProcessorParameter::Category parameterCategory = AudioProcessorParameter::genericParameter,
|
||||||
bool isBoolean = false);
|
bool isBoolean = false);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** This function adds a parameter to the attached AudioProcessor and that parameter will
|
/** This function adds a parameter to the attached AudioProcessor and that parameter will
|
||||||
be managed by this AudioProcessorValueTreeState object.
|
be managed by this AudioProcessorValueTreeState object.
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
// Forward declarations to avoid leaking implementation details.
|
// Forward declarations to avoid leaking implementation details.
|
||||||
namespace Steinberg::Vst
|
namespace Steinberg::Vst
|
||||||
|
|
@ -40,7 +40,7 @@ namespace Steinberg::Vst
|
||||||
class IComponent;
|
class IComponent;
|
||||||
} // namespace Steinberg::Vst
|
} // namespace Steinberg::Vst
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if ! DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -187,5 +186,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -251,12 +251,12 @@ public:
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// @internal
|
// @internal
|
||||||
static AudioProcessor::WrapperType jucePlugInClientCurrentWrapperType;
|
static AudioProcessor::WrapperType jucePlugInClientCurrentWrapperType;
|
||||||
static std::function<bool (AudioProcessor&)> jucePlugInIsRunningInAudioSuiteFn;
|
static std::function<bool (AudioProcessor&)> jucePlugInIsRunningInAudioSuiteFn;
|
||||||
static String hostIdReportedByWrapper;
|
static String hostIdReportedByWrapper;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static HostType getHostType();
|
static HostType getHostType();
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
// Forward declaration to avoid leaking implementation details.
|
// Forward declaration to avoid leaking implementation details.
|
||||||
namespace Steinberg
|
namespace Steinberg
|
||||||
|
|
@ -41,7 +41,7 @@ namespace Steinberg
|
||||||
using TUID = char[16];
|
using TUID = char[16];
|
||||||
} // namespace Steinberg
|
} // namespace Steinberg
|
||||||
|
|
||||||
#endif // DOXYGEN
|
/** @endcond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -204,11 +204,11 @@ public:
|
||||||
*/
|
*/
|
||||||
NoteAndVelocity getNoteAndVelocityAtPosition (Point<float> position, bool includeChildComponents = false);
|
NoteAndVelocity getNoteAndVelocityAtPosition (Point<float> position, bool includeChildComponents = false);
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** Returns the key at a given coordinate, or -1 if the position does not intersect a key. */
|
/** Returns the key at a given coordinate, or -1 if the position does not intersect a key. */
|
||||||
[[deprecated ("This method has been deprecated in favour of getNoteAndVelocityAtPosition.")]]
|
[[deprecated ("This method has been deprecated in favour of getNoteAndVelocityAtPosition.")]]
|
||||||
int getNoteAtPosition (Point<float> p) { return getNoteAndVelocityAtPosition (p).note; }
|
int getNoteAtPosition (Point<float> p) { return getNoteAndVelocityAtPosition (p).note; }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Returns the rectangle for a given key. */
|
/** Returns the rectangle for a given key. */
|
||||||
Rectangle<float> getRectangleForKey (int midiNoteNumber) const;
|
Rectangle<float> getRectangleForKey (int midiNoteNumber) const;
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wconversion",
|
||||||
|
|
||||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||||
|
|
||||||
#ifndef DOXYGEN // for some reason, Doxygen sees this as a re-definition of Box2DRenderer
|
// For some reason, Doxygen sees this as a re-definition of Box2DRenderer
|
||||||
#include "utils/juce_Box2DRenderer.h"
|
/** @cond */
|
||||||
#endif // DOXYGEN
|
#include "utils/juce_Box2DRenderer.h"
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -1107,11 +1107,11 @@ public:
|
||||||
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
||||||
"to swapWith to be more consistent with the names used in other classes.")]]
|
"to swapWith to be more consistent with the names used in other classes.")]]
|
||||||
void swapWithArray (Array& other) noexcept { swapWith (other); }
|
void swapWithArray (Array& other) noexcept { swapWith (other); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,7 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
/** This is an internal helper class which converts a juce ElementComparator style
|
/** This is an internal helper class which converts a juce ElementComparator style
|
||||||
class (using a "compareElements" method) into a class that's compatible with
|
class (using a "compareElements" method) into a class that's compatible with
|
||||||
std::sort (i.e. using an operator() to compare the elements)
|
std::sort (i.e. using an operator() to compare the elements)
|
||||||
|
|
@ -57,8 +56,7 @@ private:
|
||||||
|
|
||||||
SortFunctionConverter& operator= (const SortFunctionConverter&) = delete;
|
SortFunctionConverter& operator= (const SortFunctionConverter&) = delete;
|
||||||
};
|
};
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,7 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
template <typename Ret, typename... Args>
|
template <typename Ret, typename... Args>
|
||||||
|
|
@ -91,8 +90,7 @@ namespace detail
|
||||||
|
|
||||||
template <size_t len, typename T>
|
template <size_t len, typename T>
|
||||||
class FixedSizeFunction;
|
class FixedSizeFunction;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A type similar to `std::function` that holds a callable object.
|
A type similar to `std::function` that holds a callable object.
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,9 @@ constexpr auto nullopt = std::nullopt;
|
||||||
// link time code generation.
|
// link time code generation.
|
||||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4702)
|
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4702)
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
#define JUCE_OPTIONAL_OPERATORS X(==) X(!=) X(<) X(<=) X(>) X(>=)
|
#define JUCE_OPTIONAL_OPERATORS X(==) X(!=) X(<) X(<=) X(>) X(>=)
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A simple optional type.
|
A simple optional type.
|
||||||
|
|
@ -175,7 +175,7 @@ Optional<std::decay_t<Value>> makeOptional (Value&& v)
|
||||||
return std::forward<Value> (v);
|
return std::forward<Value> (v);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
#define X(op) \
|
#define X(op) \
|
||||||
template <typename T, typename U> bool operator op (const Optional<T>& lhs, const Optional<U>& rhs) { return lhs.opt op rhs.opt; } \
|
template <typename T, typename U> bool operator op (const Optional<T>& lhs, const Optional<U>& rhs) { return lhs.opt op rhs.opt; } \
|
||||||
template <typename T> bool operator op (const Optional<T>& lhs, Nullopt rhs) { return lhs.opt op rhs; } \
|
template <typename T> bool operator op (const Optional<T>& lhs, Nullopt rhs) { return lhs.opt op rhs; } \
|
||||||
|
|
@ -187,6 +187,6 @@ JUCE_OPTIONAL_OPERATORS
|
||||||
|
|
||||||
#undef X
|
#undef X
|
||||||
#undef JUCE_OPTIONAL_OPERATORS
|
#undef JUCE_OPTIONAL_OPERATORS
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -806,11 +806,11 @@ public:
|
||||||
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
|
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
||||||
"to swapWith to be more consistent with the names used in other classes.")]]
|
"to swapWith to be more consistent with the names used in other classes.")]]
|
||||||
void swapWithArray (OwnedArray& other) noexcept { swapWith (other); }
|
void swapWithArray (OwnedArray& other) noexcept { swapWith (other); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -854,11 +854,11 @@ public:
|
||||||
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
|
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
|
||||||
"to swapWith to be more consistent with the names used in other classes.")]]
|
"to swapWith to be more consistent with the names used in other classes.")]]
|
||||||
void swapWithArray (ReferenceCountedArray& other) noexcept { swapWith (other); }
|
void swapWithArray (ReferenceCountedArray& other) noexcept { swapWith (other); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -295,12 +295,14 @@ public:
|
||||||
static var readFromStream (InputStream& input);
|
static var readFromStream (InputStream& input);
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
|
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||||
|
/** @cond */
|
||||||
[[deprecated ("This was a static empty var object, but is now deprecated as it's too easy to accidentally "
|
[[deprecated ("This was a static empty var object, but is now deprecated as it's too easy to accidentally "
|
||||||
"use it indirectly during a static constructor leading to hard-to-find order-of-initialisation "
|
"use it indirectly during a static constructor leading to hard-to-find order-of-initialisation "
|
||||||
"problems. Use var() or {} instead. For returning an empty var from a function by reference, "
|
"problems. Use var() or {} instead. For returning an empty var from a function by reference, "
|
||||||
"use a function-local static var and return that.")]]
|
"use a function-local static var and return that.")]]
|
||||||
static const var null;
|
static const var null;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -84,5 +83,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,7 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
This class is now deprecated in favour of RangedDirectoryIterator.
|
This class is now deprecated in favour of RangedDirectoryIterator.
|
||||||
|
|
@ -203,7 +202,6 @@ private:
|
||||||
|
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DirectoryIterator)
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DirectoryIterator)
|
||||||
};
|
};
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,11 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#if ! DOXYGEN && (JUCE_MAC || JUCE_IOS)
|
/** @cond */
|
||||||
|
#if JUCE_MAC || JUCE_IOS
|
||||||
using OSType = unsigned int;
|
using OSType = unsigned int;
|
||||||
#endif
|
#endif
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
@ -1153,7 +1155,8 @@ public:
|
||||||
bool foldersFirst;
|
bool foldersFirst;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
|
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||||
|
/** @cond */
|
||||||
/* These static objects are deprecated because it's too easy to accidentally use them indirectly
|
/* These static objects are deprecated because it's too easy to accidentally use them indirectly
|
||||||
during a static constructor, which leads to very obscure order-of-initialisation bugs.
|
during a static constructor, which leads to very obscure order-of-initialisation bugs.
|
||||||
Use File::getSeparatorChar() and File::getSeparatorString(), and instead of File::nonexistent,
|
Use File::getSeparatorChar() and File::getSeparatorString(), and instead of File::nonexistent,
|
||||||
|
|
@ -1162,6 +1165,7 @@ public:
|
||||||
[[deprecated]] static const juce_wchar separator;
|
[[deprecated]] static const juce_wchar separator;
|
||||||
[[deprecated]] static const StringRef separatorString;
|
[[deprecated]] static const StringRef separatorString;
|
||||||
[[deprecated]] static const File nonexistent;
|
[[deprecated]] static const File nonexistent;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -499,16 +499,14 @@ struct VariantConverter
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct VariantConverter<String>
|
struct VariantConverter<String>
|
||||||
{
|
{
|
||||||
static String fromVar (const var& v) { return v.toString(); }
|
static String fromVar (const var& v) { return v.toString(); }
|
||||||
static var toVar (const String& s) { return s; }
|
static var toVar (const String& s) { return s; }
|
||||||
};
|
};
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A helper type that can be used to implement specialisations of VariantConverter that use
|
A helper type that can be used to implement specialisations of VariantConverter that use
|
||||||
|
|
|
||||||
|
|
@ -394,7 +394,7 @@ JUCE_END_IGNORE_WARNINGS_MSVC
|
||||||
#include "unit_tests/juce_UnitTestCategories.h"
|
#include "unit_tests/juce_UnitTestCategories.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
@ -415,7 +415,7 @@ namespace juce
|
||||||
static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode compileUnitMismatchSentinel;
|
static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode compileUnitMismatchSentinel;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
JUCE_END_IGNORE_WARNINGS_MSVC
|
JUCE_END_IGNORE_WARNINGS_MSVC
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,14 +68,14 @@ using uint32 = unsigned int;
|
||||||
using uint64 = unsigned long long;
|
using uint64 = unsigned long long;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** A macro for creating 64-bit literals.
|
/** A macro for creating 64-bit literals.
|
||||||
Historically, this was needed to support portability with MSVC6, and is kept here
|
Historically, this was needed to support portability with MSVC6, and is kept here
|
||||||
so that old code will still compile, but nowadays every compiler will support the
|
so that old code will still compile, but nowadays every compiler will support the
|
||||||
LL and ULL suffixes, so you should use those in preference to this macro.
|
LL and ULL suffixes, so you should use those in preference to this macro.
|
||||||
*/
|
*/
|
||||||
#define literal64bit(longLiteral) (longLiteral##LL)
|
#define literal64bit(longLiteral) (longLiteral##LL)
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
#if JUCE_64BIT
|
#if JUCE_64BIT
|
||||||
/** A signed integer type that's guaranteed to be large enough to hold a pointer without truncating it. */
|
/** A signed integer type that's guaranteed to be large enough to hold a pointer without truncating it. */
|
||||||
|
|
@ -129,7 +129,7 @@ Type juce_hypot (Type a, Type b) noexcept
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
template <>
|
template <>
|
||||||
inline float juce_hypot (float a, float b) noexcept
|
inline float juce_hypot (float a, float b) noexcept
|
||||||
{
|
{
|
||||||
|
|
@ -139,7 +139,7 @@ inline float juce_hypot (float a, float b) noexcept
|
||||||
return hypotf (a, b);
|
return hypotf (a, b);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/** Commonly used mathematical constants
|
/** Commonly used mathematical constants
|
||||||
|
|
@ -165,7 +165,7 @@ struct MathConstants
|
||||||
static constexpr FloatType sqrt2 = static_cast<FloatType> (1.4142135623730950488L);
|
static constexpr FloatType sqrt2 = static_cast<FloatType> (1.4142135623730950488L);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
/** A double-precision constant for pi. */
|
/** A double-precision constant for pi. */
|
||||||
[[deprecated ("This is deprecated in favour of MathConstants<double>::pi.")]]
|
[[deprecated ("This is deprecated in favour of MathConstants<double>::pi.")]]
|
||||||
const constexpr double double_Pi = MathConstants<double>::pi;
|
const constexpr double double_Pi = MathConstants<double>::pi;
|
||||||
|
|
@ -173,7 +173,7 @@ const constexpr double double_Pi = MathConstants<double>::pi;
|
||||||
/** A single-precision constant for pi. */
|
/** A single-precision constant for pi. */
|
||||||
[[deprecated ("This is deprecated in favour of MathConstants<float>::pi.")]]
|
[[deprecated ("This is deprecated in favour of MathConstants<float>::pi.")]]
|
||||||
const constexpr float float_Pi = MathConstants<float>::pi;
|
const constexpr float float_Pi = MathConstants<float>::pi;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Converts an angle in degrees to radians. */
|
/** Converts an angle in degrees to radians. */
|
||||||
template <typename FloatType>
|
template <typename FloatType>
|
||||||
|
|
@ -763,7 +763,7 @@ namespace TypeHelpers
|
||||||
*/
|
*/
|
||||||
template <typename Type> struct ParameterType { using type = const Type&; };
|
template <typename Type> struct ParameterType { using type = const Type&; };
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
template <typename Type> struct ParameterType <Type&> { using type = Type&; };
|
template <typename Type> struct ParameterType <Type&> { using type = Type&; };
|
||||||
template <typename Type> struct ParameterType <Type*> { using type = Type*; };
|
template <typename Type> struct ParameterType <Type*> { using type = Type*; };
|
||||||
template <> struct ParameterType <char> { using type = char; };
|
template <> struct ParameterType <char> { using type = char; };
|
||||||
|
|
@ -779,7 +779,7 @@ namespace TypeHelpers
|
||||||
template <> struct ParameterType <bool> { using type = bool; };
|
template <> struct ParameterType <bool> { using type = bool; };
|
||||||
template <> struct ParameterType <float> { using type = float; };
|
template <> struct ParameterType <float> { using type = float; };
|
||||||
template <> struct ParameterType <double> { using type = double; };
|
template <> struct ParameterType <double> { using type = double; };
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** These templates are designed to take a type, and if it's a double, they return a double
|
/** These templates are designed to take a type, and if it's a double, they return a double
|
||||||
type; for anything else, they return a float type.
|
type; for anything else, they return a float type.
|
||||||
|
|
@ -796,20 +796,20 @@ namespace TypeHelpers
|
||||||
*/
|
*/
|
||||||
template <int bytes> struct UnsignedTypeWithSize {};
|
template <int bytes> struct UnsignedTypeWithSize {};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
template <> struct UnsignedTypeWithSize<1> { using type = uint8; };
|
template <> struct UnsignedTypeWithSize<1> { using type = uint8; };
|
||||||
template <> struct UnsignedTypeWithSize<2> { using type = uint16; };
|
template <> struct UnsignedTypeWithSize<2> { using type = uint16; };
|
||||||
template <> struct UnsignedTypeWithSize<4> { using type = uint32; };
|
template <> struct UnsignedTypeWithSize<4> { using type = uint32; };
|
||||||
template <> struct UnsignedTypeWithSize<8> { using type = uint64; };
|
template <> struct UnsignedTypeWithSize<8> { using type = uint64; };
|
||||||
#endif
|
/** @endcond */
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use roundToInt instead.")]] inline int roundDoubleToInt (double value) noexcept { return roundToInt (value); }
|
[[deprecated ("Use roundToInt instead.")]] inline int roundDoubleToInt (double value) noexcept { return roundToInt (value); }
|
||||||
[[deprecated ("Use roundToInt instead.")]] inline int roundFloatToInt (float value) noexcept { return roundToInt (value); }
|
[[deprecated ("Use roundToInt instead.")]] inline int roundFloatToInt (float value) noexcept { return roundToInt (value); }
|
||||||
[[deprecated ("Use std::abs() instead.")]] inline int64 abs64 (int64 n) noexcept { return std::abs (n); }
|
[[deprecated ("Use std::abs() instead.")]] inline int64 abs64 (int64 n) noexcept { return std::abs (n); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Converts an enum to its underlying integral type.
|
/** Converts an enum to its underlying integral type.
|
||||||
Similar to std::to_underlying, which is only available in C++23 and above.
|
Similar to std::to_underlying, which is only available in C++23 and above.
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,13 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace AtomicHelpers
|
namespace AtomicHelpers
|
||||||
{
|
{
|
||||||
template <typename T> struct DiffTypeHelper { using Type = T; };
|
template <typename T> struct DiffTypeHelper { using Type = T; };
|
||||||
template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
|
template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
@ -147,11 +147,11 @@ struct Atomic final
|
||||||
std::atomic<Type> value;
|
std::atomic<Type> value;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This method has been deprecated as there is no equivalent method in "
|
[[deprecated ("This method has been deprecated as there is no equivalent method in "
|
||||||
"std::atomic. Use compareAndSetBool instead.")]]
|
"std::atomic. Use compareAndSetBool instead.")]]
|
||||||
Type compareAndSetValue (Type, Type) noexcept;
|
Type compareAndSetValue (Type, Type) noexcept;
|
||||||
#endif
|
/** @endcond */
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,8 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#if ! (DOXYGEN || JUCE_EXCEPTIONS_DISABLED)
|
#if ! JUCE_EXCEPTIONS_DISABLED
|
||||||
|
/** @cond */
|
||||||
namespace HeapBlockHelper
|
namespace HeapBlockHelper
|
||||||
{
|
{
|
||||||
template <bool shouldThrow>
|
template <bool shouldThrow>
|
||||||
|
|
@ -44,6 +45,7 @@ namespace HeapBlockHelper
|
||||||
template <>
|
template <>
|
||||||
struct ThrowOnFail<true> { static void checkPointer (void* data) { if (data == nullptr) throw std::bad_alloc(); } };
|
struct ThrowOnFail<true> { static void checkPointer (void* data) { if (data == nullptr) throw std::bad_alloc(); } };
|
||||||
}
|
}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,8 @@ inline const Type* addBytesToPointer (const Type* basePointer, IntegerType bytes
|
||||||
avoiding problems when an object is created in one module and passed across to another where it is deleted.
|
avoiding problems when an object is created in one module and passed across to another where it is deleted.
|
||||||
By piggy-backing on the JUCE_LEAK_DETECTOR macro, these allocators can be injected into most juce classes.
|
By piggy-backing on the JUCE_LEAK_DETECTOR macro, these allocators can be injected into most juce classes.
|
||||||
*/
|
*/
|
||||||
#if JUCE_MSVC && (defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)) && ! (JUCE_DISABLE_DLL_ALLOCATORS || DOXYGEN)
|
#if JUCE_MSVC && (defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)) && ! JUCE_DISABLE_DLL_ALLOCATORS
|
||||||
|
/** @cond */
|
||||||
extern JUCE_API void* juceDLL_malloc (size_t);
|
extern JUCE_API void* juceDLL_malloc (size_t);
|
||||||
extern JUCE_API void juceDLL_free (void*);
|
extern JUCE_API void juceDLL_free (void*);
|
||||||
|
|
||||||
|
|
@ -187,6 +188,7 @@ inline const Type* addBytesToPointer (const Type* basePointer, IntegerType bytes
|
||||||
static void* operator new (size_t, void* p) { return p; } \
|
static void* operator new (size_t, void* p) { return p; } \
|
||||||
static void operator delete (void* p) { juce::juceDLL_free (p); } \
|
static void operator delete (void* p) { juce::juceDLL_free (p); } \
|
||||||
static void operator delete (void*, void*) {}
|
static void operator delete (void*, void*) {}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -281,14 +281,14 @@ public:
|
||||||
bool fromBase64Encoding (StringRef encodedString);
|
bool fromBase64Encoding (StringRef encodedString);
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use the replaceAll method instead, which will also replace the data when numBytes == 0.")]]
|
[[deprecated ("Use the replaceAll method instead, which will also replace the data when numBytes == 0.")]]
|
||||||
void replaceWith (const void* srcData, size_t numBytes)
|
void replaceWith (const void* srcData, size_t numBytes)
|
||||||
{
|
{
|
||||||
if (numBytes > 0)
|
if (numBytes > 0)
|
||||||
replaceAll (srcData, numBytes);
|
replaceAll (srcData, numBytes);
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -440,10 +440,10 @@ public:
|
||||||
operator ReferencedType*() const noexcept { return referencedObject; }
|
operator ReferencedType*() const noexcept { return referencedObject; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("Use the get method instead.")]]
|
[[deprecated ("Use the get method instead.")]]
|
||||||
ReferencedType* getObject() const { return get(); }
|
ReferencedType* getObject() const { return get(); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,7 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -228,5 +227,4 @@ void deleteAndZero (ScopedPointer<Type>&) { static_assert (sizeof (Type) == 123
|
||||||
JUCE_END_IGNORE_DEPRECATION_WARNINGS
|
JUCE_END_IGNORE_DEPRECATION_WARNINGS
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
|
||||||
|
|
@ -128,10 +128,10 @@ public:
|
||||||
/** Returns a reference to the shared object. */
|
/** Returns a reference to the shared object. */
|
||||||
SharedObjectType& operator*() const noexcept { return *sharedObject; }
|
SharedObjectType& operator*() const noexcept { return *sharedObject; }
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("If you are relying on this function please inform the JUCE team as we are planing on removing this in a subsequent release")]]
|
[[deprecated ("If you are relying on this function please inform the JUCE team as we are planing on removing this in a subsequent release")]]
|
||||||
int getReferenceCount() const noexcept { return (int) sharedObject.use_count(); }
|
int getReferenceCount() const noexcept { return (int) sharedObject.use_count(); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Returns the SharedResourcePointer if one already exists, or a null optional otherwise. */
|
/** Returns the SharedResourcePointer if one already exists, or a null optional otherwise. */
|
||||||
static std::optional<SharedResourcePointer> getSharedObjectWithoutCreating()
|
static std::optional<SharedResourcePointer> getSharedObjectWithoutCreating()
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
|
||||||
std::atomic<Type*> instance { nullptr };
|
std::atomic<Type*> instance { nullptr };
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
#define JUCE_PRIVATE_DECLARE_SINGLETON(Classname, mutex, doNotRecreate, inlineToken, getter) \
|
#define JUCE_PRIVATE_DECLARE_SINGLETON(Classname, mutex, doNotRecreate, inlineToken, getter) \
|
||||||
static inlineToken juce::SingletonHolder<Classname, mutex, doNotRecreate> singletonHolder; \
|
static inlineToken juce::SingletonHolder<Classname, mutex, doNotRecreate> singletonHolder; \
|
||||||
friend juce::SingletonHolder<Classname, mutex, doNotRecreate>; \
|
friend juce::SingletonHolder<Classname, mutex, doNotRecreate>; \
|
||||||
|
|
@ -143,7 +143,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
|
||||||
static Classname* JUCE_CALLTYPE getInstanceWithoutCreating() noexcept { return singletonHolder.instance; } \
|
static Classname* JUCE_CALLTYPE getInstanceWithoutCreating() noexcept { return singletonHolder.instance; } \
|
||||||
static void JUCE_CALLTYPE deleteInstance() noexcept { singletonHolder.deleteInstance(); } \
|
static void JUCE_CALLTYPE deleteInstance() noexcept { singletonHolder.deleteInstance(); } \
|
||||||
void clearSingletonInstance() noexcept { singletonHolder.clear (this); }
|
void clearSingletonInstance() noexcept { singletonHolder.clear (this); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
@ -281,14 +281,14 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
|
||||||
JUCE_PRIVATE_DECLARE_SINGLETON (Classname, juce::DummyCriticalSection, false, inline, getWithoutChecking)
|
JUCE_PRIVATE_DECLARE_SINGLETON (Classname, juce::DummyCriticalSection, false, inline, getWithoutChecking)
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// These are ancient macros, and have now been updated with new names to match the JUCE style guide,
|
// These are ancient macros, and have now been updated with new names to match the JUCE style guide,
|
||||||
// so please update your code to use the newer versions!
|
// so please update your code to use the newer versions!
|
||||||
#define juce_DeclareSingleton(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON(Classname, doNotRecreate)
|
#define juce_DeclareSingleton(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON(Classname, doNotRecreate)
|
||||||
#define juce_DeclareSingleton_SingleThreaded(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON_SINGLETHREADED(Classname, doNotRecreate)
|
#define juce_DeclareSingleton_SingleThreaded(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON_SINGLETHREADED(Classname, doNotRecreate)
|
||||||
#define juce_DeclareSingleton_SingleThreaded_Minimal(Classname) JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL(Classname)
|
#define juce_DeclareSingleton_SingleThreaded_Minimal(Classname) JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL(Classname)
|
||||||
#define juce_ImplementSingleton(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
|
#define juce_ImplementSingleton(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
|
||||||
#define juce_ImplementSingleton_SingleThreaded(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
|
#define juce_ImplementSingleton_SingleThreaded(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
template <typename...>
|
template <typename...>
|
||||||
|
|
@ -47,7 +47,7 @@ namespace detail
|
||||||
template <typename T>
|
template <typename T>
|
||||||
constexpr auto equalityComparableToNullptr<T, Void<decltype (std::declval<T>() != nullptr)>> = true;
|
constexpr auto equalityComparableToNullptr<T, Void<decltype (std::declval<T>() != nullptr)>> = true;
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/** Some helper methods for checking a callable object before invoking with
|
/** Some helper methods for checking a callable object before invoking with
|
||||||
|
|
@ -98,7 +98,7 @@ template <typename Object, typename OtherObject, typename Member, typename Other
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
template <typename Functor, typename Return, typename... Args>
|
template <typename Functor, typename Return, typename... Args>
|
||||||
|
|
@ -107,7 +107,7 @@ static constexpr auto toFnPtr (Functor functor, Return (Functor::*) (Args...) co
|
||||||
return static_cast<Return (*) (Args...)> (functor);
|
return static_cast<Return (*) (Args...)> (functor);
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Converts a captureless lambda to its equivalent function pointer type. */
|
/** Converts a captureless lambda to its equivalent function pointer type. */
|
||||||
template <typename Functor>
|
template <typename Functor>
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,7 @@ private:
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
template <> struct hash<juce::Uuid>
|
template <> struct hash<juce::Uuid>
|
||||||
|
|
@ -159,4 +159,4 @@ namespace std
|
||||||
size_t operator() (const juce::Uuid& u) const noexcept { return (size_t) u.hash(); }
|
size_t operator() (const juce::Uuid& u) const noexcept { return (size_t) u.hash(); }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -135,12 +135,12 @@ public:
|
||||||
bool registerForCurrentUserOnly,
|
bool registerForCurrentUserOnly,
|
||||||
WoW64Mode mode = WoW64_Default);
|
WoW64Mode mode = WoW64_Default);
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// DEPRECATED: use the other methods with a WoW64Mode parameter of WoW64_64bit instead.
|
// DEPRECATED: use the other methods with a WoW64Mode parameter of WoW64_64bit instead.
|
||||||
[[deprecated]] static String getValueWow64 (const String&, const String& defaultValue = String());
|
[[deprecated]] static String getValueWow64 (const String&, const String& defaultValue = String());
|
||||||
[[deprecated]] static bool valueExistsWow64 (const String&);
|
[[deprecated]] static bool valueExistsWow64 (const String&);
|
||||||
[[deprecated]] static bool keyExistsWow64 (const String&);
|
[[deprecated]] static bool keyExistsWow64 (const String&);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
WindowsRegistry() = delete;
|
WindowsRegistry() = delete;
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
template <class JuceClass>
|
template <class JuceClass>
|
||||||
struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
|
struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
|
||||||
{
|
{
|
||||||
|
|
@ -424,7 +424,7 @@ struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
|
||||||
|
|
||||||
template <typename Class>
|
template <typename Class>
|
||||||
ObjCLifetimeManagedClass<Class> ObjCLifetimeManagedClass<Class>::objCLifetimeManagedClass;
|
ObjCLifetimeManagedClass<Class> ObjCLifetimeManagedClass<Class>::objCLifetimeManagedClass;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
// this will return an NSObject which takes ownership of the JUCE instance passed-in
|
// this will return an NSObject which takes ownership of the JUCE instance passed-in
|
||||||
// This is useful to tie the life-time of a juce instance to the life-time of an NSObject
|
// This is useful to tie the life-time of a juce instance to the life-time of an NSObject
|
||||||
|
|
|
||||||
|
|
@ -684,7 +684,7 @@ public:
|
||||||
static URL createWithoutParsing (const String& url);
|
static URL createWithoutParsing (const String& url);
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
using OpenStreamProgressCallback = bool (void* context, int bytesSent, int totalBytes);
|
using OpenStreamProgressCallback = bool (void* context, int bytesSent, int totalBytes);
|
||||||
|
|
||||||
/** This method has been deprecated.
|
/** This method has been deprecated.
|
||||||
|
|
@ -701,7 +701,7 @@ public:
|
||||||
int* statusCode = nullptr,
|
int* statusCode = nullptr,
|
||||||
int numRedirectsToFollow = 5,
|
int numRedirectsToFollow = 5,
|
||||||
String httpRequestCmd = {}) const;
|
String httpRequestCmd = {}) const;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,7 @@ template <typename T> constexpr auto serialisationSize (const T& t) -> std::enab
|
||||||
The following are specialisations of SerialisationTraits for commonly-used types.
|
The following are specialisations of SerialisationTraits for commonly-used types.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
template <typename... Ts>
|
template <typename... Ts>
|
||||||
struct SerialisationTraits<std::vector<Ts...>>
|
struct SerialisationTraits<std::vector<Ts...>>
|
||||||
{
|
{
|
||||||
|
|
@ -583,6 +582,6 @@ namespace detail
|
||||||
}
|
}
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -113,14 +113,14 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
// These are old flags that are now supported on all compatible build targets
|
||||||
// These are old flags that are now supported on all compatible build targets
|
/** @cond */
|
||||||
#define JUCE_CXX14_IS_AVAILABLE 1
|
#define JUCE_CXX14_IS_AVAILABLE 1
|
||||||
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
|
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
|
||||||
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
|
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
|
||||||
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
|
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
|
||||||
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
|
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
|
||||||
#define JUCE_DELETED_FUNCTION = delete
|
#define JUCE_DELETED_FUNCTION = delete
|
||||||
#define JUCE_CONSTEXPR constexpr
|
#define JUCE_CONSTEXPR constexpr
|
||||||
#define JUCE_NODISCARD [[nodiscard]]
|
#define JUCE_NODISCARD [[nodiscard]]
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
#include "juce_TargetPlatform.h"
|
#include "juce_TargetPlatform.h"
|
||||||
|
|
||||||
// @cond
|
/** @cond */
|
||||||
/** Return the Nth argument. By passing a variadic pack followed by N other
|
/** Return the Nth argument. By passing a variadic pack followed by N other
|
||||||
parameters, we can select one of those N parameter based on the length of
|
parameters, we can select one of those N parameter based on the length of
|
||||||
the parameter pack.
|
the parameter pack.
|
||||||
|
|
@ -161,7 +161,7 @@
|
||||||
/** Quote the argument, turning it into a string. */
|
/** Quote the argument, turning it into a string. */
|
||||||
#define JUCE_TO_STRING(x) #x
|
#define JUCE_TO_STRING(x) #x
|
||||||
|
|
||||||
// @endcond
|
/** @endcond */
|
||||||
#if JUCE_CLANG || JUCE_GCC
|
#if JUCE_CLANG || JUCE_GCC
|
||||||
#define JUCE_IGNORE_GCC_IMPL_(compiler, warning)
|
#define JUCE_IGNORE_GCC_IMPL_(compiler, warning)
|
||||||
#define JUCE_IGNORE_GCC_IMPL_0(compiler, warning)
|
#define JUCE_IGNORE_GCC_IMPL_0(compiler, warning)
|
||||||
|
|
|
||||||
|
|
@ -129,12 +129,14 @@ namespace juce
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_MSVC && ! defined (DOXYGEN)
|
#if JUCE_MSVC
|
||||||
|
/** @cond */
|
||||||
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \
|
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \
|
||||||
__pragma(warning(push)) \
|
__pragma(warning(push)) \
|
||||||
__pragma(warning(disable:4127)) \
|
__pragma(warning(disable:4127)) \
|
||||||
do { x } while (false) \
|
do { x } while (false) \
|
||||||
__pragma(warning(pop))
|
__pragma(warning(pop))
|
||||||
|
/** @endcond */
|
||||||
#else
|
#else
|
||||||
/** This is the good old C++ trick for creating a macro that forces the user to put
|
/** This is the good old C++ trick for creating a macro that forces the user to put
|
||||||
a semicolon after it when they use it.
|
a semicolon after it when they use it.
|
||||||
|
|
@ -204,10 +206,10 @@ namespace juce
|
||||||
#define JUCE_ASSERTIONS_ENABLED_OR_LOGGED JUCE_ASSERTIONS_ENABLED || JUCE_LOG_ASSERTIONS
|
#define JUCE_ASSERTIONS_ENABLED_OR_LOGGED JUCE_ASSERTIONS_ENABLED || JUCE_LOG_ASSERTIONS
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
#define JUCE_JOIN_MACRO_HELPER(a, b) a ## b
|
#define JUCE_JOIN_MACRO_HELPER(a, b) a ## b
|
||||||
#define JUCE_STRINGIFY_MACRO_HELPER(a) #a
|
#define JUCE_STRINGIFY_MACRO_HELPER(a) #a
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** A good old-fashioned C macro concatenation helper.
|
/** A good old-fashioned C macro concatenation helper.
|
||||||
This combines two items (which may themselves be macros) into a single string,
|
This combines two items (which may themselves be macros) into a single string,
|
||||||
|
|
@ -271,8 +273,10 @@ namespace juce
|
||||||
static void operator delete (void*) = delete;
|
static void operator delete (void*) = delete;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_MSVC && ! defined (DOXYGEN)
|
#if JUCE_MSVC
|
||||||
|
/** @cond */
|
||||||
#define JUCE_COMPILER_WARNING(msg) __pragma (message (__FILE__ "(" JUCE_STRINGIFY (__LINE__) ") : Warning: " msg))
|
#define JUCE_COMPILER_WARNING(msg) __pragma (message (__FILE__ "(" JUCE_STRINGIFY (__LINE__) ") : Warning: " msg))
|
||||||
|
/** @endcond */
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/** This macro allows you to emit a custom compiler warning message.
|
/** This macro allows you to emit a custom compiler warning message.
|
||||||
|
|
@ -314,8 +318,10 @@ namespace juce
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_ANDROID && ! defined (DOXYGEN)
|
#if JUCE_ANDROID
|
||||||
|
/** @cond */
|
||||||
#define JUCE_MODAL_LOOPS_PERMITTED 0
|
#define JUCE_MODAL_LOOPS_PERMITTED 0
|
||||||
|
/** @endcond */
|
||||||
#elif ! defined (JUCE_MODAL_LOOPS_PERMITTED)
|
#elif ! defined (JUCE_MODAL_LOOPS_PERMITTED)
|
||||||
/** Some operating environments don't provide a modal loop mechanism, so this flag can be
|
/** Some operating environments don't provide a modal loop mechanism, so this flag can be
|
||||||
used to disable any functions that try to run a modal loop. */
|
used to disable any functions that try to run a modal loop. */
|
||||||
|
|
@ -323,11 +329,13 @@ namespace juce
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
/** @cond */
|
||||||
#if JUCE_GCC || JUCE_CLANG
|
#if JUCE_GCC || JUCE_CLANG
|
||||||
#define JUCE_PACKED __attribute__ ((packed))
|
#define JUCE_PACKED __attribute__ ((packed))
|
||||||
#elif ! defined (DOXYGEN)
|
#else
|
||||||
#define JUCE_PACKED
|
#define JUCE_PACKED
|
||||||
#endif
|
#endif
|
||||||
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_GCC || DOXYGEN
|
#if JUCE_GCC || DOXYGEN
|
||||||
|
|
|
||||||
|
|
@ -53,10 +53,10 @@
|
||||||
*/
|
*/
|
||||||
#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
|
#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
|
||||||
|
|
||||||
#if ! DOXYGEN
|
/** @cond */
|
||||||
#define JUCE_VERSION_ID \
|
#define JUCE_VERSION_ID \
|
||||||
[[maybe_unused]] volatile auto juceVersionId = "juce_version_" JUCE_STRINGIFY(JUCE_MAJOR_VERSION) "_" JUCE_STRINGIFY(JUCE_MINOR_VERSION) "_" JUCE_STRINGIFY(JUCE_BUILDNUMBER);
|
[[maybe_unused]] volatile auto juceVersionId = "juce_version_" JUCE_STRINGIFY(JUCE_MAJOR_VERSION) "_" JUCE_STRINGIFY(JUCE_MINOR_VERSION) "_" JUCE_STRINGIFY(JUCE_BUILDNUMBER);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
@ -173,6 +173,6 @@ JUCE_END_IGNORE_WARNINGS_MSVC
|
||||||
/** This macro is added to all JUCE public function declarations. */
|
/** This macro is added to all JUCE public function declarations. */
|
||||||
#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
|
#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
#define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
|
#define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -294,10 +294,10 @@ public:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated ("This method was spelt wrong! Please change your code to use getCpuSpeedInMegahertz instead.")]]
|
[[deprecated ("This method was spelt wrong! Please change your code to use getCpuSpeedInMegahertz instead.")]]
|
||||||
static int getCpuSpeedInMegaherz() { return getCpuSpeedInMegahertz(); }
|
static int getCpuSpeedInMegaherz() { return getCpuSpeedInMegahertz(); }
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SystemStats() = delete; // uses only static methods
|
SystemStats() = delete; // uses only static methods
|
||||||
|
|
|
||||||
|
|
@ -350,7 +350,8 @@ public:
|
||||||
return CharacterFunctions::compareIgnoreCaseUpTo (*this, other, maxChars);
|
return CharacterFunctions::compareIgnoreCaseUpTo (*this, other, maxChars);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if JUCE_MSVC && ! defined (DOXYGEN)
|
#if JUCE_MSVC
|
||||||
|
/** @cond */
|
||||||
int compareIgnoreCase (CharPointer_UTF16 other) const noexcept
|
int compareIgnoreCase (CharPointer_UTF16 other) const noexcept
|
||||||
{
|
{
|
||||||
return _wcsicmp (data, other.data);
|
return _wcsicmp (data, other.data);
|
||||||
|
|
@ -366,6 +367,7 @@ public:
|
||||||
const CharType* const t = wcsstr (data, stringToFind.getAddress());
|
const CharType* const t = wcsstr (data, stringToFind.getAddress());
|
||||||
return t == nullptr ? -1 : (int) (t - data);
|
return t == nullptr ? -1 : (int) (t - data);
|
||||||
}
|
}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Returns the character index of a substring, or -1 if it isn't found. */
|
/** Returns the character index of a substring, or -1 if it isn't found. */
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,12 @@ namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_WINDOWS && ! defined (DOXYGEN)
|
#if JUCE_WINDOWS
|
||||||
|
/** @cond */
|
||||||
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
|
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
|
||||||
#define JUCE_NATIVE_WCHAR_IS_UTF16 1
|
#define JUCE_NATIVE_WCHAR_IS_UTF16 1
|
||||||
#define JUCE_NATIVE_WCHAR_IS_UTF32 0
|
#define JUCE_NATIVE_WCHAR_IS_UTF32 0
|
||||||
|
/** @endcond */
|
||||||
#else
|
#else
|
||||||
/** This macro will be set to 1 if the compiler's native wchar_t is an 8-bit type. */
|
/** This macro will be set to 1 if the compiler's native wchar_t is an 8-bit type. */
|
||||||
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
|
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
|
||||||
|
|
@ -56,10 +58,10 @@ namespace juce
|
||||||
using juce_wchar = uint32;
|
using juce_wchar = uint32;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
// This macro is deprecated, but preserved for compatibility with old code.
|
||||||
/** This macro is deprecated, but preserved for compatibility with old code. */
|
/** @cond */
|
||||||
#define JUCE_T(stringLiteral) (L##stringLiteral)
|
#define JUCE_T(stringLiteral) (L##stringLiteral)
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
#if JUCE_DEFINE_T_MACRO
|
#if JUCE_DEFINE_T_MACRO
|
||||||
/** The 'T' macro is an alternative for using the "L" prefix in front of a string literal.
|
/** The 'T' macro is an alternative for using the "L" prefix in front of a string literal.
|
||||||
|
|
@ -72,8 +74,7 @@ namespace juce
|
||||||
#define T(stringLiteral) JUCE_T(stringLiteral)
|
#define T(stringLiteral) JUCE_T(stringLiteral)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
// GNU libstdc++ does not have std::make_unsigned
|
// GNU libstdc++ does not have std::make_unsigned
|
||||||
namespace internal
|
namespace internal
|
||||||
|
|
@ -86,8 +87,7 @@ namespace internal
|
||||||
template <> struct make_unsigned<long> { using type = unsigned long; };
|
template <> struct make_unsigned<long> { using type = unsigned long; };
|
||||||
template <> struct make_unsigned<long long> { using type = unsigned long long; };
|
template <> struct make_unsigned<long long> { using type = unsigned long long; };
|
||||||
}
|
}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS)
|
#if JUCE_MAC || JUCE_IOS
|
||||||
|
/** @cond */
|
||||||
// Annoyingly we can only forward-declare a typedef by forward-declaring the
|
// Annoyingly we can only forward-declare a typedef by forward-declaring the
|
||||||
// aliased type
|
// aliased type
|
||||||
#if __has_attribute(objc_bridge)
|
#if __has_attribute(objc_bridge)
|
||||||
|
|
@ -44,6 +45,7 @@
|
||||||
typedef const struct JUCE_CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
|
typedef const struct JUCE_CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
|
||||||
|
|
||||||
#undef JUCE_CF_BRIDGED_TYPE
|
#undef JUCE_CF_BRIDGED_TYPE
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
|
|
@ -1051,11 +1053,11 @@ public:
|
||||||
*/
|
*/
|
||||||
String (double doubleValue, int numberOfDecimalPlaces, bool useScientificNotation = false);
|
String (double doubleValue, int numberOfDecimalPlaces, bool useScientificNotation = false);
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
|
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
|
||||||
// If you want a String representation of a bool you can cast the bool to an int first.
|
// If you want a String representation of a bool you can cast the bool to an int first.
|
||||||
explicit String (bool) = delete;
|
explicit String (bool) = delete;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
/** Reads the value of the string as a decimal number (up to 32 bits in size).
|
/** Reads the value of the string as a decimal number (up to 32 bits in size).
|
||||||
|
|
||||||
|
|
@ -1360,12 +1362,14 @@ public:
|
||||||
int getReferenceCount() const noexcept;
|
int getReferenceCount() const noexcept;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
|
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||||
|
/** @cond */
|
||||||
[[deprecated ("This was a static empty string object, but is now deprecated as it's too easy to accidentally "
|
[[deprecated ("This was a static empty string object, but is now deprecated as it's too easy to accidentally "
|
||||||
"use it indirectly during a static constructor, leading to hard-to-find order-of-initialisation "
|
"use it indirectly during a static constructor, leading to hard-to-find order-of-initialisation "
|
||||||
"problems. If you need an empty String object, just use String() or {}. For returning an empty "
|
"problems. If you need an empty String object, just use String() or {}. For returning an empty "
|
||||||
"String from a function by reference, use a function-local static String object and return that.")]]
|
"String from a function by reference, use a function-local static String object and return that.")]]
|
||||||
static const String empty;
|
static const String empty;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
@ -1470,11 +1474,11 @@ JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, float number);
|
||||||
/** Appends a decimal number to the end of a string. */
|
/** Appends a decimal number to the end of a string. */
|
||||||
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, double number);
|
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, double number);
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
|
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
|
||||||
// If you want a String representation of a bool you can cast the bool to an int first.
|
// If you want a String representation of a bool you can cast the bool to an int first.
|
||||||
String& JUCE_CALLTYPE operator<< (String&, bool) = delete;
|
String& JUCE_CALLTYPE operator<< (String&, bool) = delete;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/** Case-sensitive comparison of two strings. */
|
/** Case-sensitive comparison of two strings. */
|
||||||
|
|
@ -1530,7 +1534,7 @@ JUCE_API OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, StringRef
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
template <> struct hash<juce::String>
|
template <> struct hash<juce::String>
|
||||||
|
|
@ -1538,4 +1542,4 @@ namespace std
|
||||||
size_t operator() (const juce::String& s) const noexcept { return s.hash(); }
|
size_t operator() (const juce::String& s) const noexcept { return s.hash(); }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -141,10 +141,12 @@ public:
|
||||||
/** The text that is referenced. */
|
/** The text that is referenced. */
|
||||||
String::CharPointerType text;
|
String::CharPointerType text;
|
||||||
|
|
||||||
#if JUCE_STRING_UTF_TYPE != 8 && ! defined (DOXYGEN)
|
#if JUCE_STRING_UTF_TYPE != 8
|
||||||
|
/** @cond */
|
||||||
// Sorry, non-UTF8 people, you're unable to take advantage of StringRef, because
|
// Sorry, non-UTF8 people, you're unable to take advantage of StringRef, because
|
||||||
// you've chosen a character encoding that doesn't match C++ string literals.
|
// you've chosen a character encoding that doesn't match C++ string literals.
|
||||||
String stringCopy;
|
String stringCopy;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -608,9 +608,9 @@ private:
|
||||||
std::atomic<Priority> priority;
|
std::atomic<Priority> priority;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
friend void JUCE_API juce_threadEntryPoint (void*);
|
friend void JUCE_API juce_threadEntryPoint (void*);
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
bool startThreadInternal (Priority);
|
bool startThreadInternal (Priority);
|
||||||
bool createNativeThread (Priority);
|
bool createNativeThread (Priority);
|
||||||
|
|
|
||||||
|
|
@ -147,9 +147,9 @@ public:
|
||||||
bool contains (const TimeSliceClient*) const;
|
bool contains (const TimeSliceClient*) const;
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
void run() override;
|
void run() override;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -874,7 +874,7 @@ public:
|
||||||
return AttributeIterator { attributes.get() };
|
return AttributeIterator { attributes.get() };
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
[[deprecated]] void macroBasedForLoop() const noexcept {}
|
[[deprecated]] void macroBasedForLoop() const noexcept {}
|
||||||
|
|
||||||
[[deprecated ("This has been deprecated in favour of the toString method.")]]
|
[[deprecated ("This has been deprecated in favour of the toString method.")]]
|
||||||
|
|
@ -897,7 +897,7 @@ public:
|
||||||
StringRef dtdToUse,
|
StringRef dtdToUse,
|
||||||
StringRef encodingType = "UTF-8",
|
StringRef encodingType = "UTF-8",
|
||||||
int lineWrapLength = 60) const;
|
int lineWrapLength = 60) const;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
@ -926,7 +926,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
|
|
||||||
/** DEPRECATED: A handy macro to make it easy to iterate all the child elements in an XmlElement.
|
/** DEPRECATED: A handy macro to make it easy to iterate all the child elements in an XmlElement.
|
||||||
|
|
||||||
|
|
@ -979,6 +979,6 @@ private:
|
||||||
#define forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
|
#define forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
|
||||||
for (auto* (childElementVariableName) : ((parentXmlElement).macroBasedForLoop(), (parentXmlElement).getChildWithTagNameIterator ((requiredTagName))))
|
for (auto* (childElementVariableName) : ((parentXmlElement).macroBasedForLoop(), (parentXmlElement).getChildWithTagNameIterator ((requiredTagName))))
|
||||||
|
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -617,10 +617,12 @@ public:
|
||||||
*/
|
*/
|
||||||
int getReferenceCount() const noexcept;
|
int getReferenceCount() const noexcept;
|
||||||
|
|
||||||
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
|
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||||
|
/** @cond */
|
||||||
/* An invalid ValueTree that can be used if you need to return one as an error condition, etc. */
|
/* An invalid ValueTree that can be used if you need to return one as an error condition, etc. */
|
||||||
[[deprecated ("If you need an empty ValueTree object, just use ValueTree() or {}.")]]
|
[[deprecated ("If you need an empty ValueTree object, just use ValueTree() or {}.")]]
|
||||||
static const ValueTree invalid;
|
static const ValueTree invalid;
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -335,11 +335,11 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
using ValueWithDefault [[deprecated ("This class has been renamed to better describe what is does. "
|
using ValueWithDefault [[deprecated ("This class has been renamed to better describe what is does. "
|
||||||
"This declaration is here for backwards compatibility and new "
|
"This declaration is here for backwards compatibility and new "
|
||||||
"code should use the new class name.")]]
|
"code should use the new class name.")]]
|
||||||
= ValueTreePropertyWithDefault;
|
= ValueTreePropertyWithDefault;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
} // namespace juce
|
} // namespace juce
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
namespace juce::dsp
|
namespace juce::dsp
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
namespace SampleTypeHelpers // Internal classes needed for handling sample type classes
|
namespace SampleTypeHelpers // Internal classes needed for handling sample type classes
|
||||||
{
|
{
|
||||||
template <typename T, bool = std::is_floating_point_v<T>>
|
template <typename T, bool = std::is_floating_point_v<T>>
|
||||||
|
|
@ -56,7 +56,7 @@ namespace SampleTypeHelpers // Internal classes needed for handling sample type
|
||||||
using Type = typename T::value_type;
|
using Type = typename T::value_type;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@
|
||||||
namespace juce::dsp
|
namespace juce::dsp
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
// This class is needed internally.
|
// This class is needed internally.
|
||||||
template <typename Scalar>
|
template <typename Scalar>
|
||||||
struct CmplxSIMDOps;
|
struct CmplxSIMDOps;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ private:
|
||||||
size_t idx;
|
size_t idx;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
/* This class is used internally by SIMDRegister to abstract away differences
|
/* This class is used internally by SIMDRegister to abstract away differences
|
||||||
in operations which are different for complex and pure floating point types. */
|
in operations which are different for complex and pure floating point types. */
|
||||||
|
|
@ -167,7 +167,7 @@ struct CmplxSIMDOps<std::complex<Scalar>>
|
||||||
return SIMDNativeOps<Scalar>::add (a, SIMDNativeOps<Scalar>::cmplxmul (b, c));
|
return SIMDNativeOps<Scalar>::add (a, SIMDNativeOps<Scalar>::cmplxmul (b, c));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
namespace util
|
namespace util
|
||||||
|
|
|
||||||
|
|
@ -118,11 +118,11 @@ public:
|
||||||
int getSize() const noexcept { return size; }
|
int getSize() const noexcept { return size; }
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#ifndef DOXYGEN
|
/** @internal */
|
||||||
/* internal */
|
/** @cond */
|
||||||
struct Instance;
|
struct Instance;
|
||||||
template <typename> struct EngineImpl;
|
template <typename> struct EngineImpl;
|
||||||
#endif
|
/** @endcond */
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -217,19 +217,19 @@ namespace util
|
||||||
/** Use this function to prevent denormals on intel CPUs.
|
/** Use this function to prevent denormals on intel CPUs.
|
||||||
This function will work with both primitives and simple containers.
|
This function will work with both primitives and simple containers.
|
||||||
*/
|
*/
|
||||||
#if JUCE_DSP_ENABLE_SNAP_TO_ZERO
|
#if JUCE_DSP_ENABLE_SNAP_TO_ZERO
|
||||||
inline void snapToZero (float& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
inline void snapToZero (float& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
inline void snapToZero (double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
inline void snapToZero (double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
||||||
inline void snapToZero (long double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
inline void snapToZero (long double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
|
||||||
#endif
|
/** @endcond */
|
||||||
#else
|
#else
|
||||||
inline void snapToZero ([[maybe_unused]] float& x) noexcept {}
|
inline void snapToZero ([[maybe_unused]] float& x) noexcept {}
|
||||||
#ifndef DOXYGEN
|
/** @cond */
|
||||||
inline void snapToZero ([[maybe_unused]] double& x) noexcept {}
|
inline void snapToZero ([[maybe_unused]] double& x) noexcept {}
|
||||||
inline void snapToZero ([[maybe_unused]] long double& x) noexcept {}
|
inline void snapToZero ([[maybe_unused]] long double& x) noexcept {}
|
||||||
|
/** @endcond */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,10 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
namespace juce::dsp
|
namespace juce::dsp
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
|
||||||
|
|
||||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
@ -660,8 +659,7 @@ struct SIMDNativeOps<uint64_t>
|
||||||
static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept { return a; }
|
static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept { return a; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||||
|
|
||||||
} // namespace juce::dsp
|
} // namespace juce::dsp
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,10 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
namespace juce::dsp
|
namespace juce::dsp
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
|
||||||
|
|
||||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
@ -53,7 +52,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
||||||
#define DEFINE_NEON_SIMD_CONST(type, class_type, name) \
|
#define DEFINE_NEON_SIMD_CONST(type, class_type, name) \
|
||||||
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
|
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
|
||||||
|
|
||||||
#endif
|
#endif // _MSC_VER
|
||||||
|
|
||||||
template <typename type>
|
template <typename type>
|
||||||
struct SIMDNativeOps;
|
struct SIMDNativeOps;
|
||||||
|
|
@ -541,8 +540,8 @@ struct SIMDNativeOps<double>
|
||||||
static forcedinline vSIMDType truncate (vSIMDType a) noexcept { return fb::truncate (a); }
|
static forcedinline vSIMDType truncate (vSIMDType a) noexcept { return fb::truncate (a); }
|
||||||
};
|
};
|
||||||
#endif // JUCE_64BIT
|
#endif // JUCE_64BIT
|
||||||
#endif // #ifndef DOXYGEN
|
|
||||||
|
|
||||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||||
|
|
||||||
} // namespace juce::dsp
|
} // namespace juce::dsp
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,10 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
namespace juce::dsp
|
namespace juce::dsp
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
|
||||||
|
|
||||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
@ -53,7 +52,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
|
||||||
#define DEFINE_SSE_SIMD_CONST(type, class_type, name) \
|
#define DEFINE_SSE_SIMD_CONST(type, class_type, name) \
|
||||||
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
|
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
|
||||||
|
|
||||||
#endif
|
#endif // _MSC_VER
|
||||||
|
|
||||||
template <typename type>
|
template <typename type>
|
||||||
struct SIMDNativeOps;
|
struct SIMDNativeOps;
|
||||||
|
|
@ -730,8 +729,7 @@ struct SIMDNativeOps<uint64_t>
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
||||||
|
|
||||||
} // namespace juce::dsp
|
} // namespace juce::dsp
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,10 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** @cond */
|
||||||
namespace juce::dsp::IIR
|
namespace juce::dsp::IIR
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef DOXYGEN
|
|
||||||
|
|
||||||
template <typename NumericType>
|
template <typename NumericType>
|
||||||
template <size_t Num>
|
template <size_t Num>
|
||||||
Coefficients<NumericType>& Coefficients<NumericType>::assignImpl (const NumericType* values)
|
Coefficients<NumericType>& Coefficients<NumericType>::assignImpl (const NumericType* values)
|
||||||
|
|
@ -244,6 +243,5 @@ void Filter<SampleType>::check()
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace juce::dsp::IIR
|
} // namespace juce::dsp::IIR
|
||||||
|
/** @endcond */
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue