IEnumerator ResolveExpectedStream() { // FIXME: find a better way to lock this function resolvingStream = true; results = resolver.results(); resolvingStream = false; yield return(null); }
private IEnumerator resolveContinuously() { while (resolve) { var results = resolver.results(); foreach (var item in knownStreams) { if (!results.Any(r => r.name().Equals(item.name()))) { OnStreamLost?.Invoke(item); } } // remove lost streams from cache knownStreams.RemoveAll(s => !results.Any(r => r.name().Equals(s.name()))); // add new found streams to the cache foreach (var item in results) { if (!knownStreams.Any(s => s.name() == item.name() && s.type() == item.type())) { knownStreams.Add(item); OnStreamFound?.Invoke(item); } } yield return(new WaitForSecondsRealtime(0.1f)); } yield return(null); }
IEnumerator ResolveExpectedStream() { results = resolver.results(); Debug.Log(StreamName + " is waiting.."); yield return(new WaitUntil(() => results.Length > 0)); Debug.Log(string.Format("Resolving Stream: {0}", StreamName)); inlet = new liblsl.StreamInlet(results[0]); isConnected = true; expectedChannels = inlet.info().channel_count(); yield return(null); }
IEnumerator ResolveExpectedStream() { var results = resolver.results(); yield return(new WaitUntil(() => results.Length > 0)); inlet = new liblsl.StreamInlet(results[0]); yield return(null); }
IEnumerator ResolveExpectedStream() { var results = resolver.results(); yield return(new WaitUntil(() => results.Length > 0)); inlet = new liblsl.StreamInlet(results[0]); expectedChannels = inlet.info().channel_count(); yield return(null); }
/// <summary> /// Query LSL Streams /// </summary> public liblsl.StreamInfo[] QueryAvailStreams() { var listStreams = resolver.results(); if (listStreams != null) { return(listStreams); } else { return new liblsl.StreamInfo[] {} }; }
IEnumerator ResolveExpectedStream() { results = resolver.results(); while (inlet == null) { yield return(new WaitUntil(() => results.Length > 0)); inlet = new liblsl.StreamInlet(GetStreamInfoFrom(results)); expectedChannels = inlet.info().channel_count(); } yield return(null); }
IEnumerator ResolveExpectedStream() { var results = resolver.results(); yield return(new WaitUntil(() => results.Length > 0)); Debug.Log(string.Format("Resolving Stream: {0}", StreamName)); inlet = new liblsl.StreamInlet(results[0]); expectedChannels = inlet.info().channel_count(); AdditionalOnInletFound(inlet.info()); yield return(null); }
private void UpdateStreams() { listNamesOfStreams.Clear(); streamInfos = resolver.results(); if (streamInfos.Length == 0) { streamLookUpResult = noStreamsFound; } else { foreach (var item in streamInfos) { listNamesOfStreams.Add(string.Format("{0} {1} {2} {3}", item.name(), item.type(), item.hostname(), item.nominal_srate())); } streamLookUpResult = listNamesOfStreams.Count + nStreamsFound; } }
private IEnumerator resolveContinuously() { while (resolve) { var results = resolver.results(); foreach (var item in knownStreams) { if (!results.Any(r => r.name().Equals(item.Name))) { if (onStreamLost.GetPersistentEventCount() > 0) { onStreamLost.Invoke(item); } } } // remove lost streams from cache knownStreams.RemoveAll(s => !results.Any(r => r.name().Equals(s.Name))); // add new found streams to the cache foreach (var item in results) { if (!knownStreams.Any(s => s.Name == item.name() && s.Type == item.type())) { Debug.Log(string.Format("Found new Stream {0}", item.name())); var newStreamInfo = new LSLStreamInfoWrapper(item); knownStreams.Add(newStreamInfo); if (onStreamFound.GetPersistentEventCount() > 0) { onStreamFound.Invoke(newStreamInfo); } } } yield return(new WaitForSecondsRealtime(0.1f)); } yield return(null); }
void OnGUI() { if (inlet == null) { var results = resolver.results(); if (results.Length == 0) { this.Close(); return; } info = results[0]; inlet = new liblsl.StreamInlet(info); var channelCount = info.channel_count(); graph = new Graph(channelCount); sample = new float[channelCount]; } EditorGUILayout.BeginHorizontal(GUILayout.MinWidth(500)); RenderSelection(info.channel_count()); EditorGUILayout.BeginVertical(GUILayout.MinWidth(500), GUILayout.MinHeight(300)); var rect = new Rect(100, 0, 500, 300); RenderGraphsForChannels(rect); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); UpdateValues(); Repaint(); }