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