{"id":15479598,"url":"https://github.com/osumatrix/osum-player","last_synced_at":"2025-04-22T15:13:39.661Z","repository":{"id":143054138,"uuid":"610307758","full_name":"oSumAtrIX/osum-player","owner":"oSumAtrIX","description":"A music player built in vanilla web technologies out of the need of a good music player","archived":false,"fork":false,"pushed_at":"2024-03-18T20:48:27.000Z","size":880,"stargazers_count":12,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-04-22T15:13:26.533Z","etag":null,"topics":["audio","css","html","javascript","music-player","web"],"latest_commit_sha":null,"homepage":"https://music.osumatrix.me","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oSumAtrIX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-03-06T14:10:50.000Z","updated_at":"2024-08-02T18:19:52.000Z","dependencies_parsed_at":"2023-12-13T22:28:50.227Z","dependency_job_id":"2e354d41-3a0e-4d22-bd72-3532ec5e0a25","html_url":"https://github.com/oSumAtrIX/osum-player","commit_stats":{"total_commits":109,"total_committers":2,"mean_commits":54.5,"dds":0.00917431192660545,"last_synced_commit":"98f8b76c7227e697513e62f151b18585b115d67b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oSumAtrIX%2Fosum-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oSumAtrIX%2Fosum-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oSumAtrIX%2Fosum-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oSumAtrIX%2Fosum-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oSumAtrIX","download_url":"https://codeload.github.com/oSumAtrIX/osum-player/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250264913,"owners_count":21402004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["audio","css","html","javascript","music-player","web"],"created_at":"2024-10-02T04:22:02.410Z","updated_at":"2025-04-22T15:13:39.644Z","avatar_url":"https://github.com/oSumAtrIX.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# osum!player - A music player for the web\n\nA music player built in vanilla web technologies out of the need of a good music player.\n\n## 🔬 Demo\n\nVisit [music.osumatrix.me](https://music.osumatrix.me/) for a demo!\n\n## 🖼️ Previews\n\nGet a glimpse of osum!player and it's features.\n\n### ▶️ Player\n\nIntuitive and minimalistic player with your keyboard in mind.\n\n\u003cimg src=https://user-images.githubusercontent.com/13122796/224856281-1c4513c5-f405-4f35-a504-0bb389e7f733.png\u003e\n\n### 🔍 Search\n\nEffortless instant global search.\n\n\u003cimg src=https://user-images.githubusercontent.com/13122796/224856294-fa23d28e-86d1-46a0-b754-d25c951c1a15.png\u003e\n\n### 🚩 Marker\n\nAdd marker to your favourite spots or highlights.\n\n\u003cimg src=https://user-images.githubusercontent.com/13122796/224856313-746abc8c-a93f-40fe-af3a-3827a39cb428.png\u003e\n\n### 📱 Mobile view\n\nAccess the player from any device.\n\n\u003cimg src=https://user-images.githubusercontent.com/13122796/224856336-f4d13aa2-98ce-4f69-8466-2d227916165f.png\u003e\n\n## ⭐ Features\n\n- Fast \u0026 responsive\n- Mark hot spots\n- Intuitive UX\n- Minimal design\n- Keyboard oriented\n- Autoplay, shuffle, repeat or play once\n- Global search\n- Play history\n\n## 🪛 Server setup\n\n1. Clone the repository:\n\n   ```bash\n   git clone git@github.com/oSumAtrIX/osum-player\n   cd osum-player/server\n   ```\n\n2. Install dependencies\n\n   1. Install libjpeg development package if you are on Linux\n   2. Run `npm i`\n\n3. Migrate the database:\n\n   ```bash\n   npx prisma migrate deploy\n   ```\n\n4. Configure environment variables following the example from `env.example`:\n\n5. Start the server\n\n   ```bash\n   npm start\n   ```\n\n## ⌨️ Keybinds\n\n| Shortcut     | Description                                                                                     |\n| ------------ | ----------------------------------------------------------------------------------------------- |\n| `CTRL+P`     | Rotate between play modes (Autoplay, shuffle, repeat or play once)                              |\n| `CTRL+M`     | Add marker to highlight hotspots in your songs                                                  |\n| `CTRL+C`     | Clear all markers                                                                               |\n| `CTRL+A`     | Toggle animations                                                                               |\n| `CTRL+E`     | Rotate between endpoints                                                                        |\n| `CTRL+S`     | Sort by modified date or added                                                                  |\n| `CTRL+Plus`  | Increase volume                                                                                 |\n| `CTRL+Minus` | Decrease volume                                                                                 |\n| `CTRL+R`     | Quick reload songs to update the database                                                       |\n| `CTRL+H`     | Rotate between random themes                                                                    |\n| `A-Za-z`     | Start a search                                                                                  |\n| `Escape`     | Exit search                                                                                     |\n| `Space`      | Play, pause, or start a song                                                                    |\n| `Enter`      | Start the currently selected song or search result                                              |\n| `ArrowLeft`  | Scrub backward (Hold `SHIFT` for fine and `CTRL` for rough scrubbing) or play the previous song |\n| `ArrowRight` | Scrub forward (Hold `SHIFT` for fine and `CTRL` for rough scrubbing)                            |\n| `ArrowUp`    | Select the previous song or the previous search result                                          |\n| `ArrowDown`  | Play the next song or select the next search result                                             |\n| `Home`       | Skip to the beginning of the current song                                                       |\n| `End`        | Skip to the end of the current song                                                             |\n| `PageUp`     | Play the previous song                                                                          |\n| `PageDown`   | Play the next song                                                                              |\n| `0-9`        | Seek to the corresponding time of the song                                                      |\n\n\u003e **Note**: You can use your mouse wheel on the seekbar or album cover to adjust the volume.\n\n## 🚀 Action launcher\n\nYou can use the action launcher to quickly perform actions such as playing a song, or changing and toggling settings.\nThe acton launcher can be opened anytime by typing `\u003e` everywhere or in the quick search bar.\n\n## 🚩 Marker\n\nTo add a marker, press `CTRL+M`. The marker will appear on the seekbar which can be useful to highlight or mark favourite parts.\nTo clear all markers, press `CTRL+C`. The markers will automatically show up when playing songs.\n\n## 🐔 Easter egg\n\nPlay with the album cover.\n\n## 📝 Todo\n\n- [x] Backend server\n- [x] Adjusting volume with keybinds\n- [x] Sort by newest modification date\n- [x] Marker\n- [x] Various play modes\n- [x] Rainbow seekbar (Rotate between themes)\n- [x] Last.FM integration\n- [ ] Keybinds menu\n- [ ] Playlists\n- [ ] Queues\n- [ ] Sync live changes\n- [ ] Global hotkeys\n- [ ] Add new audio files with drag \u0026 drop\n- [ ] Share links\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosumatrix%2Fosum-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosumatrix%2Fosum-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosumatrix%2Fosum-player/lists"}