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: WSH Panel Mod script discussion/help (Read 1399930 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

WSH Panel Mod script discussion/help

Reply #3375
@marc2003
I tried to to build a now playing script with with last fm play count sync button


i fixed it up for you. http://pastebin.com/EWbdwVri

with playcount sync in the panel, you can't have a choice of prefer now playing/follow selected track. it must always prefer the playing track. also take a look at what i've done to the mouse move/click functions to make them work.

i presume you're going to do more work on it? it's hard to see those icons without a contrasting background and the button positioning is a bit odd too?? 

Thanks for improvements and fixing the code @marc2003  . I'm still trying to get to the buttons positioned by relatively to the panel. Your comments in your scripts has been a great help.Still a WIP
I 'm trying to get last fm tags with autoplaylist links under track info (seperated by commas ) any thoughts on that??

WSH Panel Mod script discussion/help

Reply #3376
I use this script to receive bio from wikipedia, but i have high cpu on scroll text.


i'm not sure you ventured so far into the past find a script to modify?? IIRC, that's one of the originals that comes bundled with the component itself? you've even posted modifications of my scripts before that don't have any of the problems that one does. the main issues i see are insane CPU usage, you can't read all content because scrolling won't let you get to the end and dodgy character replacement. i might have a go and making something a bit more usable later. i must admit, i have no idea how you're getting the content. i don't understand what you've written at all. 

I 'm trying to get last fm tags with autoplaylist links under track info (seperated by commas ) any thoughts on that??


if you have the small web links function in your panel, you cannot use last.fm tags at all. the one limitation is that you can't have more than one instance of something using the same object... (actually, this isn't strictly true but it is for most of them)

small web links needs this...

Code: [Select]
var li = new list("musicbrainz", 0, 0, 0, 0);


and the last.fm script needs this...

Code: [Select]
var li = new list("lastfm", 6, 30, p.w - 12, p.h - 30);


as they both use the list function, you can only have one.

if you decided to get rid of small web links, it's a lot more work to get text values display on the same line and have mouse click functionality work. you have to consider the width of every value and append that to the previous value when displaying the 2nd, 3rd, 4th value etc.

WSH Panel Mod script discussion/help

Reply #3377
i have no idea how you're getting the content. i don't understand what you've written at all. 

Just this:

For Wikipedia:

(It goes from <p> to </html> in web page where is text.)

Code: [Select]
function get_bio() {

if (!this.xmlhttp) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
this.xmlhttp.open("GET", "http://en.wikipedia.org/wiki/" + encodeURIComponent(artist) + "", true);
this.xmlhttp.send();
this.xmlhttp.onreadystatechange = function() {
if (this.xmlhttp.readyState == 4) {
if (this.xmlhttp.status == 200) {
var text = this.xmlhttp.responsetext;
if (!this.doc) this.doc = new ActiveXObject("htmlfile");
this.doc.open();
var div = this.doc.createElement("div");
div.innerHTML = text;
var data = div.getElementsByTagName("a");
var urls = [];
for (i = 0; i < 1; i++) {
if (data[i]);


var st = text.indexOf( data[i].className);
var str = "<p>";
st = text.indexOf(str, st) + str.length;
var et = text.indexOf("</html>", st);
var artt = text.substr(st, et - st);
var ar = artt;

var ar = ar.replace(/<\/?[^>]+(>|$)/g, "").replace(/\n/g, "<br>").replace(/<BR>/g,"\n").replace(/&amp;/g,"&");

//Func. to save text
//fb.trace("bio: " + ar);
//{save_file(ar);};
}

this.doc.close();

} else {
fb.trace("HTTP error: " + this.xmlhttp.status);
}}}}


And for Last.fm:

(It goes from id=''wiki''> to </div> in web page)

