public MidiError SetParams(MidiThruConnectionParams connectionParams) { if (Handle == InvalidRef) { throw new ObjectDisposedException("MidiThruConnection"); } if (connectionParams is null) { throw new ArgumentNullException(nameof(connectionParams)); } using (var data = connectionParams.WriteStruct()) { var error = MIDIThruConnectionSetParams(Handle, data.Handle); return(error); } }
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)); }
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 is null) { return(null); } var cnnParams = new MidiThruConnectionParams(); cnnParams.ReadStruct(data); return(cnnParams); } }
public static MidiThruConnection?Create(string persistentOwnerID, MidiThruConnectionParams connectionParams) { MidiError error; return(Create(persistentOwnerID, connectionParams, out error)); }