Beispiel #1
0
        static void Main(string[] args)
        {
            const int frameSize = 128 * 32;
            var       bridge    = new ProPinballBridge.ProPinballDmd(392);

            Console.WriteLine("Bridge status: {0}", bridge.Status);
            if (bridge.Status != 0)
            {
                unsafe
                {
                    Console.WriteLine("Error: {0}", new string(bridge.Error));
                }
            }
            else
            {
                Console.WriteLine("Subscribing to Pro Pinball's message queue...");
                unsafe
                {
                    bridge.GetFrames(frame => {
                        Console.WriteLine("Got frame!");
                        var f = new byte[frameSize];
                        Marshal.Copy((IntPtr)frame, f, 0, frameSize);
                    }, err => {
                        Console.WriteLine("Error: {0}", new string(err));
                    }, () => {
                        Console.WriteLine("Done!");
                    });
                }
            }
        }
Beispiel #2
0
 private void CreateBridge()
 {
     if (_bridge != null)
     {
         throw new ProPinballSlaveException("Can only have one active source at the time!");
     }
     _bridge = new ProPinballBridge.ProPinballDmd(_messageBufferSize);
     if (_bridge.Status != 0)
     {
         unsafe {
             throw new ProPinballSlaveException("Error connecting: " + new string(_bridge.Error));
         }
     }
 }