heavydpf_midi_thru/plugin/source/Heavy_dpf_example.hpp
2021-10-18 09:46:28 +02:00

271 lines
16 KiB
C++

/**
* Copyright (c) 2021 Enzien Audio, Ltd.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions, and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the phrase "powered by heavy",
* the heavy logo, and a hyperlink to https://enzienaudio.com, all in a visible
* form.
*
* 2.1 If the Application is distributed in a store system (for example,
* the Apple "App Store" or "Google Play"), the phrase "powered by heavy"
* shall be included in the app description or the copyright text as well as
* the in the app itself. The heavy logo will shall be visible in the app
* itself as well.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef _HEAVY_CONTEXT_DPF_EXAMPLE_HPP_
#define _HEAVY_CONTEXT_DPF_EXAMPLE_HPP_
// object includes
#include "HeavyContext.hpp"
#include "HvControlSlice.h"
#include "HvControlIf.h"
#include "HvMath.h"
#include "HvControlCast.h"
#include "HvControlBinop.h"
#include "HvControlPack.h"
#include "HvControlVar.h"
#include "HvControlUnop.h"
class Heavy_dpf_example : public HeavyContext {
public:
Heavy_dpf_example(double sampleRate, int poolKb=10, int inQueueKb=2, int outQueueKb=0);
~Heavy_dpf_example();
const char *getName() override { return "dpf_example"; }
int getNumInputChannels() override { return 2; }
int getNumOutputChannels() override { return 2; }
int process(float **inputBuffers, float **outputBuffer, int n) override;
int processInline(float *inputBuffers, float *outputBuffer, int n) override;
int processInlineInterleaved(float *inputBuffers, float *outputBuffer, int n) override;
int getParameterInfo(int index, HvParameterInfo *info) override;
struct Parameter {
struct Out {
enum ParameterOut : hv_uint32_t {
__HV_BENDOUT = 0xE8458013, // __hv_bendout
__HV_CTLOUT = 0xE5E2A040, // __hv_ctlout
__HV_NOTEOUT = 0xD1D4AC2, // __hv_noteout
__HV_PGMOUT = 0x8753E39E, // __hv_pgmout
__HV_TOUCHOUT = 0x476D4387, // __hv_touchout
};
};
};
private:
HvTable *getTableForHash(hv_uint32_t tableHash) override;
void scheduleMessageForReceiver(hv_uint32_t receiverHash, HvMessage *m) override;
// static sendMessage functions
static void cSlice_ttrjbnOH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_rTF9DX7m_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_nooBN54U_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_JbdLUebF_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_lOTfFMgJ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_tVuvuw5t_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_o8wCPnuu_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_kRzmgAXl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_3GBmEV4I_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_8eWRT6Gg_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_3GmBWZyt_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_9HstX6kC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_2AKDoJxc_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_4UsIEgMe_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_RPdD4HeF_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_TL48hOqt_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_mxHJxq7j_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_kvMEvPOV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_VBRbmcTL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_3yanjwYr_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_licMnEIU_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_mIVBD06q_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_r5tp1yeR_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_cjeHB0rH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_Hsr07mq8_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_BP4eRBIb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_m9g4RF0D_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_QnwldHWp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_NLylhRgN_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_qmcAYqwI_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_RpawO5s4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_h1bPPAcV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_DoZ4UWlE_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_u2kHFx8W_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_hoezKhvV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_g9ZNGpyd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_1GZZJQDp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_9LCBqi43_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_RDyyH4D7_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_gfwlNnMH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_7APZEkWD_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_4gCIzY9i_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_eerhl1ua_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_IJFspSKG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_QlCmKOoy_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_x0Zoh6lt_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_QibGQjn2_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_67nBZkn4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_CI9mBnmb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_fXWBgAAI_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_4kAoJi4a_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_hUYiyA45_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_HcdOcqYn_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_jTrtXzdZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_yxJZQOSG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_SVSHWF8f_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_6uDCUz4Z_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_MJfuA6bT_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_rpQXuGzG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_l69aX925_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_m4uEYRd8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_YMDYN2ac_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_TQcurnzR_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_J1OHpyxO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_kCZOtTp6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_f0EA83ID_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_mzMGkFHp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_9ZEg77rp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_aKKuw1wF_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_rPu3NBfO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_iDPe6eFg_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_LtOiX6BK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_UQl1eJDR_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_IF0v5IW7_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_FG5VUpJm_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_rvhylz8z_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_wzQuii3f_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_Ttfhllz0_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_7Kzr246O_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_oCABT68v_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_x4BkE4os_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_QHZoesRt_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_NsCedK82_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_RFcEeDEf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_agXozp2N_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_7WaHIJJn_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_RXDzviSo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_ek8JPICW_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_ljFySekA_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_pUE0odgY_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_1SUmZGqv_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_T5Kb88r2_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_CyV2pK5m_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_vZGQuEfK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_aeXYOa0w_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_4VGcIjpW_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_i5UiKkIh_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_525QSQkJ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_9A9dOokl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_2grRI3yy_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_upvC5MzX_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_zKPHN0bG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_LblSCQEp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_OniKYXOx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_v5klMKxv_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_Qe1LV31F_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_Bg0uxEJb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_6yjHqG0b_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_DuxcXrCQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_FE4FMnT2_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_8YNr1wEC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_viUp6CVK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_RYEj4fUB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
// objects
ControlSlice cSlice_ttrjbnOH;
ControlSlice cSlice_rTF9DX7m;
ControlSlice cSlice_nooBN54U;
ControlSlice cSlice_lOTfFMgJ;
ControlVar cVar_tVuvuw5t;
ControlIf cIf_3GBmEV4I;
ControlBinop cBinop_8eWRT6Gg;
ControlIf cIf_3GmBWZyt;
ControlBinop cBinop_9HstX6kC;
ControlPack cPack_4UsIEgMe;
ControlVar cVar_RPdD4HeF;
ControlBinop cBinop_TL48hOqt;
ControlBinop cBinop_mxHJxq7j;
ControlVar cVar_kvMEvPOV;
ControlSlice cSlice_mIVBD06q;
ControlSlice cSlice_r5tp1yeR;
ControlSlice cSlice_cjeHB0rH;
ControlSlice cSlice_BP4eRBIb;
ControlSlice cSlice_QnwldHWp;
ControlVar cVar_NLylhRgN;
ControlIf cIf_h1bPPAcV;
ControlBinop cBinop_DoZ4UWlE;
ControlVar cVar_u2kHFx8W;
ControlIf cIf_1GZZJQDp;
ControlBinop cBinop_9LCBqi43;
ControlIf cIf_RDyyH4D7;
ControlIf cIf_gfwlNnMH;
ControlIf cIf_7APZEkWD;
ControlIf cIf_4gCIzY9i;
ControlBinop cBinop_eerhl1ua;
ControlBinop cBinop_IJFspSKG;
ControlPack cPack_67nBZkn4;
ControlVar cVar_CI9mBnmb;
ControlBinop cBinop_fXWBgAAI;
ControlBinop cBinop_4kAoJi4a;
ControlVar cVar_hUYiyA45;
ControlSlice cSlice_SVSHWF8f;
ControlSlice cSlice_6uDCUz4Z;
ControlSlice cSlice_rpQXuGzG;
ControlVar cVar_l69aX925;
ControlIf cIf_TQcurnzR;
ControlBinop cBinop_J1OHpyxO;
ControlIf cIf_kCZOtTp6;
ControlBinop cBinop_f0EA83ID;
ControlPack cPack_9ZEg77rp;
ControlVar cVar_aKKuw1wF;
ControlBinop cBinop_rPu3NBfO;
ControlBinop cBinop_iDPe6eFg;
ControlSlice cSlice_UQl1eJDR;
ControlSlice cSlice_IF0v5IW7;
ControlSlice cSlice_rvhylz8z;
ControlVar cVar_wzQuii3f;
ControlIf cIf_oCABT68v;
ControlBinop cBinop_x4BkE4os;
ControlIf cIf_QHZoesRt;
ControlBinop cBinop_NsCedK82;
ControlPack cPack_agXozp2N;
ControlVar cVar_7WaHIJJn;
ControlBinop cBinop_RXDzviSo;
ControlBinop cBinop_ek8JPICW;
ControlSlice cSlice_pUE0odgY;
ControlSlice cSlice_1SUmZGqv;
ControlSlice cSlice_CyV2pK5m;
ControlVar cVar_vZGQuEfK;
ControlIf cIf_i5UiKkIh;
ControlBinop cBinop_525QSQkJ;
ControlIf cIf_9A9dOokl;
ControlBinop cBinop_2grRI3yy;
ControlPack cPack_zKPHN0bG;
ControlVar cVar_LblSCQEp;
ControlBinop cBinop_OniKYXOx;
ControlBinop cBinop_v5klMKxv;
ControlBinop cBinop_Bg0uxEJb;
};
#endif // _HEAVY_CONTEXT_DPF_EXAMPLE_HPP_