* QServerInfo.cs: Add barebones ServerInfo class

* QClient.cs: remove logging

* QWorkspace.cs: Add methods to build WorkspaceInfo and ServerInfo

* CueListPage.xaml.cs: List Multiple Cue Lists in Demo app
This commit is contained in:
2020-11-29 14:38:16 -06:00
parent 4ef3f689df
commit b622462c0d
4 changed files with 39 additions and 15 deletions
+1 -1
View File
@@ -196,7 +196,7 @@ namespace QControlKit
protected virtual void OnWorkspaceUpdated() protected virtual void OnWorkspaceUpdated()
{ {
Log.Debug($"[client] Workspace Updated"); //Log.Debug($"[client] Workspace Updated");
WorkspaceUpdated?.Invoke(this, new QWorkspaceUpdatedArgs()); WorkspaceUpdated?.Invoke(this, new QWorkspaceUpdatedArgs());
} }
+8
View File
@@ -0,0 +1,8 @@
namespace QControlKit
{
public class QServerInfo
{
public string host { get; set; }
public int port { get; set; }
}
}
+20
View File
@@ -98,6 +98,26 @@ namespace QControlKit
return didUpdate; return didUpdate;
} }
public QWorkspaceInfo getWorkspaceInfo()
{
return new QWorkspaceInfo
{
displayName = name,
hasPasscode = hasPasscode,
version = version,
uniqueID = uniqueID,
};
}
public QServerInfo GetServerInfo()
{
return new QServerInfo
{
host = server.host,
port = server.port
};
}
public string description { get { return $"{name} : {uniqueID}"; } } public string description { get { return $"{name} : {uniqueID}"; } }
public bool isOlderThanVersion(string version) public bool isOlderThanVersion(string version)
@@ -64,24 +64,20 @@ namespace QControlKitXamDemo
void Workspace_WorkspaceUpdated(object source, QWorkspaceUpdatedArgs args) void Workspace_WorkspaceUpdated(object source, QWorkspaceUpdatedArgs args)
{ {
foreach (var cue in connectedWorkspace.cueLists) if(connectedWorkspace.cueLists.Count > 0)
{ {
if(cue.cues.Count > 0) List<Task> cueAddTasks = new List<Task>();
foreach(var aCue in connectedWorkspace.cueLists)
{ {
List<Task> cueAddTasks = new List<Task>(); Grid cueGrid = cueToGrid(aCue);
foreach(var aCue in cue.cues) cueGridDict.Add(aCue.uid, cueGrid);
MainThread.InvokeOnMainThreadAsync(() =>
{ {
Grid cueGrid = cueToGrid(aCue); cueListsGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
cueGridDict.Add(aCue.uid, cueGrid); cueListsGrid.Children.Add(cueGrid, 0, aCue.sortIndex);
MainThread.InvokeOnMainThreadAsync(() => }).Wait();
{
cueListsGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
cueListsGrid.Children.Add(cueGrid, 0, aCue.sortIndex);
}).Wait();
}
connectedWorkspace.valueForKey(cue, QOSCKey.PlaybackPositionId); //fetch playback position for cueList once all cue loading is done.
break; //only load first cue list with cues.
} }
connectedWorkspace.valueForKey(connectedWorkspace.firstCueList, QOSCKey.PlaybackPositionId); //fetch playback position for cueList once all cue loading is done.
} }
} }