blueMarine II is a media centre based on a semantic database. It is developed on Java 11 and Java FX. It exposes resources via DLNA and REST; it can run on a Raspberry PI and integrated with CEC for being operated with a TV remote.
Still at the alpha stage of development, it can be used with some hack to reproduce audio files.
The project website is at http://bluemarine.tidalwave.it; the developer website is at http://tidalwave.it/projects/bluemarine2.
- A desktop application (full-screen style) for macOS and Linux (including the Raspberry PI)
- A headless service serving resources by means of DLNA and REST for any operating system
- Publish and Subscribe for module integration
- Data Context Interaction (DCI) for module design
- A semantic repository for the internal catalog
- REST for exposing the music catalog
- DLNA for exposing the music catalog
- CEC for integrating with a consumer remote control
- MusicBrainz for music metadata
- OpenJDK11 as language and runtime
- JavaFX for the destkop UI
- JAXB for XML marshalling from XSD
- Spring 5 for Dependency Injection and REST
- RDF4J for the semantic store
- jaudiotagger and mp3agic for audio file metadata
- Cling for DLNA
- SLF4J/Logback for logging
- Lombok for language enhancement
- TestNG and Mockito for testing
- Maven as the build tool
In order to build the project, run from the command line:
mvn -DskipTests
The project can be opened and built by a recent version of the NetBeans, Eclipse or Idea IDEs.
More information can be found on the homepage of the project.
We accept pull requests via Bitbucket or GitHub.
There are some guidelines which will make applying pull requests easier for us:
- No tabs! Please use spaces for indentation.
- Respect the code style.
- Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source ode should be reformatted create a separate PR for this change.
- Provide TestNG tests for your changes and make sure your changes don't break any existing tests by running
mvn clean test
.
If you plan to contribute on a regular basis, please consider filing a contributor license agreement. Contact us for more information
Code is released under the Apache Licence v2.