Skip to content

morphx666/Diyokee

Repository files navigation

Diyokee

A work in progress DJ mixing webapp with streaming support

Watch the video

App settings

The program uses the settings defined in the settings.json file.

{
  "cert-file": "<optional path to cert file>",
  "cert-password": "<optional cert file password>",
  "bassnet-reg-email": "<optional bass registered email>",
  "bassnet-reg-key": "<optional bass registration key>",
  "webhost-url": "http[s]://[host|ip]:port",
  "encoder": {
    "enabled": true|false,
    "port": <valid port number>,
    "url": "<optional path to the stream>",
    "bitrate": <64|128|192|320>
  },
  "media-providers": [
    {
      "type": "<local is the only supported type>",
      "name": "<optional name of the provider>",
      "root-directory": "<path to the folder contaning the media files>"
    }
  ]
}

Basic usage

  • To load a track into a player, click the button.
  • Click the button to start playing.
  • Click the button to stop playback and move to the beginning of the track.
  • Click the 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.
  • Click the button to jump to the cue point. Leave the button pressed to temporarily play the track from the cue point.
  • Click the button to sync the track to the other player
  • Use the fader to change the volume.
  • Use the fader to change the tempo (BPM).
  • Use the Lo/Mid/Hi knobs to change the track's equalization.
  • Use the fader between the two players to cross-fade between them.
  • Faders and knobs can be used by clicking and dragging or by moving the mouse over them and using the scroll wheel.
  • Use the and buttons under the SYNC section to perform small tempo adjustments.
  • You can click and drag over both waveforms (synced and full) to change the playback position.
  • Use the textbox at the bottom of the files list to search for files. The search is recursive.
  • Click the button in the search bar to re-analyze a track. When re-analyzing a track, the program will ignore the BPM from the track's id3 tags and will recalculate it.
  • Double click a track in the files list to open the Track Properties dialog. image

Notable missing features

  • Configuration dialog (global settings)
  • Loops
  • A fancy screen for remote connections to the stream
  • Synced playback
    At this moment, when clicking the button, playback will start immediately instead of auto-syncing to the nearest beat marker.
  • No drag & drop support to load files into a player. Use the button to load a track or press A or B on your keyboard.
  • Searching is quite limited and a bit buggy.
  • Audio device selection for audio monitoring (configuration dialog).
  • Audio routing for main output, monitor, and stream (with volume adjustment)
  • ...and many more

Releases

Platform Architecture Status Download Release Date
Windows x64 Working 2025-04-10
MacOS x64 Working1 2025-04-03
MacOS Arm Not Tested1 2025-04-03
Linux x64 Working1 2025-04-03
Linux Arm Working1 2025-04-03

Acknowledgements

This project wouldn't have been possible without the following:

Footnotes

  1. File attributes may be lost when running the app under linux-like systems, including MacOS.
    Use chmod +x to set the executable bit on the diyokee-server binary. 2 3 4

About

DJ mixing webapp with streaming support

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published