/** * 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_