protected virtual void OnOutputTypePortChanged(OscMessage message) { var channel = message.GetChannel(); if (channel == null) { return; } var type = message.ElementAtOrDefault(0)?.ToString(); var port = message.GetNextAddressPartOf(Port).TryParseNullable(); OutputPortChanged?.Invoke(this, new OutputPortTypeEventArgs(type, port.GetValueOrDefault(0), channel.Value)); }
protected virtual void OnStreamFramerateChanged(OscMessage message) { var channelLayer = message.GetChannelAndLayer(); if (channelLayer.Item1 == null || channelLayer.Item2 == null) { return; } var fps = (float)(message.ElementAtOrDefault(0)); var streamId = uint.TryParse(message.GetNextAddressPartOf("file"), out uint outValue) ? (uint?)outValue : null; StreamFrameRateChanged?.Invoke(this, new StreamFramerateEventArgs(fps, streamId.GetValueOrDefault(0), message.IsBackground(), channelLayer.Item1.Value, channelLayer.Item2.Value)); }
protected virtual void OnConsumerFrameCreatedChanged(OscMessage message) { var channel = message.GetChannel(); if (channel == null) { return; } var usedFrames = Convert.ToInt32(message.ElementAtOrDefault(0)); var availableFrames = Convert.ToInt32(message.ElementAtOrDefault(1)); var port = message.GetNextAddressPartOf(Port).TryParseNullable(); ConsumerFrameCreatedChanged?.Invoke(this, new ConsumerFrameCreatedEventArgs(usedFrames, availableFrames, port.GetValueOrDefault(0), channel.Value)); }