Skip to content

namehillsoftware/projectBlue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

project blue

project blue

An alternative, open source streaming music client for JRiver Media Center.

project blue is a streaming audio client for JRiver Media Center (http://jriver.com/). Stream your favorite music and audio from your JRiver Media Center wherever you are!

Its features include:

  • Reliable streaming from your home server running JRiver Media Center via an intuitive layout.
  • Caching of audio files during playback.
  • Synchronize audio from JRMC server to device.
  • Play local files when present and metadata match.
  • Updates server with playback statistics.
  • Edit and update playlists through Now Playing.
  • Interfaces with Bluetooth remote control clients.
  • Android TV Support
  • Supports Android Auto (beta) NOT supported due to strict Google Play requirements.
  • Interfaces with apps that implement the Scrobble Droid interface (Simple Last.fm Scrobbler is my scrobbler of choice) for scrobbling to Last.fm or Libre.fm

Download on the Google Play Store

Requires JRiver Media Center running on your home server

Development

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Java SDK 8+ and the Android SDK are required to develop project blue. To perform a continuous integration (CI) build, Docker and Docker Compose are required.

Installing

  1. Clone this repository
  2. Install Android Studio, along with the Android SDK
  3. Build and run!

Running the tests

Run the tests via the IDE.

Running the Build

Android Studio can perform the build. To run a CI build like it is run in Github, run the following command:

./build-bundle.sh

Deployment

Once changes are merged, a build will be deployed and published by the project blue maintainer.

Built With

  • Gradle - Dependency and Build Management
  • Android Studio and SDK - Tools and standard library for Android
  • Kotlin - Language project blue is migrating to
  • Java - Majority of the project is written in Java
  • Handoff - Continuations library

Contributing

All code considered guilty until proven innocent! Please ensure that your code is proven with unit tests before submitting a PR. No PR will be considered without the tests to back it up.

All new changes should be written in Kotlin if possible.

Folder structure is organized by feature, or rather, it doesn't use the "sock drawer" folder structure that Android follows. It is inspired by this post on AngularJS project structure (another Google framework that encourage sock drawer app structuring): http://cliffmeyers.com/blog/2013/4/21/code-organization-angularjs-javascript. This means everything is logically grouped in nested folders based on feature. Unfortunately, some areas, such as the res folders, do not allow such structuring.

Finding issues and reporting them is also contributing to making project blue better! Please submit any issues that are found in the issues area.

Please read CONTRIBUTING.md for more details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • David Vedvick

License

This project is licensed under the GNU Lesser General Public License v3.0 - see the LICENSE file for details.

Acknowledgments