+ boost::shared_ptr<Evoral::ControlList> cl = TestCtrlList();
+
+ cl->create_curve ();
+ cl->set_interpolation (ControlList::Linear);
+
+ // add two points to curve
+ cl->fast_simple_add ( 0.0 , 2048.0);
+ cl->fast_simple_add (8192.0 , 4096.0);
+
+ cl->curve ().get_vector (1024.0, 2047.0, vec, 1024);
+
+ VEC1024LINCMP (1024.0, 2047.0, 2304.f, .25f);
+ VEC1024LINCMP (2048.0, 2559.5, 2560.f, .125f);
+ VEC1024LINCMP ( 0.0, 4092.0, 2048.f, 1.f);
+
+ // greetings to tartina
+ cl->curve ().get_vector (2048.0, 2048.0, vec, 1);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE ("veclen=1 @ 2048-2048", 2560.f, vec[0]);
+
+ /* XXX WHAT DO WE EXPECT WITH veclen=1 AND x1 > x0 ? */
+#if 0
+ /* .. interpolated value at (x1+x0)/2 */
+ cl->curve ().get_vector (2048.0, 2049.0, vec, 1);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE ("veclen=1 @ 2048-2049", 2560.125f, vec[0]);