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: [Not my release] Biography view (Read 490880 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[Not my release] Biography view

Reply #450
I don't know if this is possible and I can't find a way to do this but is there a way to put 2 panels at once? I mean, I'd like to have 2 biography panels, one showing biography of the artist, and the other one to show the biography of the album artist.

Too bad the panel use only one central server preferences, or else my idea would have worked easily.

[Not my release] Biography view

Reply #451
i've made a script for WSH panel mod that pulls the same biography info from last.fm. it supports per panel field remapping. you need a last.fm account to use it though.

http://dl.dropbox.com/u/22801321/samples.zip

the script you need to import is named simple biography.txt. read the instructions carefully.

[Not my release] Biography view

Reply #452
i've made a script for WSH panel mod that pulls the same biography info from last.fm. it supports per panel field remapping. you need a last.fm account to use it though.

http://dl.dropbox.com/u/22801321/samples.zip

the script you need to import is named simple biography.txt. read the instructions carefully.


Thanks a lot marc. Like what I thought, it is possible with WSH. Thanks a lot for this.

[Not my release] Biography view

Reply #453
I have given up on creating a script for GameFAQs to pull reviews from. I'm simply trying to get a text file in an albums folder to be recognized and displayed. Thought this would be easy  I don't know the specific commands necessary to make this happen so any help would be greatly appreciated. I've tried: display $replace(%path%,%filename_ext%,)review.txt and numerous other things.

Thanks

[Not my release] Biography view

Reply #454
Anyone (Marc?!)  still working on a WSHPanel or other script to pull an artist's discography from somewhere? It would really fit in nicely between bio & similar artist panels...

i've made a script for WSH panel mod that pulls the same biography info from last.fm. it supports per panel field remapping. you need a last.fm account to use it though.

http://dl.dropbox.com/u/22801321/samples.zip



[Not my release] Biography view

Reply #455
Here is one example vbscript to pull discography from musicbrainz: view - http://db.tt/UPL0tNs9 or download - http://db.tt/cJeIBXMV

Script expects artist name or musicbrainz artistid (if user has that tag) as argument

If anyone is interested, getReleases() function outputs array object with dictionaries representing each release, where keys can have this possible values: http://wiki.musicbrainz.org/WebServiceSearch#Search_Fields_3 and dictionary items hold according values for each release. Only some of the keys are usually present and script by default outputs: "date" "country" "title", i.e.:

Code: [Select]
> cscript //Nologo mb_discography.vbs "Vidna Obmana"

                Terrace of Memories
1991    BE      Passage in Beauty
1993    AU      Echoing Delight
1993    IT      Revealed by Composed Nature
1993    US      Ending Mirage
1994    AU      The Spiritual Bonding
1994    US      Memories Compiled 1
1994    US      Still Fragments
1995    IT      [Syrenia]
1995    US      Twilight of Perception
1996    US      Shadowing in Sorrow
1996    US      The River of Appearance
1998    US      Crossing the Trail
1998    US      Memories Compiled 1
1999    CA      True Stories
1999    SE      The Shape of Solitude
1999    SE      Variations for Organ, Keyboard and Processors
1999    US      Landscape in Obscurity
1999    US      Memories Compiled 2
1999    US      Motives for Recycling
2000    IT      Echo Passage
2000    US      The Contemporary Nocturne
2000    US      The Surreal Sanctuary
2001    US      Soundtrack for the Aquarium
2001    US      Subterranean Collective
2001    US      Tremor
2002    US      An Opera for Four Fusion Works (Act One: Echoes of Steel)
2002    US      Deep Unknown
2002    US      The Shifts Recyclings
2003    AT      Tracers
2003    US      Spore
2004    US      An Opera for Four Fusion Works (Act Two: Phrasing the Air)
2004    US      Anthology 1984-2004
2004    US      Legacy
2005    US      Noise/Drone Anthology 1984-1989
2006    DE      Greed
2006    US      An Opera for Four Fusion Works (Act Three: Reflection on Scale)
2006    US      The River of Appearance
2007    US      An Opera for Four Fusion Works (Act Four: The Bowing Harmony)

This patterns (script output) can be easily customized. There are two output function, default - OutputNET() which uses .NET library (mscorlib) to sort the output in ascending order, and Output() which doesn't need .NET library but also doesn't sort the output. Which output function is in use can be set at line 16, and cutom pattern accordingly that function

[Not my release] Biography view

Reply #456
brilliant stuff! romor

What would be the possibility of using discogs as a source instead of musicbrainz?


edit: also I'm not sure what I'm doing wrong but I can't seem to get the script to work. Do I just enter the path to the script in the command line section of the biography settings (and add it) ?

[Not my release] Biography view

Reply #457
Possibility would be very low, sorry
I wanted to give example. Maybe MB wasn't the greatest choice, but it's there

You should take care of script path or just put it in foobar folder

[Not my release] Biography view

Reply #458
The allmusc script generously provided by Romor in post #428 seems to have stopped working, and I noticed the allmusic website has been redesigned.  Using what little skill I have, it seems the search structure still works, but the results presented by the website seem to have changed enough to require a tweak to the regex pattern or match detection and thus can't pull the bio and review text.

And since my parents always taught me to never play with matches  , any help in tweaking this script is appreciated.

[Not my release] Biography view

Reply #459
Thanks godrick

Script updated (same link: post #428) or more correctly replaced by totally different one

Code: [Select]
Usage: cscript //nologo foo_allmusic.vbs ""%album artist%"" ""%album%"" [review | bio]

It's 6x smaller, no more regex, no more track review
Worth noting is that third argument (review or bio) is mandatory

I tested it little, and please report issues, but I won't extend it for very special cases:
Simple is better than complex. Complex is better than complicated.

[Not my release] Biography view

Reply #460
Script updated (same link: post #428) or more correctly replaced by totally different one

Code: [Select]
Usage: cscript //nologo foo_allmusic.vbs ""%album artist%"" ""%album%"" [review | bio]


I had the same problem as Godrick of the script no longer working (started the past day). I tried the updated script along with updated 'run external script' code and the only thing displayed any more is exactly that quoted code above.

using:
cscript //nologo foo_allmusic.vbs "%artist%" [bio]
&
cscript //nologo foo_allmusic.vbs "%album%" [review]

(and tried some other unsuccessful variations of that)

:|

[Not my release] Biography view

Reply #461
mjm716, if you've not yet done so, try the following

cscript //nologo foo_allmusic.vbs "%album artist%" "%album%" bio

or

cscript //nologo foo_allmusic.vbs "%album artist%" "%album%" review

Note the different use of the quotes fro the code box in the earlier post, and the lack of brackets around bio and review.  The quotes in the code box of post #461 are necessary when embedded in the actual script to correctly display the error message and suggestion you see in in the response you were getting from your computer.

Romor, the script works great - thanks very much!

[Not my release] Biography view

Reply #462
mjm716, if you've not yet done so, try the following

Romor, the script works great - thanks very much!


Thanks godrick for the tip - worked fine and thanks Romor for the script - it was sorely missed the past day.

[Not my release] Biography view

Reply #463
The default behaviour of it searching for item online could use some improvement. Do enlighten me if you know the solution for these:

1) Display a string [Searching...] when fetching data from the Internet (so that user will know whether the search is ongoing). It then fall back to displaying album cover if no artist info is found.

2) Also, is there a way to disable fetching album art from the internet as I wanted to use the local cover instead. I dislike the delay when displaying the cover art as I assumed that it will always search for album art online and will only fallback to local art if no such art if found.

[Not my release] Biography view

Reply #464
mjm716, if you've not yet done so, try the following

cscript //nologo foo_allmusic.vbs "%album artist%" "%album%" bio

or

cscript //nologo foo_allmusic.vbs "%album artist%" "%album%" review

Romor, the script works great - thanks very much!


I'm using 2 separate panels to display both the artist bio in one and the album review in another.

One issue I've noticed with the above settings - when the AMG album name is wrong in the tags, the artist bio will not display.

e.g. Gato Barbieri - Chapter 2: Hasta Siempre // nothing displays, even though G.B. has a bio.

As soon as I fixed the album tag "Chapter Two: Hasta Siempre", both the review and bio display.

How do I get the bio to display even if the album is not found?

[Not my release] Biography view

Reply #465
Use the available last.fm source in the component's setup as the second listed current source (position the external script source in the first position, closest to the top of the screen).  When the allmusic source fails to find the bio, the last.fm source likely will.

[Not my release] Biography view

Reply #466
Use the available last.fm source in the component's setup as the second listed current source (position the external script source in the first position, closest to the top of the screen).  When the allmusic source fails to find the bio, the last.fm source likely will.


The AMG bio exists, it just won't display unless the %album% is also found

[Not my release] Biography view

Reply #467
To all users of Romor's latest allmusic script: any of you find that it does not work anymore?  Mine doesn't, and I've changed nothing in my setup or the script that I'm aware of.

In the event that I'm not unique in this regard, @Romor or others with scripting and related skills:

The latest allmusic script post #428 stopped working for me about a week ago.  In making generous use of echo statements, I can tell that just about everything still works:  the variables "artist_link" and "album_link" contain the right web addresses, the function "Request (url)" correctly reads these variables and grabs the entire web page and assigns the result to the variable "Request" via the code

Request = HTTP.responseText

(I echoed "Request" to the panel and it dutifully displays the entire source of the right web page)

What I can't tell is if the 3rd line and 4th lines of code below still work, and I know the 6th line results in variable "rev" being blank instead of containing the actual bio or review text from the web page.  "ARG(2)" is either "bio" or "review" per the script call, and echoing tells me these were passed to the script successfully.

If album_link <> "" Then
    If ARG(2) = "review" Then
      HTM.write Request(album_link)
    Else HTM.write Request(artist_link) End If
  Else WScript.Quit() End If
  Set rev = HTM.getElementById(ARG(2))
  If Not rev Is Nothing Then
     WScript.Echo rev.childnodes.item(1).innerText & vbCrLf & vbCrLf & Replace(rev.firstchild.innerText, vbCrLf, " ")
  End If
End If

In looking at the source for an example web page of a band from my youth http://www.allmusic.com/artist/talking-heads-mn0000131650 I can see that it contains the element <div id="bio">, and the corresponding web page for an album contains <div id="review">, so my crude conclusion is that the existing script should be able to find these elements and echo them, but from echo statments I inserted "rev" is evaluated as "Nothing" by the script.  I also uninstalled the panel and component and deleted its cfg file before reinstalling and tried all character code combos in the script call to see if any corruption or other weirdness was in play, with no effect.

It's possible that allmusic altered their site again, but I can't find what's changed, if anything.  Any enlightenment or suggestions to try are appreciated!

[Not my release] Biography view

Reply #468
To all users of Romor's latest allmusic script: any of you find that it does not work anymore?  Mine doesn't, and I've changed nothing in my setup or the script that I'm aware of.

Other than the logic issue (script checks for albums before artist therefore never returns artist bio if album title not found), it is still working fine for me - is your fb still pulling/pushing any other panel sources (lastfm etc?)

[Not my release] Biography view

Reply #469
@godrick: works here too, try redownloading

@mjm716: Checking just for artist name match is not enough to assure that we got right artist, because of possible different spellings, similar artist names and duplicate artist names - it was discussed before. However there was unnecessarily double checking for album name which I corrected and script is available at the same link. Album, again has to be in allmusic discography for the particular artist, but album name isn't matched with vbscript but that's left to allmusic NLP result, as it sould have been done in the first place.

[Not my release] Biography view

Reply #470
Redownloading did it!  My script was apparently corrupted in a manner not visually evident.  Since it just happened again and going back to a pristine copy fixed it again, I need to rethink my tweaking approach - I use Notepad as an editor and tweak the script while foobar2000 is running, and try a new or revised script by playing a different album to trigger the script.  That worked....until it didn't.  I'll try tweaking scripts when foobar2000 is not running going forward.

More interestingly, what I was experimenting with:

I have quite a few jazz and classical albums for which allmusic will associate with multiple artists.  I pass my album artist and album tag fields to the script to retrieve the bio and review.  The script looks for that artist on the allmusic album search result webpage.  If that artist is in the search result for dl-tagged elements, the script always finds the right album and assigns the album_link variable to the right album.  Everything is perfect so far.

But the script then assigns the artist_link variable to the first artist link it encounters under that album, even if that artist is not the artist that I passed to the script and for whom I want a bio.

For example, I have Charlie Haden as my album artist for the the album "Alone Together", which returns the search result of http://www.allmusic.com/search/albums/alone+together Note that Charlie is listed second in the html source per the relevant extract from the search result:

Code: [Select]
 <dl class="info small">
                            <dd class="artist secondary_link">
                                    <a href="http://www.allmusic.com/artist/brad-mehldau-mn0000934305">Brad Mehldau</a> / <a href="http://www.allmusic.com/artist/charlie-haden-mn0000211483">Charlie Haden</a> / <a href="http://www.allmusic.com/artist/lee-konitz-mn0000227776">Lee Konitz</a>

The script currently returns the bio of Brad Mehldau because Brad is listed first and the script command returns the first child result:

artist_link = i.firstchild.firstchild.getAttribute("href")

Given that, and since each artist link has the artist name as a label on its link, I tried to tweak this line to grab the link associated with the artist that I passed to the script instead of just grabbing the first position.  So I need the script to find the href associated with ARG(0) and assign that link to artist_link.  But my knowledge of how to use getAttribute is very slight and insufficient.  Any suggestions appreciated as always.

[Not my release] Biography view

Reply #471
I'm not sure what to do here. I quickly searched allmusic with some of my albums with multiple artists but couldn't get allmusic to branch artists. I'll try later today and see if I'll update the script.

In any case you can make this special case work for you, by changing line 13:
Code: [Select]
artist_link = i.firstchild.firstchild.getAttribute("href")

with iterator like this:
Code: [Select]
For Each ii In i.firstchild.children
    If Match(ARG(0), ii.innertext) Then artist_link = ii.href End If
Next

[Not my release] Biography view

Reply #472
@mjm716: Checking just for artist name match is not enough to assure that we got right artist, because of possible different spellings, similar artist names and duplicate artist names - it was discussed before. However there was unnecessarily double checking for album name which I corrected and script is available at the same link. Album, again has to be in allmusic discography for the particular artist, but album name isn't matched with vbscript but that's left to allmusic NLP result, as it sould have been done in the first place.

What about V/A compilations - never seems to find any? is there a special call for 'various' I should try?


 

[Not my release] Biography view

Reply #473
At least for me, the existing script will grab reviews for albums attributed on the allmusic site to "Various Artists", if the album has a review on allmusic.  You say "never seems to find any", making me wonder if you've actually checked to see if the site actually has the album, has an artist attribution of "Various Artists", and has a review.  When the script fails to respond as you expect, you need to check that first.  If it's there, then check to see if you are passing the correct tag fields to the script and that the tag fields have exactly what allmusic expects.  If that looks OK and you still can't get the panel to display as you expect, try other albums for which you recall having success in seeing reviews.  If those aren't appearing, I'd exit and restart foobar2000, and if that doesn't work reboot your computer and try again.  I previously thought I was corrupting my scripts by editting them, but that was not the case - for reasons I can't explain the panel and scripts stop working properly and rebooting is the only thing that works for me and always works.

If you're convinced what you want is actually at allmusic, and you've checked that you're sending the right information to the script and that your panel is fully functioning, then it's time to look at the html source page for the search result returned by allmusic (it's easy to run the search yourself in your browser using the format in the beginning of the script) and see if you can find anything different about the page that the script is not anticipating.  This last step is the one where I still have much to learn, but I've learned a fair amount with the generous help of Romor and others here.

[Not my release] Biography view

Reply #474
At least for me, the existing script will grab reviews for albums attributed on the allmusic site to "Various Artists", if the album has a review on allmusic.  You say "never seems to find any", making me wonder if you've actually checked to see if the site actually has the album, has an artist attribution of "Various Artists", and has a review.  When the script fails to respond as you expect, you need to check that first.  If it's there, then check to see if you are passing the correct tag fields to the script and that the tag fields have exactly what allmusic expects.  If that looks OK and you still can't get the panel to display as you expect, try other albums for which you recall having success in seeing reviews.  If those aren't appearing, I'd exit and restart foobar2000, and if that doesn't work reboot your computer and try again.  I previously thought I was corrupting my scripts by editting them, but that was not the case - for reasons I can't explain the panel and scripts stop working properly and rebooting is the only thing that works for me and always works.

If you're convinced what you want is actually at allmusic, and you've checked that you're sending the right information to the script and that your panel is fully functioning, then it's time to look at the html source page for the search result returned by allmusic (it's easy to run the search yourself in your browser using the format in the beginning of the script) and see if you can find anything different about the page that the script is not anticipating.  This last step is the one where I still have much to learn, but I've learned a fair amount with the generous help of Romor and others here.

First off, I think the script is great - it's only that I'm so addicted to getting that info now, that I want it to work for *all* my albums!

I have tried all of your recommendations, but it never seems to get *existing* V/A compilation reviews for me.

For example, when I run the script from a cmd prompt:

http://www.allmusic.com/album/no-age-sst-mw0000194617
foo_allmusic.vbs "Various Artists" "No Age [SST]" review
(& without the [SST])
or
http://www.allmusic.com/album/fabric-55-mw0002085736
foo_allmusic.vbs "Various Artists" "Fabric 55" review

I get line 13/char 7 error "object doesn't support this property or method: 'i.firstchild.firstchild.getAttribute' (vbs runtime error) in instance 1 and no result in instance 2.

However running the script for normal artists/albums seems to work fine.