<div dir="ltr">I proposed this solution because it would not make the user interface more complicated and can further use most of the existing code base (only call to "qsort()" within "playlist_ItemArraySort()" also in "sort.c") must be replaced by a stable sorting algorithm. C++ STL provides "std::stable_sort()" and "std::inplace_merge()" in "<algorithm>" with only small performance penalties compared to "std::sort()" which should be similar to C "qsort()". The performance on today's machines should be more than sufficient for normal playlist sizes even with a stable sorting algorithm.<div><br></div><div>But I see your point, that only few people will think about it and use it accordingly. Further, single click sorts (one column) will be worse since chaining (e.g. artist, date, album, number) will not be performed automatically any more.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><br><div><div style="font-size:12.8000001907349px"><b><font color="#999999">Mit freundlichen Grüßen / Kind regards,</font></b></div><div style="font-size:12.8000001907349px"><font color="#999999">Marcel Schnirring</font></div><div style="font-size:12.8000001907349px"><font color="#999999"><br></font></div><div style="font-size:12.8000001907349px"><font color="#999999" size="1"><i>Heilbronner Strasse 36</i></font></div><div style="font-size:12.8000001907349px"><font color="#999999" size="1"><i>76131 Karlsruhe</i></font></div><div style="font-size:12.8000001907349px"><font color="#999999" size="1"><i>Deutschland / Germany</i></font></div><div style="font-size:12.8000001907349px"><font color="#999999" size="1"><i>Email: <a href="mailto:ms@marcel-schnirring.de" target="_blank">ms@marcel-schnirring.de</a></i></font></div><div style="font-size:12.8000001907349px"><font color="#999999" size="1"><i>Mobile: (+49) 178 198 37 61</i></font></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Thu, Dec 8, 2016 at 5:41 PM, Wilawar <span dir="ltr"><<a href="mailto:chrcnt7@swift-mail.com" target="_blank">chrcnt7@swift-mail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is a reworked version of my previous message.<br>
<span class=""><br>
<br>
> When I was writing this code, I was wondering if a rework of the underlying<br>
> sorting algorithm would make sense.<br>
><br>
> Using a stable sorting algorithm would allow the user to choose how he want<br>
> to sort equal entries in one property. This way, all the extra handling of<br>
> equal elements can be removed.<br>
><br>
> For example when you would like to sort based on Artist, Date, Album,<br>
</span>> Title, you would click the column headers in reverse order (Title, Album,<br>
> Date, Artist).<br>
<br>
Well, if you think users wouldn’t ask why the heck they would have to click column headers in reverse to the<br>
relevance they have to them, just to make them appear in the way they would like them to be, and if<br>
you further disregarded the problem that new items couldn’t be put into place automatically if the implementation<br>
didn’t track all sort commands that don’t cancel each other (which might be almost all previous sort operations),<br>
then sure, your proposal would make for a nice insider trick (but not much more). ;)<br>
By the way, I already noticed that this proposal would require clicking in reverse to the order of thinking before<br>
I read about it in your message, so to me this seems like a very obvious problem.<br>
<br>
In general, it’s certainly desirable to have items sorted by multiple rules acting in priority order; yet it’s seldomly seen in other programs, so it would be guaranteed to give a good impression to everyone who notices.<br>
However, I know I won’t work on this in the forseeable future, so you might have to implement this yourself or<br>
convince someone else to do it. I would also like to call to your attention that – while applying multiple stable<br>
sorting algorithms in reverse order is (mathematically seen) a very elegant solution – in programming,<br>
performance matters and other approaches might be more suitable, such as remembering the ranges which only<br>
have items that have got an equal rank during the last sorting operation.<br>
<br>
<br>
Now, these were just my two cents while reading at least a few messages from the stale backlog. ;)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
<a href="http://www.fastmail.com" rel="noreferrer" target="_blank">http://www.fastmail.com</a> - Access your email from home and the web<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/vlc-devel</a></div></div></blockquote></div><br></div>