[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [amarok] HACKING/architecture: Add short text about PlaybackQueue.
From:       Bart Cerneels <bart.cerneels () kde ! org>
Date:       2012-09-22 15:12:16
Message-ID: 20120922151216.42C32A60C9 () git ! kde ! org
[Download RAW message or body]

Git commit ca6785f0980a508c95be89a99eeb8fbd962e3d3a by Bart Cerneels.
Committed on 22/09/2012 at 11:56.
Pushed by shanachie into branch 'master'.

Add short text about PlaybackQueue.

A  +10   -0    HACKING/architecture/PlaybackQueue.txt

http://commits.kde.org/amarok/ca6785f0980a508c95be89a99eeb8fbd962e3d3a

diff --git a/HACKING/architecture/PlaybackQueue.txt b/HACKING/architecture/=
PlaybackQueue.txt
new file mode 100644
index 0000000..76045ed
--- /dev/null
+++ b/HACKING/architecture/PlaybackQueue.txt
@@ -0,0 +1,10 @@
+Playback Queue Architecture
+---------------------------
+
+Simple sequential list of upcoming tracks. The PlaybackController takes th=
e first track on this list for playback. It does not include the currently =
playing track.
+There are no modes (random, repeat, etc) affecting the playback order. The=
 behavior of these modes are implemented using Playlists and playlist-track=
ing who change the actual content of the queue to get the same result.
+
+A QAbstractItemModel for the PlaybackQueue is exposed as the main interfac=
e. It's possible to insert and remove rows using the default methods and dr=
ag/drop of mime-data containing meta types is supported. It's a flat QModel=
Index containing only tracks. For purposes of display it can be used with p=
roxy models such as QtGroupingProxy to group by album/artist/composer. Sort=
ing of the queue is possible but is one undoable QAction. How the new order=
 is determined does not matter, but use a proxy models such as QSortFilterP=
roxyModel is suggested because of it's well known semantics and uses within=
 Amarok.
+Using extra columns and data roles the PlaybackQueueModel gives info about=
 certain queue-only information associated with a track. An example of this=
 is whether a track is part of a tracked playlist or if a manual user inter=
action locked the track at it's current place.
+
+Playback history is not part of the PlaybackQueue. It has to be implemente=
d separately using a PlaybackObserver.
\ No newline at end of file

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic