diff options
Diffstat (limited to 'audio/cardinal/files/patch-plugins_MindMeldModular_src_MixMaster_AuxExpander.cpp')
-rw-r--r-- | audio/cardinal/files/patch-plugins_MindMeldModular_src_MixMaster_AuxExpander.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/audio/cardinal/files/patch-plugins_MindMeldModular_src_MixMaster_AuxExpander.cpp b/audio/cardinal/files/patch-plugins_MindMeldModular_src_MixMaster_AuxExpander.cpp new file mode 100644 index 000000000000..05247b99561d --- /dev/null +++ b/audio/cardinal/files/patch-plugins_MindMeldModular_src_MixMaster_AuxExpander.cpp @@ -0,0 +1,40 @@ +- fix build error: +- /usr/include/c++/v1/__type_traits/promote.h:32:3: error: static assertion failed due to requirement 'is_arithmetic<rack::simd::Vector<float, 4>>::value' +- static_assert((is_arithmetic<_Args>::value && ...)); +- ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- /usr/include/c++/v1/complex:1110:47: note: in instantiation of template class 'std::__promote<rack::simd::Vector<float, 4>, int>' requested here +- inline _LIBCPP_HIDE_FROM_ABI complex<typename __promote<_Tp, _Up>::type> pow(const complex<_Tp>& __x, const _Up& __y) { +- ^ +- MindMeldModular/src/MixMaster/AuxExpander.cpp:612:19: note: while substituting deduced template arguments into function template 'pow' [with _Tp = rack::simd::Vector<float, 4>, _Up = int, $2 = (no value)] +- globalSends = simd::pow<simd::float_4>(globalSends, GlobalConst::globalAuxSendScalingExponent); +- ^ + +--- plugins/MindMeldModular/src/MixMaster/AuxExpander.cpp.orig 2025-06-22 11:38:40 UTC ++++ plugins/MindMeldModular/src/MixMaster/AuxExpander.cpp +@@ -609,7 +609,7 @@ struct AuxExpander : Module { + globalSends = clamp(globalSends, 0.0f, maxAGGlobSendFader); + globalSendsWithCV = globalSends;// can put here since unused when cv disconnected + } +- globalSends = simd::pow<simd::float_4>(globalSends, GlobalConst::globalAuxSendScalingExponent); ++ globalSends = simd::pow(globalSends, GlobalConst::globalAuxSendScalingExponent); + + // Indiv mute sends (20 or 10 instances) + for (int gi = 0; gi < (N_TRK + N_GRP); gi++) { +@@ -648,7 +648,7 @@ struct AuxExpander : Module { + } + trackSendVcaGains[trk][auxi] = val; + } +- trackSendVcaGains[trk] = simd::pow<simd::float_4>(trackSendVcaGains[trk], GlobalConst::individualAuxSendScalingExponent); ++ trackSendVcaGains[trk] = simd::pow(trackSendVcaGains[trk], (float)GlobalConst::individualAuxSendScalingExponent); + trackSendVcaGains[trk] *= globalSends * simd::float_4(sendMuteSlewers[trk >> 2].out[trk & 0x3]); + } + // vca the aux send knobs with the track's sound +@@ -677,7 +677,7 @@ struct AuxExpander : Module { + groupSendVcaGains[grp][auxi] = 0.0f; + } + } +- groupSendVcaGains[grp] = simd::pow<simd::float_4>(groupSendVcaGains[grp], GlobalConst::individualAuxSendScalingExponent); ++ groupSendVcaGains[grp] = simd::pow(groupSendVcaGains[grp], (float)GlobalConst::individualAuxSendScalingExponent); + groupSendVcaGains[grp] *= globalSends * simd::float_4(sendMuteSlewers[N_TRK >> 2].out[grp]); + } + // vca the aux send knobs with the group's sound |