1201 lines
42 KiB
C++
1201 lines
42 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.
|
|
*
|
|
*/
|
|
|
|
#include "Heavy_dpf_example.hpp"
|
|
|
|
#define Context(_c) reinterpret_cast<Heavy_dpf_example *>(_c)
|
|
|
|
|
|
|
|
/*
|
|
* C Functions
|
|
*/
|
|
|
|
extern "C" {
|
|
HV_EXPORT HeavyContextInterface *hv_dpf_example_new(double sampleRate) {
|
|
return new Heavy_dpf_example(sampleRate);
|
|
}
|
|
|
|
HV_EXPORT HeavyContextInterface *hv_dpf_example_new_with_options(double sampleRate,
|
|
int poolKb, int inQueueKb, int outQueueKb) {
|
|
return new Heavy_dpf_example(sampleRate, poolKb, inQueueKb, outQueueKb);
|
|
}
|
|
} // extern "C"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Class Functions
|
|
*/
|
|
|
|
Heavy_dpf_example::Heavy_dpf_example(double sampleRate, int poolKb, int inQueueKb, int outQueueKb)
|
|
: HeavyContext(sampleRate, poolKb, inQueueKb, outQueueKb) {
|
|
numBytes += cSlice_init(&cSlice_ttrjbnOH, 2, 1);
|
|
numBytes += cSlice_init(&cSlice_rTF9DX7m, 1, 1);
|
|
numBytes += cSlice_init(&cSlice_nooBN54U, 0, 1);
|
|
numBytes += cSlice_init(&cSlice_lOTfFMgJ, 1, -1);
|
|
numBytes += cVar_init_f(&cVar_tVuvuw5t, 0.0f);
|
|
numBytes += cIf_init(&cIf_3GBmEV4I, false);
|
|
numBytes += cIf_init(&cIf_3GmBWZyt, false);
|
|
numBytes += cPack_init(&cPack_4UsIEgMe, 3, 0.0f, 0.0f, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_RPdD4HeF, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_kvMEvPOV, 0.0f);
|
|
numBytes += cSlice_init(&cSlice_mIVBD06q, 2, 1);
|
|
numBytes += cSlice_init(&cSlice_r5tp1yeR, 1, 1);
|
|
numBytes += cSlice_init(&cSlice_cjeHB0rH, 0, 1);
|
|
numBytes += cSlice_init(&cSlice_BP4eRBIb, 1, -1);
|
|
numBytes += cSlice_init(&cSlice_QnwldHWp, 1, -1);
|
|
numBytes += cVar_init_f(&cVar_NLylhRgN, 0.0f);
|
|
numBytes += cIf_init(&cIf_h1bPPAcV, false);
|
|
numBytes += cVar_init_f(&cVar_u2kHFx8W, 0.0f);
|
|
numBytes += cIf_init(&cIf_1GZZJQDp, false);
|
|
numBytes += cIf_init(&cIf_RDyyH4D7, false);
|
|
numBytes += cIf_init(&cIf_gfwlNnMH, false);
|
|
numBytes += cIf_init(&cIf_7APZEkWD, false);
|
|
numBytes += cIf_init(&cIf_4gCIzY9i, false);
|
|
numBytes += cPack_init(&cPack_67nBZkn4, 3, 0.0f, 0.0f, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_CI9mBnmb, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_hUYiyA45, 0.0f);
|
|
numBytes += cSlice_init(&cSlice_SVSHWF8f, 1, 1);
|
|
numBytes += cSlice_init(&cSlice_6uDCUz4Z, 0, 1);
|
|
numBytes += cSlice_init(&cSlice_rpQXuGzG, 1, -1);
|
|
numBytes += cVar_init_f(&cVar_l69aX925, 0.0f);
|
|
numBytes += cIf_init(&cIf_TQcurnzR, false);
|
|
numBytes += cIf_init(&cIf_kCZOtTp6, false);
|
|
numBytes += cPack_init(&cPack_9ZEg77rp, 2, 0.0f, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_aKKuw1wF, 0.0f);
|
|
numBytes += cSlice_init(&cSlice_UQl1eJDR, 1, 1);
|
|
numBytes += cSlice_init(&cSlice_IF0v5IW7, 0, 1);
|
|
numBytes += cSlice_init(&cSlice_rvhylz8z, 1, -1);
|
|
numBytes += cVar_init_f(&cVar_wzQuii3f, 0.0f);
|
|
numBytes += cIf_init(&cIf_oCABT68v, false);
|
|
numBytes += cIf_init(&cIf_QHZoesRt, false);
|
|
numBytes += cPack_init(&cPack_agXozp2N, 2, 0.0f, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_7WaHIJJn, 0.0f);
|
|
numBytes += cSlice_init(&cSlice_pUE0odgY, 1, 1);
|
|
numBytes += cSlice_init(&cSlice_1SUmZGqv, 0, 1);
|
|
numBytes += cSlice_init(&cSlice_CyV2pK5m, 1, -1);
|
|
numBytes += cVar_init_f(&cVar_vZGQuEfK, 0.0f);
|
|
numBytes += cIf_init(&cIf_i5UiKkIh, false);
|
|
numBytes += cIf_init(&cIf_9A9dOokl, false);
|
|
numBytes += cPack_init(&cPack_zKPHN0bG, 2, 0.0f, 0.0f);
|
|
numBytes += cVar_init_f(&cVar_LblSCQEp, 0.0f);
|
|
|
|
// schedule a message to trigger all loadbangs via the __hv_init receiver
|
|
scheduleMessageForReceiver(0xCE5CC65B, msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0));
|
|
}
|
|
|
|
Heavy_dpf_example::~Heavy_dpf_example() {
|
|
cPack_free(&cPack_4UsIEgMe);
|
|
cPack_free(&cPack_67nBZkn4);
|
|
cPack_free(&cPack_9ZEg77rp);
|
|
cPack_free(&cPack_agXozp2N);
|
|
cPack_free(&cPack_zKPHN0bG);
|
|
}
|
|
|
|
HvTable *Heavy_dpf_example::getTableForHash(hv_uint32_t tableHash) {
|
|
return nullptr;
|
|
}
|
|
|
|
void Heavy_dpf_example::scheduleMessageForReceiver(hv_uint32_t receiverHash, HvMessage *m) {
|
|
switch (receiverHash) {
|
|
case 0x3083F0F7: { // __hv_bendin
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_viUp6CVK_sendMessage);
|
|
break;
|
|
}
|
|
case 0x41BE0F9C: { // __hv_ctlin
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_FE4FMnT2_sendMessage);
|
|
break;
|
|
}
|
|
case 0xCE5CC65B: { // __hv_init
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_6yjHqG0b_sendMessage);
|
|
break;
|
|
}
|
|
case 0x67E37CA3: { // __hv_notein
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_DuxcXrCQ_sendMessage);
|
|
break;
|
|
}
|
|
case 0x2E1EA03D: { // __hv_pgmin
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_RYEj4fUB_sendMessage);
|
|
break;
|
|
}
|
|
case 0x553925BD: { // __hv_touchin
|
|
mq_addMessageByTimestamp(&mq, m, 0, &cReceive_8YNr1wEC_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
int Heavy_dpf_example::getParameterInfo(int index, HvParameterInfo *info) {
|
|
if (info != nullptr) {
|
|
switch (index) {
|
|
default: {
|
|
info->name = "invalid parameter index";
|
|
info->hash = 0;
|
|
info->type = HvParameterType::HV_PARAM_TYPE_PARAMETER_IN;
|
|
info->minVal = 0.0f;
|
|
info->maxVal = 0.0f;
|
|
info->defaultVal = 0.0f;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
* Send Function Implementations
|
|
*/
|
|
|
|
|
|
void Heavy_dpf_example::cSlice_ttrjbnOH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 1.0f, 0, m, &cBinop_Bg0uxEJb_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_rTF9DX7m_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_kvMEvPOV, 0, m, &cVar_kvMEvPOV_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_nooBN54U_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_3GmBWZyt, 0, m, &cIf_3GmBWZyt_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_JbdLUebF_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_lOTfFMgJ, 0, m, &cSlice_lOTfFMgJ_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_lOTfFMgJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_4UsIEgMe, 0, m, &cPack_4UsIEgMe_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_4UsIEgMe, 0, m, &cPack_4UsIEgMe_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_tVuvuw5t_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_8eWRT6Gg_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_3GBmEV4I, 0, m, &cIf_3GBmEV4I_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_o8wCPnuu_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_9HstX6kC_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_kRzmgAXl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_9HstX6kC_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_3GBmEV4I_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_kRzmgAXl_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_o8wCPnuu_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_8eWRT6Gg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_3GBmEV4I, 1, m, &cIf_3GBmEV4I_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_3GmBWZyt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_4UsIEgMe, 0, m, &cPack_4UsIEgMe_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_9HstX6kC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_3GmBWZyt, 1, m, &cIf_3GmBWZyt_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_2AKDoJxc_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(2);
|
|
msg_init(m, 2, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 2);
|
|
msg_setElementToFrom(m, 1, n, 0);
|
|
cSwitchcase_JbdLUebF_onMessage(_c, NULL, 0, m, NULL);
|
|
}
|
|
|
|
void Heavy_dpf_example::cPack_4UsIEgMe_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSend_VBRbmcTL_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_RPdD4HeF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 15.0f, 0, m, &cBinop_TL48hOqt_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_TL48hOqt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_mxHJxq7j_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_mxHJxq7j_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_4UsIEgMe, 2, m, &cPack_4UsIEgMe_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_kvMEvPOV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_4UsIEgMe, 1, m, &cPack_4UsIEgMe_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSend_VBRbmcTL_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
if (_c->getSendHook() != nullptr) _c->getSendHook()(_c, "__hv_noteout", 0xD1D4AC2, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cCast_3yanjwYr_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_RPdD4HeF, 0, m, &cVar_RPdD4HeF_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cCast_licMnEIU_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_kvMEvPOV, 0, m, &cVar_kvMEvPOV_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_mIVBD06q_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_CI9mBnmb, 0, m, &cVar_CI9mBnmb_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_RDyyH4D7, 0, m, &cIf_RDyyH4D7_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_r5tp1yeR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_4gCIzY9i, 0, m, &cIf_4gCIzY9i_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_cjeHB0rH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_Hsr07mq8_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_BP4eRBIb, 0, m, &cSlice_BP4eRBIb_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
cMsg_x0Zoh6lt_sendMessage(_c, 0, m);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_BP4eRBIb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cSwitchcase_m9g4RF0D_onMessage(_c, NULL, 0, m, NULL);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cSwitchcase_m9g4RF0D_onMessage(_c, NULL, 0, m, NULL);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_m9g4RF0D_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_QnwldHWp, 0, m, &cSlice_QnwldHWp_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
cMsg_QibGQjn2_sendMessage(_c, 0, m);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_QnwldHWp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 0, m, &cPack_67nBZkn4_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 0, m, &cPack_67nBZkn4_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_NLylhRgN_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_DoZ4UWlE_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_h1bPPAcV, 0, m, &cIf_h1bPPAcV_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_qmcAYqwI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_IJFspSKG_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_RDyyH4D7, 1, m, &cIf_RDyyH4D7_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_RpawO5s4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_IJFspSKG_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_RDyyH4D7, 1, m, &cIf_RDyyH4D7_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_h1bPPAcV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_RpawO5s4_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_qmcAYqwI_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_DoZ4UWlE_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_h1bPPAcV, 1, m, &cIf_h1bPPAcV_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_u2kHFx8W_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_9LCBqi43_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_1GZZJQDp, 0, m, &cIf_1GZZJQDp_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_hoezKhvV_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_eerhl1ua_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_g9ZNGpyd_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_eerhl1ua_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_1GZZJQDp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_g9ZNGpyd_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_hoezKhvV_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_9LCBqi43_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_1GZZJQDp, 1, m, &cIf_1GZZJQDp_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_RDyyH4D7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_hUYiyA45, 0, m, &cVar_hUYiyA45_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_gfwlNnMH_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 0, m, &cPack_67nBZkn4_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_7APZEkWD_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 0, m, &cPack_67nBZkn4_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_4gCIzY9i_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_hUYiyA45, 0, m, &cVar_hUYiyA45_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_eerhl1ua_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_gfwlNnMH, 1, m, &cIf_gfwlNnMH_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_IJFspSKG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_7APZEkWD, 1, m, &cIf_7APZEkWD_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_4gCIzY9i, 1, m, &cIf_4gCIzY9i_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_QlCmKOoy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(3);
|
|
msg_init(m, 3, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 1);
|
|
msg_setElementToFrom(m, 1, n, 2);
|
|
msg_setElementToFrom(m, 2, n, 0);
|
|
cSwitchcase_Hsr07mq8_onMessage(_c, NULL, 0, m, NULL);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_x0Zoh6lt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(1);
|
|
msg_init(m, 1, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 2);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_7APZEkWD, 0, m, &cIf_7APZEkWD_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_QibGQjn2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(1);
|
|
msg_init(m, 1, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 1);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_gfwlNnMH, 0, m, &cIf_gfwlNnMH_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cPack_67nBZkn4_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSend_HcdOcqYn_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_CI9mBnmb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 15.0f, 0, m, &cBinop_fXWBgAAI_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_fXWBgAAI_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_4kAoJi4a_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_4kAoJi4a_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 2, m, &cPack_67nBZkn4_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_hUYiyA45_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_67nBZkn4, 1, m, &cPack_67nBZkn4_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSend_HcdOcqYn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
if (_c->getSendHook() != nullptr) _c->getSendHook()(_c, "__hv_ctlout", 0xE5E2A040, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cCast_jTrtXzdZ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_CI9mBnmb, 0, m, &cVar_CI9mBnmb_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cCast_yxJZQOSG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_hUYiyA45, 0, m, &cVar_hUYiyA45_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_SVSHWF8f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_aKKuw1wF, 0, m, &cVar_aKKuw1wF_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_6uDCUz4Z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_kCZOtTp6, 0, m, &cIf_kCZOtTp6_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_MJfuA6bT_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_rpQXuGzG, 0, m, &cSlice_rpQXuGzG_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_rpQXuGzG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_9ZEg77rp, 0, m, &cPack_9ZEg77rp_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_9ZEg77rp, 0, m, &cPack_9ZEg77rp_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_l69aX925_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_J1OHpyxO_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_TQcurnzR, 0, m, &cIf_TQcurnzR_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_m4uEYRd8_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_f0EA83ID_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_YMDYN2ac_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_f0EA83ID_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_TQcurnzR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_YMDYN2ac_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_m4uEYRd8_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_J1OHpyxO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_TQcurnzR, 1, m, &cIf_TQcurnzR_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_kCZOtTp6_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_9ZEg77rp, 0, m, &cPack_9ZEg77rp_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_f0EA83ID_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_kCZOtTp6, 1, m, &cIf_kCZOtTp6_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_mzMGkFHp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(2);
|
|
msg_init(m, 2, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 1);
|
|
msg_setElementToFrom(m, 1, n, 0);
|
|
cSwitchcase_MJfuA6bT_onMessage(_c, NULL, 0, m, NULL);
|
|
}
|
|
|
|
void Heavy_dpf_example::cPack_9ZEg77rp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSend_LtOiX6BK_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_aKKuw1wF_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 15.0f, 0, m, &cBinop_rPu3NBfO_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_rPu3NBfO_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_iDPe6eFg_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_iDPe6eFg_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_9ZEg77rp, 1, m, &cPack_9ZEg77rp_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSend_LtOiX6BK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
if (_c->getSendHook() != nullptr) _c->getSendHook()(_c, "__hv_touchout", 0x476D4387, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_UQl1eJDR_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_7WaHIJJn, 0, m, &cVar_7WaHIJJn_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_IF0v5IW7_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_QHZoesRt, 0, m, &cIf_QHZoesRt_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_FG5VUpJm_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_rvhylz8z, 0, m, &cSlice_rvhylz8z_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_rvhylz8z_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_agXozp2N, 0, m, &cPack_agXozp2N_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_agXozp2N, 0, m, &cPack_agXozp2N_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_wzQuii3f_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_x4BkE4os_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_oCABT68v, 0, m, &cIf_oCABT68v_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_Ttfhllz0_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_NsCedK82_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_7Kzr246O_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_NsCedK82_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_oCABT68v_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_7Kzr246O_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_Ttfhllz0_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_x4BkE4os_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_oCABT68v, 1, m, &cIf_oCABT68v_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_QHZoesRt_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_agXozp2N, 0, m, &cPack_agXozp2N_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_NsCedK82_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_QHZoesRt, 1, m, &cIf_QHZoesRt_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_RFcEeDEf_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(2);
|
|
msg_init(m, 2, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 1);
|
|
msg_setElementToFrom(m, 1, n, 0);
|
|
cSwitchcase_FG5VUpJm_onMessage(_c, NULL, 0, m, NULL);
|
|
}
|
|
|
|
void Heavy_dpf_example::cPack_agXozp2N_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSend_ljFySekA_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_7WaHIJJn_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 15.0f, 0, m, &cBinop_RXDzviSo_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_RXDzviSo_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_ek8JPICW_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_ek8JPICW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_agXozp2N, 1, m, &cPack_agXozp2N_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSend_ljFySekA_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
if (_c->getSendHook() != nullptr) _c->getSendHook()(_c, "__hv_bendout", 0xE8458013, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_pUE0odgY_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_LblSCQEp, 0, m, &cVar_LblSCQEp_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_1SUmZGqv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_9A9dOokl, 0, m, &cIf_9A9dOokl_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSwitchcase_T5Kb88r2_onMessage(HeavyContextInterface *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) {
|
|
switch (msg_getHash(m, 0)) {
|
|
case 0x0: { // "0.0"
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_CyV2pK5m, 0, m, &cSlice_CyV2pK5m_sendMessage);
|
|
break;
|
|
}
|
|
default: {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cSlice_CyV2pK5m_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_zKPHN0bG, 0, m, &cPack_zKPHN0bG_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_zKPHN0bG, 0, m, &cPack_zKPHN0bG_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_vZGQuEfK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_GREATER_THAN, 0.0f, 0, m, &cBinop_525QSQkJ_sendMessage);
|
|
cIf_onMessage(_c, &Context(_c)->cIf_i5UiKkIh, 0, m, &cIf_i5UiKkIh_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_aeXYOa0w_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_2grRI3yy_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cUnop_4VGcIjpW_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_EQ, 0.0f, 0, m, &cBinop_2grRI3yy_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_i5UiKkIh_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
cUnop_onMessage(_c, HV_UNOP_CEIL, m, &cUnop_4VGcIjpW_sendMessage);
|
|
break;
|
|
}
|
|
case 1: {
|
|
cUnop_onMessage(_c, HV_UNOP_FLOOR, m, &cUnop_aeXYOa0w_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_525QSQkJ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_i5UiKkIh, 1, m, &cIf_i5UiKkIh_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cIf_9A9dOokl_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
switch (letIn) {
|
|
case 0: {
|
|
break;
|
|
}
|
|
case 1: {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_zKPHN0bG, 0, m, &cPack_zKPHN0bG_sendMessage);
|
|
break;
|
|
}
|
|
default: return;
|
|
}
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_2grRI3yy_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cIf_onMessage(_c, &Context(_c)->cIf_9A9dOokl, 1, m, &cIf_9A9dOokl_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cMsg_upvC5MzX_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *const n) {
|
|
HvMessage *m = nullptr;
|
|
m = HV_MESSAGE_ON_STACK(2);
|
|
msg_init(m, 2, msg_getTimestamp(n));
|
|
msg_setElementToFrom(m, 0, n, 1);
|
|
msg_setElementToFrom(m, 1, n, 0);
|
|
cSwitchcase_T5Kb88r2_onMessage(_c, NULL, 0, m, NULL);
|
|
}
|
|
|
|
void Heavy_dpf_example::cPack_zKPHN0bG_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSend_Qe1LV31F_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cVar_LblSCQEp_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MIN, 15.0f, 0, m, &cBinop_OniKYXOx_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_OniKYXOx_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 0.0f, 0, m, &cBinop_v5klMKxv_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_v5klMKxv_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cPack_onMessage(_c, &Context(_c)->cPack_zKPHN0bG, 1, m, &cPack_zKPHN0bG_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cSend_Qe1LV31F_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
if (_c->getSendHook() != nullptr) _c->getSendHook()(_c, "__hv_pgmout", 0x8753E39E, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cBinop_Bg0uxEJb_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_RPdD4HeF, 0, m, &cVar_RPdD4HeF_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_6yjHqG0b_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cVar_onMessage(_c, &Context(_c)->cVar_tVuvuw5t, 0, m, &cVar_tVuvuw5t_sendMessage);
|
|
cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_3yanjwYr_sendMessage);
|
|
cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_licMnEIU_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_NLylhRgN, 0, m, &cVar_NLylhRgN_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_u2kHFx8W, 0, m, &cVar_u2kHFx8W_sendMessage);
|
|
cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_jTrtXzdZ_sendMessage);
|
|
cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_yxJZQOSG_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_l69aX925, 0, m, &cVar_l69aX925_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_aKKuw1wF, 0, m, &cVar_aKKuw1wF_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_wzQuii3f, 0, m, &cVar_wzQuii3f_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_7WaHIJJn, 0, m, &cVar_7WaHIJJn_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_vZGQuEfK, 0, m, &cVar_vZGQuEfK_sendMessage);
|
|
cVar_onMessage(_c, &Context(_c)->cVar_LblSCQEp, 0, m, &cVar_LblSCQEp_sendMessage);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_DuxcXrCQ_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_ttrjbnOH, 0, m, &cSlice_ttrjbnOH_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_rTF9DX7m, 0, m, &cSlice_rTF9DX7m_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_nooBN54U, 0, m, &cSlice_nooBN54U_sendMessage);
|
|
cMsg_2AKDoJxc_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_FE4FMnT2_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_mIVBD06q, 0, m, &cSlice_mIVBD06q_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_r5tp1yeR, 0, m, &cSlice_r5tp1yeR_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_cjeHB0rH, 0, m, &cSlice_cjeHB0rH_sendMessage);
|
|
cMsg_QlCmKOoy_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_8YNr1wEC_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_SVSHWF8f, 0, m, &cSlice_SVSHWF8f_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_6uDCUz4Z, 0, m, &cSlice_6uDCUz4Z_sendMessage);
|
|
cMsg_mzMGkFHp_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_viUp6CVK_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_UQl1eJDR, 0, m, &cSlice_UQl1eJDR_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_IF0v5IW7, 0, m, &cSlice_IF0v5IW7_sendMessage);
|
|
cMsg_RFcEeDEf_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
void Heavy_dpf_example::cReceive_RYEj4fUB_sendMessage(HeavyContextInterface *_c, int letIn, const HvMessage *m) {
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_pUE0odgY, 0, m, &cSlice_pUE0odgY_sendMessage);
|
|
cSlice_onMessage(_c, &Context(_c)->cSlice_1SUmZGqv, 0, m, &cSlice_1SUmZGqv_sendMessage);
|
|
cMsg_upvC5MzX_sendMessage(_c, 0, m);
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
* Context Process Implementation
|
|
*/
|
|
|
|
int Heavy_dpf_example::process(float **inputBuffers, float **outputBuffers, int n) {
|
|
while (hLp_hasData(&inQueue)) {
|
|
hv_uint32_t numBytes = 0;
|
|
ReceiverMessagePair *p = reinterpret_cast<ReceiverMessagePair *>(hLp_getReadBuffer(&inQueue, &numBytes));
|
|
hv_assert(numBytes >= sizeof(ReceiverMessagePair));
|
|
scheduleMessageForReceiver(p->receiverHash, &p->msg);
|
|
hLp_consume(&inQueue);
|
|
}
|
|
const int n4 = n & ~HV_N_SIMD_MASK; // ensure that the block size is a multiple of HV_N_SIMD
|
|
|
|
// temporary signal vars
|
|
|
|
// input and output vars
|
|
hv_bufferf_t O0, O1;
|
|
hv_bufferf_t I0, I1;
|
|
|
|
// declare and init the zero buffer
|
|
hv_bufferf_t ZERO; __hv_zero_f(VOf(ZERO));
|
|
|
|
hv_uint32_t nextBlock = blockStartTimestamp;
|
|
for (int n = 0; n < n4; n += HV_N_SIMD) {
|
|
|
|
// process all of the messages for this block
|
|
nextBlock += HV_N_SIMD;
|
|
while (mq_hasMessageBefore(&mq, nextBlock)) {
|
|
MessageNode *const node = mq_peek(&mq);
|
|
node->sendMessage(this, node->let, node->m);
|
|
mq_pop(&mq);
|
|
}
|
|
|
|
// load input buffers
|
|
__hv_load_f(inputBuffers[0]+n, VOf(I0));
|
|
__hv_load_f(inputBuffers[1]+n, VOf(I1));
|
|
|
|
// zero output buffers
|
|
__hv_zero_f(VOf(O0));
|
|
__hv_zero_f(VOf(O1));
|
|
|
|
// process all signal functions
|
|
__hv_add_f(VIf(I0), VIf(O0), VOf(O0));
|
|
__hv_add_f(VIf(I1), VIf(O1), VOf(O1));
|
|
|
|
// save output vars to output buffer
|
|
__hv_store_f(outputBuffers[0]+n, VIf(O0));
|
|
__hv_store_f(outputBuffers[1]+n, VIf(O1));
|
|
}
|
|
|
|
blockStartTimestamp = nextBlock;
|
|
|
|
return n4; // return the number of frames processed
|
|
}
|
|
|
|
int Heavy_dpf_example::processInline(float *inputBuffers, float *outputBuffers, int n4) {
|
|
hv_assert(!(n4 & HV_N_SIMD_MASK)); // ensure that n4 is a multiple of HV_N_SIMD
|
|
|
|
// define the heavy input buffer for 2 channel(s)
|
|
float **const bIn = reinterpret_cast<float **>(hv_alloca(2*sizeof(float *)));
|
|
bIn[0] = inputBuffers+(0*n4);
|
|
bIn[1] = inputBuffers+(1*n4);
|
|
|
|
// define the heavy output buffer for 2 channel(s)
|
|
float **const bOut = reinterpret_cast<float **>(hv_alloca(2*sizeof(float *)));
|
|
bOut[0] = outputBuffers+(0*n4);
|
|
bOut[1] = outputBuffers+(1*n4);
|
|
|
|
int n = process(bIn, bOut, n4);
|
|
return n;
|
|
}
|
|
|
|
int Heavy_dpf_example::processInlineInterleaved(float *inputBuffers, float *outputBuffers, int n4) {
|
|
hv_assert(n4 & ~HV_N_SIMD_MASK); // ensure that n4 is a multiple of HV_N_SIMD
|
|
|
|
// define the heavy input buffer for 2 channel(s), uninterleave
|
|
float *const bIn = reinterpret_cast<float *>(hv_alloca(2*n4*sizeof(float)));
|
|
#if HV_SIMD_SSE || HV_SIMD_AVX
|
|
for (int i = 0, j = 0; j < n4; j += 4, i += 8) {
|
|
__m128 a = _mm_load_ps(inputBuffers+i); // LRLR
|
|
__m128 b = _mm_load_ps(inputBuffers+4+i); // LRLR
|
|
__m128 x = _mm_shuffle_ps(a, b, _MM_SHUFFLE(2,0,2,0)); // LLLL
|
|
__m128 y = _mm_shuffle_ps(a, b, _MM_SHUFFLE(3,1,3,1)); // RRRR
|
|
_mm_store_ps(bIn+j, x);
|
|
_mm_store_ps(bIn+n4+j, y);
|
|
}
|
|
#elif HV_SIMD_NEON
|
|
for (int i = 0, j = 0; j < n4; j += 4, i += 8) {
|
|
float32x4x2_t a = vld2q_f32(inputBuffers+i); // load and uninterleave
|
|
vst1q_f32(bIn+j, a.val[0]);
|
|
vst1q_f32(bIn+n4+j, a.val[1]);
|
|
}
|
|
#else // HV_SIMD_NONE
|
|
for (int j = 0; j < n4; ++j) {
|
|
bIn[0*n4+j] = inputBuffers[0+2*j];
|
|
bIn[1*n4+j] = inputBuffers[1+2*j];
|
|
}
|
|
#endif
|
|
|
|
// define the heavy output buffer for 2 channel(s)
|
|
float *const bOut = reinterpret_cast<float *>(hv_alloca(2*n4*sizeof(float)));
|
|
|
|
int n = processInline(bIn, bOut, n4);
|
|
|
|
// interleave the heavy output into the output buffer
|
|
#if HV_SIMD_AVX
|
|
for (int i = 0, j = 0; j < n4; j += 8, i += 16) {
|
|
__m256 x = _mm256_load_ps(bOut+j); // LLLLLLLL
|
|
__m256 y = _mm256_load_ps(bOut+n4+j); // RRRRRRRR
|
|
__m256 a = _mm256_unpacklo_ps(x, y); // LRLRLRLR
|
|
__m256 b = _mm256_unpackhi_ps(x, y); // LRLRLRLR
|
|
_mm256_store_ps(outputBuffers+i, a);
|
|
_mm256_store_ps(outputBuffers+8+i, b);
|
|
}
|
|
#elif HV_SIMD_SSE
|
|
for (int i = 0, j = 0; j < n4; j += 4, i += 8) {
|
|
__m128 x = _mm_load_ps(bOut+j); // LLLL
|
|
__m128 y = _mm_load_ps(bOut+n4+j); // RRRR
|
|
__m128 a = _mm_unpacklo_ps(x, y); // LRLR
|
|
__m128 b = _mm_unpackhi_ps(x, y); // LRLR
|
|
_mm_store_ps(outputBuffers+i, a);
|
|
_mm_store_ps(outputBuffers+4+i, b);
|
|
}
|
|
#elif HV_SIMD_NEON
|
|
// https://community.arm.com/groups/processors/blog/2012/03/13/coding-for-neon--part-5-rearranging-vectors
|
|
for (int i = 0, j = 0; j < n4; j += 4, i += 8) {
|
|
float32x4_t x = vld1q_f32(bOut+j);
|
|
float32x4_t y = vld1q_f32(bOut+n4+j);
|
|
float32x4x2_t z = {x, y};
|
|
vst2q_f32(outputBuffers+i, z); // interleave and store
|
|
}
|
|
#else // HV_SIMD_NONE
|
|
for (int i = 0; i < 2; ++i) {
|
|
for (int j = 0; j < n4; ++j) {
|
|
outputBuffers[i+2*j] = bOut[i*n4+j];
|
|
}
|
|
}
|
|
#endif
|
|
|
|
return n;
|
|
}
|