ASPiK SDK
Loading...
Searching...
No Matches
pluginstructures.h File Reference

globally utilized structures and enumerations More...

#include <string>
#include <sstream>
#include <vector>
#include <stdint.h>
#include "readerwriterqueue.h"
#include "atomicops.h"

Go to the source code of this file.

Classes

struct  ResetInfo
 Sample rate and bit-depth information that is passed during the reset( ) function. More...
 
struct  APISpecificInfo
 Identifiers, GUIDs and other strings and number id values, API specific. More...
 
struct  VectorJoystickData
 Incoming data from a vector joystick. More...
 
struct  GUIParameter
 Information that defines a single GUI parameter's possible values and ID. More...
 
struct  PresetParameter
 Information that defines a preset value as a control_ID::value data pair. More...
 
struct  PresetInfo
 
struct  GUIUpdateData
 Information about a GUI update message; this is for sending GUI control information from the plugin core. It is not the optimal way to intelligently link or combine controls - use a sub-controller for that. This can be abused too, and create dangerous code. Make sure to see the example code before using this. More...
 
struct  HostMessageInfo
 
struct  ChannelIOConfig
 Structure of a pair of channel format enumerators that set an input/output channel I/O capability. More...
 
struct  midiEvent
 Information about a MIDI event. More...
 
struct  MessageInfo
 Information that includes the message code as well as the message data. More...
 
struct  PluginInfo
 Structure that is used during the base class initilize( ) funciton call, after object instantiation is complete. This structure contains the path to the DLL itself which can be used to open/save files including pre-installed WAV files for sample based synths. More...
 
struct  CreateGUIInfo
 Structure that is used during GUI creation to safely pass information about the GUI size and interfaces. More...
 
struct  ParameterUpdateInfo
 Information about a paraemeter being updated. Used when bound variables are updated. Multiple advanced uses. More...
 
union  attributeValue
 Attribute value smashed down into a union. More...
 
struct  AuxParameterAttribute
 Information about auxilliary parameter details - purely customizeable. This uses the attributeValue union to set the attribute in multiple fashions without resorting to declaring multiple datatypes. More...
 
struct  HostInfo
 Information from the host that is updated on each buffer process cycle; includes BPM, time signature, SMPTE and other data. The values in the stock structure are consistent across most APIs, however others may be added (commnted out here) More...
 
struct  ProcessBlockInfo
 Structure for setting up block processing. More...
 
struct  ProcessBufferInfo
 Information package that arrives with each new audio buffer process cycle. Contains everything needed for one buffer's worth of data. More...
 
struct  ProcessFrameInfo
 Information package that arrives with each new audio frame; called internally from the buffer process function. More...
 
struct  AudioProcDescriptor
 Information package about the current DAW session. Sample rate and bit-depth of audio. More...
 
struct  PluginDescriptor
 Information package about the plugin itself, consisting mainly of simple strings and ID values. More...
 
struct  JSControl
 Information package a joystick or trackpad GUI interaction. More...
 
class  ICustomView
 Custom View interface to allow plugin core to create safe communication channels with GUI custom view objects. MANY uses! More...
 
class  IGUIWindowFrame
 Custom interface to allow resizing of GUI window; this is mainly used for the GUI designer. More...
 
class  IGUIView
 Custom interface to allow resizing of GUI window; this is mainly used for the GUI designer. More...
 
class  IGUIPluginConnector
 Custom interface so that GUI can pass information to plugin shell in a thread-safe manner. More...
 
class  IPluginHostConnector
 Custom interface to send the plugin shell a message from plugin core. More...
 
class  IMidiEventQueue
 Double buffered queue for MIDI messages. More...
 
class  IParameterUpdateQueue
 Interface for VST3 parameter value update queue (sample accurate automation) More...
 

Macros

#define MAX_CHANNEL_COUNT   128
 

Enumerations

enum  pluginType { kFXPlugin , kSynthPlugin }
 Use this enum to identify the plugin category. More...
 
