In other words: qt playlist model interprets and uses input item IDs just right. every playlist item has a corresponding input item (id), therefore PLItem also stores this input item's id for convenience. PLItem of course also stores playlist item ID: PLItem::i_id.<br>
<br>the trick is that "top" items (playlist, media library, podcasts, radio listings...) come just as well twice, once under playlist_t->p_root_category (for tree representation) and second time under playlist_t->p_root_onelevel (for the list representation). and they have just as well their input items that 'bind' the two playlist items.<br>
<br>so, it's possible to compare any PLItem with any leaf of the playlist structure by input items. sometimes you even want that to avoid checking twice (for both playlist items)<br>