internal RolandMidiClient(IMidiInput input, IMidiOutput output, string inputName, string outputName, byte rawDeviceId, ModuleIdentifier identifier) { this.input = input; this.output = output; input.MessageReceived += HandleMessage; InputName = inputName; OutputName = outputName; this.rawDeviceId = rawDeviceId; this.Identifier = identifier; }
public static async Task <RolandMidiClient> CreateRolandMidiClientAsync(MidiInputDevice inputDevice, MidiOutputDevice outputDevice, DeviceIdentity deviceIdentity, ModuleIdentifier identifier) { var input = await Manager.OpenInputAsync(inputDevice); var output = await Manager.OpenOutputAsync(outputDevice); return(new RolandMidiClient(input, output, inputDevice.Name, outputDevice.Name, deviceIdentity.RawDeviceId, identifier)); }