Code: [Select]
function get_bio() {

if (!this.xmlhttp) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
this.xmlhttp.open("GET", "http://www.last.fm/music/" + encodeURIComponent(artist) + "/+wiki", true);
this.xmlhttp.send();
this.xmlhttp.onreadystatechange = function() {
if (this.xmlhttp.readyState == 4) {
if (this.xmlhttp.status == 200) {
var text = this.xmlhttp.responsetext;
if (!this.doc) this.doc = new ActiveXObject("htmlfile");
this.doc.open();
var div = this.doc.createElement("div");
div.innerHTML = text;
var data = div.getElementsByTagName("a");
var urls = [];
for (i = 0; i < 1; i++) {
if (data[i].id.indexOf("about:/wiki/") == 0);


var st = text.indexOf( data[i].id.replace("about:/wiki/", ""));
var str = "id=\"wiki\">";
st = text.indexOf(str, st) + str.length;
var et = text.indexOf("</div>", st);
var artt = text.substr(st, et - st);
var ar = artt;

var ar = ar.replace(/<\/?[^>]+(>|$)/g, "").replace(/\n/g, "<br>").replace(/<BR>/g,"\n").replace(/&amp;/g,"&").replace(/<br>/g,"---");

//Func. to save text
//fb.trace("bio: " + ar);
//{save_file(ar);};
}

this.doc.close();

} else {
fb.trace("HTTP error: " + this.xmlhttp.status);
}}}}


Very useful because this can be used for other sites too..
Problem is insane CPU usage on scroll, because this old script i modified cause this.
You can use this part for your bio script, and should work fine..

WSH Panel Mod script discussion/help

Reply #3378
Works great. Thanks!
I noticed that the retrieved text is being displayed in the foobar console. Can that be stopped?

Yes.
Here is new script:

Code: [Select]
// ==PREPROCESSOR==
// @name "Biography Text"
// @author "Mire777"
// ==/PREPROCESSOR==

DT_CENTER = 0x00000001;
DT_VCENTER = 0x00000004;
DT_WORDBREAK = 0x00000010;
DT_CALCRECT = 0x00000400;
DT_NOPREFIX = 0x00000800;
DT_END_ELLIPSIS = 0x00008000;

ColorTypeCUI = {
text: 0,
selection_text: 1,
inactive_selection_text: 2,
background: 3,
selection_background: 4,
inactive_selection_background: 5,
active_item_frame: 6
};

FontTypeCUI = {
items: 0,
labels: 1
};

ColorTypeDUI = {
text: 0,
background: 1,
highlight: 2,
selection: 3
};

FontTypeDUI = {
defaults: 0,
tabs: 1,
lists: 2,
playlists: 3,
statusbar: 4,
console: 5
};

function RGB(r,g,b) {
return (0xff000000|(r<<16)|(g<<8)|(b));
}

function get_font() {
if (g_instancetype == 0) {
g_font = window.GetFontCUI(FontTypeCUI.items);
} else if (g_instancetype == 1) {
g_font = window.GetFontDUI(FontTypeDUI.defaults);
}
}

function get_colors() {
if (g_instancetype == 0) {
g_textcolor = window.GetColorCUI(ColorTypeCUI.text);
g_textcolor_hl = window.GetColorCUI(ColorTypeCUI.text);
g_backcolor = window.GetColorCUI(ColorTypeCUI.background);
} else if (g_instancetype == 1) {
g_textcolor = window.GetColorDUI(ColorTypeDUI.text);
g_textcolor_hl = window.GetColorDUI(ColorTypeDUI.highlight);
g_backcolor = window.GetColorDUI(ColorTypeDUI.background);
}
}

function on_playlist_switch() {
on_item_focus_change();
}

function on_colors_changed() {
get_colors();
window.Repaint();
}

function on_font_changed() {
get_font();
window.Repaint();
}

function on_item_focus_change() {
if (g_metadb) window.UnwatchMetadb();
g_metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem();
if (g_metadb) {
try { on_metadb_changed(); } catch(e) {}
window.WatchMetadb(g_metadb);
}
}

g_instancetype = window.InstanceType;
get_font();
get_colors();


g_metadb = fb.GetFocusItem();
var artist = g_text = '';
folder = fb.ProfilePath + "wsh_lastfm";
fso = new ActiveXObject("Scripting.FileSystemObject");
WshShell = new ActiveXObject("WScript.Shell");
if(!fso.FolderExists(folder)) fso.CreateFolder(folder);
on_item_focus_change();

String.prototype.count=function(s1) {
return (this.length - this.replace(new RegExp(s1,"g"), '').length) / s1.length;
}

