IEnumerator CreateNode() { if(String.IsNullOrEmpty(stageAddress)) m_node = new ZstNode(nodeName); else m_node = new ZstNode(nodeName, stageAddress); //m_node.Start(); yield return new WaitForSeconds(2); if (m_node.requestRegisterNode()) { Debug.Log("Successfully registered to stage."); connected = true; Dictionary<string, ZstPeerLink> peers = m_node.requestNodePeerlinks(); if (peers.ContainsKey(targetPeer)) { peer = peers[targetPeer]; } } else { Debug.Log("Stage did not respond."); } yield return null; }
// Use this for initialization void Start() { m_instance = this; m_node = new ZstNode("UnityNode", "tcp://" + m_stageAddress + ":" + m_port); m_node.requestRegisterNode(); m_peers = m_node.requestNodePeerlinks(); m_livePeer = m_peers["LiveNode"]; m_node.subscribeToNode(m_livePeer); m_node.connectToPeer(m_livePeer); ZstMethod response = m_node.updateRemoteMethod(m_livePeer.methods["get_song_layout"]); string output = response.output.ToString(); m_instrumentSpawner.LoadLiveSessionXml(output); //Subscribe to value updates m_node.subscribeToMethod(m_livePeer.methods["value_updated"], instrumentValueUpdated); m_node.subscribeToMethod(m_livePeer.methods["fired_slot_index"], clipFired); m_node.subscribeToMethod(m_livePeer.methods["playing_slot_index"], clipPlaying); //m_node.subscribeToMethod(m_livePeer.methods["value_updated"], clipFired); }