Bug 232711 - Provide scripting interface to customize collection display (filter, sort, group, displayed tags, etc.)
Summary: Provide scripting interface to customize collection display (filter, sort, gr...
Alias: None
Product: amarok
Classification: Applications
Component: Collection Browser (show other bugs)
Version: unspecified
Platform: unspecified Unspecified
: NOR wishlist
Target Milestone: ---
Assignee: Amarok Developers
Depends on:
Reported: 2010-03-30 16:07 UTC by Stefan Seefeld
Modified: 2014-02-26 17:30 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Seefeld 2010-03-30 16:07:50 UTC
Version:            (using KDE 4.4.1)

The collection pane allows to select among a small number of ordering schemes ("Artist / Album", "Genre / Artist", etc.). This approach is rather limited. An alternative approach would allow custom expressions to be used instead.

Example: I have mostly Jazz and classical music in my collection. For Jazz, I want to sort by artist. For classical, I want to list by composer.

To be most flexible, a pluggable predicate function may be used that would have access to an individual CD's entire set of tags, so arbitrary sorting and grouping can be scripted.
Comment 1 Anmol Ahuja 2014-02-26 17:30:53 UTC
Git commit 6849bbb0081ab123f6b60abe7d89b4305b26dd0f by Anmol Ahuja.
Committed on 21/10/2013 at 08:44.
Pushed by anmolahuja into branch 'master'.

Add AmarokCollectionViewScript.

M  +13   -12   src/CMakeLists.txt
M  +1    -1    src/browsers/CollectionTreeItem.cpp
M  +4    -2    src/browsers/CollectionTreeItem.h
M  +2    -0    src/browsers/CollectionTreeView.cpp
M  +3    -2    src/browsers/CollectionTreeView.h
A  +268  -0    src/scripting/scriptengine/AmarokCollectionViewScript.cpp     [License: GPL (v2+)]
A  +199  -0    src/scripting/scriptengine/AmarokCollectionViewScript.h     [License: GPL (v2+)]
M  +5    -0    src/scripting/scriptengine/AmarokWindowScript.cpp
M  +1    -0    src/scripting/scriptengine/ScriptImporter.cpp