Hello Friends,

I was wondering if someone can create a script that would work on the popular Bandcamp site and that could help us to:

  1. Play tracks by clicking on thumbnail image of an album cover on an artist's 'Discography' page. It is very annoying that you have to open the album page and then play the tracks instead of directly playing them by clicking on the album cover (Example: https://cltilviin.bandcamp.com/music).
    On other pages, BC allows us to play the tracks directly by clicking on the album art (Ex: https://bandcamp.com/tag/dark-ambient). I would like the same functionality to also be on an artist's discography page.

  2. The player can be a standard player with seek-bar, skip to previous / next track, play / pause button & most importantly a volume slider. I believe this has already been implemented as a user-script written by others.

  3. If point 1 is implemented and if a user plays a track directly on the artist's discography page, then include a functionality to mark/flag/check a particular album after it has been played. I believe even this is already been implemented.

  4. Not sure if this is possible but if you are able to bypass the limited number of times a track is played after signing-in to BC.

  5. On the album page, include a small arrow icon (pointing down) against each track which when clicked would download that track. A main 'Download' button also can be included near the album title that would download all the tracks. Additionally, a arrow button can also be included against each album image on the 'Discography' page which can download all tracks of that album. (I am sure that downloading has been implemented earlier).

Let me know your thoughts. Thank you!

I think 1),2) would definitely be a nice thing. I am gonna investigate how difficult it is, but I believe it should be easy to implement.

  1. Is this already implemented by a userscript for album pages? If so, could you post a link to that script.

4),5) Possible, but I don't like it :)

Hi cuzi,

Thank you so much for taking your time out and looking into this request.

For point 3, I had earlier seen this post on another user script forum seen here:
https://greasyfork.org/en/scripts/38296-highlight-listened-bandcamp-albums

However, I did not try that so I cannot comment if it is working or not. Can you please take a look at it?

For point 4 & 5, I understand that you would like to support the artist and hence mentioned that you "don't like it". I respect that decision too. However, since there are many userscripts already available that are able to do this (download), thought it would be good to have all these features in one script instead of installing many.

Hope you have made some progress so far.

Thank you!

I am gonna work on this in the next few days 😊
I think I am going to do a "mark as played" button that (ideally) will work everywhere on bandcamp.com on every album cover/album link and also highlight the played albums everywhere as well.

Regarding the downloading, I have a script that offers download links for individual songs. I don't like to go further, I don't think it's fair to offer whole albums or even several albums for download with a single click. From a programming standpoint it doesn't make much sense to include it either, such a script would additionally need: downloading mp3 files, zipping the mp3 files together and offering a download option.

Regarding 4) Did you mean these "The time has come to open thy wallet" popups? You can just close them, so yeah, a script could do that as well. Or is there another limit that actually stops you from playing the song?

Oh yeah, I see the hard limit now. After several times clicking "Close" on the popup, it actually stops playing songs.
Shouldn't be hard to solve that 😏

Hi @cuzi

I tried the script and the player on the Discography page works perfectly fine.

Regarding download, as you have already a script to download individual tracks, can you also include that in this script?

Thank you so much for implementing this script.

Regards

Hello @cuzi

Wanted to share a couple of points regarding the script you have written to improve it further.

  1. I wanted to check with you if it is possible that the music plays from your built player while I am browsing through the pages of bandcamp? That is, the section that is highlighted in the screenshot below stays in it's place and continues playing the track while the user browses various pages of BC. Currently, when the audio is playing and when we click on any link, the music stops.

  2. Additionally, can you add a tiny "X" button on your player so that when clicked, your player at the bottom should close? This is also shown in the screenshot below.

Screenshot: http://prntscr.com/plewnz

  1. The scroll bar on your player is not working properly. I mean when I click on the bar or when I click on he arrow poining downwards, the tracks do not scroll. Can you please look into this.
    http://prntscr.com/pleyiu

  2. Can you include a download option on besides the existing player controls (Pause, Next Track, etc.) so that the existing track that is playing can be downloaded? See screenshot for the idea.

http://prntscr.com/plezhq

Thank you!

Regarding 2 and 4: Yes. I will probably also include my other download script (download links on the album page).

Regarding 3: I'll try to fix that. Seems to be specific to Chrome. It works for me with Firefox.

Regarding 1: I have not found a simple solution yet. In general, everything on the page is reset once you click a link, nothing I can do about that.
The only option (I can think of) might be to open a small popup window that plays the audio file. So the popup window with the audio would stay open and play the song, and then the player can be restored on the next page. It might even be possible to do this so smoothly that the popup window can be open and closed right before/after a link is clicked.
Not sure when I'll have time to try this though 😉

I uploaded a new version that (possibly) fixes the scrolling issue

Checked with the new version and the scrolling issue is fixed :)

Thank you so much for your help on this script.

New version:

  • Settings to disable individual functions
    
  • Export/backup listened albums
    
  • Download mp3 from discography player
    
  • Download mp3 from album page
    
  • Desktop notifications on song change (disabled by default)
    
  • Minimize/Close player (left click/right click on [x] symbol)
    

Hi @cuzi. Thank you for adding the features. I installed the latest version and below are the observations.

  1. I do not see the download button on your player. Instead I am seeing something like a placeholder. See this screenshot: http://prntscr.com/pozc08

  2. Clicking on the "X" icon actually minimises the player and again clicking on that restores it. Instead of the "X" icon, can you include "˅" to minimise and "˄" to restore or something similar?

  3. I don't see the 'Settings' option at all. Where can I see it?

  4. Clicking on 'Mark as Played' on the player while a track is playing displays the word 'Saving...' indefinitely. See screenshot: http://prntscr.com/pozgcx

  5. On the Discography page, I mark an album as played and later unchecked it. However, if I want to again mark it as played, I am seeing this instead (http://prntscr.com/pozhrj).

  6. I am not sure where is all the settings from the script getting saved. If I clear my browser cache, cookies, etc., will the following information be wiped out too?
    Mark as played data, volume level data, etc?

Thank you once again for taking the time out and developing this.

Regarding 6: It should not be cleared when you clear browser stuff like cache. It's stored in the Tampermonkey extension (or whatever extension you're using), so it should be relatively safe.

I just realized from your screenshot you are using an old Windows, I think that is the reason why you don't see the download button and the settings button (they are both emojis, which are probably only available on Windows 10). I'll find a solution for that.

I can't reproduce the 'Saving...' problems at the moment, but I'll try later again

Ok, thanks @cuzi for taking a look. Yes, I am indeed on a Windows 7 PC. Will wait for your updated version.

I have updated the script. The settings button should appear on any bandcamp page, in the top white bar next to the profile image and the link to feed and collection.

Yes, I'll remove the slider from pages that have no tracks.

I have updated the script a few days ago and changed some things like the settings button. Do you see a difference or is it still not showing?
Unfortunately I don't have a Windows 7 available to test it myself