Hydrogenaudio Forums

Hosted Forums => foobar2000 => Uploads - (fb2k) => Topic started by: WilB on 2016-01-02 18:19:23

Title: Library Tree
Post by: WilB on 2016-01-02 18:19:23
    Library Tree

    Library Tree is a JScript media library viewer.

           Requirement: JScript Panel 1.0.7+ (https://github.com/19379/foo-jscript-panel/releases).

    Installation:  Add a JScript Panel to the layout in the  usual way. Click the JScript panel (or right click and choose configure) to  open the editor. Use the tools button to import the Library Tree script.

    (http://i.imgur.com/scLlmF5.jpg)(http://i.imgur.com/YBmIWEM.png)[/list]
Title: Library Tree
Post by: Falstaff on 2016-01-02 18:47:40
looks good, will give it a try asap  thanx for sharing

is it based on the thanhdat WSH script (http://fav.me/d682ptl) ? if yes, you should credits him somewhere, somehow ;-)
Title: Library Tree
Post by: Falstaff on 2016-01-02 22:55:19
just tested, it's a very good panel, congratulations, nothing is missing from what i can see now

just one little thing but maybe it's me : mousewheel UP + CTRL zoom out, it should do the opposite no ?
Title: Library Tree
Post by: samithaj on 2016-01-03 05:56:10
Nice git for the new year !!!
Everything working great so far
Love keyboard navigation and selection options 
Way better than Library tree component
One thing i miss from that would be the filtering options for views
but this is feels way smoother and i really needed to this non-transparent  background of foo_uie_library_tree to go away (most importantly  )
Title: Library Tree
Post by: Marcus Vinicus on 2016-01-03 22:15:13
WilB,

Thanks for this, I've given it a test and I like it. I'll integrate it into my layout. 
Title: Library Tree
Post by: asionwu on 2016-01-05 13:37:35
tks for sharing! very fast!

(http://i.imgur.com/Fcq9rI3.jpg)

if use Multi-value tag ,it will be like this.
Title: Library Tree
Post by: WilB on 2016-01-08 18:45:23
New Version: Library Tree 0.2

@asionwu:  Thanks for reporting the multi-value splitting issue. Multi-value tag handling  is now done differently and the issue should be fixed.

@falstaff:  Corrected zoom mouse wheel direction. Thanks for reporting.

Fixed a  few other bugs + added some enhancements.

@falstaff - re: thanhdat WSH script

I am  familiar with the thanhdat script and have posted about it on HA. This resulted  in emails from other users, who became frustrated as it became increasingly  broken, due to incompatibility with new versions of wsh / JScript panel, and  other issues with the script. So I was asked if I had done a modified version.  In a nutshell, I found better ways of doing it. The result is a distinctive  script and new code. The library handling / processing etc are done differently  resulting in JScript Library Tree typically being 3-4 times faster. JScript  Library tree also automatically syncs with the media library. Additionally,  JScript Library Tree has lots of stuff / handling absent from the thanhdat  script. The ideas and contribution of thanhdat in showing how it was possible  to code a library view in wsh panel, and of others, is credited in the  acknowledgments in the readme.

just tested, it's a very good panel, congratulations, nothing is missing from what i can see now


Everything working great so far


I've given it a test and I like it. I'll integrate it into my layout. 


tks for sharing! very fast!


Thanks  for the compliments.
Title: Library Tree
Post by: fabiospark on 2016-01-08 20:42:45
Maybe it is not in the aim of this tool or maybe this is already there
and I didn't find it:

is there a way to "embed" some filtering in each view to automatically narrow
the "population" before applying that view?

(Something like the library tree component does)

Thanks.
Title: Re: Library Tree
Post by: Scrummble on 2016-01-12 02:44:08
Absolutely awesome script.
But here comes a small issue:
In the view settings, it seems to divide the string with "|" before it is calculated. It is good for avoiding bugs when the metadata contains the | character, indeed, but it also means that the depth of the tree cannot be variable.
In foo_uie_library_tree, I use scripts like this
Code: [Select]
%genre%\['['%content group%']'\]%<album artist>%[ '['%performer%']'][\'['%mediatype%']']\['['%date%']' ]%album%[\%edition%]
As some of my tracks do not have an content group or edition, it may cut the depth of the tree when needed. I think maybe your script can be enhanced this way.
Thanks for bringing us this awesome script, again.
Title: Re: Library Tree
Post by: samithaj on 2016-01-14 20:09:58
Thanks for the update !!
And I think it's better to to create the thread in other some other part of the forum rather than "Uploads"
since:
https://hydrogenaud.io/index.php/topic,63848.0.html?PHPSESSID=bj95dkaq029v7fiub2k1b6opf2
Quote
This forum is for uploading files only - everyone can attach files to their posts. Discussion should be kept separate and in another forum. Note that recent posts in this forum are not shown in the foobar2000 forum portal - this is on purpose.

someone could miss out on updates :)
Title: Re: Library Tree
Post by: fals33 on 2016-01-17 12:23:02
thanks for the update WilB.

an anoying issue to fix please ... when resizing the panel height, displayed area, including the scrollbar do not fit the panel height, there is a gape when panel Height is not exactly a multiple of the row height value ...

http://i.imgur.com/BkQSkV0.png

---
fals33 aka Br3tt aka Falstaff ... Falstaff account lost with the forum migration :'( and no one care
Title: Re: Library Tree
Post by: WilB on 2016-01-21 18:32:23
New Version: Library Tree 0.3

@fabiospark - feature added
@Scrummble - I did look at this in some detail. For me, varying the number of branches from one node to the next according to whether tag info happens to be present or not is rather confusing. I also think there are other ways of doing it, e.g. consistent tagging or conditionally displaying variable info at the end of branches. For these reasons and because the changed jscript library handling needed will slow things down, I am reluctant to add it.
@fals33 - I have added an option in properties to switch "Auto Fit" off.

CHANGELOG
- Added a filter that applies before the tree is populated, enabling the tree to comprise different sub-populations of the library. Filters also offer quick access to commonly used queries. The filter can be hidden & has its own zoom.
    - Set filters in properties. Use text or foobar2000 query syntax. Gives sorted results and so sort operations N/A.
- Fixed multi-value tag handling for fields that foobar2000 automatically remaps.
- Search box renamed to "Search".
- Made auto fit optional [set in properties] (auto fit stops clipping of text in the bottom row).
- Added ability to set colour of custom nodes in properties.
- Search symbol now opens query syntax help.
- Fixed speed regression in rare case.
- Improved handling of views and filters in panel properties.
- Fixed minor redraw issues.
- Made compatible with JScript Panel 1.1.0+.

Due to user requests, a separate discussion thread has been started, and future discussion should go here. (https://hydrogenaud.io/index.php/topic,111060/topicseen.html).

The new thread contains updated pictures incorporating the filter and an updated feature summary.

REQUIREMENT CHANGE: JScript Panel 1.1.0+ is now needed
Title: Re: Library Tree
Post by: WilB on 2016-01-26 17:34:25
New Version: Library Tree 0.4

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html)
Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases)
Title: Re: Library Tree
Post by: WilB on 2016-01-28 13:01:21
New Version: Library Tree 0.5

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases).
Title: Re: Library Tree
Post by: WilB on 2016-01-30 18:38:20
New Version: Library Tree 0.6

For requirements, see post above
Title: Re: Library Tree
Post by: WilB on 2016-01-30 23:02:04
New Version: Library Tree 0.7

For requirement, see two posts above
Title: Re: Library Tree
Post by: Just_Addict on 2016-04-02 02:33:58
Ooooooh! Just found this day before April Fools :D Great alternative.

Got one small idea for a future release though. Just cosmetics but it makes for a more consistent feel IMO.
I love the Filter dropdown, in fact, I like it so much I'd love to have the view selection also in a dropdown next to it :)

Apart from running into the same 'wall' @Scrummble found, the only other things that would make me drop the Library Tree panel version completely is the Same .... (Artist/Song/Genre/Style/Etc) auto searches and the AutoPlaylist feature

Got one question though, is there an option I've overlooked that changes the way it does subcounts? I would personally prefer to see it count only the number of immediate entries of a subbranch instead of the total track count at the bottom of the current branch? The latter tends to be way off from the correct total since it also includes entries on playlists instead of just the playlist files (CUE, m-TAG), resulting in the same tracks getting counted more than once,
As example, suppose you have a 15track album with a cue sheet (for whatever reason, e.g. to separate hidden tracks from the main song) resulting in effective 18 tracks, possibly having an m-TAG  file pointing to the cue file for tag information, that will end up being counted as 15+18*2 = 51 tracks....apart from this, you lose the information of how many items there are on a particular sub level.
Title: Re: Library Tree
Post by: WilB on 2016-04-15 16:15:32
^ Regarding item counts, I prefer these to sub-item counts + it's difficult to change. I also use m-TAGS. But overall, I think both ways have there advantages and disadvantages.

New Version: Library Tree 0.8

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases).
Title: Re: Library Tree
Post by: WilB on 2016-05-20 11:29:21
New Version: Library Tree 0.9

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases).
Title: Re: Library Tree
Post by: WilB on 2016-09-04 16:55:03
New Version: Library Tree 1.0

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases).
Title: Re: Library Tree
Post by: Rocker on 2016-09-24 23:11:14
WiLB, this component is awesome! Thank you for sharing!
Title: Re: Library Tree
Post by: WilB on 2016-10-18 00:11:21
^ Thanks

