- add stopCommunication method

- fix channel selection
master
Simon G 5 years ago
parent edaf9de1fb
commit 9b9bee242c
  1. 7
      Lib.Audio/Device.cs
  2. 1
      Lib.Audio/Interfaces/IDevice.cs

@ -36,13 +36,16 @@ namespace Lib.Audio
public List<IChannel> Channels { get; }
public void StartCommunication(bool useMidiView) => _midiCommunication.Open(useMidiView);
public void StopCommunication() => _midiCommunication.Close();
private List<IChannel> InitializeChannels(IControllableCollector controllableCollector) => _driver.Channels == null ? new List<IChannel>()
: _driver.Channels.Select(c => _channelFactory.Create(c, controllableCollector, _midiCommunication)).ToList();
private void OnMidiCommunicationMessageReceived(object? sender, IMidiMessage message)
{
Channels[message.ChannelNumber - 1].HandleMessage(message);
Channels[message.ChannelNumber - 1].SendAcknowledge();
IChannel channel = Channels.First(c => c.ChannelNumber == message.ChannelNumber);
channel.HandleMessage(message);
channel.SendAcknowledge();
}
private void OnMidiCommunicationErrorReceived(object? sender, IMidiMessage message) =>

@ -13,5 +13,6 @@ namespace Lib.Audio.Interfaces
List<IChannel> Channels { get; }
void StartCommunication(bool useMidiView);
void StopCommunication();
}
}
Loading…
Cancel
Save