diff --git a/src/common/Parameter.cpp b/src/common/Parameter.cpp index 02585e1ec5e..b88dbfb4f1e 100644 --- a/src/common/Parameter.cpp +++ b/src/common/Parameter.cpp @@ -1178,11 +1178,18 @@ void Parameter::set_type(int ctrltype) break; case ct_ensemble_stages: { +#if defined(_M_ARM64EC) + valtype = vt_int; + val_min.i = 0; + val_max.i = 1; + val_default.i = 0; +#else extern int ensemble_stage_count(); valtype = vt_int; val_min.i = 0; val_max.i = ensemble_stage_count() - 1; val_default.i = 0; +#endif break; } case ct_stringosc_excitation_model: @@ -4064,8 +4071,12 @@ std::string Parameter::get_display(bool external, float ef) const break; case ct_ensemble_stages: { +#if defined(_M_ARM64EC) + txt = "name"; +#else extern std::string ensemble_stage_name(int); txt = ensemble_stage_name(i); +#endif } break; case ct_reson_mode: diff --git a/src/common/dsp/Effect.cpp b/src/common/dsp/Effect.cpp index a8bddbf2898..a93b15d1f8b 100644 --- a/src/common/dsp/Effect.cpp +++ b/src/common/dsp/Effect.cpp @@ -20,7 +20,10 @@ * https://github.com/surge-synthesizer/surge */ +#if !defined(_M_ARM64EC) #include "BBDEnsembleEffect.h" +#endif + #include "BonsaiEffect.h" #include "ChorusEffectImpl.h" #include "CombulatorEffect.h" @@ -105,7 +108,11 @@ Effect *spawn_effect(int id, SurgeStorage *storage, FxStorage *fxdata, pdata *pd case fxt_tape: return new chowdsp::TapeEffect(storage, fxdata, pd); case fxt_ensemble: +#if defined(_M_ARM64EC) + return nullptr; +#else return new BBDEnsembleEffect(storage, fxdata, pd); +#endif case fxt_treemonster: return new TreemonsterEffect(storage, fxdata, pd); case fxt_waveshaper: diff --git a/src/common/dsp/effects/BBDEnsembleEffect.cpp b/src/common/dsp/effects/BBDEnsembleEffect.cpp index a17c4662a42..d89c33438b0 100644 --- a/src/common/dsp/effects/BBDEnsembleEffect.cpp +++ b/src/common/dsp/effects/BBDEnsembleEffect.cpp @@ -20,6 +20,8 @@ * https://github.com/surge-synthesizer/surge */ +#if !defined(_M_ARM64EC) + #include "BBDEnsembleEffect.h" #include "sst/basic-blocks/mechanics/block-ops.h" @@ -569,3 +571,5 @@ void BBDEnsembleEffect::handleStreamingMismatches(int streamingRevision, fxdata->p[ens_output_filter].deactivated = true; } } + +#endif \ No newline at end of file diff --git a/src/common/dsp/effects/BBDEnsembleEffect.h b/src/common/dsp/effects/BBDEnsembleEffect.h index cfc6a03ba52..07c3ab5e01a 100644 --- a/src/common/dsp/effects/BBDEnsembleEffect.h +++ b/src/common/dsp/effects/BBDEnsembleEffect.h @@ -23,6 +23,8 @@ #ifndef SURGE_SRC_COMMON_DSP_EFFECTS_BBDENSEMBLEEFFECT_H #define SURGE_SRC_COMMON_DSP_EFFECTS_BBDENSEMBLEEFFECT_H +#if !defined(_M_ARM64EC) + #include "Effect.h" #include "BiquadFilter.h" #include "DSPUtils.h" @@ -109,4 +111,6 @@ class BBDEnsembleEffect : public Effect BiquadFilter sincInputFilter; }; +#endif + #endif // SURGE_SRC_COMMON_DSP_EFFECTS_BBDENSEMBLEEFFECT_H diff --git a/src/common/dsp/effects/chowdsp/tape/HysteresisOps.h b/src/common/dsp/effects/chowdsp/tape/HysteresisOps.h index 2939c1fc65a..284dd5fd703 100644 --- a/src/common/dsp/effects/chowdsp/tape/HysteresisOps.h +++ b/src/common/dsp/effects/chowdsp/tape/HysteresisOps.h @@ -26,7 +26,11 @@ #include "globals.h" #include "sst/basic-blocks/dsp/FastMath.h" +#if defined(_M_ARM64EC) +#define CHOWTAPE_HYSTERESIS_USE_SIMD 0 +#else #define CHOWTAPE_HYSTERESIS_USE_SIMD 1 +#endif namespace HysteresisOps {