heavydpf_midi_thru/plugin/source/Heavy_dpf_midi_thru.hpp
2021-10-24 20:17:23 +02:00

296 lines
17 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_MIDI_THRU_HPP_
#define _HEAVY_CONTEXT_DPF_MIDI_THRU_HPP_
// object includes
#include "HeavyContext.hpp"
#include "HvControlSlice.h"
#include "HvControlIf.h"
#include "HvControlPack.h"
#include "HvControlUnop.h"
#include "HvControlBinop.h"
#include "HvControlCast.h"
#include "HvControlVar.h"
class Heavy_dpf_midi_thru : public HeavyContext {
public:
Heavy_dpf_midi_thru(double sampleRate, int poolKb=10, int inQueueKb=2, int outQueueKb=0);
~Heavy_dpf_midi_thru();
const char *getName() override { return "dpf_midi_thru"; }
int getNumInputChannels() override { return 0; }
int getNumOutputChannels() override { return 0; }
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_v5VrmQ3B_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_B6GSlADW_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_I2zcuRMh_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_CjUUBW5B_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_aQFkp8jd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_jkq5Pl2Q_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_pXycK95c_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_SsXGQ3yt_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_brjdPpjr_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_BFrAK30i_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_QAMfCGlA_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_Acuy1sJf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_bgKXntSO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_jhize0RL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_wMrSZ8Bn_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_XUqD69Wm_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_EAHDuvw9_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_xeEFtXrE_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_blvp4MGy_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_YpXJceX5_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_pv0z1hoC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_3KNHgmEB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_qWl4QOMG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_Mzc2I5WZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_rek2TsVl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_0XGa3vEW_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_zLmFzaLK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_JfBQFHlI_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_n7hvyxeQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_6D7wQ3Az_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_MJKwDHLB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_JTXcgFsy_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_JrReKUYu_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_cjNOB9Vf_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_YtUwtXzp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_4bqP2oLK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_1SuRmnmd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_4wHAp26q_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_3EDBlgeL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_THn7YVaK_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_GYdZztDQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_NI8bIuKu_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_juM4e16P_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_GkNnhKKB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_7cTQGOoF_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_WkQHTU3S_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_f62oZqD1_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_p9eKj59r_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_GWW3YUhc_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_crhcV6aG_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_dvnYPvdb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_4MsIOXwd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_IP20Rt2h_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_hXRe9EOe_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_PNrClbNB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_jaJIJvy8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_dFGMUkFY_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_5dGKgdVQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_3sBhN5km_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_nf3YyE0C_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_eHhFaSnZ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_9eKlV0De_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_t6a5BR8F_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_W5ijg6A8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_R4oWcxfc_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_QvD6c9AQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_S6pjFYdg_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cCast_r4TRulVk_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_Rp6eSPzC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_b66IORBq_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_N3kP8wKC_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_BwwzIXZ3_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_uEvC9ivd_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_wy6EQvmX_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_Vhpg6Qog_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_f7N9mpfj_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_ldtCVbeL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_lqz1DeIQ_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_QXGiNqI0_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_3spmcwwH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_QjGuPskp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_OCgqfLze_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_QInLDlgx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_mLhoNBZ6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_2TbgR5IC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_Uq11MpZC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_awhatFOB_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_PtdAXHV5_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_qy900BDR_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_0McvQ7qW_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_jyDV1rnb_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_4nK6YYA5_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_78VYx19V_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_TsLbu4r1_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_4jDoWsCi_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_gH5ngjJa_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_t4oPyIE5_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_naImCBzK_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_1qDkeSh2_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_h7p6RmaV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_OvPqjfDo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_H56XMtw8_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_0HTJpCDo_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_IQu3ImZw_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_HunsaH1W_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSlice_yers4e0I_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSwitchcase_PTbwlEdk_onMessage(HeavyContextInterface *, void *, int letIn, const HvMessage *const, void *);
static void cSlice_QUQUSCFN_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_I3zJO9MH_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_875t5doe_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cUnop_8tS95pEp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_0I956Cig_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_FLv4NU6N_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cIf_FkWw7KyS_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_0JOLxOL6_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_3IEkvJhx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cMsg_0RuBKNIx_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cPack_bP9Q0y6Y_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cVar_ZJHvrRhO_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_X891Gf8Q_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_m6mSjIoV_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cSend_hOrNPrno_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_oRGZQosL_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cBinop_RC576MtY_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_vVXNu8wl_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_WNrV9V4X_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_kfgVicPa_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_fyIDjcGp_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_h3jgrtHh_sendMessage(HeavyContextInterface *, int, const HvMessage *);
static void cReceive_m1A6DpHC_sendMessage(HeavyContextInterface *, int, const HvMessage *);
// objects
ControlSlice cSlice_v5VrmQ3B;
ControlSlice cSlice_B6GSlADW;
ControlSlice cSlice_I2zcuRMh;
ControlSlice cSlice_aQFkp8jd;
ControlSlice cSlice_pXycK95c;
ControlVar cVar_SsXGQ3yt;
ControlIf cIf_QAMfCGlA;
ControlBinop cBinop_Acuy1sJf;
ControlVar cVar_bgKXntSO;
ControlIf cIf_XUqD69Wm;
ControlBinop cBinop_EAHDuvw9;
ControlIf cIf_xeEFtXrE;
ControlIf cIf_blvp4MGy;
ControlIf cIf_YpXJceX5;
ControlIf cIf_pv0z1hoC;
ControlBinop cBinop_3KNHgmEB;
ControlBinop cBinop_qWl4QOMG;
ControlPack cPack_zLmFzaLK;
ControlBinop cBinop_JfBQFHlI;
ControlBinop cBinop_n7hvyxeQ;
ControlVar cVar_6D7wQ3Az;
ControlVar cVar_MJKwDHLB;
ControlSlice cSlice_YtUwtXzp;
ControlSlice cSlice_4bqP2oLK;
ControlSlice cSlice_1SuRmnmd;
ControlSlice cSlice_3EDBlgeL;
ControlSlice cSlice_GYdZztDQ;
ControlVar cVar_NI8bIuKu;
ControlIf cIf_7cTQGOoF;
ControlBinop cBinop_WkQHTU3S;
ControlVar cVar_f62oZqD1;
ControlIf cIf_crhcV6aG;
ControlBinop cBinop_dvnYPvdb;
ControlIf cIf_4MsIOXwd;
ControlIf cIf_IP20Rt2h;
ControlIf cIf_hXRe9EOe;
ControlIf cIf_PNrClbNB;
ControlBinop cBinop_jaJIJvy8;
ControlBinop cBinop_dFGMUkFY;
ControlPack cPack_eHhFaSnZ;
ControlVar cVar_9eKlV0De;
ControlBinop cBinop_t6a5BR8F;
ControlBinop cBinop_W5ijg6A8;
ControlVar cVar_R4oWcxfc;
ControlSlice cSlice_Rp6eSPzC;
ControlSlice cSlice_b66IORBq;
ControlSlice cSlice_BwwzIXZ3;
ControlVar cVar_uEvC9ivd;
ControlIf cIf_f7N9mpfj;
ControlBinop cBinop_ldtCVbeL;
ControlIf cIf_lqz1DeIQ;
ControlBinop cBinop_QXGiNqI0;
ControlPack cPack_OCgqfLze;
ControlVar cVar_QInLDlgx;
ControlBinop cBinop_mLhoNBZ6;
ControlBinop cBinop_2TbgR5IC;
ControlSlice cSlice_awhatFOB;
ControlSlice cSlice_PtdAXHV5;
ControlSlice cSlice_0McvQ7qW;
ControlVar cVar_jyDV1rnb;
ControlIf cIf_TsLbu4r1;
ControlBinop cBinop_4jDoWsCi;
ControlIf cIf_gH5ngjJa;
ControlBinop cBinop_t4oPyIE5;
ControlPack cPack_h7p6RmaV;
ControlVar cVar_OvPqjfDo;
ControlBinop cBinop_H56XMtw8;
ControlBinop cBinop_0HTJpCDo;
ControlSlice cSlice_HunsaH1W;
ControlSlice cSlice_yers4e0I;
ControlSlice cSlice_QUQUSCFN;
ControlVar cVar_I3zJO9MH;
ControlIf cIf_0I956Cig;
ControlBinop cBinop_FLv4NU6N;
ControlIf cIf_FkWw7KyS;
ControlBinop cBinop_0JOLxOL6;
ControlPack cPack_bP9Q0y6Y;
ControlVar cVar_ZJHvrRhO;
ControlBinop cBinop_X891Gf8Q;
ControlBinop cBinop_m6mSjIoV;
ControlBinop cBinop_oRGZQosL;
ControlBinop cBinop_RC576MtY;
};
#endif // _HEAVY_CONTEXT_DPF_MIDI_THRU_HPP_