mirror of
https://github.com/jwetzell/qController.git
synced 2026-08-18 21:54:17 +00:00
Start work on Group Cue children loading
This commit is contained in:
@@ -52,6 +52,19 @@ namespace qController
|
||||
set;
|
||||
}
|
||||
}
|
||||
public class ChildrenEventArgs : EventArgs
|
||||
{
|
||||
public string cue_id
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public List<QCue> children
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
public class QParser
|
||||
{
|
||||
public QParser()
|
||||
@@ -65,6 +78,8 @@ namespace qController
|
||||
public delegate void CueInfoUpdatedHandler(object source, CueEventArgs args);
|
||||
public delegate void PlaybackPositionUpdatedHandler(object source, PlaybackPositionArgs args);
|
||||
public delegate void ConnectionStatusHandler(object source, ConnectEventArgs args);
|
||||
public delegate void ChildrenUpdateHandler(object source, ChildrenEventArgs args);
|
||||
public event ChildrenUpdateHandler ChildrenUpdated;
|
||||
public event ConnectionStatusHandler ConnectionStatusChanged;
|
||||
public event SelectedCueUpdatedHandler SelectedCueUpdated;
|
||||
public event AudioLevelsUpdatedHandler AudioLevelsUpdated;
|
||||
@@ -94,6 +109,8 @@ namespace qController
|
||||
Console.WriteLine("Heartbeat Received");
|
||||
else if (msg.Address.Contains("connect"))
|
||||
ParseConnectInfo(msg);
|
||||
else if (msg.Address.Contains("children"))
|
||||
ParseChildrenInfo(msg);
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Unknown message type");
|
||||
@@ -103,10 +120,9 @@ namespace qController
|
||||
Console.WriteLine(item);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void ParseConnectInfo(OscMessage msg)
|
||||
{
|
||||
JToken connectStatus = OSC2JSON(msg);
|
||||
@@ -130,7 +146,6 @@ namespace qController
|
||||
|
||||
public void ParseSelectedCueInfo(OscMessage msg){
|
||||
JToken selectedCue = OSC2JSON(msg);
|
||||
Console.WriteLine("Selected Cue Updated");
|
||||
QCue cue = JsonConvert.DeserializeObject<QCue>(selectedCue.ToString());
|
||||
OnSelectedCueUpdated(cue);
|
||||
}
|
||||
@@ -154,6 +169,17 @@ namespace qController
|
||||
}
|
||||
}
|
||||
|
||||
public void ParseChildrenInfo(OscMessage msg)
|
||||
{
|
||||
if (msg.Arguments.Count > 0)
|
||||
{
|
||||
string cue_id = msg.Address.Split('/')[3];
|
||||
JToken children_obj = OSC2JSON(msg);
|
||||
List<QCue> children = JsonConvert.DeserializeObject<List<QCue>>(children_obj.ToString());
|
||||
OnChildrenUpdated(cue_id, children);
|
||||
}
|
||||
}
|
||||
|
||||
public JToken OSC2JSON(OscMessage Msg){
|
||||
JObject json = JObject.Parse(Msg.Arguments.ToArray()[0].ToString());
|
||||
return json.GetValue("data");
|
||||
@@ -191,5 +217,11 @@ namespace qController
|
||||
if (ConnectionStatusChanged != null)
|
||||
ConnectionStatusChanged(this, new ConnectEventArgs() { Status = status });
|
||||
}
|
||||
protected virtual void OnChildrenUpdated(string id, List<QCue> cues)
|
||||
{
|
||||
if (ChildrenUpdated != null)
|
||||
ChildrenUpdated(this, new ChildrenEventArgs() { cue_id = id, children = cues });
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user