Added method to set preset for multiple situations

This commit is contained in:
Louis Iacovelli
2021-08-12 11:49:59 -04:00
parent 6f0bfedac1
commit 072411e4f6
2 changed files with 30 additions and 14 deletions

View File

@@ -216,21 +216,11 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
var presetsCamera = cameraDevice as IHasCameraPresets; var presetsCamera = cameraDevice as IHasCameraPresets;
presetsCamera.PresetsListHasChanged += new EventHandler<EventArgs>((o, a) => presetsCamera.PresetsListHasChanged += new EventHandler<EventArgs>((o, a) =>
{ {
for (int i = 1; i <= joinMap.NumberOfPresets.JoinNumber; i++) SendCameraPresetNamesToApi(presetsCamera, joinMap, trilist);
{
int tempNum = i - 1;
string label = "";
var preset = presetsCamera.Presets.FirstOrDefault(p => p.ID.Equals(i));
if (preset != null)
label = preset.Description;
trilist.SetString((ushort) (joinMap.PresetLabelStart.JoinNumber + tempNum), label);
}
}); });
SendCameraPresetNamesToApi(presetsCamera, joinMap, trilist);
for (int i = 0; i < joinMap.NumberOfPresets.JoinNumber; i++) for (int i = 0; i < joinMap.NumberOfPresets.JoinNumber; i++)
{ {
int tempNum = i; int tempNum = i;
@@ -246,10 +236,35 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
presetsCamera.PresetStore(tempNum, label); presetsCamera.PresetStore(tempNum, label);
}); });
} }
trilist.OnlineStatusChange += (sender, args) =>
{
if (!args.DeviceOnLine)
{ return; }
SendCameraPresetNamesToApi(presetsCamera, joinMap, trilist);
};
}
}
private void SendCameraPresetNamesToApi(IHasCameraPresets presetsCamera, CameraControllerJoinMap joinMap, BasicTriList trilist)
{
for (int i = 1; i <= joinMap.NumberOfPresets.JoinNumber; i++)
{
int tempNum = i - 1;
string label = "";
var preset = presetsCamera.Presets.FirstOrDefault(p => p.ID.Equals(i));
if (preset != null)
label = preset.Description;
trilist.SetString((ushort)(joinMap.PresetLabelStart.JoinNumber + tempNum), label);
} }
} }
} }
public class CameraPreset : PresetBase public class CameraPreset : PresetBase
{ {
public CameraPreset(int id, string description, bool isDefined, bool isDefinable) public CameraPreset(int id, string description, bool isDefined, bool isDefinable)

View File

@@ -171,7 +171,8 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
{ {
LinkCameraToApi(this, trilist, joinStart, joinMapKey, bridge); LinkCameraToApi(this, trilist, joinStart, joinMapKey, bridge);
OnPresetsListHasChanged(); //OnPresetsListHasChanged();
} }
void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e) void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e)