X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcurvetest.cc;h=b3431e3f395ad128b09f973f2b4b63d0024f7b99;hb=d1f45e9b3d6a7e272e5563cc50175dfb6d904361;hp=3c9836a5e6e5c6e123f012454f10acc0ef29da6a;hpb=7ff370e79895d7eb293e7214689b791bd98415fb;p=ardour.git diff --git a/gtk2_ardour/curvetest.cc b/gtk2_ardour/curvetest.cc index 3c9836a5e6..b3431e3f39 100644 --- a/gtk2_ardour/curvetest.cc +++ b/gtk2_ardour/curvetest.cc @@ -1,9 +1,29 @@ +/* + Copyright (C) 2000-2007 Paul Davis + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #include #include #include #include -#include +#include "ardour/automation_list.h" +#include "evoral/Curve.hpp" using namespace std; using namespace ARDOUR; @@ -12,9 +32,16 @@ using namespace PBD; int curvetest (string filename) { + // needed to initialize ID objects/counter used + // by Curve et al. + + PBD::ID::init (); + ifstream in (filename.c_str()); stringstream line; - Curve c (-1.0, +1.0, 0, true); + //Evoral::Parameter param(GainAutomation, -1.0, +1.0, 0.0); + Evoral::Parameter param(GainAutomation); + AutomationList al (param); double minx = DBL_MAX; double maxx = DBL_MIN; @@ -23,7 +50,7 @@ curvetest (string filename) in >> x; in >> y; - + if (!in) { break; } @@ -31,22 +58,22 @@ curvetest (string filename) if (x < minx) { minx = x; } - + if (x > maxx) { maxx = x; } - - c.add (x, y); + + al.add (x, y); } float foo[1024]; - c.get_vector (minx, maxx, foo, 1024); - + al.curve().get_vector (minx, maxx, foo, 1024); + for (int i = 0; i < 1024; ++i) { cout << minx + (((double) i / 1024.0) * (maxx - minx)) << ' ' << foo[i] << endl; } - + return 0; }