Shop Mobile More Submit  Join Login
JSPlaylist by Br3tt JSPlaylist by Br3tt
a new jscript for WSH PANEL MOD v1.5.6 or better

[Change Log]
 * 2015-01-26 at 23:00 (GMT+1) : 1.0.0 >> Initial release
 * ...
 * 2015-02-20 at 21:20 (GMT+1) : 1.2.8 >> auto-collpase engine fixed, validated with beta testing (thanx to du22y and marc2k3), and bugs fixed when sending tracks from a library panel (brought with v1.2.7) + CRTL+T to toggle columns toolbar + CTRL+I to toogle Information panel (topbar) + type what your search now binded with group by pattern (not only artist by default)
 * 2015-02-26 at 19:15 (GMT+1) : 1.3.0 >> now you can choose default groups status (collapsed/expanded) per group pattern + scroll touch control option added + many bugs fixed especially one that make crash panel on expanding groups in some case + now you can draw part of column text (TF) with different colors, $rgb(r,g,) function support added + misc changes and optimizations :)
 * 2015-02-27 at 17:30 (GMT+1) : 1.3.1 >> touch screen behaviour updated, now the track selection do not change while scrolling the list + font size increased in group headers
 * 2015-03-05 at 07:27 (GMT+1) : 1.3.2 >> drag'n drop enhanced, now when you drag tracks from the system to the current playlist (or to one in the playlist manager panel if it's opened) and you can insert the items where you want + added Crop action in selection contect menu + added 2 properties to set the alpha of selected track background and rectangle of the focused track + fixed a bug in Panel Settings when touch screen control activated + fixed a bug for default mode collapsed/expanded + misc. changes in playlist manager panel + minor bugs fixing
[/Change Log]

 * Groups (collpase or expand, add extra lines, ...)
 * Custom Group By patterns with Playlist Filter feature like in ELPlaylist
 * Custom Panel Colors
 * Pseudo Smooth Scrolling
 * Arrange columns as you want, create custom columns with titleformatting and specific color
 * Playlist Header at Top (can be disabled)
 * Wallpaper as background supported (including a new blur effect)
 * Playlist Manager collapsable panel
 * Built in Settings Panel (still some minor parameter to edit in Properties of the panel)
 * Sort by clicking column header
 * Windows scaling compliant (dpi)
 * Playback statistics Engine (update file tags, now asynchronously on tracks ending)
 * ... and more!

 * foobar2000 v1.1 or better >>
 * WSH panel Mod v1.5.6 or better >>…
 * Windows fonts : WingDings 1, 2 & 3


 * Font guifx v2 transports >>…

 * disable "Safe Mode" option in WSH Panel Mod preferences (menu File>Preferences>Tools>WSH Panel Mod)
 * copy "wsh_br3tt" folder into your foobar2000 Profile folder (it only contains the jsplaylist subfolder)
 * import/paste the main JSPlaylist script into a WSH Panel Mod instance of your foobar2000 layout (DUI or CUI)
 * Important: for any Y major update of my scripts (where Y is 2nd number version => x.Y.z), replace the whole folder "wsh_br3tt\jsplaylist\" each time
   and Clear the WSH panel properties (hold SHIFT key + Right-click > Properties > "Clear" button > "OK" button)

 * Hold SHIFT key + right click to display Configure script and panel Properties entries
 * Use Jscript9 engine (if supported by your system) for better performances (known issue: high %cpu on mouse move with older Windows 8.0 versions, in this case prefer Jscript engine)
 * Change colors and fonts in foobar2000 Preferences > DefaultUI or ColumsUI
 * Some minor settings can be changed in window Properties (right click on a playlist item > Settings...), use it carefully! main settings are now built in the panel with a graphic interface
 * Left click on a column header to sort the playlist on this field
 * Right click on the columns toolbar to edit Columns and Groups layout and features
 * Use Keyboard for searching artist in the playlist (incremental search feature like in ELPlaylist) or to navigate in playlist
 * Right Click on items for contextual menu for the selection
 * TAB key or Middle Click to toggle the Playlist Manager
 * CTRL+T to toggle the columns toolbar
 * CTRL+I to toggle the top Info panel
 * Hold CTRL + Mouse Wheel to scale elements (useful for 'retina' screens)
 * F2 key to rename active playlist in playlist manager panel
 * F5 key to refresh covers
 * Special fields handled in columns TF: %list_index%, %list_total%, %isplaying%
 * Special TF function to set specific color for the text that follows it: $rgb(r,g,b) with r,g,b as decimal values [0;255]
    do not use $rgb(,r,g,b) in a test condition compare but always for the result part (then or else):
    ==> this don't work: $if($rgb(0,0,0)%title%,%title%,,)
    ==> but this does: $if(%title%,$rgb(0,0,0)%title%,,)
 * Playlist Filter Group patterns: Set a group by pattern to a playlist thru Groups settings tab or by right clicking playlist manager item
 * ... etc

