|
|
|
@ -3,6 +3,7 @@ |
|
|
|
// Copyright(c) 2021 SimonG. All Rights Reserved. |
|
|
|
// Copyright(c) 2021 SimonG. All Rights Reserved. |
|
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Collections.Generic; |
|
|
|
|
|
|
|
using System.Linq; |
|
|
|
using Lib.Audio.Controls.Buttons.Factories; |
|
|
|
using Lib.Audio.Controls.Buttons.Factories; |
|
|
|
using Lib.Audio.Controls.Buttons.Interfaces; |
|
|
|
using Lib.Audio.Controls.Buttons.Interfaces; |
|
|
|
using Lib.Audio.Controls.Factories; |
|
|
|
using Lib.Audio.Controls.Factories; |
|
|
|
@ -40,7 +41,7 @@ namespace Lib.Audio |
|
|
|
{ |
|
|
|
{ |
|
|
|
Buttons = new List<IButton>(); |
|
|
|
Buttons = new List<IButton>(); |
|
|
|
foreach (var button in xmlChannel.Buttons) |
|
|
|
foreach (var button in xmlChannel.Buttons) |
|
|
|
Buttons.Add(buttonFactory.Create(button)); |
|
|
|
Buttons.Add(buttonFactory.Create(button, _channelNumber)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -56,6 +57,11 @@ namespace Lib.Audio |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (Fader?.NoteNumber == noteOnMessage.NoteNumber) |
|
|
|
if (Fader?.NoteNumber == noteOnMessage.NoteNumber) |
|
|
|
Fader.IsTouched = true; |
|
|
|
Fader.IsTouched = true; |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
IButton? button = Buttons?.FirstOrDefault(b => b.NoteNumber == noteOnMessage.NoteNumber); |
|
|
|
|
|
|
|
_acknowledgeMessage = button?.HandleOn(Controllable, noteOnMessage.Velocity); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (message is NoteMessage noteMessage) |
|
|
|
else if (message is NoteMessage noteMessage) |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -64,6 +70,11 @@ namespace Lib.Audio |
|
|
|
Fader.IsTouched = false; |
|
|
|
Fader.IsTouched = false; |
|
|
|
_acknowledgeMessage = new PitchWheelChangeMessage(0, _channelNumber, Fader.Position); |
|
|
|
_acknowledgeMessage = new PitchWheelChangeMessage(0, _channelNumber, Fader.Position); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
IButton? button = Buttons?.FirstOrDefault(b => b.NoteNumber == noteMessage.NoteNumber); |
|
|
|
|
|
|
|
_acknowledgeMessage = button?.HandleOff(Controllable, noteMessage.Velocity); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (message is PitchWheelChangeMessage pitchWheelChangeMessage) |
|
|
|
else if (message is PitchWheelChangeMessage pitchWheelChangeMessage) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|