private static Result _myCreate(DspState *state) { var res = state->GetBlockSize(out uint size); if (res != Result.Ok) { return(res); } var managedState = new MyCustomDSP((int)size); var gchandle = GCHandle.Alloc(managedState, GCHandleType.Normal); state->plugindata = GCHandle.ToIntPtr(gchandle); return(Result.Ok); }
public override void Initialize() { base.Initialize(); System.Init(32); sound = System.CreateSound(MediaPath("stereo.ogg"), Mode.Loop_Normal); channel = System.PlaySound(sound, paused: true); dsp = MyCustomDSP.CreateDsp(System); masterGroup = System.MasterChannelGroup; masterGroup.AddDSP(0, dsp); dsp.Bypass = true; }