New editor API to retrieve the Stripable with via presentation info order.
[ardour.git] / libs / ardour / ardour / mtdm.h
index 9d67e1cd646e2465626ff02f54fb530080ee1587..bb30ac5d0aa7a964acd7d3678a0519c66d577424 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2003-2008 Fons Adriaensen <fons@kokkinizita.net>
+    Copyright (C) 2003-2012 Fons Adriaensen <fons@kokkinizita.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 #include <stddef.h>
 
-class MTDM {
-public:
+#include "ardour/libardour_visibility.h"
 
-       MTDM ();
+class LIBARDOUR_API MTDM
+{
+public:
 
-       int process (size_t len, float *inp, float *out);
-       int resolve (void);
-       void invert (void) { _inv ^= 1; }
-       int    inv (void) { return _inv; }
-       double del (void) { return _del; }
-       double err (void) { return _err; }
+    MTDM (int fsamp);
+    int process (size_t len, float *inp, float *out);
+    int resolve (void);
+    void invert (void) { _inv ^= 1; }
+    int    inv (void) { return _inv; }
+    double del (void) { return _del; }
+    double err (void) { return _err; }
+    float get_peak () { const float rv = _peak; _peak = 0; return rv; }
 
 private:
-       class Freq {
-               public:
-                       int   p;
-                       int   f;
-                       float a;
-                       float xa;
-                       float ya;
-                       float xf;
-                       float yf;
-       };
-
-       double  _del;
-       double  _err;
-       int     _cnt;
-       int     _inv;
-       Freq    _freq [5];
+    class Freq {
+      public:
+       int   p;
+       int   f;
+       float xa;
+       float ya;
+       float x1;
+       float y1;
+       float x2;
+       float y2;
+    };
+
+    double  _del;
+    double  _err;
+    float   _wlp;
+    int     _cnt;
+    int     _inv;
+    Freq    _freq [13];
+    float   _peak;
 };
 
 #endif /* __libardour_mtdm_h__ */