Skip to content

DanielSBrown/ScHoolboy-Queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScHoolboy-Queue

VTHacks IV -- Team Fully Torged

Team: FULLY TORGED

Purpose

Every single person has a unique taste in music, which can sometimes be a point of frustration when you are with other people and only listening to music that they like.

Often, the solution is to have something akin to the Spotify queue. One person has control of the music but others can request songs to be added to be listened to at a later data.

While this is often manageable between friends, there are still several pain points:

  1. Someone often needs to give up their phone to play music from
  2. If they keep their phone locked they will need to be continually asked to unlock it
  3. The content is limited by the library of the streaming provider
  4. Generally only a single person can queue up music at a time
  5. Everyone who has access to the queue has the ability to rearrage or remove anything they want
  6. The sound system is frequently located off to the side

The goal of ScHoolboy Queue (sHouts to my mans) is to provide a remotely hosted, collaborative queue/playlist that puts the choice of music in the hands of the crowd, while still maintaining a level of control for the person hosting

With a central web server that communicates with distributed nodes in the form of rooms, ScHoolboyQueue allows a user to play a continuous stream of music straight from YouTube.

Usage

The application consists of two integral parts:

  1. A centralized web site used to manage the queues for the individual rooms
  2. Distributed rooms/nodes that handle the playing of the music

Running

Alongside the code for the webapp, this repo also contains the cli application to play music and create rooms. Get started with the cli as follows

# Clone the repo locally
git clone [email protected]:DanielSBrown/ScHoolboy-Queue.git

# Download the requirements using Python's pip package manager
# Usage of a virtual environment for dependency management is highly recommended
pip install -r requirements.txt

# Get the cli working globally
cd cliBoy_Queue
pip install .

# In order to create a new room but not begin playing immediately
cliboy_queue create

# In order to delete a room
cliboy_queue delete ROOM_ID

# In order to create a room and begin playing from it
cliboy_queue connect
# Or connect to an already created room
cliboy_queue connect --room ROOM_ID

# The CLI expects an environment variable $SERVER_ADDR to know where to create the room
# If not hosting your own server, this should be www.ScHoolboyQueue.org

Requirements

  • Python 3.6
  • VLC Media Player

Opportunities For Growth

  1. Improved user system for moderation of queues and albility to grant moderation powers
  2. Ability to rearrange queue, beyond just deleting items
  3. Ability to save and share playlists
  4. Package cli to distribute with pip
  5. Download songs asynchronously
  6. Use AJAX to automatically update Queue page

Disclaimer

The Team who built ScHoolboy Queue does not condone any use of this application to illegally download licensed music.

About

VTHacks IV -- Team Fully Torged

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors