Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Library Tree Discussion (Read 127940 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Library Tree Discussion

Reply #225
Thanks for the feedback. All requests implemented + sort issue fixed in my copy!

The new features should be in the next version.

Re: Library Tree Discussion

Reply #226
Seeing two consecutive bands (album artists) sent to play list even though I select only one.

I'm using v2.0.2 of the script and with the following selection pattern:

View by Band //$swapbranchprefix{%<band>%}|$if($stricmp($meta(band,0),various artists),,[$nodisplay{$sub(99999,%date%)}'('%date%') '])%album%$if(%discnumber%,|Disk %discnumber%,)[ '('%disctitle%')']|[%tracknumber% ][%track artist% - ]%title%

My tracks are tagged correctly and have artist, band and album artist tags containing only one artist

An example: In the library tree I see artist123 followed by artist124 and by artist125. If I select artist123 I get a playlist containing both  artist123 and artist124 but only one album from artist124 even if artist124 has several albums.

Re: Library Tree Discussion

Reply #227
I noticed that I wasn't using the latest foorbar core (1.4.3). After upgrading to 1.4.4b1 all is working correccly again. Curious.

Re: Library Tree Discussion

Reply #228
It could use %_view%, like the album list panel has, to generate different names of playlists based on current tree view.


Re: Library Tree Discussion

Reply #230
@Awesomeo. Please explain how %_view% is useful in a normal workflow scenario.

@nikosvault . Displaying playlists isn't supported. There is a dedicated component that can show playlists in a tree view called playlist organiser foo_plorg.

Re: Library Tree Discussion

Reply #231
1. That's one of the reasons I still stick to album list panel. %_view% sends music to different playlists depending on which filter I choose (by album, by artist, by whatever): https://upload.wikimedia.org/wikibooks/ru/7/74/Foobar2000_album_list_panel.gif
I don't know what else is there to explain, I find it useful on daily basis.

2. I do have another wish, this one is probably gonna seem even weirder to you. I love $nodisplay{sort} option, but I'd love to see something similar, like $evaluateonly{} - a handle to filter by a value, but not display it. Sounds dumb, I know, but it would be the best thing for me to differentiate between same name artists. I have my library synced with musicbrainz and all of it has musibcrainz ids included. I could use them in the filter, of course, but who wants to see 128-bit UUIDs? I'd rather have them evaluated only, so that in certain cases I would see two positions for same name artists and not have them mixed up.

Re: Library Tree Discussion

Reply #232
Thanks for the feedback.

1. I've added support for %view% for the next version.

2. I've adjusted $nodisplaysort{}, so it should do what I think you want in the next version; e.g.
%artist%$nodisplay{%musicbrainz_artistid%}|... should separate artists of the same name, provided they have different mbids.

I might make grouping CASE SENSITIVE for the next version. If anyone has an opinion one way or another please let me know.

Re: Library Tree Discussion

Reply #233
Thanks a lot for this!

Re: Library Tree Discussion

Reply #234
New Version: Library Tree 2.1.0

NEW: Various display improvements.
   - New node styles.
   - New highlight models (menu... > options > show).
   - Scrollbar now auto-minimises by default + has new look button icons. Behaviour & look can be set as previous on options > scrollbar menu.
   - New root node options, e.g. it can now be set as a summary item, e.g. All (132 artists), and in-lined.
    - Align right option for item counts.
NEW: Quick setup: Three node styles with different highlight models.
NEW: Improved search
    - Option to auto-send search results to playlist (menu > options > search).
    - Shortcut key to clear search results: "Escape".
    - Option to require pressing enter before searching (menu > options > search).
NEW: Target playlist can be set to use view name.
CHG: Various optimisations.
FIX: Reported issues.

Credit: kudos to Ottodix for inspiration in reworking certain aspects of the display format.

Updating. A number of minor panel properties will be reset. Export panel properties before updating if you want a record of previous settings.
Fresh installs will load the new look (can be changed on the Quick setup menu). Existing installs should retain the original look, except for the updated scrollbar.


Re: Library Tree Discussion

Reply #235
This is perfect. Thank you!

Re: Library Tree Discussion

Reply #236
Hello WilB,
I still very much like your script, thanks for even further develiping this!
An issue I have with 2.1.0 is the following:
Up to 2.0.2 your script showed the full 'pattern tree' (as defined in Panel Properties/pattern such as artist/album/title) with the foreground colour defined in Preferences/Display/Columns UI/Colours and fonts/Colours for 'Foreground' at 'Inactive selected items' for the currently playing title, see first and second attachment.
I liked this feature very much, as it enabled that you can select an album and then flip though the titles with 'previous' and 'next', and still the currenty played title is indicated by the above defined foreground colour for the 'inactive selected items'.

Now this feature seems to have gone (see third attachment). Any chance to get back this or a similar behaviour?

Thanks, MojoBass

Re: Library Tree Discussion

Reply #237
Hello,

Vanilla CUI filter component uses two playlists for browsing library: Filter Results for browsing and Filter Results (Playback) for playing. Is there a way to enable such behavior in Library Tree? Right now library browsing resets next track in current queue due to using only one playlist.

Also is there a hotkey for search via Library Tree or focus on its search bar?

Re: Library Tree Discussion

Reply #238
@MojoBass
I've reinstated ...Show > Nowplaying in Highlight for the next version.

@wirdjos
A separate browse playlist shouldn't really be necessary with a tree viewer??? With a tree viewer you can browse by clicking nodes & so see the tracks that way within the tree view etc. Expanding nodes doesn't send items to the playlist, and so the next track in current queue shouldn't be reset. If you find that you inadvertently click on tracks, consider setting Single Click to "Select" & Double Click to "Send to playlist". By default middle clicking tracks adds them to the current playlist, and so can be used to queue tracks.

Extra hot keys are user assignable with the Spider Monkey panel index method.

1) Set Spider Monkey panel index number (1-10) for "search" by right click... > panel properties > "ADV.Hot Key..."
2) Go to foobar2000 preferences > keyboard shortcuts & assign that Spider Monkey panel index to a key or key combination.
3) Press key(s) to activate search. This activates search provided library tree has focus as that's needed for typing entries.


