{"id":44473909,"url":"https://github.com/borbiuk/band-play","last_synced_at":"2026-02-12T22:07:00.074Z","repository":{"id":167022093,"uuid":"640905008","full_name":"borbiuk/band-play","owner":"borbiuk","description":"Multifunctional Google Chrome extension for Bandcamp and SoundCloud","archived":false,"fork":false,"pushed_at":"2026-01-20T20:11:45.000Z","size":1908,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-21T05:29:18.323Z","etag":null,"topics":["bandcamp","chrome","chrome-extension","music","react","soundcloud","tailwind"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/bandcamp-play/nooegmjcddclidfdlibmgcpaahkikmlh","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/borbiuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"borbiuk"}},"created_at":"2023-05-15T11:23:33.000Z","updated_at":"2026-01-20T20:11:50.000Z","dependencies_parsed_at":"2024-02-02T12:41:24.123Z","dependency_job_id":"ddc804fc-4fe9-44c5-ac19-a936bda783ef","html_url":"https://github.com/borbiuk/band-play","commit_stats":null,"previous_names":["borbiuk/band-play"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/borbiuk/band-play","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borbiuk%2Fband-play","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borbiuk%2Fband-play/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borbiuk%2Fband-play/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borbiuk%2Fband-play/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/borbiuk","download_url":"https://codeload.github.com/borbiuk/band-play/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borbiuk%2Fband-play/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29382949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T20:34:40.886Z","status":"ssl_error","status_checked_at":"2026-02-12T20:23:00.490Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bandcamp","chrome","chrome-extension","music","react","soundcloud","tailwind"],"created_at":"2026-02-12T22:06:58.737Z","updated_at":"2026-02-12T22:07:00.066Z","avatar_url":"https://github.com/borbiuk.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/borbiuk"],"categories":[],"sub_categories":[],"readme":"\u003cbr/\u003e\n\u003cdiv style=\"width: 100%; display: flex; flex-direction: column; align-items: center; background: linear-gradient(to right, #2b809d, #1d5669, #2b809d); padding: 20px; border-radius: 15px; margin: 10px 0;\"\u003e\n    \u003cimg src=\"./public/assets/logo.png\" alt=\"band-play logo\" style=\"height: 140px; margin-bottom: -20px; border-radius: 10px;\" /\u003e\n    \u003ch1 style=\"margin-top: 10px; margin-bottom: -8px; color: rgb(17 24 39); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\"\u003eBand Play\u003c/h1\u003e\n\u003c/div\u003e\n\nBand Play is a **Google Chrome extension** that enhances the music experience on [Bandcamp](https://bandcamp.com)\nby providing advanced playback controls, tempo adjustment, pitch preservation,\nkeyboard shortcuts, autoplay functionality, batch downloads, and other automation features for seamless music control.\n\nCheck the [Chrome Web Store](https://chrome.google.com/webstore/detail/band-play/nooegmjcddclidfdlibmgcpaahkikmlh) page\nfor more details.\n\n\u003chr/\u003e\n\n## ✨ Features\n\n### 🎵 **Playback Control**\n\n- **Advanced Speed Control**: Adjust playback speed with 3.03% increments\n- **Pitch Preservation**: Maintain audio pitch when changing speed\n- **Customizable Seek Step**: Configurable forward/backward seeking (1-120 seconds)\n- **Progress Jumping**: Quick navigation to any point in track\n\n### 🔄 **Automation**\n\n- **Autoplay**: Automatic progression through playlists and collections\n- **Autoscroll**: Auto-scroll to currently playing track\n- **Keep Awake**: Prevent system sleep during playback\n- **Smart Detection**: Automatic page type recognition\n\n### 🎛️ **Advanced Features**\n\n- **Feed Player**: Custom player interface for Bandcamp feed pages\n- **Batch Download**: Quickly select multiple purchases to download in bulk\n\n### 🎹 **Keyboard Shortcuts**\n\n| Feature               | Description                                  | Key    |\n| --------------------- | -------------------------------------------- | ------ |\n| **Play/Pause**        | Quick control to play or pause current track | ␣      |\n| **Next Track**        | Play the next track in playlist              | 🇳      |\n| **Previous Track**    | Play the previous track in playlist          | 🇧      |\n| **Track by Index**    | Play specific track by number (0-9)          | ⇧ + 🔢 |\n| **Loop Track**        | Toggle looping of current track              | ⇧ + 🇻  |\n| **Seek Forward**      | Move playback forward by step seconds \\*\\*   | ➡️     |\n| **Seek Backward**     | Move playback backward by step seconds \\*\\*  | ⬅️     |\n| **Speed Increase**    | Increase playback speed by 3.03% \\*\\*\\*      | ⬆️     |\n| **Speed Decrease**    | Decrease playback speed by 3.03% \\*\\*\\*      | ⬇️     |\n| **Reset Speed**       | Reset playback speed to normal               | ⇧ + ⬇️ |\n| **Auto Pitch Toggle** | Enable/disable pitch preservation            | 🇵      |\n| **Reset Auto Pitch**  | Reset auto pitch settings                    | ⇧ + 🇵  |\n| **Progress Control**  | Jump to specific percentage (0-90%) \\*       | 🔢     |\n| **Open in New Tab**   | Open current track in new browser tab        | 🇴      |\n| **Open with Focus**   | Open track in new tab and focus on it        | ⇧ + 🇴  |\n| **Wishlist Toggle**   | Add/remove track from wishlist               | 🇱      |\n\n1. \\* For example, pressing key `3` will set the track playback to `30%` of all duration.\n2. \\*\\* You can change a `step` value in the menu.\n3. \\*\\*\\* The same as one rotation of a vinyl per minute.\n\n\u003chr/\u003e\n\n## 📄 Supported Pages\n\n| Page Type               | Features                      | Description                                |\n| ----------------------- | ----------------------------- | ------------------------------------------ |\n| **Feed**                | All features + Feed Player    | Custom player interface with full controls |\n| **Discover**            | All features                  | Browse and play new music                  |\n| **Collection/Wishlist** | All features + Batch Download | Manage your music library                  |\n| **Album/Track**         | All features                  | Individual album and track pages           |\n\n\u003chr/\u003e\n\n## 👩‍💻 Development\n\n### 🛠️ Installation\n\n1. Open the Google Chrome browser.\n2. Navigate to `chrome://extensions/` and enable Developer Mode by toggling the switch in the top right corner.\n3. Run `npm install` in the root of repository.\n4. Run `npm run build` in the root of repository.\n5. Click on `Load unpacked` and select the `dist` directory created after previous step.\n6. The extension should now appear in your list of installed extensions and is ready to use.\n\n### 📁 **File Structure**\n\n- `public/`: Contains `manifest.json`, images and icons used by the extension.\n- `src/`:\n    - `background/background.ts`: Contains the TypeScript files for background script (single instance for Chrome).\n    - `content/`:\n        - `page-services/`: Contains services for handling different pages of site.\n        - `services/`: Contains core services.\n        - `shortcut/`: Contains keyboard shortcut handling.\n        - `content.ts`: The TypeScript file for content script (running on each site page).\n    - `downloads/`: Contains the batch download manager page.\n    - `options/`: Contains extension pop-up React component.\n    - `shared/`: Contains shared models, enums, interfaces, services and utils.\n- `webpack/`: Configuration of webpack for different type of builds.\n- `zip.sh`: A script for creating a `.zip` file with build for publishing.\n\n### 🤝 Contributing\n\nWe welcome contributions! If you would like to contribute to this project, please:\n\n1. Fork the repository.\n2. Create a new branch for your feature or fix.\n3. Commit your changes.\n4. Push the branch to your fork.\n5. Submit a pull request to the original repository.\n\nFor any issues or queries during installation or usage, refer to\nour [Issues Section](https://github.com/borbiuk/band-play/issues).\n\nYour contributions and feedback are greatly appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborbiuk%2Fband-play","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fborbiuk%2Fband-play","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborbiuk%2Fband-play/lists"}