ASPiK SDK
plugincore.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ASPiK Plugin Kernel File: plugincore.h
3 //
12 // -----------------------------------------------------------------------------
13 #ifndef __pluginCore_h__
14 #define __pluginCore_h__
15 
16 #include "pluginbase.h"
17 
18 // **--0x7F1F--**
19 
20 
21 // **--0x0F1F--**
22 
43 class PluginCore : public PluginBase
44 {
45 public:
46  PluginCore();
47 
49  virtual ~PluginCore(){}
50 
51  // --- PluginBase Overrides ---
52  //
54  bool initPluginParameters();
55 
57  virtual bool reset(ResetInfo& resetInfo);
58 
60  virtual bool initialize(PluginInfo& _pluginInfo);
61 
63  virtual bool preProcessAudioBuffers(ProcessBufferInfo& processInfo);
64 
66  virtual bool processAudioFrame(ProcessFrameInfo& processFrameInfo);
67 
69  virtual bool preProcessAudioBlock(IMidiEventQueue* midiEventQueue = nullptr);
70 
72  virtual bool processAudioBlock(ProcessBlockInfo& processBlockInfo);
73 
76  // virtual bool processAudioBuffers(ProcessBufferInfo& processBufferInfo);
77 
79  virtual bool postProcessAudioBuffers(ProcessBufferInfo& processInfo);
80 
82  virtual bool updatePluginParameter(int32_t controlID, double controlValue, ParameterUpdateInfo& paramInfo);
83 
85  virtual bool updatePluginParameterNormalized(int32_t controlID, double normalizedValue, ParameterUpdateInfo& paramInfo);
86 
88  virtual bool postUpdatePluginParameter(int32_t controlID, double controlValue, ParameterUpdateInfo& paramInfo);
89 
91  virtual bool guiParameterChanged(int32_t controlID, double actualValue);
92 
94  virtual bool processMessage(MessageInfo& messageInfo);
95 
97  virtual bool processMIDIEvent(midiEvent& event);
98 
100  virtual bool setVectorJoystickParameters(const VectorJoystickData& vectorJoysickData);
101 
103  bool initPluginPresets();
104 
105  // --- example block processing template functions (OPTIONAL)
106  //
108  bool renderFXPassThrough(ProcessBlockInfo& blockInfo);
109 
111  bool renderSynthSilence(ProcessBlockInfo& blockInfo);
112 
113  // --- BEGIN USER VARIABLES AND FUNCTIONS -------------------------------------- //
114  // Add your variables and methods here
115 
116 
117 
118  // --- END USER VARIABLES AND FUNCTIONS -------------------------------------- //
119 
120 protected:
121 
122 private:
123  // **--0x07FD--**
124 
125  // **--0x1A7F--**
126  // --- end member variables
127 
128 public:
133  static const char* getPluginBundleName();
134 
139  static const char* getPluginName();
140 
145  static const char* getShortPluginName();
146 
151  static const char* getVendorName();
152 
157  static const char* getVendorURL();
158 
163  static const char* getVendorEmail();
164 
169  static const char* getAUCocoaViewFactoryName();
170 
175  static pluginType getPluginType();
176 
181  static const char* getVSTFUID();
182 
187  static int32_t getFourCharCode();
188 
190  bool initPluginDescriptors();
191 
193  void sendHostTextMessage(std::string messageString)
194  {
195  HostMessageInfo hostMessageInfo;
196  hostMessageInfo.hostMessage = sendRAFXStatusWndText;
197  hostMessageInfo.rafxStatusWndText.assign(messageString);
199  pluginHostConnector->sendHostMessage(hostMessageInfo);
200  }
201 
202 };
203 
204 
205 
206 
207 #endif /* defined(__pluginCore_h__) */
208 
209 
Information that includes the message code as well as the message data.
Definition: pluginstructures.h:705
virtual bool preProcessAudioBlock(IMidiEventQueue *midiEventQueue=nullptr)
pre-process the audio block
Definition: plugincore.cpp:234
static const char * getShortPluginName()
Definition: plugincore.cpp:742
bool initPluginDescriptors()
setup the plugin description strings, flags and codes; this is ordinarily done through the ASPiKreato...
Definition: plugincore.cpp:690
static int32_t getFourCharCode()
Definition: plugincore.cpp:749
virtual bool processAudioBlock(ProcessBlockInfo &processBlockInfo)
block or buffer-processing method
Definition: plugincore.cpp:315
Information package that arrives with each new audio frame; called internally from the buffer process...
Definition: pluginstructures.h:1176
static const char * getAUCocoaViewFactoryName()
Definition: plugincore.cpp:746
bool initPluginPresets()
use this method to add new presets to the list
Definition: plugincore.cpp:676
virtual bool processMIDIEvent(midiEvent &event)
process a MIDI event
Definition: plugincore.cpp:606
virtual bool setVectorJoystickParameters(const VectorJoystickData &vectorJoysickData)
(for future use)
Definition: plugincore.cpp:633
virtual bool processAudioFrame(ProcessFrameInfo &processFrameInfo)
frame-processing method
Definition: plugincore.cpp:151
The PluginBase object is the base class for the Plugin Core object.
Definition: pluginbase.h:41
IPluginHostConnector * pluginHostConnector
created and destroyed on host
Definition: pluginbase.h:450
virtual bool processMessage(MessageInfo &messageInfo)
For Custom View and Custom Sub-Controller Operations.
Definition: plugincore.cpp:546
bool renderSynthSilence(ProcessBlockInfo &blockInfo)
renders a block of silence (all 0.0 values) as an example your synth code would render the synth usin...
Definition: plugincore.cpp:343
Information about a paraemeter being updated. Used when bound variables are updated. Multiple advanced uses.
Definition: pluginstructures.h:834
static const char * getPluginName()
Definition: plugincore.cpp:741
Sample rate and bit-depth information that is passed during the reset( ) function.
Definition: pluginstructures.h:180
virtual bool updatePluginParameterNormalized(int32_t controlID, double normalizedValue, ParameterUpdateInfo &paramInfo)
update the PluginParameter's value based on normlaized GUI control, preset, or data smoothing (thread...
Definition: plugincore.cpp:457
bool initPluginParameters()
create all of your plugin parameters here
Definition: plugincore.cpp:643
PluginCore()
PluginCore constructor is launching pad for object initialization.
Definition: plugincore.cpp:25
pluginType
Use this enum to identify the plugin category.
Definition: pluginstructures.h:61
Information package that arrives with each new audio buffer process cycle. Contains everything needed...
Definition: pluginstructures.h:1122
virtual bool updatePluginParameter(int32_t controlID, double controlValue, ParameterUpdateInfo &paramInfo)
update the PluginParameter's value based on GUI control, preset, or data smoothing (thread-safe) ...
Definition: plugincore.cpp:433
Incoming data from a vector joystick.
Definition: pluginstructures.h:276
Definition: pluginstructures.h:485
Double buffered queue for MIDI messages.
Definition: pluginstructures.h:1627
virtual bool guiParameterChanged(int32_t controlID, double actualValue)
has nothing to do with actual variable or updated variable (binding)
Definition: plugincore.cpp:517
bool renderFXPassThrough(ProcessBlockInfo &blockInfo)
Renders pass-through code as an example; replace with meaningful DSP for audio goodness.
Definition: plugincore.cpp:383
virtual ~PluginCore()
Definition: plugincore.h:49
Structure for setting up block processing.
Definition: pluginstructures.h:1062
virtual bool preProcessAudioBuffers(ProcessBufferInfo &processInfo)
do anything needed prior to arrival of audio buffers
Definition: plugincore.cpp:103
virtual bool initialize(PluginInfo &_pluginInfo)
one-time initialize function called after object creation and before the first reset( ) call ...
Definition: plugincore.cpp:82
virtual bool postUpdatePluginParameter(int32_t controlID, double controlValue, ParameterUpdateInfo &paramInfo)
perform any operations after the plugin parameter has been updated; this is one paradigm for transfer...
Definition: plugincore.cpp:481
static const char * getPluginBundleName()
Definition: plugincore.cpp:740
The PluginCore object is the default PluginBase derived object for ASPiK projects. Note that you are fre to change the name of this object (as long as you change it in the compiler settings, etc...)
Definition: plugincore.h:43
static const char * getVendorEmail()
Definition: plugincore.cpp:745
void sendHostTextMessage(std::string messageString)
Definition: plugincore.h:193
static pluginType getPluginType()
Definition: plugincore.cpp:747
virtual bool postProcessAudioBuffers(ProcessBufferInfo &processInfo)
do anything needed prior to arrival of audio buffers
Definition: plugincore.cpp:411
static const char * getVSTFUID()
Definition: plugincore.cpp:748
Structure that is used during the base class initilize( ) funciton call, after object instantiation i...
Definition: pluginstructures.h:753
static const char * getVendorURL()
Definition: plugincore.cpp:744
virtual void sendHostMessage(const HostMessageInfo &hostMessageInfo)=0
base class interface file for ASPiK pluginbase object
virtual bool reset(ResetInfo &resetInfo)
initialize object for a new run of audio; called just before audio streams
Definition: plugincore.cpp:66
static const char * getVendorName()
Definition: plugincore.cpp:743
Information about a MIDI event.
Definition: pluginstructures.h:561