Re: Library Tree Discussion

Reply #240
I have forgotten how to add taps at the top of the panel. Can it be done in the panel properties menu?

 

Re: Library Tree Discussion

Reply #241
If you mean Touch Control see menu > … Options > Mode

Re: Library Tree Discussion

Reply #242
Hey WilB,

Thanks for the changes you implemented in the latest update, they're really nice.

Currently when clearing the search box by clicking the X or hitting Esc, it will select an empty playlist. Could a option be added so that when you make a search and then click on an artists name, clearing the search will then populate the playlist with the artist that was selected? When clearing search without selecting an artist it could possibly select the summary item/root node, or the currently playing playlist instead.

Here's a video of the desired feature using Facets,
https://imgur.com/3EjcwAr

Thanks again.


Re: Library Tree Discussion

Reply #244
^ They are Tabs - part of foobar DUI. Just add Tabs to your layout using Layout Editing Mode and place Spider Monkey / JScript Panel inside one.

Re: Library Tree Discussion

Reply #245
^ They are Tabs - part of foobar DUI. Just add Tabs to your layout using Layout Editing Mode and place Spider Monkey / JScript Panel inside one.

Thanks. It was driving me crazy trying to figure it out!

And I never noticed my phone did Danish auto correct on that word. lol

Although I like that bugle call.

Re: Library Tree Discussion

Reply #246
New Version: Library Tree 2.1.1

CHG: Optimised Search Clear behaviour.
CHG: Reinstated option to highlight nowplaying (menu > ... options > show).

Re: Library Tree Discussion

Reply #247
Hi WilB,
thanks very much for nowplaying highlightning!

Re: Library Tree Discussion

Reply #248
For the past month I've gathered a couple of wishlist items (ordered by personal priority) that I felt I could use the most. I know it's a long list and a lot to ask for, but I hope that at least some of these make sense to you and you'll consider implementing them at some point.

