ASPiK SDK
Loading...
Searching...
No Matches
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
43class PluginCore : public PluginBase
44{
45public:
46 PluginCore();
47
49 virtual ~PluginCore(){}
50
51 // --- PluginBase Overrides ---
52 //
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
120protected:
121
122private:
123 // **--0x07FD--**
124
125 // **--0x1A7F--**
126 // --- end member variables
127
128public:
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
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
Double buffered queue for MIDI messages.
Definition: pluginstructures.h:1628
virtual void sendHostMessage(const HostMessageInfo &hostMessageInfo)=0
The PluginBase object is the base class for the Plugin Core object.
Definition: pluginbase.h:42
IPluginHostConnector * pluginHostConnector
created and destroyed on host
Definition: pluginbase.h:450
The PluginCore object is the default PluginBase derived object for ASPiK projects....
Definition: plugincore.h:44
virtual bool initialize(PluginInfo &_pluginInfo)
one-time initialize function called after object creation and before the first reset( ) call
Definition: plugincore.cpp:82
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
bool initPluginParameters()
create all of your plugin parameters here
Definition: plugincore.cpp:643
virtual bool guiParameterChanged(int32_t controlID, double actualValue)
has nothing to do with actual variable or updated variable (binding)
Definition: plugincore.cpp:517
void sendHostTextMessage(std::string messageString)
Definition: plugincore.h:193
static pluginType getPluginType()
Definition: plugincore.cpp:747
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 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
static const char * getVendorURL()
Definition: plugincore.cpp:744
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
static const char * getPluginName()
Definition: plugincore.cpp:741
static const char * getVendorName()
Definition: plugincore.cpp:743
virtual bool processAudioBlock(ProcessBlockInfo &processBlockInfo)
block or buffer-processing method
Definition: plugincore.cpp:315
virtual bool preProcessAudioBuffers(ProcessBufferInfo &processInfo)
do anything needed prior to arrival of audio buffers
Definition: plugincore.cpp:103
static const char * getVSTFUID()
Definition: plugincore.cpp:748
static const char * getPluginBundleName()
Definition: plugincore.cpp:740
virtual bool preProcessAudioBlock(IMidiEventQueue *midiEventQueue=nullptr)
pre-process the audio block
Definition: plugincore.cpp:234
static const char * getShortPluginName()
Definition: plugincore.cpp:742
virtual bool reset(ResetInfo &resetInfo)
initialize object for a new run of audio; called just before audio streams
Definition: plugincore.cpp:66
PluginCore()
PluginCore constructor is launching pad for object initialization.
Definition: plugincore.cpp:25
bool renderFXPassThrough(ProcessBlockInfo &blockInfo)
Renders pass-through code as an example; replace with meaningful DSP for audio goodness.
Definition: plugincore.cpp:383
bool initPluginDescriptors()
setup the plugin description strings, flags and codes; this is ordinarily done through the ASPiKreato...
Definition: plugincore.cpp:690
virtual bool postProcessAudioBuffers(ProcessBufferInfo &processInfo)
do anything needed prior to arrival of audio buffers
Definition: plugincore.cpp:411
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 * getVendorEmail()
Definition: plugincore.cpp:745
virtual bool processMessage(MessageInfo &messageInfo)
For Custom View and Custom Sub-Controller Operations.
Definition: plugincore.cpp:546
static int32_t getFourCharCode()
Definition: plugincore.cpp:749
virtual ~PluginCore()
Definition: plugincore.h:49
virtual bool processAudioFrame(ProcessFrameInfo &processFrameInfo)
frame-processing method
Definition: plugincore.cpp:151
static const char * getAUCocoaViewFactoryName()
Definition: plugincore.cpp:746
bool initPluginPresets()
use this method to add new presets to the list
Definition: plugincore.cpp:676
pluginType
Use this enum to identify the plugin category.
Definition: pluginstructures.h:62
base class interface file for ASPiK pluginbase object
Definition: pluginstructures.h:486
Information that includes the message code as well as the message data.
Definition: pluginstructures.h:706
Information about a paraemeter being updated. Used when bound variables are updated....
Definition: pluginstructures.h:835
Structure that is used during the base class initilize( ) funciton call, after object instantiation i...
Definition: pluginstructures.h:754
Structure for setting up block processing.
Definition: pluginstructures.h:1063
Information package that arrives with each new audio buffer process cycle. Contains everything needed...
Definition: pluginstructures.h:1123
Information package that arrives with each new audio frame; called internally from the buffer process...
Definition: pluginstructures.h:1177
Sample rate and bit-depth information that is passed during the reset( ) function.
Definition: pluginstructures.h:181
Incoming data from a vector joystick.
Definition: pluginstructures.h:277
Information about a MIDI event.
Definition: pluginstructures.h:562