ZeroCrossing.hpp
1 #pragma once
2 #include <Analysis/GistState.hpp>
3 #include <Analysis/Helpers.hpp>
4 #include <halp/callback.hpp>
5 #include <halp/controls.hpp>
6 #include <halp/meta.hpp>
7 
8 namespace Analysis
9 {
11 {
12  halp_meta(name, "Zero-crossings")
13  halp_meta(c_name, "Zerocross")
14  halp_meta(category, "Analysis/Pitch")
15  halp_meta(author, "ossia score, Gist library")
16  halp_meta(manual_url, "https://ossia.io/score-docs/processes/analysis.html#pitch-detection")
17  halp_meta(description, "Get the zero-crossing rate of a signal")
18  halp_meta(uuid, "2f8f6705-985a-4f36-bb69-ab3c08c8831c");
19 
20  struct
21  {
22  audio_in audio;
23  gain_slider gain;
24  gate_slider gate;
25  } inputs;
26 
27  struct
28  {
29  value_out result;
30  } outputs;
31 
32  void operator()(int frames)
33  {
34  process<&Gist<double>::zeroCrossingRate>(
35  inputs.audio, inputs.gain, inputs.gate, outputs.result, frames);
36  }
37 };
38 }
Definition: GistState.hpp:26
Definition: ZeroCrossing.hpp:11
Definition: Helpers.hpp:27
Definition: Helpers.hpp:34
Definition: Helpers.hpp:43
Definition: Helpers.hpp:19