When double-clicking a stream (-playlist) from Cool-Streams, the stream is added to the playlist, but it does not start playing.
Righto, this is because the Playlists::canExpand() and related hacks in PlaylistController that work-around convoluted logic in ScriptableService. I have an idea how to fix the ScriptableService (which needs a *serious* refactor, but we won't do it for 2.8).
I wasn't clear, I think I can fix this problem in ScriptableService for 2.8, perhaps in a bit dirty way. Only the refactor must wait post-2.8 (and is lonely seeking his saviour, perhaps Anmol, but let's not put too much on his shoulders).
Git commit f3e894f9f1385c1c4f20ddf2adfb090e269914e4 by Matěj Laitl.
Committed on 29/07/2013 at 16:26.
Pushed by laitl into branch 'master'.
ScriptableService: change PlaylistController hack to something more decent
...or at least move the hack out of a very generic class
(PlaylistController) to where it belongs, the ScriptableService. Fixes
tracks not being instantly playable on click bug and removes use of a
deprecated Playlist::makeLoadingSync() from PlaylistController.
* Radio streams from scripted services are now instantly playable.
M +1 -0 ChangeLog
M +1 -0 src/CMakeLists.txt
M +2 -13 src/playlist/PlaylistController.cpp
M +1 -1 src/services/ServiceMetaBase.h
M +6 -5 src/services/scriptable/ScriptableService.cpp
A +81 -0 src/services/scriptable/ScriptableServiceCollectionTreeModel.cpp [License: GPL (v2+)]
A +40 -0 src/services/scriptable/ScriptableServiceCollectionTreeModel.h [License: GPL (v2+)]
M +23 -3 src/services/scriptable/ScriptableServiceMeta.cpp
M +10 -0 src/services/scriptable/ScriptableServiceMeta.h
M +32 -16 src/services/scriptable/ScriptableServiceQueryMaker.cpp
M +7 -1 src/services/scriptable/ScriptableServiceQueryMaker.h