示例#1
0
        public static MidiThruConnection Create(string persistentOwnerID, MidiThruConnectionParams connectionParams, out MidiError error)
        {
            MidiThruConnectionRef ret;

            using (var data = connectionParams.WriteStruct ()) {
                var retStr = NSString.CreateNative (persistentOwnerID);
                error = MIDIThruConnectionCreate (retStr, data.Handle, out ret);
                NSString.ReleaseNative (retStr);
            }

            if (error != MidiError.Ok)
                return null;

            return new MidiThruConnection (ret);
        }
示例#2
0
        public MidiError SetParams(MidiThruConnectionParams connectionParams)
        {
            if (Handle == InvalidRef)
            {
                throw new ObjectDisposedException("MidiThruConnection");
            }
            if (connectionParams == null)
            {
                throw new ArgumentNullException(nameof(connectionParams));
            }

            using (var data = connectionParams.WriteStruct()) {
                var error = MIDIThruConnectionSetParams(Handle, data.Handle);
                return(error);
            }
        }
示例#3
0
        public static MidiThruConnection Create(string persistentOwnerID, MidiThruConnectionParams connectionParams, out MidiError error)
        {
            MidiThruConnectionRef ret;

            using (var data = connectionParams.WriteStruct()) {
                var retStr = NSString.CreateNative(persistentOwnerID);
                error = MIDIThruConnectionCreate(retStr, data.Handle, out ret);
                NSString.ReleaseNative(retStr);
            }

            if (error != MidiError.Ok)
            {
                return(null);
            }

            return(new MidiThruConnection(ret));
        }
示例#4
0
        public MidiThruConnectionParams GetParams(out MidiError error)
        {
            if (Handle == InvalidRef)
            {
                throw new ObjectDisposedException("MidiThruConnection");
            }

            IntPtr ret;

            error = MIDIThruConnectionGetParams(Handle, out ret);
            if (error != MidiError.Ok || ret == IntPtr.Zero)
            {
                return(null);
            }
            using (var data = Runtime.GetNSObject <NSData> (ret, true)) {
                if (data == null)
                {
                    return(null);
                }
                var cnnParams = new MidiThruConnectionParams();
                cnnParams.ReadStruct(data);
                return(cnnParams);
            }
        }
示例#5
0
 public static MidiThruConnection Create(string persistentOwnerID, MidiThruConnectionParams connectionParams)
 {
     MidiError error;
     return Create (persistentOwnerID, connectionParams, out error);
 }
示例#6
0
        public MidiError SetParams(MidiThruConnectionParams connectionParams)
        {
            if (Handle == InvalidRef)
                throw new ObjectDisposedException ("MidiThruConnection");
            if (connectionParams == null)
                throw new ArgumentNullException (nameof (connectionParams));

            using (var data = connectionParams.WriteStruct ()) {
                var error = MIDIThruConnectionSetParams (Handle, data.Handle);
                return error;
            }
        }
示例#7
0
        public MidiThruConnectionParams GetParams(out MidiError error)
        {
            if (Handle == InvalidRef)
                throw new ObjectDisposedException ("MidiThruConnection");

            IntPtr ret;
            error = MIDIThruConnectionGetParams (Handle, out ret);
            if (error != MidiError.Ok || ret == IntPtr.Zero)
                return null;
            using (var data = Runtime.GetNSObject<NSData> (ret, true)) {
                if (data == null)
                    return null;
                var cnnParams = new MidiThruConnectionParams ();
                cnnParams.ReadStruct (data);
                return cnnParams;
            }
        }
示例#8
0
        public static MidiThruConnection Create(string persistentOwnerID, MidiThruConnectionParams connectionParams)
        {
            MidiError error;

            return(Create(persistentOwnerID, connectionParams, out error));
        }