From 48fc1965da447ff2ae4f7f8adae0534bb18a5643 Mon Sep 17 00:00:00 2001 From: Simon G Date: Fri, 9 Apr 2021 11:27:23 +0200 Subject: [PATCH] - use midiCommunication --- Lib.Audio/Device.cs | 20 +++++++++++++++++++- Lib.Audio/Interfaces/IDevice.cs | 2 ++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Lib.Audio/Device.cs b/Lib.Audio/Device.cs index 87fa683..3f857fe 100644 --- a/Lib.Audio/Device.cs +++ b/Lib.Audio/Device.cs @@ -5,22 +5,40 @@ using System.Collections.Generic; using Lib.Audio.Factories; using Lib.Audio.Interfaces; +using Lib.Midi.Factories; +using Lib.Midi.Interfaces; namespace Lib.Audio { public class Device : IDevice { + private readonly IMidiCommunication _midiCommunication; private readonly IDeviceButtonConfiguration _buttonConfiguration; - public Device(IChannelFactory channelFactory) + public Device(IMidiCommunicationFactory midiCommunicationFactory, IChannelFactory channelFactory) { + _midiCommunication = midiCommunicationFactory.Create(); _buttonConfiguration = new DeviceButtonConfiguration {HasMuteButton = true, NumberOfButtons = 4}; //FixMe: remove hard coded config Channels = new List(); for (uint i = 0; i < 8; i++) //FixMe: remove hard coded config Channels.Add(channelFactory.Create(i, _buttonConfiguration)); + + _midiCommunication.MessageReceived += OnMidiCommunicationMessageReceived; + _midiCommunication.ErrorReceived += OnMidiCommunicationErrorReceived; } public List Channels { get; } + + public void StartCommunication() => _midiCommunication.Open(); + private void OnMidiCommunicationMessageReceived(object? sender, IMidiMessage message) + { + int i = 0; + } + + private void OnMidiCommunicationErrorReceived(object? sender, IMidiMessage message) + { + int i = 0; + } } } \ No newline at end of file diff --git a/Lib.Audio/Interfaces/IDevice.cs b/Lib.Audio/Interfaces/IDevice.cs index bcfc0bf..e19dbbb 100644 --- a/Lib.Audio/Interfaces/IDevice.cs +++ b/Lib.Audio/Interfaces/IDevice.cs @@ -9,5 +9,7 @@ namespace Lib.Audio.Interfaces public interface IDevice { List Channels { get; } + + void StartCommunication(); } } \ No newline at end of file