feat (essentials): split up volume interfaces for better composition

fix (essentials): fixed a few misc devices that are probably deprecated anyhow
This commit is contained in:
Nick Genovese
2022-03-14 19:26:50 -04:00
parent d0097089e6
commit 0ab1ece445
3 changed files with 47 additions and 15 deletions

View File

@@ -7,25 +7,53 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Core namespace PepperDash.Essentials.Core
{ {
/// <summary> /// <summary>
/// Defines minimal volume control methods /// Defines minimal volume and mute control methods
/// </summary> /// </summary>
public interface IBasicVolumeControls public interface IBasicVolumeControls : IBasicVolumeControl, IBasicMuteControl
{
}
/// <summary>
/// Defines basic volume control methods
/// </summary>
public interface IBasicVolumeControl
{ {
void VolumeUp(bool pressRelease); void VolumeUp(bool pressRelease);
void VolumeDown(bool pressRelease); void VolumeDown(bool pressRelease);
}
/// <summary>
/// Defines volume control methods and properties with feedback
/// </summary>
public interface IBasicVolumeControlWithFeedback : IBasicVolumeControl
{
void SetVolume(ushort level);
IntFeedback VolumeLevelFeedback { get; }
}
/// <summary>
/// Defines basic mute control methods
/// </summary>
public interface IBasicMuteControl
{
void MuteToggle(); void MuteToggle();
} }
/// <summary>
/// Defines mute control methods and properties with feedback
/// </summary>
public interface IBasicMuteControlWithFeedback : IBasicMuteControl
{
BoolFeedback MuteFeedback { get; }
void MuteOn();
void MuteOff();
}
/// <summary> /// <summary>
/// Adds feedback and direct volume level set to IBasicVolumeControls /// Adds feedback and direct volume level set to IBasicVolumeControls
/// </summary> /// </summary>
public interface IBasicVolumeWithFeedback : IBasicVolumeControls public interface IBasicVolumeWithFeedback : IBasicVolumeControlWithFeedback, IBasicMuteControlWithFeedback
{ {
void SetVolume(ushort level);
void MuteOn();
void MuteOff();
IntFeedback VolumeLevelFeedback { get; }
BoolFeedback MuteFeedback { get; }
} }
/// <summary> /// <summary>

View File

@@ -308,7 +308,7 @@ namespace PepperDash.Essentials.Devices.Displays
//Send((string)selector); //Send((string)selector);
} }
void SetVolume(ushort level) public void SetVolume(ushort level)
{ {
var levelString = string.Format("{0}{1:X4}\x03", VolumeLevelPartialCmd, level); var levelString = string.Format("{0}{1:X4}\x03", VolumeLevelPartialCmd, level);
AppendChecksumAndSend(levelString); AppendChecksumAndSend(levelString);
@@ -333,10 +333,13 @@ namespace PepperDash.Essentials.Devices.Displays
Send(MuteOnCmd); Send(MuteOnCmd);
} }
void IBasicVolumeWithFeedback.SetVolume(ushort level)
/*
public void IBasicVolumeWithFeedback.SetVolume(ushort level)
{ {
SetVolume(level); SetVolume(level);
} }
*/
#endregion #endregion

View File

@@ -290,7 +290,7 @@ namespace PepperDash.Essentials.Devices.Displays
//Send((string)selector); //Send((string)selector);
} }
void SetVolume(ushort level) public void SetVolume(ushort level)
{ {
var levelString = string.Format("{0}{1:X3}\x03", VolumeLevelPartialCmd, level); var levelString = string.Format("{0}{1:X3}\x03", VolumeLevelPartialCmd, level);
@@ -315,11 +315,12 @@ namespace PepperDash.Essentials.Devices.Displays
Send(MuteOnCmd); Send(MuteOnCmd);
} }
/*
void IBasicVolumeWithFeedback.SetVolume(ushort level) void IBasicVolumeWithFeedback.SetVolume(ushort level)
{ {
SetVolume(level); SetVolume(level);
} }
*/
#endregion #endregion
#region IBasicVolumeControls Members #region IBasicVolumeControls Members