Use input name in 'new playlist' and 'load playlist' if p.name == None.
[hooke.git] / hooke / plugin / playlist.py
index 69cc56227ba106a9736bf1ffc34a3bea1a64c093..80c22d2ffa3628ebba2115ece97123d7f52dec78 100644 (file)
@@ -248,8 +248,8 @@ Drivers for loading curves.
         p = FilePlaylist(drivers=params['drivers'], path=params['input'])
         p.load(hooke=hooke)
         playlist_names = [playlist.name for playlist in hooke.playlists]
-        if p.name not in playlist_names:
-            params['output playlist'] = p.name  # HACK: override input name.  How to tell if it is callback-generated?
+        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)
 
@@ -300,10 +300,10 @@ Additional information for the input :class:`hooke.curve.Curve`.
             help=self.__doc__, plugin=plugin)
 
     def _run(self, hooke, inqueue, outqueue, params):
+        p = self._playlist(hooke, params)
         for path in sorted(glob.glob(params['input'])):
-            self._playlist(hooke, params).append_curve_by_path(
-                path, params['info'], hooke=hooke)
-
+            p.append_curve_by_path(path, params['info'], hooke=hooke)
+            outqueue.put(p[-1])
 
 class RemoveCommand (PlaylistCommand):
     """Remove a curve from a playlist.