Skip to main content

Topic: Library Tree (Read 13994 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • WilB
  • [*][*][*][*][*]
Library Tree
    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+.

        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.

        [/list]
    • Last Edit: 09 January, 2016, 07:11:05 PM by kode54

    • Falstaff
    • [*][*][*][*][*]
    Library Tree
    Reply #1
    looks good, will give it a try asap  thanx for sharing

    is it based on the thanhdat WSH script ? if yes, you should credits him somewhere, somehow ;-)

    • Falstaff
    • [*][*][*][*][*]
    Library Tree
    Reply #2
    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 ?

    • samithaj
    • [*][*][*]
    Library Tree
    Reply #3
    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  )

    Library Tree
    Reply #4
    WilB,

    Thanks for this, I've given it a test and I like it. I'll integrate it into my layout. 

    • asionwu
    • [*]
    Library Tree
    Reply #5
    tks for sharing! very fast!



    if use Multi-value tag ,it will be like this.

    • WilB
    • [*][*][*][*][*]
    Library Tree
    Reply #6
    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.
    • Last Edit: 08 January, 2016, 01:53:40 PM by WilB

    • fabiospark
    • [*][*][*][*][*]
    Library Tree
    Reply #7
    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.

    • Scrummble
    • [*]
    Re: Library Tree
    Reply #8
    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.

    • samithaj
    • [*][*][*]
    Re: Library Tree
    Reply #9
    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 :)

    • fals33
    • [*]
    Re: Library Tree
    Reply #10
    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

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #11
    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..

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

    REQUIREMENT CHANGE: JScript Panel 1.1.0+ is now needed
    • Last Edit: 21 January, 2016, 01:40:28 PM by WilB

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #12
    New Version: Library Tree 0.4

    Please post discussion here
    Requirement: JScript Panel 1.1.0+
    • Last Edit: 26 January, 2016, 12:41:54 PM by WilB

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #13
    New Version: Library Tree 0.5

    Please post discussion here. Requirement: JScript Panel 1.1.0+.

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #14
    New Version: Library Tree 0.6

    For requirements, see post above

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #15
    New Version: Library Tree 0.7

    For requirement, see two posts above
    • Last Edit: 30 January, 2016, 06:17:56 PM by WilB

    • Just_Addict
    • [*][*][*]
    Re: Library Tree
    Reply #16
    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.
    • Last Edit: 01 April, 2016, 09:51:08 PM by Just_Addict

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #17
    ^ 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. Requirement: JScript Panel 1.1.0+.

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #18
    New Version: Library Tree 0.9

    Please post discussion here. Requirement: JScript Panel 1.1.0+.

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #19
    New Version: Library Tree 1.0

    Please post discussion here. Requirement: JScript Panel 1.1.0+.

    • Rocker
    • [*]
    Re: Library Tree
    Reply #20
    WiLB, this component is awesome! Thank you for sharing!

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #21
    ^ Thanks

    New Version: Library Tree 1.1

    Requirements are unchanged from 2 posts above

    Re: Library Tree
    Reply #22
    WilB
    1 .If turn on All Music and collapse the tree -
    list disappears.
    2 Add to Current Playlist  - add always just in  "Library view"
    • Last Edit: 28 October, 2016, 10:13:48 PM by seriousstas

    Re: Library Tree
    Reply #23
    And a couple wishes..
    Please make a handy library for touch devices:
    This - finger scrolling.
    "Node" - zoomable

    • WilB
    • [*][*][*][*][*]
    Re: Library Tree
    Reply #24
    New Version: Library Tree 1.2

    Please post discussion here. Requirement: JScript Panel 1.1.0+.
    • Last Edit: 04 November, 2016, 06:44:23 PM by WilB