Doxygen update / change to @ tags
This commit is contained in:
@@ -8,11 +8,11 @@
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Context
|
||||
@class FrameLib_Context
|
||||
|
||||
\ingroup Hosting
|
||||
@ingroup Hosting
|
||||
|
||||
\brief a class used to represent distinct non-connectable areas in the host environment.
|
||||
@brief a class used to represent distinct non-connectable areas in the host environment.
|
||||
|
||||
The context acts as a proxy to FrameLib_Global, and contains a suitable pointer reference to the context in the host environment. Resources for each context are held in the global object, and the context is passed as a parameter when creating any FrameLib object.
|
||||
|
||||
@@ -22,9 +22,9 @@ class FrameLib_Context
|
||||
{
|
||||
/**
|
||||
|
||||
\class ManagedPointer
|
||||
@class ManagedPointer
|
||||
|
||||
\brief a managed pointer for a context-related result.
|
||||
@brief a managed pointer for a context-related resource.
|
||||
|
||||
This is a non-copyable class that uses RAII to update the reference counted pointer in FrameLib_Global
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_DSP
|
||||
@class FrameLib_DSP
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief an abstract class containing the core of the DSP processing system, which handles single-stream scheduling.
|
||||
@brief an abstract class containing the core of the DSP processing system, which handles single-stream scheduling.
|
||||
|
||||
*/
|
||||
|
||||
@@ -34,9 +34,9 @@ protected:
|
||||
|
||||
/**
|
||||
|
||||
\struct SchedulerInfo
|
||||
@struct SchedulerInfo
|
||||
|
||||
\brief a struct for returning scheduling info from the schedule() method.
|
||||
@brief a struct for returning scheduling info from the schedule() method.
|
||||
|
||||
*/
|
||||
|
||||
@@ -57,9 +57,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\struct Input
|
||||
@struct Input
|
||||
|
||||
\brief a struct that represents an input, its options, connections and any fixed input.
|
||||
@brief a struct that represents an input, its options, connections and any fixed input.
|
||||
|
||||
*/
|
||||
|
||||
@@ -91,9 +91,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\struct Output
|
||||
@struct Output
|
||||
|
||||
\brief a struct that represents an output frame.
|
||||
@brief a struct that represents an output frame.
|
||||
|
||||
*/
|
||||
struct Output
|
||||
@@ -341,11 +341,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Processor
|
||||
@class FrameLib_Processor
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief a convenience class for creating processor FrameLib_DSP classes that do not handle audio.
|
||||
@brief a convenience class for creating processor FrameLib_DSP classes that do not handle audio.
|
||||
|
||||
Processor classes do not schedule frames and do not handle block-based audio IO. This object provides an empty implementation of schedule() to avoid the end class developer needing to override this method (never called by a processor class) and also provides a simplified setIO() that does not take a parameter for audio channels.
|
||||
|
||||
@@ -374,11 +374,11 @@ protected:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_AudioInput
|
||||
@class FrameLib_AudioInput
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief a convenience class for creating processor type FrameLib_DSP classes which handle audio input.
|
||||
@brief a convenience class for creating processor type FrameLib_DSP classes which handle audio input.
|
||||
|
||||
Audio input classes do not schedule frames and take block-based audio input (but cannot output audio). This object provides an empty implementation of schedule() to avoid the end class developer needing to override this method (never called by a processor class).
|
||||
|
||||
@@ -405,11 +405,11 @@ protected:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_AudioOutput
|
||||
@class FrameLib_AudioOutput
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief a convenience class for creating processor type FrameLib_DSP classes which handle audio output.
|
||||
@brief a convenience class for creating processor type FrameLib_DSP classes which handle audio output.
|
||||
|
||||
Audio output classes do not schedule frames and create block-based audio output (but not audio input). This object provides an empty implementation of schedule() to avoid the end class developer needing to override this method (never called by a processor class).
|
||||
|
||||
@@ -436,11 +436,11 @@ protected:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Scheduler
|
||||
@class FrameLib_Scheduler
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief a convenience class for creating scheduler type FrameLib_DSP classes.
|
||||
@brief a convenience class for creating scheduler type FrameLib_DSP classes.
|
||||
|
||||
Scheduler classes schedule frames and may deal with block-based audio input (but not audio ioutput). This object provides an empty implementation of process() to avoid the end class developer needing to override this method (never called by a scheduler class).
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Hosting
|
||||
@defgroup Hosting
|
||||
|
||||
*/
|
||||
|
||||
@@ -23,11 +23,11 @@ enum ErrorSource { kErrorObject, kErrorParameter, kErrorMemory, kErrorDSP };
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_ErrorReporter
|
||||
@class FrameLib_ErrorReporter
|
||||
|
||||
\ingroup Hosting
|
||||
@ingroup Hosting
|
||||
|
||||
\brief a class used to report errors to the host environment.
|
||||
@brief a class used to report errors to the host environment.
|
||||
|
||||
*/
|
||||
|
||||
@@ -38,9 +38,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class HostNotifier
|
||||
@class HostNotifier
|
||||
|
||||
\brief a virtual struct used to supply a method for notifying the host of errors.
|
||||
@brief a virtual struct used to supply a method for notifying the host of errors.
|
||||
|
||||
*/
|
||||
|
||||
@@ -51,9 +51,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class ErrorReport
|
||||
@class ErrorReport
|
||||
|
||||
\brief a report for a single error.
|
||||
@brief a report for a single error.
|
||||
|
||||
*/
|
||||
|
||||
@@ -85,9 +85,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class ErrorList
|
||||
@class ErrorList
|
||||
|
||||
\brief a list of ErrorReport objects.
|
||||
@brief a list of ErrorReport objects.
|
||||
|
||||
*/
|
||||
|
||||
@@ -104,9 +104,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class ConstIterator
|
||||
@class ConstIterator
|
||||
|
||||
\brief an iterator for reports in the list (with an underlying const ErrorReport type).
|
||||
@brief an iterator for reports in the list (with an underlying const ErrorReport type).
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup FixedPoint Fixed-Point
|
||||
@defgroup FixedPoint Fixed-Point
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\struct FL_SP
|
||||
@struct FL_SP
|
||||
|
||||
\ingroup FixedPoint
|
||||
@ingroup FixedPoint
|
||||
|
||||
\brief a minimal class for "super precision" fixed-point calculations where required.
|
||||
@brief a minimal class for "super precision" fixed-point calculations where required.
|
||||
|
||||
This unsigned type allows for 64 bits of integer precision and 128 bits of fractional precision.
|
||||
|
||||
@@ -53,11 +53,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FL_FP
|
||||
@class FL_FP
|
||||
|
||||
\ingroup FixedPoint
|
||||
@ingroup FixedPoint
|
||||
|
||||
\brief high-precision unsigned fixed-point numerical format.
|
||||
@brief high-precision unsigned fixed-point numerical format.
|
||||
|
||||
This unsigned type allows for 64 bits of integer precision and 64 bits of fractional precision. Basic arithmetic and comparison operators are supported, for this type, and when used in conjunction with double-precision floating-point numbers. The primary purpose of this type is to precisely represent the time in samples in FrameLib.
|
||||
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Global
|
||||
@class FrameLib_Global
|
||||
|
||||
\ingroup Hosting
|
||||
@ingroup Hosting
|
||||
|
||||
\brief a class for containing and managing FrameLib's global resources.
|
||||
@brief a class for containing and managing FrameLib's global resources.
|
||||
|
||||
The global object represents a self-contained FremeLib environment with a single memory-management and error reporting system. The host environment needs to maintain at least one global object in order to create FrameLib networks. Global objects are not constructed/deleted directly, but managed via calls to the static get()/release() methods which take a handle and maintain an internal reference count. The global object can be used as a singleton via a globally-accessible handle, or if preferred separate networks may use individual global objects, in which case they share no resources.
|
||||
|
||||
@@ -35,8 +35,14 @@ private:
|
||||
template <class T>
|
||||
class PointerSet
|
||||
{
|
||||
// A simple countable pointer with a reference address
|
||||
|
||||
/**
|
||||
|
||||
@class CountablePointer
|
||||
|
||||
@brief a simple reference counted pointer with a reference address.
|
||||
|
||||
*/
|
||||
|
||||
struct CountablePointer
|
||||
{
|
||||
CountablePointer(T* object, void *reference) : mObject(object), mReference(reference), mCount(1) {}
|
||||
@@ -98,10 +104,10 @@ public:
|
||||
|
||||
If the handle points to a nullptr, on return it will point to a valid FrameLib_Global object. Otherwise the reference count of the global object will be incremented. If a new global object is created it will use the object pointed to by notifier to report errors to the host.
|
||||
|
||||
\param global a handle to a FrameLib_Global object.
|
||||
\param notifier a pointer to a class that extends FrameLib_ErrorReporter::HostNotifier.
|
||||
@param global a handle to a FrameLib_Global object.
|
||||
@param notifier a pointer to a class that extends FrameLib_ErrorReporter::HostNotifier.
|
||||
|
||||
\sa release()
|
||||
@sa release()
|
||||
|
||||
*/
|
||||
|
||||
@@ -111,9 +117,9 @@ public:
|
||||
|
||||
If the handle points a valid FrameLib_Global object then its reference count will be decremented. If the count becomes zero the object will be deleted and the contents of the handle replaced with a nullptr.
|
||||
|
||||
\param global a handle to a FrameLib_Global object.
|
||||
@param global a handle to a FrameLib_Global object.
|
||||
|
||||
\sa get()
|
||||
@sa get()
|
||||
*/
|
||||
|
||||
static void release(FrameLib_Global **global);
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Memory
|
||||
@defgroup Memory
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_GlobalAllocator
|
||||
@class FrameLib_GlobalAllocator
|
||||
|
||||
\ingroup Memory
|
||||
@ingroup Memory
|
||||
|
||||
\brief a global threadsafe memory allocator suitable for realtime usage.
|
||||
@brief a global threadsafe memory allocator suitable for realtime usage.
|
||||
|
||||
*/
|
||||
|
||||
@@ -35,9 +35,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class CoreAllocator
|
||||
@class CoreAllocator
|
||||
|
||||
\brief the underlying single-threaded allocator.
|
||||
@brief the underlying single-threaded allocator.
|
||||
|
||||
*/
|
||||
|
||||
@@ -45,9 +45,9 @@ private:
|
||||
{
|
||||
/**
|
||||
|
||||
\struct Pool
|
||||
@struct Pool
|
||||
|
||||
\brief a memory pool from system memory.
|
||||
@brief a memory pool from system memory.
|
||||
|
||||
*/
|
||||
|
||||
@@ -67,9 +67,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class NewThread
|
||||
@class NewThread
|
||||
|
||||
\brief a thread for allocating new memory pools from system memory.
|
||||
@brief a thread for allocating new memory pools from system memory.
|
||||
|
||||
*/
|
||||
|
||||
@@ -89,9 +89,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FreeThread
|
||||
@class FreeThread
|
||||
|
||||
\brief a thread for freeing memory pools back to system memory.
|
||||
@brief a thread for freeing memory pools back to system memory.
|
||||
|
||||
*/
|
||||
|
||||
@@ -163,9 +163,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Pruner
|
||||
@class Pruner
|
||||
|
||||
\brief an RAII utility for repeated deallocation with only a single lock.
|
||||
@brief an RAII utility for repeated deallocation with only a single lock.
|
||||
|
||||
*/
|
||||
|
||||
@@ -230,13 +230,13 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_LocalAllocator
|
||||
@class FrameLib_LocalAllocator
|
||||
|
||||
\ingroup Memory
|
||||
@ingroup Memory
|
||||
|
||||
\brief a memory allocator suitable for usage in a given FrameLib context.
|
||||
@brief a memory allocator suitable for usage in a given FrameLib context.
|
||||
|
||||
\sa FrameLib_Context
|
||||
@sa FrameLib_Context
|
||||
|
||||
*/
|
||||
|
||||
@@ -246,9 +246,9 @@ class FrameLib_LocalAllocator
|
||||
|
||||
/**
|
||||
|
||||
\struct FreeBlock
|
||||
@struct FreeBlock
|
||||
|
||||
\brief a memory block that can be addressed as part of double-linked list.
|
||||
@brief a memory block that can be addressed as part of double-linked list.
|
||||
|
||||
*/
|
||||
|
||||
@@ -267,9 +267,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Storage
|
||||
@class Storage
|
||||
|
||||
\brief named storage local to a specific context.
|
||||
@brief named storage local to a specific context.
|
||||
|
||||
*/
|
||||
|
||||
@@ -283,9 +283,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Access
|
||||
@class Access
|
||||
|
||||
\brief an RAII utility for safely accessing a Storage object.
|
||||
@brief an RAII utility for safely accessing a Storage object.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -12,17 +12,17 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Multistream
|
||||
@defgroup Multistream
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Multistream
|
||||
@class FrameLib_Multistream
|
||||
|
||||
\ingroup Multistream
|
||||
@ingroup Multistream
|
||||
|
||||
\brief a abstract class proving multi-stream connnections and the means to the number of streams in a network.
|
||||
@brief a abstract class proving multi-stream connnections and the means to the number of streams in a network.
|
||||
|
||||
*/
|
||||
|
||||
@@ -112,11 +112,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Expand
|
||||
@class FrameLib_Expand
|
||||
|
||||
\ingroup Multistream
|
||||
@ingroup Multistream
|
||||
|
||||
\brief a template class for providing multi-stream support to any FrameLib_Block class.
|
||||
@brief a template class for providing multi-stream support to any FrameLib_Block class.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup DSP Processing Objects
|
||||
@defgroup DSP Processing Objects
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Queueable
|
||||
@class FrameLib_Queueable
|
||||
|
||||
\brief a template class for items that can be placed on a queue
|
||||
@brief a template class for items that can be placed on a queue
|
||||
|
||||
*/
|
||||
|
||||
@@ -35,9 +35,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Queue
|
||||
@class Queue
|
||||
|
||||
\brief a single-threaded queue for non-recursive queuing of items for processing
|
||||
@brief a single-threaded queue for non-recursive queuing of items for processing
|
||||
|
||||
An item can only be in one position in a single queue at a time.
|
||||
|
||||
@@ -114,13 +114,13 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Object
|
||||
@class FrameLib_Object
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief an abstract template class providing an interface for FrameLib objects and implementing connectivity
|
||||
@brief an abstract template class providing an interface for FrameLib objects and implementing connectivity
|
||||
|
||||
\sa FrameLib_Block, FrameLib_DSP FrameLib_Multistream
|
||||
@sa FrameLib_Block, FrameLib_DSP FrameLib_Multistream
|
||||
|
||||
*/
|
||||
|
||||
@@ -134,9 +134,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Connection
|
||||
@class Connection
|
||||
|
||||
\brief holds the connected object and IO indices for a connection to an object
|
||||
@brief holds the connected object and IO indices for a connection to an object
|
||||
|
||||
*/
|
||||
|
||||
@@ -918,11 +918,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Block
|
||||
@class FrameLib_Block
|
||||
|
||||
\ingroup DSP
|
||||
@ingroup DSP
|
||||
|
||||
\brief an abstract class that represents either a single FrameLib_DSP object, or a group of connected FrameLib_DSP objects.
|
||||
@brief an abstract class that represents either a single FrameLib_DSP object, or a group of connected FrameLib_DSP objects.
|
||||
|
||||
This abstract class provides a connectivity interface to FrameLib_DSP objects or blocks (groups of FrameLib_DSP objects). Most objects inherit this in the FrameLib_DSP class. Objects that have asynchronous outputs can use this class to host multiple FrameLib_DSP objects and alias the connections correctly.
|
||||
|
||||
|
||||
@@ -13,17 +13,17 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Parameters
|
||||
@defgroup Parameters
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Parameters
|
||||
@class FrameLib_Parameters
|
||||
|
||||
\ingroup Parameters
|
||||
@ingroup Parameters
|
||||
|
||||
\brief a set of parameters for a FrameLib object.
|
||||
@brief a set of parameters for a FrameLib object.
|
||||
|
||||
*/
|
||||
|
||||
@@ -42,9 +42,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Serial
|
||||
@class Serial
|
||||
|
||||
\brief a set of tagged parameter values using external non-owned memory.
|
||||
@brief a set of tagged parameter values using external non-owned memory.
|
||||
|
||||
*/
|
||||
|
||||
@@ -59,9 +59,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Iterator
|
||||
@class Iterator
|
||||
|
||||
\brief an iterator for the items in a Serial.
|
||||
@brief an iterator for the items in a Serial.
|
||||
|
||||
*/
|
||||
|
||||
@@ -69,9 +69,9 @@ public:
|
||||
{
|
||||
/**
|
||||
|
||||
\struct Entry
|
||||
@struct Entry
|
||||
|
||||
\brief data for a single entry in a Serial.
|
||||
@brief data for a single entry in a Serial.
|
||||
|
||||
*/
|
||||
|
||||
@@ -241,9 +241,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class AutoSerial
|
||||
@class AutoSerial
|
||||
|
||||
\brief an extension of Serial that manages its own resizable memory.
|
||||
@brief an extension of Serial that manages its own resizable memory.
|
||||
|
||||
*/
|
||||
|
||||
@@ -273,9 +273,9 @@ public:
|
||||
|
||||
/**
|
||||
|
||||
\class Info
|
||||
@class Info
|
||||
|
||||
\brief a class for passing info strings to FrameLib_Parameters.
|
||||
@brief a class for passing info strings to FrameLib_Parameters.
|
||||
|
||||
*/
|
||||
|
||||
@@ -297,9 +297,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class Parameter
|
||||
@class Parameter
|
||||
|
||||
\brief an abstract class representing a parameter.
|
||||
@brief an abstract class representing a parameter.
|
||||
|
||||
*/
|
||||
|
||||
@@ -381,9 +381,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class Parameter
|
||||
@class Parameter
|
||||
|
||||
\brief an enumerated parameter class.
|
||||
@brief an enumerated parameter class.
|
||||
|
||||
*/
|
||||
|
||||
@@ -420,9 +420,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class Value
|
||||
@class Value
|
||||
|
||||
\brief a numeric parameter class storing a single value as a double.
|
||||
@brief a numeric parameter class storing a single value as a double.
|
||||
|
||||
*/
|
||||
|
||||
@@ -454,9 +454,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class String
|
||||
@class String
|
||||
|
||||
\brief a string parameter class.
|
||||
@brief a string parameter class.
|
||||
|
||||
*/
|
||||
|
||||
@@ -487,9 +487,9 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class Array
|
||||
@class Array
|
||||
|
||||
\brief a numeric parameter class storing an array of values.
|
||||
@brief a numeric parameter class storing an array of values.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -13,17 +13,17 @@ class FrameLib_DSP;
|
||||
|
||||
/**
|
||||
|
||||
\defgroup ProcessingQueue Processing Queue
|
||||
@defgroup ProcessingQueue Processing Queue
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_ProcessingQueue
|
||||
@class FrameLib_ProcessingQueue
|
||||
|
||||
\ingroup ProcessingQueue
|
||||
@ingroup ProcessingQueue
|
||||
|
||||
\brief a minimal processing queue that is used to non-recursively process FrameLIB_DSP objects in a network.
|
||||
@brief a minimal processing queue that is used to non-recursively process FrameLIB_DSP objects in a network.
|
||||
|
||||
*/
|
||||
|
||||
@@ -31,9 +31,9 @@ class FrameLib_ProcessingQueue
|
||||
{
|
||||
/**
|
||||
|
||||
\class IntervalSecondsClock
|
||||
@class IntervalSecondsClock
|
||||
|
||||
\brief a clock for measuring time intervals in seconds.
|
||||
@brief a clock for measuring time intervals in seconds.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Serialisation
|
||||
@defgroup Serialisation
|
||||
|
||||
*/
|
||||
|
||||
@@ -14,61 +14,94 @@ enum ExportError { kExportSuccess, kExportPathError, kExportWriteError };
|
||||
|
||||
/**
|
||||
|
||||
\struct FrameLib_ObjectDescription
|
||||
@struct FrameLib_ObjectDescription
|
||||
|
||||
\ingroup Serialisation
|
||||
@ingroup Serialisation
|
||||
|
||||
\brief a data-based representation of a FrameLib object in a network, used for serialisation purposes.
|
||||
@brief a data-based representation of a FrameLib object in a network, used for serialisation purposes.
|
||||
|
||||
*/
|
||||
|
||||
struct FrameLib_ObjectDescription
|
||||
{
|
||||
/** Creates a new empty FrameLib_ObjectDescription object */
|
||||
|
||||
FrameLib_ObjectDescription() : mNumStreams(0) {}
|
||||
|
||||
/**
|
||||
|
||||
\struct Tagged
|
||||
@struct Tagged
|
||||
|
||||
\brief a description of a single tagged string or vector of doubles.
|
||||
@brief a description of a single tagged string or vector of doubles.
|
||||
|
||||
*/
|
||||
|
||||
struct Tagged
|
||||
{
|
||||
std::string mTag;
|
||||
DataType mType;
|
||||
std::string mString;
|
||||
std::vector<double> mVector;
|
||||
std::string mTag; /**< The tag for the data */
|
||||
DataType mType; /**< The type of the tagged data (either kSingleString or kVector) */
|
||||
std::string mString; /**< The string if mType is kSingleString */
|
||||
std::vector<double> mVector; /**< The values of the vector if mType is kVector */
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
\struct Connection
|
||||
@struct Connection
|
||||
|
||||
\brief a description of a connection to the input of the described object.
|
||||
@brief a description of a connection to the input of the described object.
|
||||
|
||||
*/
|
||||
|
||||
struct Connection
|
||||
{
|
||||
/** Creates a new Connection object
|
||||
* @param objectIdx an index representing the position of the connected object in a list
|
||||
* @param outIdx the index of the connected output of the connected object
|
||||
* @param inIdx the index of the connected input of this object
|
||||
*/
|
||||
|
||||
Connection(unsigned long objectIdx, long outIdx, long inIdx) :
|
||||
mObjectIndex(objectIdx), mOutputIndex(outIdx), mInputIndex(inIdx) {}
|
||||
|
||||
unsigned long mObjectIndex;
|
||||
unsigned long mOutputIndex;
|
||||
unsigned long mInputIndex;
|
||||
unsigned long mObjectIndex; /**< an index representing the position of the connected object in a list */
|
||||
unsigned long mOutputIndex; /**< the index of the connected output of the connected object */
|
||||
unsigned long mInputIndex; /**< the index of the connected input of this object */
|
||||
};
|
||||
|
||||
std::string mObjectType;
|
||||
std::vector<Tagged> mParameters;
|
||||
std::vector<std::vector<double>> mInputs;
|
||||
std::vector<Connection> mConnections;
|
||||
std::string mObjectType; /**< the C++ object type as a string */
|
||||
std::vector<Tagged> mParameters; /**< a vector/list of tagged parameter values */
|
||||
std::vector<std::vector<double>> mInputs; /**< a vector/list of frames that represent fixed inputs of the object */
|
||||
std::vector<Connection> mConnections; /**< a vector/list of connections to inputs of this object */
|
||||
|
||||
unsigned long mNumStreams;
|
||||
unsigned long mNumStreams; /**< the number of explicit streams for this object */
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ingroup Serialisation
|
||||
|
||||
@brief serialised a graph as a std::vector of FrameLib_ObjectDescription structs from a pointer to any object in the graph.
|
||||
|
||||
@param objects a reference to a std::vector<FrameLib_ObjectDescription> in which to return the serialised description.
|
||||
@param requestObject a pointer to any pointer to a FrameLib_Multistream object within a graph.
|
||||
|
||||
*/
|
||||
|
||||
void serialiseGraph(std::vector<FrameLib_ObjectDescription>& objects, FrameLib_Multistream *requestObject);
|
||||
|
||||
/**
|
||||
|
||||
@ingroup Serialisation
|
||||
|
||||
@brief export C++ code for a graph from a pointer to any object in the graph.
|
||||
|
||||
@param requestObject a pointer to any pointer to a FrameLib_Multistream object within a graph.
|
||||
@param path a C-string containing the path in which to write the output files.
|
||||
@param className a C-string containing the name of the class to be created in the exported code.
|
||||
@return an ExportError indicating if any errors have occured.
|
||||
|
||||
*/
|
||||
|
||||
ExportError exportGraph(FrameLib_Multistream *requestObject, const char *path, const char *className);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Threading
|
||||
@defgroup Threading
|
||||
|
||||
*/
|
||||
|
||||
@@ -73,11 +73,11 @@ bool nullSwap(std::atomic<T *>& value, T *exchange)
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_SpinLock
|
||||
@class FrameLib_SpinLock
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
\brief a spinlock that can be locked, attempted or acquired.
|
||||
@brief a spinlock that can be locked, attempted or acquired.
|
||||
|
||||
*/
|
||||
|
||||
@@ -106,11 +106,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_SpinLockHolder
|
||||
@class FrameLib_SpinLockHolder
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
\brief a RAII hold utility for a FrameLib_SpinLock
|
||||
@brief a RAII hold utility for a FrameLib_SpinLock
|
||||
|
||||
*/
|
||||
|
||||
@@ -142,11 +142,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Thread
|
||||
@class FrameLib_Thread
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
\brief lightweight joinable thread with variable priority level
|
||||
@brief lightweight joinable thread with variable priority level
|
||||
|
||||
The thread must be joined before destruction.
|
||||
|
||||
@@ -193,11 +193,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_Semaphore
|
||||
@class FrameLib_Semaphore
|
||||
|
||||
\brief a semaphore class wrapping an OS-level semaphore
|
||||
@brief a semaphore class wrapping an OS-level semaphore
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
The semaphore must be clsed before destruction.
|
||||
|
||||
@@ -231,11 +231,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_TriggerableThread
|
||||
@class FrameLib_TriggerableThread
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
\brief a thread that can be triggered from another thread (there is no mechanism to check progress)
|
||||
@brief a thread that can be triggered from another thread (there is no mechanism to check progress)
|
||||
|
||||
The thread should be joined before desctruction.
|
||||
|
||||
@@ -283,11 +283,11 @@ private:
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_DelegateThread
|
||||
@class FrameLib_DelegateThread
|
||||
|
||||
\ingroup Threading
|
||||
@ingroup Threading
|
||||
|
||||
\brief a thread to delegate tasks to, which can be then be checked for completion
|
||||
@brief a thread to delegate tasks to, which can be then be checked for completion
|
||||
|
||||
The thread should be joined before desctruction.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/**
|
||||
|
||||
\defgroup Utility
|
||||
@defgroup Utility
|
||||
|
||||
*/
|
||||
|
||||
@@ -29,9 +29,9 @@ typedef unsigned char *BytePointer;
|
||||
|
||||
/**
|
||||
|
||||
\struct FrameLib_TimeFormat
|
||||
@struct FrameLib_TimeFormat
|
||||
|
||||
\brief a type for representing time in fixed-point high-precision for scheduling purposes.
|
||||
@brief a type for representing time in fixed-point high-precision for scheduling purposes.
|
||||
|
||||
*/
|
||||
|
||||
@@ -57,9 +57,9 @@ enum ConnectionResult { kConnectSuccess, kConnectWrongContext, kConnectSelfConne
|
||||
|
||||
/**
|
||||
|
||||
\struct FrameLib_Proxy
|
||||
@struct FrameLib_Proxy
|
||||
|
||||
\brief a virtual struct allowing for extensible communication to/from the host environment.
|
||||
@brief a virtual struct allowing for extensible communication to/from the host environment.
|
||||
|
||||
This structure is used to facilitate host environment communication with FrameLib objects. On construction each FrameLib_Object takes a pointer to a proxy which may be a nullptr or a valid pointer to a type inheriting from FrameLib_Proxy. By default the object does nothing, but hosts may wish to use inheriting types to store typesafe pointers to owning objects (thus allowing the owning object to be retrieved from FrameLib classes.
|
||||
|
||||
@@ -75,11 +75,11 @@ struct FrameLib_Proxy
|
||||
|
||||
/**
|
||||
|
||||
\class FrameLib_OwnedList
|
||||
@class FrameLib_OwnedList
|
||||
|
||||
\ingroup Utility
|
||||
@ingroup Utility
|
||||
|
||||
\brief a convenience wrapper for dealing with a vector of objects owned by pointer.
|
||||
@brief a convenience wrapper for dealing with a vector of objects owned by pointer.
|
||||
|
||||
This minimal template class inherits from a std::vector of std::unique_ptr<T> objects. The owned list of objects is thus memory-managed as-per std::unique_ptr. For convenience the add() method allows a raw pointer to be added to the end of the vector (and thus ownership transferred) in a compact manner.
|
||||
|
||||
@@ -90,7 +90,7 @@ struct FrameLib_OwnedList : public std::vector<std::unique_ptr<T>>
|
||||
{
|
||||
/** Add a pointer to the list of managed pointers, transferring ownership.
|
||||
|
||||
\param object the pointer to add to the owned list.
|
||||
@param object the pointer to add to the owned list.
|
||||
|
||||
*/
|
||||
void add(T *object)
|
||||
|
||||
Reference in New Issue
Block a user