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 128039 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

Re: Library Tree Discussion

Reply #276
1. I found a minor issue: Placing $colour{} function before the first string in top branch breaks the jumpsearch. If colouring is involved in conditional or replacement functions, jumpsearch works only for the unformatted alternatives.

2. Now for another thing that I'm not really hopeful about since it looks a bit like I'm asking for the impossible:

Pairing of corresponding meta fields between separate multi-value tags
Ideally I would love to be able to couple different multi-value tags in a way that evaluated corresponding indices of both arrays in tandem. So that branching would look like this:
- $meta(tag_a,0)$nodisplay{$meta(tag_b,0)
- $meta(tag_a,1)$nodisplay{$meta(tag_b,1)
...

How it looks now
Spoiler (click to show/hide)

At this point I gave up with disambiguating those few same-named artists I have, in order not to get these mangled branchings for much more ubiquitous multi-valued artist tags.

Re: Library Tree Discussion

Reply #277
Jump search & $colour: should be fixed for the next version.

Pairing of corresponding meta fields between separate multi-value tags: multi-value tags & $nodisplay.

I did spot an issue with $nodisplay not always being correctly sorted with multi-value tags. That should be fixed for the next version It may address some of the sorting issues you noticed, but not the pairing point.

Pairing: multi-tag evaluation doesn't consider the indices that would be needed for that even for the displayed item (just getting the names is enough) let alone for anything that's not displayed.

Quote
disambiguating those few same-named artists

Personally I would find it rather confusing to have exactly the same named artist appearing in the list twice.

Possibilities:

1) Standard artist names. Album name, for example, can be a disambiguator, e.g.

Code: [Select]
View by Artist // %<artist>%|%album%|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%
i.e. disambiguation would be based on album name after click on artist

Code: [Select]
View by Artist - Album // %<artist>% - %album%|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%
i.e. album name alongside artist name

2) Artist name with disambiguator, including where it appears in multi-value tags. Doesn't depend on album names being present. For example:

Muse ∙ UK
Muse ∙ US

Disambiguator could be genre, country or city of origin etc. If a unique separator is used, artist names can easily be cut at the separator if used in internet look-ups of lyrics, biographies etc, so as not to break those types of look-ups.

Seeing as you say you only have a few same-named artists, it would be simple to change the tags if you're inclined.

Re: Library Tree Discussion

Reply #278
Yeah, I figured this is the easiest way. Or even to make an additional %artist_disamb% tag for these few cases, where I would have the name with more info, for example with the country code like you suggested. And then the branch would simply have a structure like this $if2(%artist_disamb%,%artist%).

Thanks for help!

Re: Library Tree Discussion

Reply #279
I'm awaiting to see if  @TheQwertiest can help with the issue raised in posts 231 & 232, before releasing an updated version.
I don't think there is a need to wait for the new version of SMP, since even if this bug to be fixed, it should not impact SMP API in any way =)

Re: Library Tree Discussion

Reply #280
Hi
I'm seeing error as below when I use view: View by Album //$if(%album%,%album% - $meta(band,0), 'Non Album')|%title%

Error: Spider Monkey Panel v1.2.2-preview+0db3c6a4 (Library Tree v2.1.2 by WilB)
n is undefined

File: <main>
Line: 1683, Column: 6

Stack trace:
  branchCount/<@<main>:1683:6
  branchCount@<main>:1681:5
  Populate/this.buildTree/<@<main>:1667:156
  Populate/this.buildTree@<main>:1649:9
  Library/this.rootNodes@<main>:1276:58
  Timers/this.lib/<@<main>:2911:133

Re: Library Tree Discussion

Reply #281
As I couldn't seem to reproduce, I've sent you a private message to explore what's going on.

Re: Library Tree Discussion

Reply #282
Hi, I am facing the following problem when I start my foobar. It always crashes and I have to reload the panel to operate normally.
I am using SMP v .2.1. and Library Tree v2.1.0.

Thank you

Re: Library Tree Discussion

Reply #283
@zoumbro

I'm not keen on debugging old versions of library tree because most releases have various bug fixes, possibly not always evident from the change log. I can't remember if there were any changes that might have affected this. It's also best to use the latest version of spider monkey panel.

In this particular case, it looks as though the library was updating since on_library_items_changed was called. Appearance of the abort message, I think, only has a short delay. From the stack trace, library tree was in the middle of updating the tree.

In general tree updates in response to library changes should be very rapid and occur in the background: only affected items in the tree are altered.

Aborting scripts part way through may give unpredictable results and a script error. What happens if you just let library tree continue and finish? If that's OK, perhaps choose don't ask me again & don't worry about it.

As a test I just tried changing 24,000 tags. All proceeded fine on my device in that scenario. There was no message.

Library Tree also has an option to switch off automatic syncing with the media library: panel properties: "ADV.Library Sync: Auto-0, Initialisation Only-1". If auto-syncing is off the library used by library tree will only be updated on initialisation, view change or through manual refresh on the menu.

I have seen the abort message on a number of occasions when it isn't really the script that's at fault, e.g. if windows is busy (e.g. updating) and necessary files can't be read from the hard drive in a timely way. Then scripts can stall at points difficult to predict and the message can appear.

Re: Library Tree Discussion

Reply #284
Without changing the font size, add line-height setting function?

Re: Library Tree Discussion

Reply #285
See: menu … options > mode > line spacing

Enables line height to be padded as required. I think adding padding is more flexible than setting a fixed line height.


Re: Library Tree Discussion

Reply #287
@WilB

Hello WilB, even with this last version I am getting this error:

Error: Spider Monkey Panel v1.2.2-preview+0db3c6a4 (Library Tree v2.1.2 by WilB)
OrderByRelativePath failed:
allocation size overflow

