Add test/note.py and adjust playlist handling so NoteFilterCommand works again.
[hooke.git] / hooke / plugin / playlist.py
index 2b9caa8e29149c91b474282e7946c315d9cf6b79..53fc28ae5928a2388222796a860051d0a22546ba 100644 (file)
@@ -127,7 +127,9 @@ class PlaylistAddingCommand (Command):
     def _set_playlist(self, hooke, params, playlist):
         """Attach a new playlist.
         """
-        playlist.name = params['output playlist']
+        playlist_names = [p.name for p in hooke.playlists]
+        if playlist.name in playlist_names or playlist.name == None:
+            playlist.name = params['output playlist']  # HACK: override input name.  How to tell if it is callback-generated?
         hooke.playlists.append(playlist)
 
 
@@ -249,9 +251,6 @@ Drivers for loading curves.
     def _run(self, hooke, inqueue, outqueue, params):
         p = FilePlaylist(drivers=params['drivers'], path=params['input'])
         p.load(hooke=hooke)
-        playlist_names = [playlist.name for playlist in hooke.playlists]
-        if p.name in playlist_names or p.name == None:
-            p.name = params['output playlist']  # HACK: override input name.  How to tell if it is callback-generated?
         self._set_playlist(hooke, params, p)
        outqueue.put(p)
 
@@ -401,8 +400,7 @@ Function returning `True` for "good" curves.
             filter_fn = self.filter
         p = self._playlist(hooke, params).filter(filter_fn,
             hooke=hooke, inqueue=inqueue, outqueue=outqueue, params=params)
-        p.name = params['name']
+        self._set_playlist(hooke, params, p)
         if hasattr(p, 'path') and p.path != None:
             p.set_path(os.path.join(os.path.dirname(p.path), p.name))
-        self._set_playlist(hooke, params, p)
         outqueue.put(p)