Ejemplo n.º 1
0
        public void CreateBuffers(ASIOBufferInfo[] Infos, int Size, ASIOCallbacks Callbacks)
        {
            pins = new GCHandle[]
            {
                GCHandle.Alloc(Callbacks.bufferSwitch),
                GCHandle.Alloc(Callbacks.sampleRateDidChange),
                GCHandle.Alloc(Callbacks.asioMessage),
                GCHandle.Alloc(Callbacks.bufferSwitchTimeInfo)
            };
            callbacks = Marshal.AllocHGlobal(Marshal.SizeOf(Callbacks));

            Marshal.StructureToPtr(Callbacks, callbacks, false);
            Log.Global.WriteLine(MessageType.Info, "AsioObject.CreateBuffers(Size={0})", Size);
            Try(vtbl.createBuffers(_this, Infos, Infos.Length, Size, callbacks));
        }