diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 003b1f66..d429cdc0 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -78,16 +78,9 @@ jobs:
with:
name: Version
path: ${{env.GITHUB_HOME}}\output\version.txt
- # Create the release on the source repo
- - name: Create tag for non-rc builds
- if: contains(env.VERSION, 'alpha') || contains(env.VERSION, 'beta')
- run: |
- git tag $($Env:VERSION)
- git push --tags origin
- name: Create Release
id: create_release
# using contributor's version to allow for pointing at the right commit
- if: contains(env.VERSION,'-rc-') || contains(env.VERSION,'-hotfix-')
uses: fleskesvor/create-release@feature/support-target-commitish
with:
tag_name: ${{ env.VERSION }}
@@ -150,160 +143,3 @@ jobs:
run: nuget push **/*.nupkg -source github
- name: Publish nuget package to nuget.org
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json
- # This step always runs and pushes the build to the internal build rep
- Internal_Push_Output:
- needs: Build_Project
- runs-on: windows-latest
- steps:
- - name: check Github ref
- run: ${{toJson(github.ref)}}
- # Checkout the repo
- - name: Checkout Builds Repo
- uses: actions/checkout@v2
- with:
- token: ${{ secrets.BUILDS_TOKEN }}
- repository: PepperDash-Engineering/essentials-builds
- ref: ${{ Env.GITHUB_REF }}
- # Download the version artifact from the build job
- - name: Download Build Version Info
- uses: actions/download-artifact@v1
- with:
- name: Version
- - name: Check Directory
- run: Get-ChildItem "./"
- # Set the version number environment variable from the file we just downloaded
- - name: Set Version Number
- shell: powershell
- run: |
- Get-ChildItem "./Version"
- $version = Get-Content -Path ./Version/version.txt
- Write-Host "Version: $version"
- echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- Remove-Item -Path ./Version/version.txt
- Remove-Item -Path ./Version
- # Checkout/Create the branch
- - name: Create new branch
- run: git checkout -b $($Env:GITHUB_REF -replace "refs/heads/")
- # Download the build output into the repo
- - name: Download Build output
- uses: actions/download-artifact@v1
- with:
- name: Build
- path: ./
- - name: Check directory
- run: Get-ChildItem ./
- # Unzip the build package file
- - name: Unzip Build file
- run: |
- Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
- Remove-Item -Path .\*.zip
- - name: Check directory again
- run: Get-ChildItem ./
- # Copy Contents of output folder to root directory
- - name: Copy Files to root & delete output directory
- run: |
- Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
- Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
- Remove-Item -Path .\output -Recurse
- # Commits the build output to the branch and tags it with the version
- - name: Commit build output and tag the commit
- shell: powershell
- run: |
- git config user.email "actions@pepperdash.com"
- git config user.name "GitHub Actions"
- git add .
- $commit = "Build $($Env:GITHUB_RUN_NUMBER) from commit: https://github.com/$($Env:GITHUB_REPOSITORY)/commit/$($Env:GITHUB_SHA)"
- Write-Host "Commit: $commit"
- git commit -m $commit
- git tag $($Env:VERSION)
- # Push the commit
- - name: Push to Builds Repo
- shell: powershell
- run: |
- $branch = $($Env:GITHUB_REF) -replace "refs/heads/"
- Write-Host "Branch: $branch"
- git push -u origin $($branch) --force
- # Push the tags
- - name: Push tags
- run: git push --tags origin
- - name: Check Directory
- run: Get-ChildItem ./
- # This step only runs if the branch is main or release/ runs and pushes the build to the public build repo
- Public_Push_Output:
- needs: Build_Project
- runs-on: windows-latest
- if: contains(github.ref, 'main') || contains(github.ref, '/release/')
- steps:
- # Checkout the repo
- - name: check Github ref
- run: ${{toJson(github.ref)}}
- - name: Checkout Builds Repo
- uses: actions/checkout@v2
- with:
- token: ${{ secrets.BUILDS_TOKEN }}
- repository: PepperDash/Essentials-Builds
- ref: ${{ Env.GITHUB_REF }}
- # Download the version artifact from the build job
- - name: Download Build Version Info
- uses: actions/download-artifact@v1
- with:
- name: Version
- - name: Check Directory
- run: Get-ChildItem "./"
- # Set the version number environment variable from the file we just downloaded
- - name: Set Version Number
- shell: powershell
- run: |
- Get-ChildItem "./Version"
- $version = Get-Content -Path ./Version/version.txt
- Write-Host "Version: $version"
- echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- Remove-Item -Path ./Version/version.txt
- Remove-Item -Path ./Version
- # Checkout/Create the branch
- - name: Create new branch
- run: git checkout -b $($Env:GITHUB_REF -replace "refs/heads/")
- # Download the build output into the repo
- - name: Download Build output
- uses: actions/download-artifact@v1
- with:
- name: Build
- path: ./
- - name: Check directory
- run: Get-ChildItem ./
- # Unzip the build package file
- - name: Unzip Build file
- run: |
- Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
- Remove-Item -Path .\*.zip
- - name: Check directory again
- run: Get-ChildItem ./
- # Copy Contents of output folder to root directory
- - name: Copy Files to root & delete output directory
- run: |
- Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
- Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
- Remove-Item -Path .\output -Recurse
- # Commits the build output to the branch and tags it with the version
- - name: Commit build output and tag the commit
- shell: powershell
- run: |
- git config user.email "actions@pepperdash.com"
- git config user.name "GitHub Actions"
- git add .
- $commit = "Build $($Env:GITHUB_RUN_NUMBER) from commit: https://github.com/$($Env:GITHUB_REPOSITORY)/commit/$($Env:GITHUB_SHA)"
- Write-Host "Commit: $commit"
- git commit -m $commit
- git tag $($Env:VERSION)
- # Push the commit
- - name: Push to Builds Repo
- shell: powershell
- run: |
- $branch = $($Env:GITHUB_REF) -replace "refs/heads/"
- Write-Host "Branch: $branch"
- git push -u origin $($branch) --force
- # Push the tags
- - name: Push tags
- run: git push --tags origin
- - name: Check Directory
- run: Get-ChildItem ./
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f1a6a278..dc219ce3 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -123,148 +123,3 @@ jobs:
run: nuget push **/*.nupkg -source github
- name: Publish nuget package to nuget.org
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json
- Internal_Push_Output:
- needs: Build_Project
- runs-on: windows-latest
- steps:
- # Checkout the repo
- - name: Checkout Builds Repo
- uses: actions/checkout@v2
- with:
- token: ${{ secrets.BUILDS_TOKEN }}
- repository: PepperDash-Engineering/essentials-builds
- ref: ${{ Env.GITHUB_REF }}
- # Download the version artifact from the build job
- - name: Download Build Version Info
- uses: actions/download-artifact@v1
- with:
- name: Version
- - name: Check Directory
- run: Get-ChildItem "./"
- # Set the version number environment variable from the file we just downloaded
- - name: Set Version Number
- shell: powershell
- run: |
- Get-ChildItem "./Version"
- $version = Get-Content -Path ./Version/version.txt
- Write-Host "Version: $version"
- echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- Remove-Item -Path ./Version/version.txt
- Remove-Item -Path ./Version
- # Checkout/Create the branch
- - name: Checkout main branch
- run: git checkout main
- # Download the build output into the repo
- - name: Download Build output
- uses: actions/download-artifact@v1
- with:
- name: Build
- path: ./
- - name: Check directory
- run: Get-ChildItem ./
- # Unzip the build package file
- - name: Unzip Build file
- run: |
- Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
- Remove-Item -Path .\*.zip
- - name: Check directory again
- run: Get-ChildItem ./
- # Copy Contents of output folder to root directory
- - name: Copy Files to root & delete output directory
- run: |
- Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
- Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
- Remove-Item -Path .\output -Recurse
- # Commits the build output to the branch and tags it with the version
- - name: Commit build output and tag the commit
- shell: powershell
- run: |
- git config user.email "actions@pepperdash.com"
- git config user.name "GitHub Actions"
- git add .
- $commit = "Build $($Env:GITHUB_RUN_NUMBER) from commit: https://github.com/$($Env:GITHUB_REPOSITORY)/commit/$($Env:GITHUB_SHA)"
- Write-Host "Commit: $commit"
- git commit -m $commit
- git tag $($Env:VERSION)
- # Push the commit
- - name: Push to Builds Repo
- shell: powershell
- run: git push -u origin main --force
- # Push the tags
- - name: Push tags
- run: git push --tags origin
- - name: Check Directory
- run: Get-ChildItem ./
- # This step only runs if the branch is main or release/ runs and pushes the build to the public build repo
- Public_Push_Output:
- needs: Build_Project
- runs-on: windows-latest
- steps:
- # Checkout the repo
- - name: Checkout Builds Repo
- uses: actions/checkout@v2
- with:
- token: ${{ secrets.BUILDS_TOKEN }}
- repository: PepperDash/Essentials-Builds
- ref: ${{ Env.GITHUB_REF }}
- # Download the version artifact from the build job
- - name: Download Build Version Info
- uses: actions/download-artifact@v1
- with:
- name: Version
- - name: Check Directory
- run: Get-ChildItem "./"
- # Set the version number environment variable from the file we just downloaded
- - name: Set Version Number
- shell: powershell
- run: |
- Get-ChildItem "./Version"
- $version = Get-Content -Path ./Version/version.txt
- Write-Host "Version: $version"
- echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- Remove-Item -Path ./Version/version.txt
- Remove-Item -Path ./Version
- # Checkout main branch
- - name: Create new branch
- run: git checkout main
- # Download the build output into the repo
- - name: Download Build output
- uses: actions/download-artifact@v1
- with:
- name: Build
- path: ./
- - name: Check directory
- run: Get-ChildItem ./
- # Unzip the build package file
- - name: Unzip Build file
- run: |
- Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
- Remove-Item -Path .\*.zip
- - name: Check directory again
- run: Get-ChildItem ./
- # Copy Contents of output folder to root directory
- - name: Copy Files to root & delete output directory
- run: |
- Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
- Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
- Remove-Item -Path .\output -Recurse
- # Commits the build output to the branch and tags it with the version
- - name: Commit build output and tag the commit
- shell: powershell
- run: |
- git config user.email "actions@pepperdash.com"
- git config user.name "GitHub Actions"
- git add .
- $commit = "Build $($Env:GITHUB_RUN_NUMBER) from commit: https://github.com/$($Env:GITHUB_REPOSITORY)/commit/$($Env:GITHUB_SHA)"
- Write-Host "Commit: $commit"
- git commit -m $commit
- git tag $($Env:VERSION)
- # Push the commit
- - name: Push to Builds Repo
- shell: powershell
- run: git push -u origin main --force
- # Push the tags
- - name: Push tags
- run: git push --tags origin
- - name: Check Directory
- run: Get-ChildItem ./
diff --git a/PepperDashEssentials/Room/Config/EssentialsTechRoomConfig.cs b/PepperDashEssentials/Room/Config/EssentialsTechRoomConfig.cs
index 06e67f39..9ff3a2d2 100644
--- a/PepperDashEssentials/Room/Config/EssentialsTechRoomConfig.cs
+++ b/PepperDashEssentials/Room/Config/EssentialsTechRoomConfig.cs
@@ -5,30 +5,62 @@ namespace PepperDash.Essentials.Room.Config
{
public class EssentialsTechRoomConfig
{
+ ///
+ /// The key of the dummy device used to enable routing
+ ///
[JsonProperty("dummySourceKey")]
public string DummySourceKey { get; set; }
+ ///
+ /// The keys of the displays assigned to this room
+ ///
[JsonProperty("displays")]
- public List Displays;
+ public List Displays { get; set; }
+ ///
+ /// The keys of the tuners assinged to this room
+ ///
[JsonProperty("tuners")]
- public List Tuners;
+ public List Tuners { get; set; }
+ ///
+ /// PIN to access the room as a normal user
+ ///
[JsonProperty("userPin")]
- public string UserPin;
+ public string UserPin { get; set; }
+ ///
+ /// PIN to access the room as a tech user
+ ///
[JsonProperty("techPin")]
- public string TechPin;
+ public string TechPin { get; set; }
+ ///
+ /// Name of the presets file. Path prefix is assumed to be /html/presets/lists/
+ ///
[JsonProperty("presetsFileName")]
- public string PresetsFileName;
+ public string PresetsFileName { get; set; }
[JsonProperty("scheduledEvents")]
- public List ScheduledEvents;
+ public List ScheduledEvents { get; set; }
- [JsonProperty("isPrimary")] public bool IsPrimary;
+ ///
+ /// Indicates that the room is the primary when true
+ ///
+ [JsonProperty("isPrimary")]
+ public bool IsPrimary { get; set; }
- [JsonProperty("isTvPresetsProvider")] public bool IsTvPresetsProvider;
+ ///
+ /// Indicates which tuners should mirror preset recall when two rooms are configured in a primary->secondary scenario
+ ///
+ [JsonProperty("mirroredTuners")]
+ public Dictionary MirroredTuners { get; set; }
+
+ ///
+ /// Indicates the room
+ ///
+ [JsonProperty("isTvPresetsProvider")]
+ public bool IsTvPresetsProvider;
public EssentialsTechRoomConfig()
{
diff --git a/PepperDashEssentials/Room/Types/EssentialsTechRoom.cs b/PepperDashEssentials/Room/Types/EssentialsTechRoom.cs
index bfa56646..b8bbc081 100644
--- a/PepperDashEssentials/Room/Types/EssentialsTechRoom.cs
+++ b/PepperDashEssentials/Room/Types/EssentialsTechRoom.cs
@@ -373,13 +373,32 @@ Params: {2}"
uint i;
if (_config.IsPrimary)
{
- i = 0;
- foreach (var feedback in CurrentPresetsFeedbacks)
+ Debug.Console(1, this, "Linking Primary system Tuner Preset Mirroring");
+ if (_config.MirroredTuners != null && _config.MirroredTuners.Count > 0)
{
- feedback.Value.LinkInputSig(trilist.StringInput[(uint) (joinMap.CurrentPreset.JoinNumber + i)]);
- i++;
+ foreach (var tuner in _config.MirroredTuners)
+ {
+ var f = CurrentPresetsFeedbacks[tuner.Value];
+
+ if (f == null)
+ {
+ Debug.Console(1, this, "Unable to find feedback with key: {0}", tuner.Value);
+ continue;
+ }
+
+ var join = joinMap.CurrentPreset.JoinNumber + tuner.Key;
+ f.LinkInputSig(trilist.StringInput[(uint)(join)]);
+ Debug.Console(1, this, "Linked Current Preset feedback for tuner: {0} to serial join: {1}", tuner.Value, join);
+ }
}
+ //i = 0;
+ //foreach (var feedback in CurrentPresetsFeedbacks)
+ //{
+ // feedback.Value.LinkInputSig(trilist.StringInput[(uint) (joinMap.CurrentPreset.JoinNumber + i)]);
+ // i++;
+ //}
+
trilist.OnlineStatusChange += (device, args) =>
{
if (!args.DeviceOnLine)
@@ -395,15 +414,35 @@ Params: {2}"
return;
}
-
- i = 0;
- foreach (var setTopBox in _tuners)
+ else
{
- var tuner = setTopBox;
+ Debug.Console(1, this, "Linking Secondary system Tuner Preset Mirroring");
- trilist.SetStringSigAction(joinMap.CurrentPreset.JoinNumber + i, s => _tunerPresets.Dial(s, tuner.Value));
+ if (_config.MirroredTuners != null && _config.MirroredTuners.Count > 0)
+ {
+ foreach (var tuner in _config.MirroredTuners)
+ {
+ var t = _tuners[tuner.Value];
- i++;
+ if (t == null)
+ {
+ Debug.Console(1, this, "Unable to find tuner with key: {0}", tuner.Value);
+ continue;
+ }
+
+ var join = joinMap.CurrentPreset.JoinNumber + tuner.Key;
+ trilist.SetStringSigAction(join, s => _tunerPresets.Dial(s, t));
+ Debug.Console(1, this, "Linked preset recall action for tuner: {0} to serial join: {1}", tuner.Value, join);
+ }
+
+ //foreach (var setTopBox in _tuners)
+ //{
+ // var tuner = setTopBox;
+
+ // trilist.SetStringSigAction(joinMap.CurrentPreset.JoinNumber + i, s => _tunerPresets.Dial(s, tuner.Value));
+
+ //}
+ }
}
}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Utilities/ActionSequence.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Utilities/ActionSequence.cs
index bc1e8a4e..90c99579 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Utilities/ActionSequence.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Utilities/ActionSequence.cs
@@ -47,7 +47,7 @@ namespace PepperDash.Essentials.Core.Utilities
///
public void StartSequence()
{
- if (_worker.ThreadState == Thread.eThreadStates.ThreadRunning)
+ if (_worker !=null && _worker.ThreadState == Thread.eThreadStates.ThreadRunning)
{
Debug.Console(1, this, "Thread already running. Cannot Start Sequence");
return;
diff --git a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs
index 248518aa..d88af7f4 100644
--- a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs
+++ b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs
@@ -820,7 +820,7 @@ namespace PepperDash.Essentials.DM
{
if (RouteOffTimers.ContainsKey(pnt))
return;
- RouteOffTimers[pnt] = new CTimer(o => ExecuteSwitch(0, pnt.Number, pnt.Type), RouteOffTime);
+ RouteOffTimers[pnt] = new CTimer(o => ExecuteSwitch(null, pnt.Selector, pnt.Type), RouteOffTime);
}
#region IRouting Members