finamp
finamp copied to clipboard
[Feature Request] Searching inside a playlist or/and now playing queue
For a situation when I want to start playing a playlist from a certain song, or jump to a certain song without changing the now playing queue
For the latter scenario, would #92 solve this?
For actual lists, I could imagine a way to filter them locally without going through Jellyfin, since all tracks have been loaded there anyway...
Maybe "up next" means "insert at top", as well as changing the order of queue? Maybe I have a playlist that has an order according to my preference, up next means the next of next song is not what I want. Could it be possible that I can quickly "choose" in playlist (or queue) without "modifying" it?
Right now you'd need to manually scroll down and select the new position if you want to keep the order. Maybe #510 will help to make that faster, not sure.
But I'm really interested in your use cae, could you share some more info about why the order matters so much, why you then might want to jump ahead but keep the order the same (essentially skipping some tracks), and also how long your playlists are that you're not able to find a certain track quickly? I really can't relate, but would love to understand it!
Thanks a lot for your advice! Yes, indexing using alphabet helps. But what I concern are 2 things:
- Compatibility of non-English language. I've used Synology DS audio but it cannot correctly sort songs with Japanese title. My system language is Chinese, for example, a song named "歌えばそこに君がいるから", starting with "U" if we regard it as Japanese and starting with "G" if Chinese. However, the order in DS audio is none of them above and I don't know why...
- Playlist order If I touch a song in a playlist, will alphabet-ordered playlist be added to the now-playing queue or the original order?
Followings are just my own habit:
why the order matters so much
An album (especially original soundtrack) tells a whole "story", has a consistent style. I prefer putting all my favorite songs related to the same album together. So, jump not only means jump to next song, but also "enjoy the next story".
Foobar2000 has a function I usually use called "random(album)", this is how it functions:
(Manually picked album) Manually picked track-> ... -> Last track -> (Random next album) Track 1 -> ... -> Last track -> (Random next album) Track 1 -> ...
how long your playlists are
Over 500 songs for some playlists. I usually listen to music when working or hiking. If I organize many playlists and one for a product, when I start playing a playlist, it means I will cycle tens of songs again and again in the next several hours unconsciously, and get bored of them quickly. However, If I have to add several playlists to now-playing queue every time when I start working...well, maybe a little cumbersome.
Thanks for the detailed write up! That makes things much clearer :)
It's actually really good that you're not using latin letters, because I was wondering about that with the current version of the "jump to letter" approach. If I understand correctly, you expect songs with Hanzi to be sorted based on their pinyin representation? 🤔
I think most sorting functions will simply sort based on the UTF-8/16 ID, which means all hanzi characters will come after Z. But that of course isn't how it should be.
So what would you prefer? Sort based on pinyin, or maybe replace the latin letters with hanzi or something? Not sure how it works in other apps, but defintely curious! 😁
Oh and yes, playlists will be played in playlist-order if you tap a song, starting with that song. All songs before the one that you selected will be put in the "previous tracks" section :)
After re-considering this solution, I think that maybe "sorting" still contains problem. Sorting heavily depends on languages. We can choose alphabet-order for English, Pinyin for Chinese. But what about Japanese Kanji (maybe same as some Chinese Hanzi), Korean, Arabian, or other languages, or even mixed of them? Localization of sorting solutions could be difficult for volunteering translators who don't know about encoding of charactors at all.
So in my opinion, we can just optimize our searching function for indexing songs, albums, or even tracks inside a playlist or playing queue. No more considerations about different language.
PS. Any plan for fast scroll bar for long playing queue or playlist? PPS. I'm a backend developer and if time permits maybe I could start leaning Dart & flutter.
Okay, yeah I agree that it would be problematic. I'm not a fan of the "jump to letter" functionality anyway, but there are people who like it. Hopefully we can find a solution for it at some point.
A text-based filter for lists should be possible to implement, and I just added a scroll bar to the queue panel for #484. Making the other scroll bars draggable is really easy and I can do that down the road :)
Thanks! Looking forward for UI improvements.