+
+class IndexCommand (PlaylistCommand):
+ """Print the index of the current curve.
+
+ The first curve has index 0.
+ """
+ def __init__(self, plugin):
+ super(IndexCommand, self).__init__(
+ name='curve index', help=self.__doc__, plugin=plugin)
+
+ def _run(self, hooke, inqueue, outqueue, params):
+ outqueue.put(self._playlist(hooke, params).index())
+
+
+class GetCommand (PlaylistCommand):
+ """Return a :class:`hooke.playlist.Playlist`.
+ """
+ def __init__(self, plugin):
+ super(GetCommand, self).__init__(
+ name='get playlist', help=self.__doc__, plugin=plugin)
+
+ def _run(self, hooke, inqueue, outqueue, params):
+ outqueue.put(self._playlist(hooke, params))
+
+
+class CurveListCommand (PlaylistCommand):
+ """Get the curves in a playlist.
+ """
+ def __init__(self, plugin):
+ super(CurveListCommand, self).__init__(
+ name='playlist curves', help=self.__doc__, plugin=plugin)
+
+ def _run(self, hooke, inqueue, outqueue, params):
+ outqueue.put(list(self._playlist(hooke, params)))
+
+
+class SaveCommand (PlaylistCommand):