function get_bio() {

if (!this.xmlhttp) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
this.xmlhttp.open("GET", "http://www.last.fm/music/" + encodeURIComponent(artist) + "/+wiki", true);
this.xmlhttp.send();
this.xmlhttp.onreadystatechange = function() {
if (this.xmlhttp.readyState == 4) {
if (this.xmlhttp.status == 200) {
var text = this.xmlhttp.responsetext;
if (!this.doc) this.doc = new ActiveXObject("htmlfile");
this.doc.open();
var div = this.doc.createElement("div");
div.innerHTML = text;
var data = div.getElementsByTagName("a");
var urls = [];
for (i = 0; i < 1; i++) {
if (data[i].id.indexOf("about:/wiki/") == 0);


var st = text.indexOf( data[i].id.replace("about:/wiki/", ""));
var str = "id=\"wiki\">";
st = text.indexOf(str, st) + str.length;
var et = text.indexOf("</div>", st);
var artt = text.substr(st, et - st);
var ar = artt;

var ar = ar.replace(/<\/?[^>]+(>|$)/g, "").replace(/\n/g, "<br>").replace(/<BR>/g,"\n").replace(/&amp;/g,"&").replace(/<br>/g,"---");
//fb.trace("bio: " + ar);
{save_file(ar);};
}

this.doc.close();

} else {
fb.trace("HTTP error: " + this.xmlhttp.status);
}}}}

function save_file(x) {
try {
g_text = x;
g_text = g_text.replace(/<\/?[^>]+(>|$)/g, "").replace(/<br>/g,"---");
doc = new ActiveXObject("htmlfile");
doc.open();
div = doc.createElement("div");
div.innerHTML = g_text;
g_text = div.innerHTML;

//Check if biography exist
if (g_text.indexOf("TYPE")==0) {g_text = "This artist does not have a biography";}
else
{g_text = g_text;}

} catch(e) {
g_text = "This artist does not have a biography";
}
try {
ts = fso.OpenTextFile(filename, 2, true, -1);
ts.WriteLine(g_text);
ts.close();
} catch(e) {
g_text = "Error saving biography for this artist";
}
calc();
}

function on_size() {
ww = window.Width;
wh = window.Height;
calc();
}

function on_paint(gr) {
gr.FillSolidRect(0, 0, ww, wh, g_backcolor);
if(g_metadb) {
gr.GdiDrawText(g_text.replace(/---/g,"\n"), g_font, g_textcolor, 6, offset + 8, ww-16, wh-offset-16,DT_WORDBREAK | DT_CALCRECT | DT_NOPREFIX);
gr.FillSolidRect(-1000, -1000, ww, 38, g_backcolor);
//gr.GdiDrawText(artist, gdi.Font("Segoe UI", 16, 1), g_textcolor_hl, 6, 5, ww-77, 24,DT_END_ELLIPSIS | DT_CALCRECT | DT_NOPREFIX);
//gr.DrawLine(5, 29, ww-10, 29, 1, RGB(137,140,149));
}
}

function on_playback_new_track() {
on_item_focus_change();
}

function on_metadb_changed() {
if(!g_metadb || artist == fb.TitleFormat("%artist%").EvalWithMetadb(g_metadb)) return;
artist = fb.TitleFormat("%artist%").EvalWithMetadb(g_metadb)
filename = folder + "\\" + fb.TitleFormat("$crc32(%artist%).txt").EvalWithMetadb(g_metadb);
if(fso.fileExists(filename)) {
try {
ts = fso.OpenTextFile(filename,1, false, -1);
g_text = ts.ReadAll();
ts.close();
} catch(e) {
g_text = "Error opening file!";
}
calc();
} else {
get_bio();
}
}

function calc() {
temp_bmp = gdi.CreateImage(1, 1);
temp_gr = temp_bmp.GetGraphics();
arr = temp_gr.GdiDrawText(g_text, g_font, g_textcolor, 0, 0, ww, wh,DT_CENTER| DT_WORDBREAK | DT_VCENTER | DT_CALCRECT | DT_NOPREFIX).toArray();
textheight = arr[3] - arr[1] + (wh/2) + (g_text.count("\n") * 3);
temp_bmp.ReleaseGraphics(temp_gr);
temp_bmp.Dispose();
temp_gr = null;
temp_bmp = null;
offset = 0;
window.Repaint();
}

