Seems to be working on soundcloud if I dumbly wrap the code in try/catch
:
Before:
if (rlsInfo.getElementsByClassName('listenContent')[0].querySelector('button.sc-button-download') !== null) {
rls.format = 'Free download [' + htmldoc.URL.tidyurl(true) + '/download]';
} else if (rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink') !== null) {
rls.format = rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink').title.trim() + ' [' + rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink').href.tidyurl() + ']';
}
After:
try {
if (rlsInfo.getElementsByClassName('listenContent')[0].querySelector('button.sc-button-download') !== null) {
rls.format = 'Free download [' + htmldoc.URL.tidyurl(true) + '/download]';
} else if (rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink') !== null) {
rls.format = rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink').title.trim() + ' [' + rlsInfo.querySelector('div.sc-button-group>a.soundActions__purchaseLink').href.tidyurl() + ']';
}
} catch(e) {}
Thank you, basically it works on Soundcloud again and does not stop at "page loading…".
But Duration, Tags and the full Description are still missing. As Tags and the Description are shown on a special page now (after clicking "Read more"), maybe this is the problem?
Sorry, I don't know, maybe someone else will inspect the script.
release:txt - the music plain text .txt/.nfo helper for discogs, beatport, mixcloud, junodownload, bandcamp & soundcloud
After recent changes the script is working again in Soundcloud, but unfortunately Mixcloud doesn't work anymore. Especially the possibility to get the tracklist if available for the corresponding mix in Mixcloud was really great.
Could someone help and make the script working for Mixcloud again?
Any help much appreciated.
pleas help! beatport not working, url redirect on https://pro.beatport.com
Now junodownload is broken also :(
Did the best I could to fix it, seems to work so far. Replace from line:
// collect tracklist information from items in div id='product_tracklist'
With:
// collect tracklist information from items in div id='product_tracklist'
// note: loop stops at .length - 1 as we skip the last non-track 'Entire Release:' shopping line in the tracklist list
trackrows = htmldoc.getElementById('product_tracklist').getElementsByClassName('product_tracklist_records');
trackrows = htmldoc.querySelectorAll('tbody[itemprop=tracks]>tr');
for (t = 0; t < trackrows.length - 1; t += 1) {
trk = new Track();
trk.number = trackrows[t].getElementsByClassName('col-title')[0].textContent.tidyline();
if (trk.number.split('. ').length > 1) {
trk.title = trk.number.split('. ')[1];
trk.number = trk.number.split('. ')[0];
}
if (trk.title.split(' - ').length > 1) {
// compilation: .title 'artist - title' => .artist & .title
trk.artist = trk.title.split(' - ')[0];
trk.title = trk.title.split(' - ')[1];
}
trk.bpm = trackrows[t].getElementsByClassName('col-bpm')[0].textContent.tidyline();
trk.time = trackrows[t].getElementsByClassName('col-length')[0].textContent.tidyline();
rls.tracklist.push(trk);
}
junodownload again is broken
Fixed again.
Replace:
trackrows = htmldoc.querySelectorAll('tbody[itemprop=tracks]>tr');
With:
trackrows = htmldoc.querySelectorAll('tbody[ua_location=tracklist]>tr');
pleas fix discogs.com
release:txt - Reupload of script
Reupload of script from defunct userscript.org.
http://userscripts-mirror.org/scripts/show/156420
The userscripts.org version doesn't list any license, but I don't know how to contact the author DMBoxer. The last version is 2014.06.06.
It doesn't work for Soundcloud after last changes there and needs to be updated.
There is no comparable script as "the music plain text .txt/.nfo helper" around. At userscripts-mirror.org is a good documentation what this script does.