BandcampEnhancementSuite icon indicating copy to clipboard operation
BandcampEnhancementSuite copied to clipboard

Enable keyboard support on preview windows

Open sabjorn opened this issue 4 years ago • 5 comments

Doing this will likely mean moving away from the IFrame currently used and creating a background service which loads the desired player page, modifies it, and then serves it to the user.

sabjorn avatar Nov 06 '20 19:11 sabjorn

I see that this is an older issue but will add: If this ever happens, would be great to see additional keyboard support so users can navigate between releases as well as through tracks in each preview window. I love the ability to quickly scan through an album and jump through each track, so the hope would be to bring that intuitive flow to the label/release level.

rainmaker avatar Feb 23 '22 22:02 rainmaker

@rainmaker I had not thought about the ability to navigate between releases!!! This is very interesting.

so, what I will say is: I am planning on making a "crates" feature which may (sort of) bypass the need for keyboard navigation in this way. The "crates" will basically be playlists and I expect to be able to make it so on a label's release page you will be able to automatically load all the tracks into a playlist (and navigate with keyboard).

I'm hoping to make the "crates" nestable (I will call a nested "crate" a "sub-crate" for clarity) . And so, to meet the workflow of being able to navigate a whole label's release page with keyboard, it seems like it would be best that each release from a label ends up as a "sub-crate" and that the new player will allow for navigating "sub-crates" through keyboard.

yay or nay?

sabjorn avatar Feb 23 '22 22:02 sabjorn

Hi @sabjorn ! Interesting question, thanks for your reply.

So yeah, this release-navigation feature would be great for crate-digging, even though the massive playlist of individual tracks might be best for passive listening. I'm often shopping quickly on a label's page, so it's helpful for me to try a few tracks from a release, see if I like them, and then wishlist/cart the release if so. Otherwise, I might skip to the next release without listening to the rest of the tracks in the first one.

I'm curious to learn more about the crate concept. Is this a way for users to build playlists, bypassing Bandcamp's lack of organization beyond the cart/wishlist? And if a crate is just a set of tracks that your player can play, I can see how a label page could also be represented as a crate, with sub-crates representing the releases. Is this what you're thinking of?

Given a player that can play crates or subcrates, I think it would work well for my use-case to represent releases as sub-crates. And if you don't end up making crates nestable, the player could also load each release one at a time as a separate top-level crate, and the keyboard shortcut could load in the next release as a crate. Honestly, that might be cleaner/faster if a label has TONS of releases. You might not be able to see the tracklist for more than once release at once, but that doesn't seem like a huge issue. What do you think?

rainmaker avatar Feb 24 '22 00:02 rainmaker

@rainmaker -- I am stoked about this. It's always exciting to interact with anyone using BES (it is highly motivating)

I'm curious to learn more about the crate concept. Is this a way for users to build playlists, bypassing Bandcamp's lack of organization beyond the cart/wishlist?

yes, exactly. My current workflow is:

  1. add a track/release I like to my cart
  2. listen through all my cart and move stuff I currently don't want to buy to wishlist
  3. realize that my wishlist has nearly 1000 items and never touch the list again

so, basically, the core idea of crates is to create named spaces where you can add tracks. I've recently figured out how to add tracks to the cart automatically so it should be possible to load/unload crates into/out of the cart. (additionally: exporting/importing crates as json or yaml files and potentially some integration with BuyMusicClub)

but also, I reason, if you have these organizable lists, why not re-write the whole audio player to support crates as playlists. This solves a bunch of problems, including the fact that I can't modify the player that loads via IFrames (which is how I get the preview button to work).

the player could also load each release one at a time as a separate top-level crate

yes, this could work well. I need to prototype the crate feature to see how best to get it to work. I am also interested in having a "play next queue" so that you could just have an unlimited playing experience.

In any case, I will do my best to allow for the core workflow you've suggested. I also find that I want to navigate quickly through releases (this is actually exactly why BES started with just the "preview" button).

I will comment here to let you know how this all progresses and possibly bug you to do some play testing (if you're interested).

sabjorn avatar Feb 24 '22 01:02 sabjorn

ha, your current workflow is all too relatable. Recently I started browsing on multiple chrome profiles just to maintain separate carts so I can prep for different sets/genres simultaneously without checking out everything at once. Anyways, crates sound super useful as described, looking forward to seeing what you discover and plan for them. Would also be down to test and provide feedback 🙌

rainmaker avatar Mar 01 '22 01:03 rainmaker

@rainmaker alright, this feature is going to be available with a feature I am implementing which will basically turn label pages into a giant playlist of all tracks. So I am going to close this. Email me if you want to beta this new playlist feature.

sabjorn avatar Jan 21 '23 03:01 sabjorn