Categorygithub.com/BernardZhao/Jukebox
modulepackage
0.0.0-20200324025201-8503beaa1465
Repository: https://github.com/bernardzhao/jukebox.git
Documentation: pkg.go.dev

# README

Jukebox

A web platform to collectively queue songs to play.

screenshot

Built on top of the old Bjb1, the dead Bjb2, and Ryan's work on a similar Bjb3

Thus, this is aka Bjb 3 (2.0)

Usage

Song URLS can be Youtube, Soundcloud, or from any website the youtube-dl supports.

Running development locally:

mpd should be running locally, and youtube-dl should also be installed. Song extraction changes rapidly, so make sure to keep youtube-dl updated.

mpd # Make sure mpd is running and check what port it is on
sudo youtube-dl -U # Update youtube-dl when possible
go run .

Arguments

ArgumentDescription
--hostServer host ip
--portServer port number
--mpdhostMPD host ip
--mpdportMPD port number

Improvements over Bjb 2

  • Uses mpd idle to watch instead of polling for song changes
  • Avoids double requesting youtube-dl
  • Better volume control
  • Ability to pause / resume

# Functions

NewJukebox : Generates a new Jukebox given a mpd client connection.

# Structs

Jukebox : Jukebox state.
Server : State of connections.
Song : Song information fetched from youtube-dl.