Big ol' automation refactor.

Things with automation parameters now inherit from Automatable, which handles serialization, fetching/adding/removing parameters, etc.
Use AutomationList everywhere instead of Curve, make Curve a member of AutomationList instead (towards other types of "Curve" needed for CC, among other things).
Work towards MIDI CC sending "automation" tracks.


git-svn-id: svn://localhost/ardour2/trunk@2069 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2007-06-27 15:51:50 +00:00
parent d7afe01c30
commit d7bd270aa1
68 changed files with 1770 additions and 1216 deletions

View file

@ -33,7 +33,7 @@ curvetest (string filename)
{
ifstream in (filename.c_str());
stringstream line;
Curve c (-1.0, +1.0, 0, true);
AutomationList al (ParamID(), -1.0, +1.0, 0);
double minx = DBL_MAX;
double maxx = DBL_MIN;
@ -55,13 +55,13 @@ curvetest (string filename)
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;