1. I think whenever the user is interacting with the <i>structure</i> of data that he sees, the view must be <i>structurally</i> the same as the data, otherwise, when the user tries to do some <i>structural</i> changes, you can not decipher what they wanted. And in VLC, The playlist data that is displayed to the user is in most cases the one they interact with.<br>
<br>2. Why would you want to have a list view of a tree data? Pierre, can you please give me an example? From the users point of view?<br>Would you want to frequently switch from one to another and back? What would be the point of that?<br>
My intuition is telling me, that if somebody(something) needs a tree structure in a flat list form, than it needs the data really "transformed" from tree into list and it will not want to put it back into the tree, it will not try to <i>do something</i> with the data in the list form and turn <i>that changed data</i> back into the tree, it doesn't make sense. It hase no sense to have a list and a tree representation that are supposed to represent one and the same data that is hidden down there under. If you take a tree and put it into a list, for all that matters about the structure of that data, the <i>data</i> itself has changed.<br>
<br>3. And the playlist_item_t is nothing else but structure. It's only pure structural data, for actual data that the playlist is holding, the input_item_t takes care. So why having another data structure for <i>viewing  </i>playlist items? they are already only a "view" of the data, they offer a structural organisation of the input item data. And list is just a special case of a tree. So when playlist_item_t is can form tree structures, why having another data structure?<br>
<br>So from three perspectives: 1.form user's point of view, 2. from underlying processual/logical point of view and 3. from programming language point of view - the reason to have a list view of tree structure is just pointless. either data is in a list or a tree structure,<br>
<br><font size="4">there is nothing like a list view of a tree, it would simply be like a triangle in a form of a square.</font><br>