File: <main>
Line: 542, Column: 61

Stack trace:
  Panel/this.sort@<main>:542:61
  rootNames@<main>:1205:48
  Library/this.getLibrary@<main>:1190:119
  Timers/this.lib/<@<main>:2911:115

Regards,
Andrea

@WilB
Hello WilB, any news about this?
I am still having this blocking error.
Regards, Andrea

Re: Library Tree Discussion

Reply #288
As far as I am aware this seems to be a bug in spider monkey panel and outside of my control, but I am open to suggestions. I just tried again with a 642K test library & all was OK here. That particular error seems to be occurring on panel initialisation and is explicitly related to view by folder structure. So you could try a different view (if the error is locking you out you could open panel properties and find SYSTEM.View By [it's probably the last entry] and change it to 1 to set a different view).

I thought you were debugging the issue with @TheQwertiest? It sounds as though the issue is reproducible and so it ought to be possible to resolve the cause.

HTH

Re: Library Tree Discussion

Reply #289
Hello WilB, thanks for caring about and for the new tips.
I already notified @TheQwertiest of the problem and he promised me a debugging version of SMP that I am still waiting for...
And, moreover, he wrote that the problem was looking to be related to your script...
Now, having your new feedback, I will go back to him again.
Many thanks and kind regards, Andrea

 

Re: Library Tree Discussion

Reply #290
And, moreover, he wrote that the problem was looking to be related to your script...
I've never said such a thing though :\
The problem with `bad_alloc` in `OrderByRelativePath` is most likely a memory exhaustion problem. Theoretically, script could reduce memory usage by operating on smaller arrays or storing less data, but that would greatly increase complexity of the script.

Re: Library Tree Discussion

Reply #291
@WilB and @TheQwertiest
Sorry for having misunderstood the matter ... I am not a developer... (:->)
Thanks for eventually find out a solution.
Library Tree is looking very nice and I would be glad to be able to use it.
Kind regards, Andrea

Re: Library Tree Discussion

Reply #292
Hi. I was using an old version of Library Tree with JS and it worked fine except that a Custom field I use %GEOGRAPHICAL% refuses to split multiple fields: some bands originate from more than one city/country, etc. The fields work fine everywhere else (they are originated in Mp3tag), and are separated by a <;>. So I just tested installed the new LT 2.1.2, but in this version, I cannot get the <Settings, View by> to save. I first tried importing an .wsp file (exported from the earlier version) and, although the new config shows in Panel Properties fine, they do not change in the options. It just shows the original config (ie: no View by Geog" shows. I then manually edited it, and it doesn't save. Is there something in the new version that I am missing? Many thanks for any help. Attached is the exported example.

Re: Library Tree Discussion

Reply #293
It looks like you tried to import the JScript panel properties which isn't supported by the Spider Monkey Panel version of Library Tree. This has resulted in duplicate entries in panel properties and you changed the wrong one.

You need to clear panel properties to reset them. Then you should be able to enter, e.g.
Code: [Select]
View by Geog // %<geographical>%|[%album artist% - ]%album%|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%
Note that geographical in the view has to use the multi-value syntax as in the example to split multi-value tags. %geographical% will not split them.

Re: Library Tree Discussion

Reply #294
Brilliant, thanks! That got the new version working, but
<View by Geog // [%<geographical>%]>
 still doesn't split the tags, as  shown in this image...

Re: Library Tree Discussion

Reply #295
I think that's actually to do with foobar2000 and not library tree.

Select a track. Open the properties of the track. Select the geographical field, right-click and choose split values. When confident it's working you can select multiple tracks.

foobar2000 also has an advanced setting in preferences: display > properties dialogue > multivalue fields.
You can add GEOGRAPHICAL to the list. That seems to help when creating new multivalue geographical tags through properties, but didn't seem to cause existing to be split. For that you have to use the above method.

Re: Library Tree Discussion

Reply #296
Brilliant! Thanks to your help, I have found the reason it isn't working:
In the fields with multiple values, I have used a space after the delimiter <; > (Australia: Cairns; England: Ellesmere Port). Removing the space <(Australia: Cairns;England: Ellesmere Port)> makes the field split fine, but it looks ugly! I wonder if there is there a way to force it to read <; > instead of <;> (ie. with the following space)??? Otherwise, I'll have to re-tag them all. Although that's fairly simple with Mp3Tag, it would force re-copying of so many files during backup, as there are thousands tagged this way!

Re: Library Tree Discussion

Reply #297
I tried the following with the space after the ;
Australia: Cairns; England: Ellesmere Port
View by Geog // %<geographical>% splits the tag fine and displays correctly as in the picture.

However it was necessary to run the split values command as I said in my previous post. It looks like you didn't do that????? Select a track, open properties for the track, right click the geographical tag name and run Split values.... Once you know its working correctly you can do all music in one go in a few seconds. Much easier than retagging. Also see my comment in my previous post concerning display > properties dialogue > multivalue fields.

Also Library Tree now requires FontAwesome for proper display of symbols, and from your picture it looks as though it's not installed. There's a link to it in the Library Tree download location.

HTH

Re: Library Tree Discussion

Reply #298
Thanks. I did do that, yes, to test a few and it did work. Are you saying I need to do it every file which has multiple geog tags? And what then happens to new ones I add?

Re: Library Tree Discussion

Reply #299
Thanks. I did do that, yes, to test a few and it did work. Are you saying I need to do it every file which has multiple geog tags?
Yes
And what then happens to new ones I add?
These are all general foobar2000 handling issues and not specific to library tree. It may depend on what tagger is used. You may need to split them...