mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
Updated AppleTv and AppleTvJoinMap
This commit is contained in:
@@ -7,61 +7,40 @@ using PepperDash.Essentials.Core;
|
|||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Bridges
|
namespace PepperDash.Essentials.Core.Bridges
|
||||||
{
|
{
|
||||||
public class AppleTvJoinMap : JoinMapBase
|
public class AppleTvJoinMap : JoinMapBaseAdvanced
|
||||||
{
|
{
|
||||||
#region Digitals
|
[JoinName("UpArrow")]
|
||||||
/// <summary>
|
public JoinDataComplete UpArrow = new JoinDataComplete(new JoinData() { JoinNumber = 1, JoinSpan = 1 },
|
||||||
/// Sends up arrow command while high
|
new JoinMetadata() { Label = "AppleTv Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint UpArrow { get; set; }
|
[JoinName("DnArrow")]
|
||||||
/// <summary>
|
public JoinDataComplete DnArrow = new JoinDataComplete(new JoinData() { JoinNumber = 2, JoinSpan = 1 },
|
||||||
/// Sends down arrow command while high
|
new JoinMetadata() { Label = "AppleTv Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint DnArrow { get; set; }
|
[JoinName("LeftArrow")]
|
||||||
/// <summary>
|
public JoinDataComplete LeftArrow = new JoinDataComplete(new JoinData() { JoinNumber = 3, JoinSpan = 1 },
|
||||||
/// Sends left arrow command while high
|
new JoinMetadata() { Label = "AppleTv Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint LeftArrow { get; set; }
|
[JoinName("RightArrow")]
|
||||||
/// <summary>
|
public JoinDataComplete RightArrow = new JoinDataComplete(new JoinData() { JoinNumber = 4, JoinSpan = 1 },
|
||||||
/// Sends right arrow command while high
|
new JoinMetadata() { Label = "AppleTv Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint RightArrow { get; set; }
|
[JoinName("Menu")]
|
||||||
/// <summary>
|
public JoinDataComplete Menu = new JoinDataComplete(new JoinData() { JoinNumber = 5, JoinSpan = 1 },
|
||||||
/// Sends menu command
|
new JoinMetadata() { Label = "AppleTv Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint Menu { get; set; }
|
[JoinName("Select")]
|
||||||
/// <summary>
|
public JoinDataComplete Select = new JoinDataComplete(new JoinData() { JoinNumber = 6, JoinSpan = 1 },
|
||||||
/// Sends select command
|
new JoinMetadata() { Label = "AppleTv Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint Select { get; set; }
|
[JoinName("PlayPause")]
|
||||||
/// <summary>
|
public JoinDataComplete PlayPause = new JoinDataComplete(new JoinData() { JoinNumber = 7, JoinSpan = 1 },
|
||||||
/// Sends play/pause command
|
new JoinMetadata() { Label = "AppleTv Play/Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
|
||||||
/// </summary>
|
|
||||||
public uint PlayPause { get; set; }
|
public AppleTvJoinMap(uint joinStart)
|
||||||
#endregion
|
: base(joinStart, typeof(AppleTvJoinMap))
|
||||||
|
{
|
||||||
public AppleTvJoinMap()
|
|
||||||
{
|
|
||||||
UpArrow = 1;
|
|
||||||
DnArrow = 2;
|
|
||||||
LeftArrow = 3;
|
|
||||||
RightArrow = 4;
|
|
||||||
Menu = 5;
|
|
||||||
Select = 6;
|
|
||||||
PlayPause = 7;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
UpArrow = UpArrow + joinOffset;
|
|
||||||
DnArrow = DnArrow + joinOffset;
|
|
||||||
LeftArrow = LeftArrow + joinOffset;
|
|
||||||
RightArrow = RightArrow + joinOffset;
|
|
||||||
Menu = Menu + joinOffset;
|
|
||||||
Select = Select + joinOffset;
|
|
||||||
PlayPause = PlayPause + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,26 +145,24 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
||||||
{
|
{
|
||||||
var joinMap = new AppleTvJoinMap();
|
var joinMap = new AppleTvJoinMap(joinStart);
|
||||||
|
|
||||||
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(joinMapSerialized))
|
if (!string.IsNullOrEmpty(joinMapSerialized))
|
||||||
joinMap = JsonConvert.DeserializeObject<AppleTvJoinMap>(joinMapSerialized);
|
joinMap = JsonConvert.DeserializeObject<AppleTvJoinMap>(joinMapSerialized);
|
||||||
|
|
||||||
joinMap.OffsetJoinNumbers(joinStart);
|
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name);
|
Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name);
|
||||||
|
|
||||||
trilist.SetBoolSigAction(joinMap.UpArrow, Up);
|
trilist.SetBoolSigAction(joinMap.UpArrow.JoinNumber, Up);
|
||||||
trilist.SetBoolSigAction(joinMap.DnArrow, Down);
|
trilist.SetBoolSigAction(joinMap.DnArrow.JoinNumber, Down);
|
||||||
trilist.SetBoolSigAction(joinMap.LeftArrow, Left);
|
trilist.SetBoolSigAction(joinMap.LeftArrow.JoinNumber, Left);
|
||||||
trilist.SetBoolSigAction(joinMap.RightArrow, Right);
|
trilist.SetBoolSigAction(joinMap.RightArrow.JoinNumber, Right);
|
||||||
trilist.SetBoolSigAction(joinMap.Select, Select);
|
trilist.SetBoolSigAction(joinMap.Select.JoinNumber, Select);
|
||||||
trilist.SetBoolSigAction(joinMap.Menu, Menu);
|
trilist.SetBoolSigAction(joinMap.Menu.JoinNumber, Menu);
|
||||||
trilist.SetBoolSigAction(joinMap.PlayPause, Play);
|
trilist.SetBoolSigAction(joinMap.PlayPause.JoinNumber, Play);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user