enum  aaxPlugInCategory {
  aaxPlugInCategory_None = 0x00000000 , aaxPlugInCategory_EQ = 0x00000001 , aaxPlugInCategory_Dynamics = 0x00000002 , aaxPlugInCategory_PitchShift = 0x00000004 ,
  aaxPlugInCategory_Reverb = 0x00000008 , aaxPlugInCategory_Delay = 0x00000010 , aaxPlugInCategory_Modulation = 0x00000020 , aaxPlugInCategory_Harmonic = 0x00000040 ,
  aaxPlugInCategory_NoiseReduction = 0x00000080 , aaxPlugInCategory_Dither = 0x00000100 , aaxPlugInCategory_SoundField = 0x00000200 , aaxPlugInCategory_HWGenerators = 0x00000400 ,
  aaxPlugInCategory_SWGenerators = 0x00000800 , aaxPlugInCategory_WrappedPlugin = 0x00001000 , aaxPlugInCategory_Effect = 0x00002000
}
 Use this enum to identify the AAX plugin category. More...
 
enum  channelFormat {
  kCFNone , kCFMono , kCFStereo , kCFLCR ,
  kCFLCRS , kCFQuad , kCF5p0 , kCF5p1 ,
  kCF6p0 , kCF6p1 , kCF7p0Sony , kCF7p0DTS ,
  kCF7p1Sony , kCF7p1DTS , kCF7p1Proximity , kCF8p1 ,
  kCF9p0 , kCF9p1 , kCF10p0 , kCF10p1 ,
  kCF10p2 , kCF11p0 , kCF11p1 , kCF12p2 ,
  kCF13p0 , kCF13p1 , kCF22p2
}
 Use this enum to identify plugin channel formats. Steinberg calls these "speaker arrangements". More...
 
enum  auxGUIIdentifier {
  GUIKnobGraphic , GUI2SSButtonStyle , EnableMIDIControl , MIDIControlChannel ,
  MIDIControlIndex , midiControlData , guiControlData
}
 Identifier enum for aux parameter information. Not used in ASPiK though is used for RAFX plugins (not-exported) More...
 
enum  hostMessage { sendGUIUpdate , sendRAFXStatusWndText }
 Use this enum to identify a message to send to the plugin shell (host) More...
 
enum  messageType {
  PLUGINGUI_DIDOPEN , PLUGINGUI_WILLCLOSE , PLUGINGUI_TIMERPING , PLUGINGUI_REGISTER_CUSTOMVIEW ,
  PLUGINGUI_DE_REGISTER_CUSTOMVIEW , PLUGINGUI_REGISTER_SUBCONTROLLER , PLUGINGUI_DE_REGISTER_SUBCONTROLLER , PLUGINGUI_QUERY_HASUSERCUSTOM ,
  PLUGINGUI_USER_CUSTOMOPEN , PLUGINGUI_USER_CUSTOMCLOSE , PLUGINGUI_USER_CUSTOMSYNC , PLUGINGUI_EXTERNAL_SET_NORMVALUE ,
  PLUGINGUI_EXTERNAL_SET_ACTUALVALUE , PLUGINGUI_EXTERNAL_GET_NORMVALUE , PLUGINGUI_EXTERNAL_GET_ACTUALVALUE , PLUGINGUI_PARAMETER_CHANGED ,
  PLUGIN_QUERY_DESCRIPTION , PLUGIN_QUERY_PARAMETER , PLUGIN_QUERY_TRACKPAD_X , PLUGIN_QUERY_TRACKPAD_Y
}
 Message identifier for ASPiK Core messaging system. More...
 
enum  attributeType {
  isFloatAttribute , isDoubleAttribute , isIntAttribute , isUintAttribute ,
  isBoolAttribute , isVoidPtrAttribute , isStringAttribute
}
 AttributeType identifier for ASPiK PluginParameter auxilliary storage system. You are free to implement your own mechanism; this is an example. More...
 

Functions

std::string numberToString (unsigned int number)
 converts unsigned int value to std::string
 
std::string numberToString (int number)
 converts int value to std::string
 
std::string numberToString (float number)
 converts float value to std::string
 
std::string numberToString (double number)
 converts double value to std::string
 
std::string boolToStdString (bool value)
 converts bool value to std::string
 

Variables

const uint32_t DEFAULT_AUDIO_BLOCK_SIZE = 64
 
const uint32_t WANT_WHOLE_BUFFER = 0
 

Detailed Description

globally utilized structures and enumerations

Author
Will Pirkle
Date
17-September-2018