diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs
index aae9e37b..1b11ebd8 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs
@@ -7,61 +7,40 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Core.Bridges
{
- public class AppleTvJoinMap : JoinMapBase
- {
- #region Digitals
- ///
- /// Sends up arrow command while high
- ///
- public uint UpArrow { get; set; }
- ///
- /// Sends down arrow command while high
- ///
- public uint DnArrow { get; set; }
- ///
- /// Sends left arrow command while high
- ///
- public uint LeftArrow { get; set; }
- ///
- /// Sends right arrow command while high
- ///
- public uint RightArrow { get; set; }
- ///
- /// Sends menu command
- ///
- public uint Menu { get; set; }
- ///
- /// Sends select command
- ///
- public uint Select { get; set; }
- ///
- /// Sends play/pause command
- ///
- public uint PlayPause { get; set; }
- #endregion
-
- public AppleTvJoinMap()
- {
- UpArrow = 1;
- DnArrow = 2;
- LeftArrow = 3;
- RightArrow = 4;
- Menu = 5;
- Select = 6;
- PlayPause = 7;
+ public class AppleTvJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("UpArrow")]
+ public JoinDataComplete UpArrow = new JoinDataComplete(new JoinData() { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DnArrow")]
+ public JoinDataComplete DnArrow = new JoinDataComplete(new JoinData() { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("LeftArrow")]
+ public JoinDataComplete LeftArrow = new JoinDataComplete(new JoinData() { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RightArrow")]
+ public JoinDataComplete RightArrow = new JoinDataComplete(new JoinData() { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Menu")]
+ public JoinDataComplete Menu = new JoinDataComplete(new JoinData() { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Select")]
+ public JoinDataComplete Select = new JoinDataComplete(new JoinData() { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PlayPause")]
+ public JoinDataComplete PlayPause = new JoinDataComplete(new JoinData() { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata() { Label = "AppleTv Play/Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ public AppleTvJoinMap(uint joinStart)
+ : base(joinStart, typeof(AppleTvJoinMap))
+ {
}
- 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;
- }
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Streaming/AppleTV.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Streaming/AppleTV.cs
index 1182d312..89850376 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Streaming/AppleTV.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Streaming/AppleTV.cs
@@ -145,26 +145,24 @@ namespace PepperDash.Essentials.Devices.Common
#endregion
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);
if (!string.IsNullOrEmpty(joinMapSerialized))
joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
- joinMap.OffsetJoinNumbers(joinStart);
-
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name);
- trilist.SetBoolSigAction(joinMap.UpArrow, Up);
- trilist.SetBoolSigAction(joinMap.DnArrow, Down);
- trilist.SetBoolSigAction(joinMap.LeftArrow, Left);
- trilist.SetBoolSigAction(joinMap.RightArrow, Right);
- trilist.SetBoolSigAction(joinMap.Select, Select);
- trilist.SetBoolSigAction(joinMap.Menu, Menu);
- trilist.SetBoolSigAction(joinMap.PlayPause, Play);
+ trilist.SetBoolSigAction(joinMap.UpArrow.JoinNumber, Up);
+ trilist.SetBoolSigAction(joinMap.DnArrow.JoinNumber, Down);
+ trilist.SetBoolSigAction(joinMap.LeftArrow.JoinNumber, Left);
+ trilist.SetBoolSigAction(joinMap.RightArrow.JoinNumber, Right);
+ trilist.SetBoolSigAction(joinMap.Select.JoinNumber, Select);
+ trilist.SetBoolSigAction(joinMap.Menu.JoinNumber, Menu);
+ trilist.SetBoolSigAction(joinMap.PlayPause.JoinNumber, Play);
}
}