31 lines
805 B
C#
31 lines
805 B
C#
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace MassiveKnob.Hardware
|
|||
|
{
|
|||
|
public interface IMassiveKnobHardwareObserver
|
|||
|
{
|
|||
|
void Connected(int knobCount);
|
|||
|
void Disconnected();
|
|||
|
|
|||
|
void VolumeChanged(int knob, int volume);
|
|||
|
// void ButtonPress(int index); -- for switching the active device, TBD
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public interface IMassiveKnobHardware
|
|||
|
{
|
|||
|
void AttachObserver(IMassiveKnobHardwareObserver observer);
|
|||
|
void DetachObserver(IMassiveKnobHardwareObserver observer);
|
|||
|
|
|||
|
Task TryConnect();
|
|||
|
Task Disconnect();
|
|||
|
// Task SetActiveKnob(int knob); -- for providing LED feedback when switching the active device, TBD
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public interface IMassiveKnobHardwareFactory
|
|||
|
{
|
|||
|
IMassiveKnobHardware Create(string serialPort);
|
|||
|
}
|
|||
|
}
|