function on_mouse_rbtn_up(x, y) {
var MF_SEPARATOR = 0x00000800;
var MF_STRING = 0x00000000;
var _menu = window.CreatePopupMenu();
var idx;
_menu.AppendMenuItem(MF_STRING, 1, "Force update");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_STRING, 2, "Configure...");
idx = _menu.TrackPopupMenu(x, y);
if(idx == 1) get_bio();
if(idx == 2) window.ShowConfigure();
_menu.Dispose();
return true;
}

function on_mouse_wheel(delta) {
step = 50;
offset += (delta * step);
if(offset > 0 || textheight < wh) {
offset = 0;
} else {
temp = -textheight + wh-5000;
if(offset < temp) offset = Math.round(temp / step) * step;
}
window.Repaint();
}

Thanks!

WSH Panel Mod script discussion/help

Reply #3379
i just fixed a rather embarrassing bug in my new scripts - when changing the font size in scripts that display text, the number of rows wasn't recalculated. right click panel>Update script.

full download: https://dl.dropboxusercontent.com/u/2280132...sh/samples8.zip

my old scripts are fine, i just fudged up during the update. 

WSH Panel Mod script discussion/help

Reply #3380
here's a simplified now playing script to work with my new pack: https://dl.dropboxusercontent.com/u/2280132...w%20playing.txt

edit: if anyone downloaded this in the last 25 minutes, they should grab it again. i just fixed a silly bug...

because large chunks of underlying code have changed, i've had to get rid of some features...
no right click options to toggle things on/off. just edit the variables at the top of the script to false if you want.
no top/bottom option for trackinfo/rating. it's locked to the bottom.
no web links
thumbs are disabled. you can cycle through multiple images using your mouse wheel.
users of the old common7 script will need to run the migrate script in the full samples8.zip download if they want their images to show in this.

@marc2003
Thanks much for updating this script!!  I know you said you weren't going to bother but it has really helped and is much appreciated. I got used to using it over the years and somehow foobar didn't feel the same not having it has my main panel. Getting set in my ways I guess.

Although you said thumbs are disabled - the timed cycling is working for me. Which is what i use most. So added bonus! Thanks again!!

WSH Panel Mod script discussion/help

Reply #3381
@mire777, i've been messing around making a script that accesses wikipedia directly but the problem is disambiguation. so many artists/bands share names with common words or phrases and i have no idea how to narrow the search. my googling has failed me so far and i can't be bothered anymore. i'll continue with the echonest.

here's a fixed last.fm bio script though. double clicking the panel updates it instantly.

https://dl.dropboxusercontent.com/u/2280132...temp/lastfm.txt (requires latest samples8.zip)

you can always add your own wikipedia bit into the status code 200 bit of the get function and make sure you edit the filename on line 31.

Code: [Select]
t.filename = t.folder + "lastfm.txt";


only edit the bit in quotes. the folders are automatically created for you.

WSH Panel Mod script discussion/help

Reply #3382
i've updated the new now playing script with a button in the top right corner. it only appears when your mouse is over the panel and it provides an easy means to toggle things on/off.



script for existing users: https://dl.dropboxusercontent.com/u/2280132...w%20playing.txt
it's also been added to the full download: https://dl.dropboxusercontent.com/u/2280132...sh/samples8.zip

edit: oops, i bodged the upload 10 minutes ago. it's unlikely anyone has even read this let alone downloaded it but it would need downloading again if you have.

edit2: description added to website: http://marc2003.x10host.com/now-playing

WSH Panel Mod script discussion/help

Reply #3383
@mire777, i've been messing around making a script that accesses wikipedia directly but the problem is disambiguation. so many artists/bands share names with common words or phrases and i have no idea how to narrow the search. my googling has failed me so far and i can't be bothered anymore. i'll continue with the echonest.

here's a fixed last.fm bio script though. double clicking the panel updates it instantly.

https://dl.dropboxusercontent.com/u/2280132...temp/lastfm.txt (requires latest samples8.zip)

you can always add your own wikipedia bit into the status code 200 bit of the get function and make sure you edit the filename on line 31.

Code: [Select]
t.filename = t.folder + "lastfm.txt";


only edit the bit in quotes. the folders are automatically created for you.


Thanks Marc, works great.
But how to put all in one script?
Actually i don't know where in common8 to look, there are bunch of stuff
If you can help me with one script instead. Thanks.

