/SynchronizedMediaPlayer

A simple audio player that will allow people to listen to a file over the Internet together

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

This project is being reworked as an Android app called DolphinPod.

This version of the project will likely not be revisited in the future. DolphinPod will probably not happen either.

Synchronized Audio Player

GitHub license

Build Status

Dependency Status

Overview

The goal of this project is to produce a simple audio player that will allow two people to listen to an audio file in sync with each other over the Internet. I've used the source code from this JavaFX tutorial as a starting point. Oracle's license for that code can be found in ORACLE_LICENSE.txt.

Download

You can download the latest version at the releases page.

Tech Stack

This software is built using JavaFX for the GUI and media playback functionality. This is my first ever JavaFX project, so I'm learning as I go. Gradle is being used as the build system.

Protocol

I'm calling the networking protocol I'm developing for this project SAVPP, for Synchronized Audio/Video Playback Protocol. I plan to implement it using Protocol Buffers. You can find the Java implementation here.

Other Documents

  • The changelog for this software can be found in CHANGELOG.md
  • The roadmap for this software can be found in ROADMAP.md
  • Notes on how the SAVPP protocol will work can be found here.

Legal Stuff

This software is licensed under the AGPL version 3. Basically, if you change and distribute this software, you must also distribute your modified source code, and release it under this same license. In addition, if you host a server using a modified version of my source code, you must make those modifications available as well, even if you don't distribute a binary version. The full license is in LICENSE.txt. The reusable module for the network synchronization functionality is being released under the much more liberal MIT license. You can effectively do whatever you want with that code, as long as you give me proper credit for it and include the license.

Copyright (C) 2016 Noah Andrews