- use midiCommunication

master
Simon G 5 years ago
parent 35c19d6907
commit 48fc1965da
  1. 20
      Lib.Audio/Device.cs
  2. 2
      Lib.Audio/Interfaces/IDevice.cs

@ -5,22 +5,40 @@
using System.Collections.Generic; using System.Collections.Generic;
using Lib.Audio.Factories; using Lib.Audio.Factories;
using Lib.Audio.Interfaces; using Lib.Audio.Interfaces;
using Lib.Midi.Factories;
using Lib.Midi.Interfaces;
namespace Lib.Audio namespace Lib.Audio
{ {
public class Device : IDevice public class Device : IDevice
{ {
private readonly IMidiCommunication _midiCommunication;
private readonly IDeviceButtonConfiguration _buttonConfiguration; 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 _buttonConfiguration = new DeviceButtonConfiguration {HasMuteButton = true, NumberOfButtons = 4}; //FixMe: remove hard coded config
Channels = new List<IChannel>(); Channels = new List<IChannel>();
for (uint i = 0; i < 8; i++) //FixMe: remove hard coded config for (uint i = 0; i < 8; i++) //FixMe: remove hard coded config
Channels.Add(channelFactory.Create(i, _buttonConfiguration)); Channels.Add(channelFactory.Create(i, _buttonConfiguration));
_midiCommunication.MessageReceived += OnMidiCommunicationMessageReceived;
_midiCommunication.ErrorReceived += OnMidiCommunicationErrorReceived;
} }
public List<IChannel> Channels { get; } public List<IChannel> 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;
}
} }
} }

@ -9,5 +9,7 @@ namespace Lib.Audio.Interfaces
public interface IDevice public interface IDevice
{ {
List<IChannel> Channels { get; } List<IChannel> Channels { get; }
void StartCommunication();
} }
} }
Loading…
Cancel
Save