feedback is always very welcome, :+fav: too, so i count on you! :)


Add a Comment:
Jorchking Featured By Owner Nov 4, 2016
I'm too noob installing this, can someone do a video tutorial or a detailed installation guide?
taurhel Featured By Owner Jul 5, 2016
Hi! I'm trying to configure flat playlist.
I want to disable grouping but after adding Cover column the overall look becomes strange. It displays cover for each track individually and not for the album once. Is it possible to combine cover images?
It is a very good playlist script. Thank you!
2tec Featured By Owner Apr 28, 2016
Awesome, thank you!
alibalicou Featured By Owner Jan 29, 2016
It work really fine.
Thanks for this good script.

(One "standard" and missing feature is the ability to reorder tracks by drag'N'drop.)
Br3tt Featured By Owner Jan 30, 2016  Hobbyist Interface Designer
"ability to reorder tracks by drag'N'drop."

it does
Haitime Featured By Owner Edited Jan 22, 2016
Two quick questions, if you have a spare moment:

- Is it possible to set a JSPlaylist panel to always follow the Now Playing playlist (aka Selection (playing)), or any other specific playlist? One would make an excellent Now Playing panel, and would replace what I'm currently using.

- Is there a way to configure the find-as-you-type search to find tracks rather than artist names? Since there isn't a regular find function it would be super useful.

Thanks for the superb UI Sparkles of ultimate happiness 
Misdelivered Featured By Owner Jan 16, 2016  Hobbyist General Artist
Can you please tell me how to assign middle click to 'add to queue'? :) Thanks
Misdelivered Featured By Owner Edited Jan 17, 2016  Hobbyist General Artist
Welp and please - I have a buttons panel with things like 'find album art'/'item properties' but the buttons don't work with this playlist for some reason. It's like JS doesn't let foobar know which items are currently selected, is there a workaround for this?

// I think this is fixed by changing buttons from active selection to current playlist selection, nvm.
jesseowc Featured By Owner Dec 4, 2015
I am so impressed by this script!
Thank you!
Starfoxfs Featured By Owner Nov 29, 2015
After paste the code to WSH Panel my Screen is blank what´s wrong ?

I go to Layout Editing Mode, Replace UI Element, Select WSH Panel, Select Tools and Imported Script.
Br3tt Featured By Owner Nov 29, 2015  Hobbyist Interface Designer
maybe wsh_br3tt folder not placed in the right place !? read installation notes again and check it
Starfoxfs Featured By Owner Edited Nov 29, 2015

i have portable Version of Foobar 1.3.9 installed.

At Perferences i disabled Safe_mode at WSH Panel Mod.

I placed the folder wsh_br3tt to Foobar directory and imported the jsplaylist main.txt to WSH Panel Mod.

Are this correct ?

After this it works but i have no color´s or images all White and Text are black.
PhenixMightheart Featured By Owner Nov 27, 2015  Hobbyist Photographer
Can u plz give me your foobar folder plz i know you cant do that and i already know the answer but plzz 
Fizbin69 Featured By Owner Edited Oct 17, 2015
If anyone wants to change the color of the Rating stars (I find yellow to be very obnoxious :) ) open the WSHplaylist.js file and goto line 252.


this.rating_color = ratingArray[1];

With: (for example)

this.rating_color = RGBA(0,0,255,255);

