{"id":28320766,"url":"https://github.com/morphx666/diyokee","last_synced_at":"2025-09-06T04:36:29.942Z","repository":{"id":285128735,"uuid":"957131662","full_name":"morphx666/Diyokee","owner":"morphx666","description":"DJ mixing webapp with streaming support","archived":false,"fork":false,"pushed_at":"2025-07-26T23:51:47.000Z","size":12814,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-30T23:50:03.747Z","etag":null,"topics":["audio-player","blazor-application","dj-mixer","mixing-software"],"latest_commit_sha":null,"homepage":"","language":"CSS","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/morphx666.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2025-03-29T16:23:06.000Z","updated_at":"2025-07-26T23:51:51.000Z","dependencies_parsed_at":"2025-07-13T01:12:57.009Z","dependency_job_id":"ce892505-0cdd-454e-bb4f-7883c0fcdd8e","html_url":"https://github.com/morphx666/Diyokee","commit_stats":null,"previous_names":["morphx666/diyokee"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/morphx666/Diyokee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morphx666%2FDiyokee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morphx666%2FDiyokee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morphx666%2FDiyokee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morphx666%2FDiyokee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morphx666","download_url":"https://codeload.github.com/morphx666/Diyokee/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morphx666%2FDiyokee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273858845,"owners_count":25180766,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["audio-player","blazor-application","dj-mixer","mixing-software"],"created_at":"2025-05-25T11:12:30.263Z","updated_at":"2025-09-06T04:36:29.933Z","avatar_url":"https://github.com/morphx666.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diyokee\nA work in progress, DJ mixing webapp with streaming support, that runs on your browser... and before you ask, the answer is: why not?\n\n[![Watch the video](https://xfx.net/ftp/diyokee-releases/diyokee-s4.png)](https://xfx.net/ftp/diyokee-releases/diyokee-v1.mp4)\n\u003csup\u003e*the video was created using an older version than the one shown in the screenshot above\u003c/sup\u003e\n\n## App settings\n\nTo access the settings dialog, press the `Ctrl+Alt+S` key on your keyboard.  \nSome settings cannot be yet configured by the Settings dialog, but you can edit the `settings.json` file manually.\n\n## Basic usage\n\n- To load a track into a player, drag \u0026 drop the track (by dragging the artist name) or select the track and click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/eject.svg\" width=\"12\"\u003e button.\n  You can also use `Ctrl+Alt+A` or `Ctrl+Alt+B` keys on your keyboard to load a track into the A or B player, respectively.\n- Click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/play.svg\" width=\"12\"\u003e button to start playing.\n- Click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/stop.svg\" width=\"12\"\u003e button to stop playback and move to the beginning of the track.\n- Click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/down-left-and-up-right-to-center.svg\" width=\"12\"\u003e button to define a cue point. At this moment, only one cue point can be defined, and it will always snap to the nearest beat marker.\n- Click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/forward-step.svg\" width=\"12\"\u003e button to jump to the cue point. Leave the button pressed to temporarily play the track from the cue point.\n- Click the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/arrow-right-from-bracket.svg\" width=\"12\"\u003e button to sync the track to the other player\n- Use the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/volume-high.svg\" width=\"12\"\u003e fader to change the volume.\n- Use the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/music.svg\" width=\"12\"\u003e fader to change the tempo (BPM).\n- Use the Lo/Mid/Hi knobs to change the track's equalization.  \n  Right-click over the Eq control to [display a menu with several presets](http:/xfx.net/ftp/diyokee-releases/diyokee-switch-eq-profiles.mp4) from popular mixing consoles.\n- Use the fader between the two players to cross-fade between them.\n- Faders and knobs can be used by clicking and dragging or by moving the mouse over them and using the scroll wheel.\n- Use the \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/left-long.svg\" width=\"12\"\u003e and \u003cimg src=\"https://raw.githubusercontent.com/morphx666/Diyokee/refs/heads/master/wwwroot/images/readme/right-long.svg\" width=\"12\"\u003e buttons under the SYNC section to perform small tempo adjustments.\n- You can click and drag over both waveforms (synced and full) to change the playback position.\n- Search for files in the textbox at the bottom of the files list. The search is recursive.\n- Double-click a track in the files list to open the Track Properties dialog.\n  ![image](https://github.com/user-attachments/assets/fda34783-9973-49c9-8210-37f331cb5c5c)\n\n## Notable missing features\n\n- A fancy screen for remote connections to the stream\n- Searching is quite limited and a bit buggy\n- Audio routing is partially implemented but not fully usable\n- Key recognition/matching/adustments are not yet supported\n- State is not preserved, so if you refresh the page, the backend state is not reflected into the UI\n- ...and many more\n\n## Releases\n\nPlatform|Architecture|Status|Download|Release Date\n---|---|---|:---:|---\nWindows|x64|Working|[\u003cimg src=\"https://xfx.net/ftp/diyokee-releases/dlicon.png\"\u003e](https://xfx.net/ftp/diyokee-releases/diyokee-win-x64.zip)|2025-07-26\nLinux|x64|Working[^1]|[\u003cimg src=\"https://xfx.net/ftp/diyokee-releases/dlicon.png\"\u003e](https://xfx.net/ftp/diyokee-releases/diyokee-linux-x64.zip)|2025-07-26\nLinux|Arm|Working[^1]|[\u003cimg src=\"https://xfx.net/ftp/diyokee-releases/dlicon.png\"\u003e](https://xfx.net/ftp/diyokee-releases/diyokee-linux-arm64.zip)|2025-07-26\nMacOS|x64|Working[^2]|[\u003cimg src=\"https://xfx.net/ftp/diyokee-releases/dlicon.png\"\u003e](https://xfx.net/ftp/diyokee-releases/diyokee-osx-x64.zip)|2025-07-26\nMacOS|Arm|Not Tested|[\u003cimg src=\"https://xfx.net/ftp/diyokee-releases/dlicon.png\"\u003e](https://xfx.net/ftp/diyokee-releases/diyokee-osx-arm64.zip)|2025-04-03\n\n## Acknowledgments\n\nThis project wouldn't have been possible without the following:\n- [BASS](https://www.un4seen.com/bass.html) audio library\n- [AspNetCore.SassCompiler](https://github.com/koenvzeijl/AspNetCore.SassCompiler)\n- [BlazorExtensions.Canvas](https://github.com/BlazorExtensions/Canvas)\n- [Icons8](https://icons8.com/)\n- [Font Awesome](https://fontawesome.com/)\n\n![Alt](https://repobeats.axiom.co/api/embed/c2c1360a9361b0aa67fab23ec95bcf536a4421b4.svg \"Repobeats analytics image\")\n\n[^1]: File attributes may be lost when unzipping the app under Linux-like systems, including macOS.  \nUse `chmod +x` to set the executable bit on the `diyokee-server` binary.\n\n[^2]: Before running the program, open a Terminal and change to the directory where you unzipped the file (usually `~/Downloads/diyokee-osx-x64`).  \nNext, set the executable attribute on the `pre-run.sh` file: `chmod +x pre-run.sh`.  \nThen, run the script: `./pre-run.sh`.  \nNow, you can launch the app by double-clicking the `Diyokee-server` file in the Finder or by running `./Diyokee-server` in the Terminal.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorphx666%2Fdiyokee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorphx666%2Fdiyokee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorphx666%2Fdiyokee/lists"}