I want to use this in my DUI config.
Then i can always modify script if something on site change, or use other source.
I already did that with Thumbs script, but if i must again to analize code, uhhhhhhh

WSH Panel Mod script discussion/help

Reply #3384
@marc2003

With common8 the new autoplaylists script crashes, for me.
Downloaded full version from yesterday's post.

[09:35:13] Error: WSH Panel Mod (Autoplaylists by marc2003): Microsoft JScript runtime error:
'b.buttons.add' is null or not an object
File: <main>
Ln: 14, Col: 2
<source text only available at compile time>


WSH Panel Mod script discussion/help

Reply #3386
i last edited that file on the 4th of november but forgot to put it inside the zip. thanks for spotting it. 

direct link to save downloading the whole zip again: https://dl.dropboxusercontent.com/u/2280132...toplaylists.txt


Where i put this text ? Because i have this message :

The script reports that the update file has not been found. It could be a temporary problem with dropbox but if this error persists then it is most likely due to support stopping for this version. Check the hydrogenaudio thread or the full zip for updates.

http://www.hydrogenaud.io/forums/index.php?showtopic=77883
https://dl.dropboxusercontent.com/u/22801321/wsh/samples.zip

 

WSH Panel Mod script discussion/help

Reply #3387
it's probably hard to follow this thread but that script only works with my latest package of samples available here: https://dl.dropboxusercontent.com/u/2280132...sh/samples8.zip

you'd need to extract the whole marc2003 folder into your profile if you want to use it.

@mire777, i'm not re-writing to a single file. the whole point of that code i gave you was so that you have full and absolute control over everything it does with regards to fetching/processing the text response without ever having to touch the common file. all that does is manage the text display and scrolling. it also handles things like letting the user use the right click menu to prefer now playing/follow selected track, set font sizes and use artist field remapping. everything else is controllable by you. you might have been put off by my code that creates the folders so we'll ignore that and i'll show you how to use any folder/filename structure you like. i'll put together a "dummies" guide later.

WSH Panel Mod script discussion/help

Reply #3388
right.... *deep breath*. here's a guide to creating a full customisable script for fetching online text and displaying it.

***PART ONE***

as mentioned before, you need my samples 8 pack: https://dl.dropboxusercontent.com/u/2280132...sh/samples8.zip

we'll start with a blank panel....

Code: [Select]
// ==PREPROCESSOR==
// @import "%fb2k_profile_path%marc2003\common8.js"
// @feature "v1.4"
// @feature "watch-metadb"
// ==/PREPROCESSOR==


you can add your own @name & @author here but do not change the rest.

next we'll add these 2 lines....

Code: [Select]
var p = new panel("My Super Script", []);
p.console("Hello world!");


click OK to close the editor.

in the foobar console, you should see something like

Code: [Select]
WSH Panel Mod ({9991F8EC-9361-42E0-9561-A6F78C5C4C5E}): Parsing file "D:\Applications\foobar2000\marc2003\common8.js"
My Super Script: Hello world!


basically the text My Super Script can be anything you want and you don't have to worry about it conflicting with anything else because it's only used for console messages and dialog inputs. you can access it with p.name. therefore p.console(message) is just short for fb.trace(p.name + ": " + message)

now if you right click the panel, you'll only find 2 options: Update script and Configure. we'll use Configure to open the editor again. remove the p.console line and we'll consider the options we can add to our panel.

first we want to decide how the panel behaves with regards to preferring the playing track or selected item. to give the user full control, we simply declare "metadb" in our first line of code...

Code: [Select]
var p = new panel("My Super Script", ["metadb"]);


click OK to close the panel, right click and you now have the following menu available.


WSH Panel Mod script discussion/help

Reply #3389
@mire777, i'm not re-writing to a single file. the whole point of that code i gave you was so that you have full and absolute control over everything it does with regards to fetching/processing the text response without ever having to touch the common file. all that does is manage the text display and scrolling. it also handles things like letting the user use the right click menu to prefer now playing/follow selected track, set font sizes and use artist field remapping. everything else is controllable by you. you might have been put off by my code that creates the folders so we'll ignore that and i'll show you how to use any folder/filename structure you like. i'll put together a "dummies" guide later.

....PART TWO will show how to display some more interesting text. tongue.gif