New Version: Library Tree 1.1

Requirements are unchanged from 2 posts above
Title: Re: Library Tree
Post by: seriousstas on 2016-10-29 02:38:09
WilB
1 .If turn on All Music and collapse the tree -
list disappears.
2 Add to Current Playlist  - add always just in  "Library view"
Title: Re: Library Tree
Post by: seriousstas on 2016-10-29 10:26:31
And a couple wishes..
Please make a handy library for touch devices:
This - finger scrolling.
"Node" - zoomable
Title: Re: Library Tree
Post by: WilB on 2016-11-04 22:42:03
New Version: Library Tree 1.2

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (https://github.com/19379/foo-jscript-panel/releases).
Title: Re: Library Tree
Post by: KoO on 2016-11-29 01:57:08
@WilB
Thanks for your fine work as I have been using Library Tree almost right from the start. And it just keeps getting better..

(http://i.imgur.com/YoUoMjd.png)
Title: Re: Library Tree
Post by: WilB on 2017-02-11 17:03:50
^ Thanks.

New Version: Library Tree 1.3

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (http://www.foobar2000.org/components/view/foo_jscript_panel).
Title: Re: Library Tree
Post by: nikolai4ik on 2017-02-11 18:07:08
thanks!
Title: Re: Library Tree
Post by: WilB on 2017-02-12 18:20:14
^ You're welcome.

New Version: Library Tree 1.3.1
Title: Re: Library Tree
Post by: Black_Over_Bills_Mothers on 2017-02-12 19:38:50
Hi WiiB
Great new version (1.3.1). Thanks for all your hard work.

I've found a small annoyance. I use the following query for getting a tree of Genres;
View by Genre // %<genre>%|[%band% - ]%album%|[[%discnumber%.]%tracknumber% ][%track artist% - ]%title%

I use multi-value genres.

However the panel crashes at line 583, Col 93. Unable to get property 'name' of undefined or null reference.

It could well be my inconsistant tagging but I wouldn't expect a crash.
Title: Re: Library Tree
Post by: WilB on 2017-02-15 21:14:23
New Version: Library Tree 1.3.2

Requirements are unchanged.
Title: Re: Library Tree
Post by: WilB on 2017-04-20 17:35:09
New Version: Library Tree 1.3.3

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requirement: JScript Panel 1.1.0+ (http://www.foobar2000.org/components/view/foo_jscript_panel).
Title: Re: Library Tree
Post by: WilB on 2017-05-08 18:15:16
New Version: Library Tree 1.3.4: Optimisation under rare scenario.

Requirements are unchanged.
Title: Re: Library Tree
Post by: WilB on 2017-07-26 18:49:59
New Version: Library Tree 1.3.5

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060/topicseen.html). Updated requirement: JScript Panel 1.2.3+ (http://www.foobar2000.org/components/view/foo_jscript_panel).
Title: Re: Library Tree
Post by: WilB on 2017-07-28 11:25:58
New Version: Library Tree 1.3.6

Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html). Requires: JScript Panel 1.2.3+ (http://www.foobar2000.org/components/view/foo_jscript_panel).
Title: Re: Library Tree
Post by: WilB on 2017-08-24 15:39:04
New Version: Library Tree 1.3.7

Requirements are unchanged.
Title: Re: Library Tree
Post by: WilB on 2017-08-30 16:04:00
Post removed
Title: Re: Library Tree
Post by: WilB on 2017-09-05 15:53:44
New Version: Library Tree 1.3.8

Requirements are unchanged.
Title: Re: Library Tree
Post by: WilB on 2017-10-05 19:05:50
New Version: Library Tree 1.3.9

Requires JScript panel JScript Panel 1.2.3+ (http://www.foobar2000.org/components) & optionally m-TAGS 1.13+ (http://www.foobar2000.org/components) for creating m-TAGS in batch style using library tree.
Title: Re: Library Tree
Post by: WilB on 2017-11-15 12:49:56
New Version: Library Tree 1.3.9.1

Requirements are unchanged.
Title: Re: Library Tree
Post by: WilB on 2018-01-24 18:00:29
^^^ Note that Library Tree 1.3.9.1 and earlier versions won't work with JScript panel v2+.
Title: Re: Library Tree
Post by: WilB on 2018-01-24 18:15:29
New Version: Library Tree 1.3.9.2

Requires JScript panel 2.01+ (https://github.com/marc2k3/foo_jscript_panel/releases) & optionally m-TAGS (http://www.foobar2000.org/components) (foo_tags 1.13+) for creating m-TAGS in batch style using library tree.

Use the 'Chakra' script engine if possible (requires IE9 or later) - select in the JScript panel configuration window (shift + right click).
Title: Re: Library Tree
Post by: Bratman on 2018-01-24 20:23:19
Great work but it's slow upon loading foobar? Taking 3-4 seconds to load after foobar has loaded.
Title: Re: Library Tree
Post by: KoO on 2018-01-27 03:14:39
Think I will stop at Library Tree 1.3.9.1 , foobar 1.3.16 portable , foo_jscript_panel 1.3.2.2 Every thing works great. To many changes with foo 1.4 and jscript v2 . May change my mind later...

Thanks for your great work..
Title: Re: Library Tree
Post by: WilB on 2018-01-27 17:33:33
@Bratman. I have not seen that type of behaviour. Initialisation times on my pc are nearly as fast as DUI album list, and unchanged from the previous version. The tree also appears as foobar2000 loads. Absolute initialisation times depend on pc speed, library size and complexity of view patterns. Note that JScript panel runs most things in the main thread and so conceivably could be delayed by other things. To optimise speed, check that the 'chakra' engine is being used. If updating to JScript panel 2.0.1, existing panels will default to the JScript engine and so it would need setting. Chakra engine is 1.15 - 1.5x faster during initialisation of views in my tests, and ~ 7-fold faster at certain other things, like recursive expansion. Mostly however the chakra engine gives a modest improvement. You could try switching off "Tree Remember State" in panel properties and avoid the themes to see if that makes any difference.
Title: Re: Library Tree
Post by: Bratman on 2018-01-27 20:49:14
Nevermind I was using the first version. Still my foobar without Jscript installed loads in 3.0 seconds (I am using CUI) but with JScript 2.01 it loads in 4.4 seconds even before creating a JScript panel so it is too slow. Jscript 1.3.2.2 loads in 3.1 seconds very good but with your library tree 1.3.8 the console says 3.1 but it's not true my cursor is spinning and I am unable to do anything for 2-3 seconds. I tried you suggestions but they did not make a difference. Is it the size of my library it's very big? Although it is faster to use 2 CUI filters than Jscript library tree.

Also I lost all my edits to the JSmooth script installed 2.01 reverted it back to default and broke your biography script too.

^Edit Actually CUI library tree is even slower! Your library tree is faster but I never used library tree before I was using filters to browse library with Album Artist > Album and liked the black scroll bar / themes from your library script. I never knew library tree is that slow I prefer filters oh well back to white scroll bars lol
Title: Re: Library Tree
Post by: KoO on 2018-01-28 00:55:49
Updated to Foobar1.4b3 , JScript Panel v2.01 and Library Tree 1.3.9.2 runs Beautifully seems to load a bit quicker. {This is an updated portable version of foobar2000 v1.3.17}
(One day is long enough to hold back)

Thanks Foobar , marc2k3 & WilB   
Title: Re: Library Tree
Post by: WilB on 2018-01-28 17:01:31
All users of Library Tree 1.3.9.2 should ensure that the 'Chakra' script engine is used (requires IE9 or later) - select in the JScript panel configuration window (https://github.com/marc2k3/foo_jscript_panel/wiki/Configuration-Window)  (shift + right click). The script will not run properly with the JScript engine.
SimplePortal 1.0.0 RC1 © 2008-2018