Add Refreshing Group Cue Children

This commit is contained in:
2019-07-10 20:02:43 -05:00
parent 979ddd7756
commit eb772ea614
6 changed files with 19 additions and 45 deletions
@@ -40,8 +40,13 @@ namespace qController
//try to find a better filtering process
if (!args.Message.Address.Contains("update"))
qParser.ParseMessage(args.Message);
else if (args.Message.Address.Contains("playbackPosition") || args.Message.Address.Contains("cue_id") || args.Message.Address.Contains("cueList"))
else if (args.Message.Address.Contains("playbackPosition") || args.Message.Address.Contains("cueList") || args.Message.Address.Contains("dashboard"))
qParser.ParseMessage(args.Message);
else if (args.Message.Address.Contains("cue_id"))
{
var parts = args.Message.Address.Split('/');
UpdateSpecificCue(parts[3], parts[5]);
}
else
ProcessUpdate(args.Message);
}
@@ -34,7 +34,7 @@ namespace qController
Console.WriteLine("QCONTROLLER CONNECT CALLED: " + workspace_id);
qWorkspace = new QWorkSpace();
qWorkspace.workspace_id = workspace_id;
//qClient.sendStringUDP("/connect");
qClient.sendStringUDP("/connect");
qClient.sendArgsUDP("/workspace/"+workspace_id+"/updates", 1);
qClient.sendAndReceiveString("/workspace/"+workspace_id+"/cueLists");
}
@@ -1,5 +1,4 @@
//Class used for updating local "copy" of workspace info, cue-lists, cues, etc.
//CLEAN UP WORKSPACE LOADING STUFF STILL SENDING INDIVIDUAL REQUESTS FOR GROUP CUES?
using System;
using System.Threading;
@@ -17,8 +16,6 @@ namespace qController
{
qController = controller;
updateThread = new Thread(new ThreadStart(UpdateLoop));
qController.qClient.qParser.ChildrenUpdated += OnChildrenUpdated;
qController.qClient.qParser.CueInfoUpdated += OnCueUpdateReceived;
qController.qClient.qParser.WorkspaceUpdated += OnWorkspaceUpdated;
qController.qClient.qParser.PlaybackPositionUpdated += OnPlaybackPositionUpdated;
@@ -42,28 +39,11 @@ namespace qController
public void OnCueUpdateReceived(object source, CueEventArgs args)
{
qController.qWorkspace.UpdateCue(args.Cue);
if (qController.playbackPosition == null)
{
qController.playbackPosition = args.Cue.uniqueID;
}
}
private void OnChildrenUpdated(object source, ChildrenEventArgs args)
{
qController.qWorkspace.UpdateChildren(args.cue_id, args.children);
Console.WriteLine("Populated: " + qController.qWorkspace.IsPopulated);
if (!qController.qWorkspace.IsPopulated)
if (args.Cue.type == "Group")
{
Console.WriteLine("IS THIS BEING CALLED");
QCue cue = qController.qWorkspace.GetEmptyGroup();
if(cue != null)
{
qController.qClient.sendStringUDP("/cue_id/" + cue.uniqueID + "/children");
}
}
else
{
qController.qClient.UpdateSelectedCue(qController.qWorkspace.workspace_id);
//Console.WriteLine("QUpdater/Updated cue was group cue, sending children request");
qController.qClient.sendStringUDP("/cue_id/" + args.Cue.uniqueID + "/children");
}
}
@@ -80,8 +60,6 @@ namespace qController
qController.qClient.UpdateSelectedCue(qController.qWorkspace.workspace_id);
return;
}
//qController.qClient.UpdateSelectedCue();
}
public void OnPlaybackPositionUpdated(object source, PlaybackPositionArgs args)
@@ -54,7 +54,6 @@ namespace qController
if(data[i].cues[j].type == "Group")
{
data[i].cues[j].cues = children;
CheckPopulated();
return;
}
}
+9 -16
View File
@@ -250,6 +250,11 @@ namespace qController
public void OnCueUpdateReceived(object sender, CueEventArgs args)
{
qController.qWorkspace.UpdateCue(args.Cue);
if (qController.playbackPosition == null)
{
qController.playbackPosition = args.Cue.uniqueID;
}
if (args.Cue.uniqueID == qController.playbackPosition)
{
Device.BeginInvokeOnMainThread(() =>
@@ -278,23 +283,11 @@ namespace qController
{
Console.WriteLine("Children Updated in ControlPage: " + args.cue_id);
qController.qWorkspace.UpdateChildren(args.cue_id, args.children);
if (qController.qWorkspace.IsPopulated)
Device.BeginInvokeOnMainThread(() =>
{
Device.BeginInvokeOnMainThread(() =>
{
if (App.MenuIsPresented)
{
App.rootPage.MenuPage.ChangeToWorkspace(qController.qWorkspace);
}
else
{
App.rootPage.MenuPage.ChangeToWorkspace(qController.qWorkspace);
}
});
qController.qClient.UpdateSelectedCue(qController.qWorkspace.workspace_id);
App.showToast("Workspace cues loaded...");
}
App.rootPage.MenuPage.ChangeToControl();
App.rootPage.MenuPage.ChangeToWorkspace(qController.qWorkspace);
});
}
private void OnMenuItemSelected(object source, MenuEventArgs args)
@@ -96,7 +96,6 @@ namespace qController
var cue = cueList.cues[j];
AddSubCues(cue, 0);
}
}
}