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);