1. Formatting
I could really, really use the $rgb(baseline,hover,select) call. I'm not trying to turn my library tree into a christmas tree, I just need to make some subtle highlighting/dimming to discern between different tags displayed in one line. For example, under my view 'by label' I currently use {catalog number} Album Artist - Album [YYYY] · Source Media · It's a bit packed, I know, but that's where $rgb() would come in handy. This is how it looks now:



2. More external communication
This also concerns Spider Monkey Panel as a whole, because I saw it's got only 10 assignable indices. It would be really awesome to assign separate commands for all the views (and filters). It's not even about the hotkeys, I'd rather place a row of buttons above the filter (either via foobar toolbar or just drawn in panel stack splitter) to quickly switch between library tree views or to set up different filtering options. So essentially more robust capabilities for external interaction with the library tree.

3. Hide empty fields
CUI filter has the option to "show/hide items with empty labels". Now I have some tag fields that aren't populated for all of my library (like label or release series). So currently all the items with an empty %series% or %publisher% tag will get lumped at the top of the tree under a question mark with [1] item count. For now I've mitigated this by enclosing the whole view pattern with $if(%tag%,view pattern,'-'), but it's just a cosmetic fix.

4. Make keystrokes work locally when tree is in focus
Not sure if this is possible, but it's a little annoying issue, especially when it comes to spacebar. See, like in most players, I use spacebar as a play/pause toggle. So whenever I type some query in the library tree search field, it pauses playback in effect. It doesn't happen with foobar's library/playlist search, but yeah I assume that's because they're separate windows (?)

5. Headings / non-nodes
Ok, this one is a bit far fetched compared to the rest and it's just a whim. I just thought it would be great for the tree's clarity to introduce some kind of headings that would sort with the tree elements, but wouldn't be expandable nodes. The first place I could use these would be my 'by date' view:



I use decades as the top branch only to make the years view a bit tidier and clearer. But there's really no need to keep them as nodes. Sure, I could have them expanded at all times... except whenever I change the view, the state of the previous one resets.

PS
Another minor thing, there's "_Custom.Colour Frame Highlight" option but no "_Custom.Colour Frame Selected" and because of that I can't blend the selected item's frame with the bg.

Re: Library Tree Discussion

Reply #249
1. Formatting. I couldn't find any tree or filter examples that offer the ability to set different colours for parts of a line, nor any case uses of your $rgb call??? The only sort of exception was facets which auto-dims text in parentheses or square brackets. There's also the highlight dim syntax (currently in DUI playlist) but I don't believe there is direct support for that in spider monkey panel.

It's actually quite complex to set different colours for different parts of a line of text. This plus the extra handling needed in various places, so all scenarios etc work, would increase the overhead. This post about sums it up.

I'll consider adding something if spider monkey panel provides a direct function, e.g. a new (?) text draw function that supports the highlight dim syntax (currently in DUI playlist), or an alternative, that does all the colouring and text placement/sizing automatically, including ellipsis. This might now be possible due to enhancements in foobar2000 SDK, but I'm not sure. It would likely be generally useful.

2. External communication. Yes the current number of 10 would be rather limiting.

3. Hide empty fields. The current behaviour is the standard tree method, e.g. it's the same as DUI album list. I did try implementing, but it caused conflict with other node states. Working round the issues especially with parent nodes again adds to overhead & complicates things further. There are a couple of alternatives to consider.

Use $if2": e.g. $if2(%album%,Unknown)
Use filter: tag PRESENT; e.g. Album PRESENT // can be combined with other filters

4. Keystrokes. From the spider monkey panel documentation:

on_key_down(vkey); Note: keyboard shortcuts defined in the main preferences are always executed first and are not passed to the callback.

So essentially I can't do anything about this.

However, I did confirm that DUI album list & facets filter allow typing a space without triggering play/pause with that short cut key assignment. In spider monkey panel typing the space is completely blocked and you get play/pause. I'm not sure whether or not this could be changed in spider monkey panel.

5. Headings. "except whenever I change the view, the state of the previous one resets." That may be because "mode > auto collapse nodes" is enabled. Note that some Quick Setup options enable this mode.

6. Frame. I've added _Custom.Colour Frame Selected for the next version.

If you're inclined you may consider requesting items 1, 2 & 4 in the spider monkey panel thread.