LineDJ is a platform that implements components which can be combined to create applications for audio playback and processing of audio metadata.
First of all, this is an experimental project to explore various technologies and how they collaborate to create modular, reactive UI applications. Technologies used here include:
-
Akka (after the switch of the license Apache Pekko)
The components implemented in these technologies come from the domain of audio playback. They offer functionality which is of personal interest for me, but can be useful in general to create applications dealing with audio files.
This repository contains multiple modules that implement single platform components. The top-level folders of the modules contain further README files with additional information for this specific component.
Currently, the following components and applications are available:
LineDJ uses [SBT](http://www.scala-sbt.org/) as its build tool. The project can be built by entering:
sbt publishLocal
in the top-level directory. This command produces the jars and OSGi bundles in
the target
sub folders of the module directories.
As the applications in this repository make use of OSGi, they require an OSGi framework for their execution and must be packaged in a special way. This is described in detail in the OSGi images README.
I was working in a company where teams were organized into lines, named from the reporting lines in the orga chart. The offices of the line my team belonged to were located along a corridor. One guy used to play loud music and thus produced background sound for the whole corridor. I usually was happy with the music he played - he preferred Heavy Metal -, but came to the idea that it would be cool if everybody could somehow influence the type of music that was played; a kind of social audio platform. Implementing this idea is one of the goals of this project.
This code is open source software licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html).