heavydpf_midi_thru/plugin/source/Heavy_dpf_example.hpp
2021-10-17 23:09:30 +02:00

263 lines
15 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 "HvControlCast.h"
#include "HvControlSlice.h"
#include "HvControlPack.h"
#include "HvControlBinop.h"
#include "HvControlVar.h"
#include "HvMath.h"
#include "HvControlIf.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_hl5vBHNp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_ylXDwJcZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_bA5ci4H6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_YpS7vvRv_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_KT31W2w3_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_m8VtMpGk_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_KPV1AFob_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_5qtccESG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_CQoRGL7B_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_ssJSCDrK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_Mb5nw3DR_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_wtFYxgtx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_F0kRSmkI_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_xwUoHsSo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_W4DWXLFV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_GVz3gDe4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_8dz52u9Z_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_6cAn7djG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_jUcgx0L6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_i8dZoItn_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_1qqhhVNk_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_3nFIGCtx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_Uzt46vxw_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_i4juEjjd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_swFwKkwC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_YauMmchA_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_7t2J2MlL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_eWHRwUey_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_w5s8nkUb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_7mHmXbxO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_pQd76iAK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_a0YamcX6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_8cRMzv7p_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_j08aQBwd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_25Ghd0z7_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_rmHI0lBi_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_KcEtbwfw_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_GAmmKtJo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_9hzM89gj_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_ifB8ELD8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_39hkaBKJ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_FHnSu2lH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_1FJi2rmv_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_jPoKLiUE_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_XEUhnXhV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_f7eAJCMh_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_SgVfJxeG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_yGByT1dq_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_t1ai4h05_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_2OB6tAv4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_b036gMRu_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_Cc4ftweA_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_GKnbdSF1_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_W4uhJJ2G_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_yK1ct3x5_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_SbPekxvo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_4JLyScHf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_tsfDRNiI_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_WYWMmIs9_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_vTozANTw_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_l8AZ77OB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_xuHfc1he_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_GL5voH3F_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_f54JIHyD_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_vEfKjFKM_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_8p3mmzET_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_CmTrkmSZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_OJH8drg2_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_r8i8uTTJ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_g3GkHEW8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_wonxMsw1_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_VIdlDx7S_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_ZORELtLf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_LUQUpduS_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_ODG9pQm4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_m5nYTOgK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_hItQJlwU_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_2ICJGthl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_KWQRN4xC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_JBZMNuTp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_BGYVIlrL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_DpRyqxcF_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_Ekh87tB4_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_HRmhjbVl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_e54fafHj_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_9FMBZIKf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_ddagGoys_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_bBtIwvu9_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_080d2kLN_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_vpyngHC3_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_ZWe2idI6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_boUTQzQ6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_lBbDQQni_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_Va4CkqG9_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_NK7rKLSJ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_yeTyIvOZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_yS3IPMwu_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_WGvA9xup_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_9A6YAgfU_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_CBsf5JlD_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_siElkYOO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_Pp644YiG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_Wuo5XOXF_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_0NTHfNka_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_wAZjctal_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_tzc2vC0H_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_tGY9yEQM_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_bvhtEEQP_sendMessage(HeavyContextInterface *, int, const HvMessage *);
// objects
ControlSlice cSlice_hl5vBHNp;
ControlSlice cSlice_ylXDwJcZ;
ControlSlice cSlice_bA5ci4H6;
ControlSlice cSlice_KT31W2w3;
ControlVar cVar_m8VtMpGk;
ControlIf cIf_CQoRGL7B;
ControlBinop cBinop_ssJSCDrK;
ControlIf cIf_Mb5nw3DR;
ControlBinop cBinop_wtFYxgtx;
ControlPack cPack_xwUoHsSo;
ControlVar cVar_W4DWXLFV;
ControlBinop cBinop_8dz52u9Z;
ControlSlice cSlice_6cAn7djG;
ControlSlice cSlice_jUcgx0L6;
ControlSlice cSlice_i8dZoItn;
ControlSlice cSlice_3nFIGCtx;
ControlSlice cSlice_i4juEjjd;
ControlVar cVar_swFwKkwC;
ControlIf cIf_eWHRwUey;
ControlBinop cBinop_w5s8nkUb;
ControlVar cVar_7mHmXbxO;
ControlIf cIf_8cRMzv7p;
ControlBinop cBinop_j08aQBwd;
ControlIf cIf_25Ghd0z7;
ControlIf cIf_rmHI0lBi;
ControlIf cIf_KcEtbwfw;
ControlIf cIf_GAmmKtJo;
ControlBinop cBinop_9hzM89gj;
ControlBinop cBinop_ifB8ELD8;
ControlPack cPack_jPoKLiUE;
ControlVar cVar_XEUhnXhV;
ControlBinop cBinop_f7eAJCMh;
ControlBinop cBinop_SgVfJxeG;
ControlVar cVar_yGByT1dq;
ControlSlice cSlice_Cc4ftweA;
ControlSlice cSlice_GKnbdSF1;
ControlSlice cSlice_yK1ct3x5;
ControlVar cVar_SbPekxvo;
ControlIf cIf_WYWMmIs9;
ControlBinop cBinop_vTozANTw;
ControlIf cIf_l8AZ77OB;
ControlBinop cBinop_xuHfc1he;
ControlPack cPack_f54JIHyD;
ControlVar cVar_vEfKjFKM;
ControlBinop cBinop_8p3mmzET;
ControlBinop cBinop_CmTrkmSZ;
ControlSlice cSlice_r8i8uTTJ;
ControlSlice cSlice_g3GkHEW8;
ControlSlice cSlice_VIdlDx7S;
ControlVar cVar_ZORELtLf;
ControlIf cIf_m5nYTOgK;
ControlBinop cBinop_hItQJlwU;
ControlIf cIf_2ICJGthl;
ControlBinop cBinop_KWQRN4xC;
ControlPack cPack_BGYVIlrL;
ControlVar cVar_DpRyqxcF;
ControlBinop cBinop_Ekh87tB4;
ControlBinop cBinop_HRmhjbVl;
ControlSlice cSlice_9FMBZIKf;
ControlSlice cSlice_ddagGoys;
ControlSlice cSlice_080d2kLN;
ControlVar cVar_vpyngHC3;
ControlIf cIf_lBbDQQni;
ControlBinop cBinop_Va4CkqG9;
ControlIf cIf_NK7rKLSJ;
ControlBinop cBinop_yeTyIvOZ;
ControlPack cPack_WGvA9xup;
ControlVar cVar_9A6YAgfU;
ControlBinop cBinop_CBsf5JlD;
ControlBinop cBinop_siElkYOO;
};
#endif // _HEAVY_CONTEXT_DPF_EXAMPLE_HPP_