PM123 Playable object handling - Usage

The following table shows the properties accessed per use case and the interface used for this purpose in the coding. In the second section the table shows the supported properties and interfaces by class/interface.

R - read access
W - write access
O - observer
Italic indicates indirect usage through delegation.
lowercase letters indicate local access.

Property →
↓ Task ↓
Status Info Slice Children Worker class Uses class
Loaded root object into the player   RW RO R R Ctrl APlayable
Current object to play   RW RO     Ctrl APlayable
Decode an object      
  Glue Playable
Calculate time offset       R   Ctrl SongIterator
Display timers and info R   R     GUI APlayable
Enumerate Songs   R   R RO * SongIterator
Show/edit a playlist   RO     RWO GUI Playable
Show/edit a playlist (items) RO RO RWO RO   GUI PlayableInstance
Playlist item properties     RW RO   GUI PlayableInstance
Save a playlist     R   R GUI Playable
Save a playlist (items)     R     GUI PlayableInstance
Remote playlist manipulation         RW Pipe Playable
Remote playlist manipulation (items)     RW R   Pipe PlayableInstance
Drag & drop source     R     GUI PlayableSlice
Add a playlist item     R     GUI PlayableRef
Info dialog   RO RWO     GUI Playable
Add a bookmark     R     GUI PlayableRef
Display bookmark/MRU menu RO RO     RO GUI APlayable
Add MRU     R     GUI, Pipe PlayableSlice
Loading multiple items into PM123     R     GUI, Pipe PlayableRef
Asynchronous request service     W     APlayable APlayable
Populating Playlist from decoder plug-in     w     Aplayable PlayableRef
Property →
↓ Class ↓
Status Info Slice Children thread-safe Base class
APlayable RO RWO RO RO O RW  
Playable RO RWO RWO ro RWO RW APlayable
PlayableSlice RO RWO RO RO -


PlayableRef RO RWO RWO RO O R PlayableSlice
PlayableInstance RO RWO RWO RO O R PlayableRef

lowercase letters indicate protected access.
Bold indicates implementation/redefinition.
Italic indicates indirect support through a referenced object.