From c4383c26e78c6ca06692ccf91c267c34638152db Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Sat, 13 Feb 2021 09:44:47 -0500 Subject: [PATCH] * QDefines.cs: Make QDefines public * QControlKit.csproj: Bump Version * QWorkspace.cs: Allow for selection "none" and root cue updates * AppDelegate.cs: Change to Debug Log Level --- QControlKit/Constants/QDefines.cs | 8 ++-- QControlKit/QControlKit.csproj | 2 +- QControlKit/QWorkspace.cs | 46 +++++++++++-------- .../QControlKitXamDemo.iOS/AppDelegate.cs | 2 +- 4 files changed, 35 insertions(+), 23 deletions(-) diff --git a/QControlKit/Constants/QDefines.cs b/QControlKit/Constants/QDefines.cs index 9c5bca2..107e4f7 100644 --- a/QControlKit/Constants/QDefines.cs +++ b/QControlKit/Constants/QDefines.cs @@ -1,12 +1,12 @@ namespace QControlKit.Constants { - static class QBonjour + public static class QBonjour { public const string TCPService = "_qlab._tcp.local."; public const string UDPService = "_qlab._udp.local."; } - static class QCueType + public static class QCueType { public const string Cue = "Cue"; public const string CueList = "Cue List"; @@ -115,11 +115,13 @@ public const string FullScreen = "fullScreen"; } - static class QIdentifiers + public static class QIdentifiers { // Identifiers for "fake" cues public const string RootCue = "__root__"; public const string ActiveCues = "__active__"; + public const string NoSelection = "none"; + public const string RootCueUpdate = "[root group of cue lists]"; } diff --git a/QControlKit/QControlKit.csproj b/QControlKit/QControlKit.csproj index b83e4f2..435eb83 100644 --- a/QControlKit/QControlKit.csproj +++ b/QControlKit/QControlKit.csproj @@ -6,7 +6,7 @@ Joel Wetzell 1.0.0-devel true - 0.0.11 + 0.0.16 QControlKit diff --git a/QControlKit/QWorkspace.cs b/QControlKit/QWorkspace.cs index 2c123f7..d3bccc2 100644 --- a/QControlKit/QWorkspace.cs +++ b/QControlKit/QWorkspace.cs @@ -526,24 +526,19 @@ namespace QControlKit private void OnCueListChangedPlaybackPosition(object source, QCueListChangedPlaybackPositionArgs args) { - QCue cueList = cueWithID(args.cueListID); - - if (cueList == null) - return; - if (cueList.ignoreUpdates) - return; - - cueList.setProperty(args.cueID, QOSCKey.PlaybackPositionId, false); - - QCue selectedCue = cueWithID(args.cueID); - - //TODO: need to implement when playbackposition is "none" - if (selectedCue != null) + if (!args.cueID.Equals(QIdentifiers.NoSelection)) { - Log.Debug($"[workspace] cue list <{cueList.displayName}> playback position changed to <{selectedCue.displayName}>"); - CueListChangedPlaybackPosition?.Invoke(this, new QCueListChangedPlaybackPositionArgs { cueListID = cueList.uid, cueID = selectedCue.uid }); + QCue cueList = cueWithID(args.cueListID); + if (cueList == null) + return; + if (cueList.ignoreUpdates) + return; + cueList.setProperty(args.cueID, QOSCKey.PlaybackPositionId, false); } + //TODO: need to implement when playbackposition is "none" + Log.Debug($"[workspace] cue list <{args.cueListID}> playback position changed to <{args.cueID}>"); + CueListChangedPlaybackPosition?.Invoke(this, new QCueListChangedPlaybackPositionArgs { cueListID = args.cueListID, cueID = args.cueID }); } @@ -554,11 +549,26 @@ namespace QControlKit private void OnCueNeedsUpdated(object source, QCueNeedsUpdatedArgs args) { - QCue cueToUpdate = cueWithID(args.cueID); - if (cueToUpdate == null) + if (args.cueID.Equals(QIdentifiers.RootCueUpdate)) + { + Log.Debug("[workspace] root cue update requested, updating all cue lists"); + foreach (var cuelist in this.cueLists) + { + if (!cuelist.uid.Equals(QIdentifiers.ActiveCues)) + OnCueNeedsUpdated(this, new QCueNeedsUpdatedArgs { cueID = cuelist.uid }); + } return; + } + else + { + QCue cueToUpdate = cueWithID(args.cueID); + + if (cueToUpdate == null) + return; + + fetchBasicPropertiesForCue(cueToUpdate); + } - fetchBasicPropertiesForCue(cueToUpdate); } private void OnCueUpdated(object source, QCueUpdatedArgs args) diff --git a/QControlKitXamDemo/QControlKitXamDemo.iOS/AppDelegate.cs b/QControlKitXamDemo/QControlKitXamDemo.iOS/AppDelegate.cs index 7b9b1e7..fc3ccfd 100644 --- a/QControlKitXamDemo/QControlKitXamDemo.iOS/AppDelegate.cs +++ b/QControlKitXamDemo/QControlKitXamDemo.iOS/AppDelegate.cs @@ -23,7 +23,7 @@ namespace QControlKitXamDemo.iOS public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); - Log.Logger = new LoggerConfiguration().WriteTo.NSLog().MinimumLevel.Information().CreateLogger(); + Log.Logger = new LoggerConfiguration().WriteTo.NSLog().MinimumLevel.Debug().CreateLogger(); LoadApplication(new App()); return base.FinishedLaunching(app, options);