Library Tree Library Tree is a JScript media library viewer.
- Fast and lightweight script.
- Compatible with default user interface (DUI) & columns user interface (CUI).
- Supports transparency (requires CUI & panel stack splitter or similar).
- Customisable media library views. Use // to separate name & | to separate branches. Existing views can be edited or new ones added in panel properties.
- Multi-value tag support. Use %<field>% syntax for fields to be split, e.g. %<genre>%.
- Accurate filter: text and queries (e.g. artist HAS beatles). Gives same results as DUI album list filter. Both give sorted results so that query sort operations are N/A. Filter can be hidden.
- Keystroke "jump" search.
- Smooth scrolling.
- Discrete scrollbar; can be resized / hidden. Mouse wheel: page or standard 3 line scrolling (page = default; change in panel properties).
- Colours and fonts: set in foobar2000 preferences for DUI or CUI.
- Font size: set with DUI or CUI list font. Or use mouse-over with CTRL + mouse wheel to zoom the font size (resets if UI font size changed).
- Extra custom colour options are in panel properties: presets for auto fade & blending of colours used by filter & lines plus ability to set all colours individually.
- Customisable node symbols: windows themed or font symbol.
- Arrow key navigation + ctrl & shift selection.
- Mouse middle button > adds to playlist.
- Full context menu on right click.
- Panel properties has further options, e.g. display settings for "All Music" node, item counts, alternating row stripes, tooltips, auto-collapse, margin, tree indent & autoplay.
- Access panel properties by right click > options.
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]
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.
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
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)
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).
New Version: Library Tree 0.6
For requirements, see post above
New Version: Library Tree 0.7
For requirement, see two posts above
^ 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).
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).
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).
^ Thanks
New Version: Library Tree 1.1
Requirements are unchanged from 2 posts above
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).
^ 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).
^ You're welcome.
New Version: Library Tree 1.3.1
New Version: Library Tree 1.3.2
Requirements are unchanged.
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).
New Version: Library Tree 1.3.4: Optimisation under rare scenario.
Requirements are unchanged.
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).
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).
New Version: Library Tree 1.3.7
Requirements are unchanged.
Post removed
New Version: Library Tree 1.3.8
Requirements are unchanged.
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.
New Version: Library Tree 1.3.9.1
Requirements are unchanged.
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).
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.
New Version: Library Tree 1.4
Requirement: JScript Panel 2.1.0+ (https://github.com/marc2k3/foo_jscript_panel/releases)
Use the 'Chakra' script engine if possible (requires IE9 or later) - its faster with this script. Set in the JScript panel configuration window (shift + right click).
New Version: Library Tree 1.401
Requirement as above
New Version: Library Tree 1.4.0.2
Requirement as reply #48.
New Version: Library Tree 1.4.0.3
This is maintenance update to fix compatibility with JScript Panel 2.2.0+. There are no new features.
Requirement as reply #48.
New Version: Library Tree 2.0.0
REQUIREMENT: Spider Monkey Panel 1.1.4+
(https://hydrogenaud.io/index.php/topic,116669.0.html)
Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html).
New Version: Library Tree 2.0.1
REQUIREMENT: Spider Monkey Panel 1.1.5+ (https://hydrogenaud.io/index.php/topic,116669.0.html)
Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html).
New Version: Library Tree 2.0.2
REQUIREMENT: Spider Monkey Panel 1.1.5+ (https://hydrogenaud.io/index.php/topic,116669.0.html)
Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html).
New Version: Library Tree 2.1.0
REQUIREMENTS:
Spider Monkey Panel 1.2.1+ (http://www.foobar2000.org/components)
FontAwesome (https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf?raw=true) (new requirement)
Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html).
New Version: Library Tree 2.1.1
Requirements are as above.
Please post discussion here (https://hydrogenaud.io/index.php/topic,111060.0.html).
New Version: Library Tree 2.1.2
REQUIREMENTS:
Spider Monkey Panel 1.2.1+ (http://www.foobar2000.org/components)
FontAwesome (https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf?raw=true)
Please post discussion here (https://hydrogenaud.io/index.php?topic=111060.0).
New Version for JScript Panel: Library Tree 1.4.0.4
REQUIREMENT: JScript Panel 2.3.1+ (https://github.com/marc2k3/foo_jscript_panel)
This is a maintenance update intended for users who wish to continue using a JScript Panel version. There are no new features compared with earlier 1.4.x.x versions. It's recommended that you use the latest Spider Monkey Panel version if at all possible, e.g. it has a newer feature set and is more actively developed.
CHANGELOG
Compatibility fix for JScript panel 2.3.x series
Please post discussion here (https://hydrogenaud.io/index.php?topic=111060.0).
New Version: Library Tree 2.1.3
REQUIREMENTS:
Spider Monkey Panel 1.2.1+ (http://www.foobar2000.org/components)
FontAwesome (https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf?raw=true)
Please post discussion here (https://hydrogenaud.io/index.php?topic=111060.0).
New Version: Library Tree
REQUIREMENTS:
Spider Monkey Panel 1.4.1+ (https://www.foobar2000.org/components)
IE8 or later
FontAwesome (https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf?raw=true)
Please post discussion here (https://hydrogenaud.io/index.php?topic=111060.0)
INSTALLATION
IMPORTANT: If updating from v2.1.3, and you wish to retain settings, export panel properties before installing the new version. Import them after installation.
This version has to be installed as a package.
1) Add a spider monkey panel to foobar2000.
1) Right click the spider monkey panel while pressing the windows key + shift. Choose configure panel.
2) On the script tab choose package.
3) Click the import button and import the library tree package.
Troubleshooting
Please note that the package manager is a new feature of spider monkey panel. If you experience issues with the spider monkey panel installer follow the guide in the spoiler here (https://hydrogenaud.io/index.php?topic=112913.msg997851#new). If you wish to do a manual install as in the guide, just change the master folder to {E85C9EF0-778B-46DD-AF20-F4BE831360DD}
^ moved to correct location in main discussion thread
New Version: Library Tree v2.2.0
REQUIREMENTS:
Spider Monkey Panel 1.5.0+ (https://www.foobar2000.org/components)
IE8 or later
FontAwesome (https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf?raw=true)
Please post discussion here (https://hydrogenaud.io/index.php?topic=111060.0)
INSTALLATION
This version has to be installed as a package.
If UPDATING consider exporting panel properties to back-up settings (right click the panel while pressing the windows key + shift)
- REQUIRED if updating from v2.1.3 or earlier & you wish to retain panel settings. Import them after installation.
- OPTIONAL if updating a package, as settings should automatically be retained. Recommended as good practice, if you've done significant customization, in case the unexpected happens.
New install or update:
1) Add a spider monkey panel to foobar2000 if required
2) Close any instances of windows explorer using foobar2000 folders or subfolders
3) Right click the spider monkey panel while pressing the windows key + shift
4) Choose configure panel
5) On the script tab ensure package is selected
6) Open package manager if it doesn't open automatically
7) Import the package