Implement additional ControlList interpolation methods.
authorRobin Gareus <robin@gareus.org>
Mon, 19 Jun 2017 13:45:47 +0000 (15:45 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 21 Jun 2017 16:12:26 +0000 (18:12 +0200)
commitd6c47def098ebf6c44e1b3e0ca2166d1c990e7d3
treec51eaf36673f55cdc07381f05445c22fb0488d7d
parent36e32e564126e4587e3c2bee829c58876e65d285
Implement additional ControlList interpolation methods.

The Control and ControlList uses the raw value (eg. coefficient for gain,
Hz for frequencies) and those Lists are stored in existing sessions.

In the vast majority of cases interpolating automation values using exp/log
scale for dB, freq makes more sense -- it's also what the fader does.

Adding additional interpolation methods is future proof (we might at allow
to even add different methods per automation point (to the next) like other
DAWs do.

Currently it's mainly used in preparation for consistent GUI automation-
lanes. Between 2 points there's always a visual straight line.
libs/ardour/enums.cc
libs/evoral/evoral/ControlList.hpp
libs/evoral/src/ControlList.cpp
libs/evoral/src/Curve.cpp