The last value controls the brightness.
Punkpkin Featured By Owner Oct 23, 2015
Fizbin69 Featured By Owner Oct 13, 2015
The Title column seems to be joined at the hip to the column to the left of it.  I'd like to get Title in the middle with the numbers further off to the left. Is there a way to do that without sandwiching them between another column?
Fizbin69 Featured By Owner Edited Oct 16, 2015
I guess what I can do is put the state column between the Title and Numbers. Seems to work ok.
Misdelivered Featured By Owner Jan 17, 2016  Hobbyist General Artist
some nice fixes thanks man
BlastDesign Featured By Owner Oct 9, 2015
Anyway to change font and make it list by album instead of album artist?
Br3tt Featured By Owner Oct 10, 2015  Hobbyist Interface Designer
in settings of the panel you can change everything, group order pattern (titleformatting) sort order, playlist filter ....
for the font, go to foobar2000 Preferences...
Punkpkin Featured By Owner Oct 4, 2015
wow this is really good improved a lot since i last used it love the playlist tab feature!!! only one question how can i display 10 stars for ratings?
Br3tt Featured By Owner Oct 4, 2015  Hobbyist Interface Designer
thanks. only 5 stars are supported, if you want more, you'll have to edit the script to make it as you wish.
Fizbin69 Featured By Owner Sep 28, 2015
Greetings! I love your script, it works great with Darkone V4. I was wondering if there is any way to change the brightness of the little cover-art 'thumbnail' images.

For example, Darkone's Cover Panel script has a line: var g_fade = 255. I lowered the brightness by changing it to 220. I was wondering if your script has something similar to that.

Fizbin69 Featured By Owner Edited Oct 13, 2015
To answer my own question... (And for those who have sensitive eyes like me and want darker cover images)

In the WSHPlaylist.js file, goto line 555 and add: var g_fade = xxx; (xxx being a number between 0 to 255...I set mine to 220). This line is blank so it's easy to add this in.

Then in line 562, you replace the existing line with this:

gr.DrawImage(this.cover_img, cv_x, cv_y, cv_w, cv_h, 0, 0, this.cover_img.Width, this.cover_img.Height, 0, Math.abs(g_fade));

Then goto line 754 and apply the same changes there.

Honestly, I don't know how this works. It doesn't even have to be assigned g_fade. You can make it e_gade and it still works.  Maybe this only works within Darkone? Not sure.


If you want to change the color of the border around the cover image, goto line 564 and change RGB(255,255,255) to whatever. If you don't want a border, just put 0,0,0.
F1ubu Featured By Owner Sep 26, 2015
Need Help :|

