A multi-browser extension (Chrome, Firefox, Safari) that amplifies Bandcamp functionality with playback controls and UI improvements.
Disclaimer: This extension is not affiliated with, endorsed by, or connected to Bandcamp. It is an independent project designed to enhance the user experience on Bandcamp.
- Auto-play next song when current song ends
- Sticky inline player that stays visible as you scroll on the album page
- Progress bar for currently playing track on feed and discover pages
- Support for album, collection, feed, and discover pages
- Keyboard shortcuts for playback control:
- Space: Play/pause
- Up Arrow: Next track
- Down Arrow: Previous track
- Right Arrow: Fast forward
- Left Arrow: Rewind
- w: Wishlist
This project includes npm scripts to help with building the extension for different browsers.
- Node.js (for running build scripts)
- Xcode (for Safari extension)
- zip command-line utility (for Chrome/Firefox packages)
# Install packages
npm i
# Build for all platforms
npm run build
# Build ZIP file for Chrome/Firefox
npm run build:zip
# Build Safari extension with xcodebuild
npm run build:safariAll build artifacts will be placed in the dist directory:
dist/amp-for-bandcamp.zip- Chrome/Opera/Edge/Firefox extension packagedist/safari- Safari build output (compiled extension)
After finishing the "build" step from the above, you can now proceed to the installation step.
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in the top-right corner)
- Click "Load unpacked" and select the extension directory
- The extension should now be installed and active
- Download or clone this repository
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on..."
- Select any file in the extension directory
- The extension should now be installed and active (note: this is temporary and will be removed when Firefox is closed)
- Download or clone this repository
- Install Xcode from the Mac App Store
- Open the Xcode project:
open "safari/Amp for Bandcamp.xcodeproj" - Build and run the project in Xcode
- Enable the extension in Safari preferences:
- Safari > Settings > Extensions
- Check the box next to "Amp for Bandcamp"
The extension uses Playwright for end-to-end testing. The tests verify that the core functionality works correctly on different Bandcamp pages.
npx playwright install# Run all tests
npm test
# Run tests with interactive UI
npm run test:ui
# Run tests in debug mode
npm run test:debug