- add RecordButton

master
Simon G 5 years ago
parent 971922272e
commit 5e97f3d1f1
  1. 2
      Lib.Audio/Controls/Buttons/Factories/ButtonFactory.cs
  2. 13
      Lib.Audio/Controls/Buttons/Interfaces/IRecordButton.cs
  3. 22
      Lib.Audio/Controls/Buttons/RecordButton.cs

@ -15,6 +15,8 @@ namespace Lib.Audio.Controls.Buttons.Factories
return new SelectButton(xmlButton.NoteNumber, channelNumber); return new SelectButton(xmlButton.NoteNumber, channelNumber);
else if (xmlButton.ButtonType == "Mute") else if (xmlButton.ButtonType == "Mute")
return new MuteButton(xmlButton.NoteNumber, channelNumber); return new MuteButton(xmlButton.NoteNumber, channelNumber);
else if (xmlButton.ButtonType == "Record")
return new RecordButton(xmlButton.NoteNumber, channelNumber);
return new Button(xmlButton.NoteNumber, channelNumber); return new Button(xmlButton.NoteNumber, channelNumber);
} }

@ -0,0 +1,13 @@
// Author: Gockner, Simon
// Created: 2021-04-26
// Copyright(c) 2021 SimonG. All Rights Reserved.
using Lib.Midi.Messages.Interfaces;
namespace Lib.Audio.Controls.Buttons.Interfaces
{
public interface IRecordButton : IButton
{
IMidiMessage? Record();
}
}

@ -0,0 +1,22 @@
// Author: Gockner, Simon
// Created: 2021-04-26
// Copyright(c) 2021 SimonG. All Rights Reserved.
using Lib.Audio.Controls.Buttons.Interfaces;
using Lib.Audio.Interfaces;
using Lib.Midi.Messages.Interfaces;
namespace Lib.Audio.Controls.Buttons
{
public class RecordButton : Button, IRecordButton
{
public RecordButton(int noteNumber, int channelNumber)
: base(noteNumber, channelNumber)
{
}
public override IMidiMessage? Handle(IControllable? controllable, Velocity velocity) => null; //for now don't do anything when pressed
public IMidiMessage? Record() => base.Handle(null, Velocity.On);
}
}
Loading…
Cancel
Save