Error: WSH Panel Mod (JSPlaylist v1.3.2 by Br3tt aka Falstaff >> Microsoft JScript - błąd czasu wykonywania:
Serwer automatyzacji nie może utworzyć obiektu.
File: C:\Users\F1uBu\AppData\Roaming\foobar2000\wsh_br3tt\jsplaylist\js\WSHinputbox.js
Ln: 5, Col: 1
Br3tt Featured By Owner Sep 26, 2015  Hobbyist Interface Designer
does default WSH Panel Mod script(s) works ?
F1ubu Featured By Owner Sep 27, 2015

Components loaded in: 0:00.034754
No main configuration file found.
No theme file found.
Configuration read in: 0:00.001299
Watching: C:\Users\F1uBu\Music
Watching: C:\Users\Public\Music
User Interface initialized in: 0:00.035298
Startup time : 0:00.200042
Watching: C:\Users\F1uBu\Music
Watching: C:\Users\Public\Music
WSH Panel Mod ({DBEABB4E-15D7-4DD4-99AE-346EEC97DA1F}): initialized in 43 ms
Br3tt Featured By Owner Sep 27, 2015  Hobbyist Interface Designer
it seems your system do not support activeX components or something like that. Can't help you more than google will. Sorry.
F1ubu Featured By Owner Sep 27, 2015
OK Thanks.
emdblues Featured By Owner Aug 17, 2015  Hobbyist Photographer
hi brett. I did everything like in that yt link that u posted and I get this message every time:
Scripting Engine Initialization Failed (JSPlaylist v1.3.2 by Br3tt aka Falstaff >>, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).

what should I do?
Br3tt Featured By Owner Aug 17, 2015  Hobbyist Interface Designer
Check the console for more information (menu View > Console)
and report me the console lines that explain the error encountered, with the number line in error.
emdblues Featured By Owner Aug 18, 2015  Hobbyist Photographer
Br3tt Featured By Owner Aug 19, 2015  Hobbyist Interface Designer
yes, can't you read it and fix the Errors ? it seems thaht all the .js files searched in "C:\Users\dino\AppData\Roaming\foobar2000\wsh_br3tt\jsplaylist\js\" are missing, maybe you haven't extract the wsh_br3tt folder in the user profile for foobar2000 as it should ? check that point, read again installation notes and if you don't understand this point, i can't help anymore, but you will get it, i'm sure ;-)
emdblues Featured By Owner Edited Aug 28, 2015  Hobbyist Photographer
I did it by I thought it will immediately look like it should. :(

what should I do now? :)
Fizbin69 Featured By Owner Oct 5, 2015
I can get this same error if I have Safe Mode checked in WSH Panel Mod. Is yours unchecked?
robg82 Featured By Owner Aug 2, 2015
Hi Br3tt,
Could you please explain step 3 of the installation, about "a WSH Panel Mod instance of your foobar2000 layout"? Where do I find that? I am looking in Preferences -> Display -> Columns UI and Default User Interface.
Br3tt Featured By Owner Aug 2, 2015  Hobbyist Interface Designer
this vid may help you to understand what a WSH Panel is and how to paste the script in it, HTH
robg82 Featured By Owner Aug 8, 2015
Hey thanks! It seems to work.

The result is different though than in your screenshot. Not dark but bright. And around your design, there are still the default menu bar, buttons, spectrum and seekbar.

The album art keeps reloading as I scroll back and forth through the Media Library tab.
chimaychanga Featured By Owner Jul 26, 2015
Salut Br3tt
Can you please tell me how to organize albums in year release ?
MacOSXArgon Featured By Owner Jul 2, 2015
I can't import main script. Just nothing happens..
Jokanok Featured By Owner Jun 15, 2015
I am presently using DUITunes. Is this playlist compatible with DUITunes.
I am new to foobar. So please forgive if this is a really dumb question.
Br3tt Featured By Owner Jun 16, 2015  Hobbyist Interface Designer
you can use it but some feature like'Show ttrack in album list' will  be lost
Jokanok Featured By Owner Jun 16, 2015
Hi Br3tt

In the meantime I managed to get JSPlaylist installed within DUITunes. 
I will stick with the playlist of DUITunes because when I install JSPlaylist I loose the option of switching between the albumlist and the playlist. I will await and hope for some upgrades of DUITunes instead.
I have posted a request/question on your page regarding DUITunes. Will you look into it?
Thanks a lot for answering and please allow me to express my gratitute for developing DUITunes.
Jokanok Featured By Owner Jun 16, 2015
I managed to insert JSPlaylist into DUITunes. IMO DuiTunes is fine and does not need JSPlaylist.
Nevertheless I hope Br3tt will soon add some more features to DuiTunes. Would be really nice!!!!
Thanks a lot Br3tt for your excellent skins!!
S-ed Featured By Owner Edited Jun 7, 2015  Professional Digital Artist
Nice playlist.
Is it possible to add volume and seek bar into Information bar?
S-ed Featured By Owner Edited Jun 9, 2015  Professional Digital Artist
Bar could be like this:…

And a function to pause/resume current track playing by clicking the "state" button.
chamuco99 Featured By Owner May 29, 2015
Hi Br3tt, First, thanks for all the work you do with foobar. All your panels and skins are unbelievable! I'm really looking forward to the library browser panel, I hope it's coming along nicely.
Now a question for you or anyone who knows. With group headers set to row height 1, there seems to be a built-in display mode of %album% / %album artist%  then %date%. Is there somewhere in the script or js files that I can modify this to switch to %album artist% / %album% then %date% ? Thanks for any help.
chamuco99 Featured By Owner Jun 2, 2015
Answering my own question, it's in panel settings>groups>group header fields, just switch the scripts in the 2 'Left field' boxes. Cheers.
Add a Comment:


Submitted on
January 26, 2015
File Size
201 KB


61,081 (19 today)
92 (who?)
7,522 (1 today)