Ok, thanks for guide Marc

WSH Panel Mod script discussion/help

Reply #3390
i was planning to post part 2 earlier but i got waylaid updating my web pages instead. documentation for my last.fm playcount sync script is now online. a few other pages have a bit more content as well (but not much).

i've got a good chunk of it done but it's too incomplete to post yet.

WSH Panel Mod script discussion/help

Reply #3391
If I keep an old script artist pics and now playing it will download ALL images from last.fm?

I have the panel on last.fm but my last.fm plays remain at 0 when I read on foobar

In fact I like the layout of the ancient scripts, if I do not update it does not matter? I would still have the same info in such a long time in 2/3 years?

If last.fm changes its "code" I am blown?

WSH Panel Mod script discussion/help

Reply #3392
@marc2003

I guess you are busy with your website guide and customizing guides, but could you look into the possibility of using mtv's artist pages for scraping photos.
lastfm +image is really slow!!!!!!

eg. http://www.mtv.com/artists/madonna/photos/
Artists with space use - ( eg. Killswitch Engage) http://www.mtv.com/artists/killswitch-engage/photos/


The site also has bio's , news ,etc.

http://www.mtv.com/artists/madonna/biography/

WSH Panel Mod script discussion/help

Reply #3393
If last.fm changes its "code" I am blown?


yep. if you're happy with the old ones then carry on. the only difference is that i won't be supporting them if something happens to break them.

lastfm +image is really slow!!!!!!


i remember putting a notice in my script when i first made it saying it was a bit slower than i expected but actually, it's got pretty fast recently. it barely takes a second or two now.

i'm not really interested in mtv but when i post part two of my guide later, it should be easy enough for someone like mire777 to figure out.



WSH Panel Mod script discussion/help

Reply #3394
lastfm +image is really slow!!!!!!


i remember putting a notice in my script when i first made it saying it was a bit slower than i expected but actually, it's got pretty fast recently. it barely takes a second or two now.

i'm not really interested in mtv but when i post part two of my guide later, it should be easy enough for someone like mire777 to figure out.


Let me poke you with something you might find interesting.......

Music Artwork @ fanart.tv
https://fanart.tv/music-fanart/
http://docs.fanarttv.apiary.io/


HD CLEARLOGO
CLEARLOGO
BACKGROUND
CDART
ALBUM COVER
ARTIST THUMB
BANNER

Search with Musicbrainz Artist ID or release-group.
API included.
All HD Artwork / Transparent.

eg. https://fanart.tv/artist/4bd95eea-b9f6-4d70...6c-cfea77431553

WSH Panel Mod script discussion/help

Reply #3395
I guess you are busy with your website guide and customizing guides, but could you look into the possibility of using mtv's artist pages for scraping photos.
lastfm +image is really slow!!!!!!


You can scrap any photo from any website if Marc do same as it was already with Last.fm bio script.
You can then modify script how you like..
I already do this with Last.fm bio text, now i would like to do same for thumbs, and to include google and yahoo there.
So Marc , can this part ''this.download'' be moved in 2nd script?
Thanks.

WSH Panel Mod script discussion/help

Reply #3396
marc2003, one question if you're not too busy.

In Thumbs script (maybe older version), is it possible to make foobar display specific images from the custom folder? In my specific case, I'd like it to display images based on tag, so if my custom tag %dynamic range% has value of 14 for specific track, would like Thumbs script to display 14.jpg/png from custom folder. So far, my syntax combinations didn't work, displays the first image (if no Cycle) only.

Cheers.

WSH Panel Mod script discussion/help

Reply #3397
no. those scripts are designed to display all images in a given folder without caring about the filenames inside.

it would actually be easier for you to configure the main foobar preferences and look at a type you don't use like back or disc and configure that with some thing like

d:\my dr images\%dynamic range%.*

then use the normal artwork panel or my artreader script and configure it to display that type.

WSH Panel Mod script discussion/help

Reply #3398
Great idea, and it worked perfectly! Much appreciated again.

WSH Panel Mod script discussion/help

Reply #3399
I have foobar, i extract only marc2003 folder ?

After right click in script > configure > load ?

Because i see import migration scripts but i don't know what it is

My last.fm script don't move

And can't have bio




And how i can import this foobar portable installation in my normal installation ?