private static void SaveDataInputBuffer(InputPortData1D p, NodeState to) { if (p.Queue != null) { to.WriteValue(to.PortValues, p.Name, p.Queue.GetState()); } }
public MetricThresholdHystersis(Graph g) : base("Hysteresis Threshold", g) { _portIn = new InputPortData1D(this, "In"); _portThreshHigh = new InputPortValueDouble(this, "High"); _portThreshLow = new InputPortValueDouble(this, "Low"); _portOut = new OutputPortValueDouble(this, "Out"); }
private static void LoadDataInputBuffer(NodeState from, InputPortData1D to) { if (to.Queue != null) { to.LoadBuffer((SignalRingBuffer)from.PortValues[to.Name]); } }
public MetricDisplay2(Graph g) : base("Display", g) { var dataInp = new InputPortData1D(this, "Dinp 1"); var valueInp = new InputPortValueDouble(this, "Vinp 1"); _attrLookAheadFactor = new AttributeValueDouble(this, "Look Ahead Factor", 1); _attrWindowLength = new AttributeValueInt(this, "Window Length", "ms", 1000); _attrLookAheadFactor.SetRuntimeReadonly(); _attrWindowLength.Changed += (s, e) => { lock (_processingLock) { lock (_wndLock) { if (State == Graph.State.Running) { CreateChannels(); _wnd?.PrepareProcessing(); } } } }; PortConnectionChanged += MetricDisplay2_PortConnectionChanged; try { CreateWindow(); } catch (Exception e) { throw new InvalidOperationException("Error in constructor while creating window: " + e); } }
public Resampler(Graph g) : base("Resampler", g) { _input = new InputPortData1D(this, "In"); _output = new OutputPortData1D(this, "Out"); _attrSamplerateOut = new AttributeValueInt(this, "Output Samplerate", "Hz"); _attrSamplerateOut.Changed += (s, e) => _output.Samplerate = _attrSamplerateOut.TypedGet(); }
public MetricThreshold(Graph graph) : base("Threshold", graph) { _portInp = new InputPortData1D(this, "In"); _portThresh = new InputPortValueDouble(this, "Threshold"); _portOut = new OutputPortValueDouble(this, "Out"); _output = new TimeLocatedValue <double>(0, TimeStamp.Zero); }
public MetricMultiplyValue(Graph graph) : base("Multiply", graph) { _portInp = new InputPortData1D(this, "In"); _portInpVal = new InputPortValueDouble(this, "f"); _portOut = new OutputPortData1D(this, "out"); _portInp.SamplerateChanged += (s, e) => _portOut.Samplerate = _portInp.Samplerate; }
public int ReadFromDataPort(InputPortData1D port, TimeLocatedBuffer1D <double> output) { lock (_processingLock) { var ringbuffer = ((DataChannel)_channels[port]).Data; var read = ringbuffer.Peek(output, output.Capacity); return(read); } }
public MetricSustainedThreshold(Graph g) : base("Sustained Threshold", g) { _portIn = new InputPortData1D(this, "In"); _portThresh = new InputPortValueDouble(this, "Thresh"); _portOut = new OutputPortValueDouble(this, "Out"); _attrActiveDurationMillis = new AttributeValueDouble(this, "SustainDuration", "ms", 1000); _attrStartAt = new AttributeValueEnum <SustainMode>(this, "SustainStart"); }
public MetricBuffer(Graph graph) : base(graph) { _portOut = new OutputPortData1D(this, "out"); _portInp = new InputPortData1D(this, "inp"); _attrMillis = new AttributeValueDouble(this, "Milliseconds", "ms", 1000); _attrMillis.SetRuntimeReadonly(); _portInp.SamplerateChanged += (sender, ev) => _portOut.Samplerate = _portInp.Samplerate; }
public Adder(Graph g) : base(nameof(Adder), g) { PortIn1 = new InputPortData1D(this, "In1"); PortIn2 = new InputPortData1D(this, "In2"); PortOut = new OutputPortData1D(this, "Out"); PortIn1.SamplerateChanged += PortIn_SamplerateChanged; PortIn2.SamplerateChanged += PortIn_SamplerateChanged; }
public MetricRms(Graph g) : base("RMS", g) { _portIn = new InputPortData1D(this, "In"); _portOut = new OutputPortData1D(this, "Out"); _portIn.SamplerateChanged += (s, e) => UpdateSamplerate(); _attrMilliseconds = new AttributeValueDouble(this, "Window Length", "ms"); _attrMilliseconds.Changed += (s, e) => UpdateSamplerate(); _attrMilliseconds.SetRuntimeReadonly(); }
private void AddRenderer(InputPortData1D p, int samples) { var colors = new [] { Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Navy, Color.Black }; var data = new DataLine1D(p.Connection.Parent.Description, samples, p.Samplerate) { LineColor = colors[_renderers.Count % colors.Length] }; _renderers.Add(p, data); _set?.Data.Add(data); }
public MetricFilter(Graph graph) : base("Filter", graph) { _portInp = new InputPortData1D(this, "In"); _portOut = new OutputPortData1D(this, "Out"); _portInp.SamplerateChanged += portInp_SamplerateChanged; _attrCenterFrequency = new AttributeValueDouble(this, "Center", "Hz"); _attrPeakGainDb = new AttributeValueDouble(this, "Gain", "dB"); _attrQFactor = new AttributeValueDouble(this, "Q"); _attrType = new AttributeValueEnum <Biquad.BiquadType>(this, "Type"); _attrCenterFrequency.Changed += (s, e) => _bpf.Fc = _portOut.Samplerate > 0 ? _attrCenterFrequency.TypedGet() / _portOut.Samplerate : 0; _attrPeakGainDb.Changed += (s, e) => _bpf.PeakGainDb = _attrPeakGainDb.TypedGet(); _attrQFactor.Changed += (s, e) => _bpf.Q = _attrQFactor.TypedGet(); _attrType.Changed += (s, e) => _bpf.Type = _attrType.TypedGet(); }
public bool ChannelExists(InputPortData1D p) { return(_renderers.ContainsKey(p)); }