Make Bundle::connected_to() optionally check for exclusivity
[ardour.git] / libs / vamp-plugins / Transcription.h
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */\r
2 \r
3 #ifndef _TRANSCRIPTION_PLUGIN_H_\r
4 #define _TRANSCRIPTION_PLUGIN_H_\r
5 \r
6 #include <vamp-sdk/Plugin.h>\r
7 \r
8 class Transcription : public Vamp::Plugin\r
9 {\r
10 public:\r
11     Transcription(float inputSampleRate);\r
12     virtual ~Transcription();\r
13 \r
14     bool initialise(size_t channels, size_t stepSize, size_t blockSize);\r
15     void reset();\r
16 \r
17     InputDomain getInputDomain() const { return TimeDomain; }\r
18 \r
19     std::string getIdentifier() const;\r
20     std::string getName() const;\r
21     std::string getDescription() const;\r
22     std::string getMaker() const;\r
23     int getPluginVersion() const;\r
24     std::string getCopyright() const;\r
25           size_t getPreferredStepSize() const;\r
26     size_t getPreferredBlockSize() const;\r
27 \r
28     OutputList getOutputDescriptors() const;\r
29 \r
30     FeatureSet process(const float *const *inputBuffers,\r
31                        Vamp::RealTime timestamp);\r
32 \r
33     FeatureSet getRemainingFeatures();\r
34 \r
35 protected:\r
36     int m_stepSize;\r
37     int m_blockSize;\r
38     double * m_SoundIn;\r
39     int m_SampleN;\r
40     int m_AllocN;\r
41     bool m_Excess;\r
42     Vamp::RealTime m_Base;\r
43 /*\r
44  void sofacomplexMex(double *y, double *z, int ncols,double StartNote,double NoteInterval1,double NoteNum,double C,double D);\r
45  void FindMaxN( double *InputArray, int InputLen,int MaxOrder);\r
46  double SumF(double *InputArray,int Start, int End);\r
47  int round10(int x) ;\r
48  void ConToPitch1250(double *In, int InLen);\r
49  void Norm1(double *In, int InLen);\r
50  void Smooth(double *In, int InLen,int smoothLen);\r
51  void FindPeaks(double *In, int InLen,double *Out1,double *Out2, int db, int db2, int db3);\r
52  void ConFrom1050To960(double *In, double *out, int InputLen);\r
53  void Move( double *InputArray, int InputLen,int m);\r
54  double SumArray( double *InputArray, int InputHLen, int InputVLen);\r
55  double Sum( double *InputArray, int InputHLen);\r
56  void MeanV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
57  void SumV( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
58  void SumV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
59  void MaxV( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
60  void MaxV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
61  void MinArray( double *InputArray, int InputHLen, int InputVLen, double MinValue);\r
62   void MaxArray( double *InputArray, int InputHLen, int InputVLen, double MaxValue);\r
63  double  GetMaxValue( double *InputArray, int InputHLen, int InputVLen);\r
64  void RemoveNoise( double *InputArray, int InputHLen, int InputVLen);\r
65  double MeanArray( double *InputArray, int InputHLen, int InputVLen);\r
66  void Mydiff( double *InputArray, int InputHLen, int InputVLen,int n);\r
67  void PeakDetect(double *In, int InLen);\r
68  void MeanV( double *InputArray, int InputHLen, int InputVLen, double *OutArray);\r
69 void Edetect(double *InputArray, int InputHLen, int InputVLen, double MinT, double db1,double *OutOne);\r
70 void OnsetDetection2(double *In,int InputLen,double *OutOne,double a,double b);\r
71 void PitchEstimation(double *In, int InLen, double *OutArray,double *OutArray2);\r
72 void DoMultiPitch(double *In, int RLen,int CLen, double *Out1, double *Out2);\r
73 int OnsetToArray(double *In, int Len, double *OutStart,double *OutEnd);\r
74 void dbfunction( double *InputArray, int InputHLen, int InputVLen,double *OutArray);\r
75 \r
76 void Transcribe(int Len,int inputLen,double *SoundIn,double *out,double *outArray2,double *outArray3);*/\r
77 \r
78 };\r
79 \r
80 \r
81 #endif\r