|
|
|
|
@ -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) => |
|
|
|
|
|