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;
        }