Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add drop-down toolbar version of playlist switcher #691

Closed
Sneakpeakcss opened this issue Apr 4, 2023 · 2 comments · Fixed by #729
Closed

Add drop-down toolbar version of playlist switcher #691

Sneakpeakcss opened this issue Apr 4, 2023 · 2 comments · Fixed by #729

Comments

@Sneakpeakcss
Copy link

Sneakpeakcss commented Apr 4, 2023

Currently the only available playlist panel is the ColumnsUI version of Playlist Switcher, but unfortunately it doesn't provide the same utility (in case of very compact foobar layouts) as the DefaultUI dropdown version.

Additionally CUI version seems to follow the same 'in list' search pattern as playlist (mentioned here) and both of them search for the whole word, which isn't the case in DUI dropdown version that only toggles through playlists based on first letter without any delay:

CUI.vs.DUI.mp4

 
The problem here is that while CUI Playlist Switcher can toggle through playlists based on first letter, it considers any additional key pressed as a search query rather than another single letter prefix and requires to wait unreasonable (for this use) 1~ second delay between key inputs when trying to search for something different.

 
On top of that the moment you use a custom title formating that has any prefix before %title% the search stops working completely and compared to linked issue there doesn't seem to be a 'column workaround' for this case:

CUI.custom.formating.mp4

 
 
In my normal setup i'm using foo_plorg, but in the upcoming transition to foobar 2.x this component is slightly broken even in 32bit version... not to mention not working at all in 64bit.

Initially i've tried my luck with jScript Panel 3 with JS Playlist, but had to drop that idea completely after encountering issues that i wasn't able to fix myself… From small (like "show now playing" not centering on currently played song unless a different song is selected) to very big (no search function on playlist at all).

In case of CUI normal playlist search, the 'column workaround' while not perfect (only following the first column rather than e.g. %title% + %album%) it's still better than nothing at all.
I've tried mentioned Typefind panel, but this one seems to be lost in time and even if it received 64bit / dark theme support, it still would be better if the same search algorithm functioned natively on playlist rather than additional menu that needs to be prompted/focused.

In case of dropdown options there's this component: foo_uie_playlists_dropdown which apparently has CUI support, but unfortunately it's so old that there's no hope for it being updated to 64bit / dark theme, and more importantly it doesn't have any search function at all.

 
Summarising:

  1. Would it be possible to add a dropdown version of Playlist Switch panel with the same functionality as the one in DUI (basically just a copy from DUI) ?
  2. Would it be possbile to enhance the default CUI search algorithm to allow it to search multiple colums e.g. %title% + %album% like it does in Typefind panel extension component, and/or reduce the 1~second delay between key inputs ?
  3. Would it be possbile to somehow provide search functionality to CUI Playlist Switcher when a custom playlist title formating: ( prefix + %title%) is used ?

 
 

Also sorry if this is a bit spamy/offtopic, but a little BTW question about this topic:
I've managed to setup VS and compile CUI without problems, but it turned out that c++ isn't as friendly to people without coding experience as javascript. Is there a simple dirty edit i could do to remove the Group indentations completely for my own use, before the custom width functionality gets officially implemented ? Everything i've managed to change and compile without errors didn't have any effect, and the empty space that happens to show even with only one group is really bothering, so any advice would be really appreciated.

@reupen
Copy link
Owner

reupen commented Apr 4, 2023

Also sorry if this is a bit spamy/offtopic, but a little BTW question about this topic:
I've managed to setup VS and compile CUI without problems, but it turned out that c++ isn't as friendly to people without coding experience as javascript. Is there a simple dirty edit i could do to remove the Group indentations completely for my own use, before the custom width functionality gets officially implemented ? Everything i've managed to change and compile without errors didn't have any effect, and the empty space that happens to show even with only one group is really bothering, so any advice would be really appreciated.

I'd try adding set_group_level_indentation_enabled(false); to PlaylistView::notify_on_initialisation() (in file ng_playlist.cpp).

@reupen
Copy link
Owner

reupen commented May 3, 2023

  • Would it be possible to add a dropdown version of Playlist Switch panel with the same functionality as the one in DUI (basically just a copy from DUI) ?

Okay, if this is built into DUI it should be almost no work to add it to CUI (if it's using the same standard API).

  • Would it be possbile to enhance the default CUI search algorithm to allow it to search multiple colums e.g. %title% + %album% like it does in Typefind panel extension component, and/or reduce the 1~second delay between key inputs ?

I've copied this into #355 .

  • Would it be possbile to somehow provide search functionality to CUI Playlist Switcher when a custom playlist title formating: ( prefix + %title%) is used ?

Could you create a separate issue for this? Thanks

@reupen reupen changed the title [FEATURE REQUEST] (DUI)Playlist Switcher dropdown panel + Search algorithm enhancement Add drop-down toolbar version of playlist switcher May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants