Skip to content

eklitzke/lark

Repository files navigation

Lark, a music server

Lark implements a network music daemon in C++ by glueing off the shelf libraries. In particular it uses the following libraries:

  • Thrift
  • Gstreamer
  • TagLib
  • SQLite

Lark is headless and is controlled via TCP through an API generated by Thrift. See interfaces/lark.thrift for details about the API. Automatically generated Python bindings are in py/. Additional bindings for the other languages (such as Java, Erlang, Ruby, Perl, Haskell) can easily be created by adding additonal Makefiles for each (see py/Makefile.am for an example).

Building on Fedora

A partial list of dependencies:

  • uuid-devel
  • boost-devel
  • thrift (not packaged for fedora)
  • gstreamer-devel
  • sqlite-devel
  • taglib-devel

Fedora has an issue finding Boost from configure scripts, and you need to use the --with-boost-* options to get configure to pass, and get things to build. ./configure --with-boost-system=boost_system-mt --with-boost-filesystem=boost_filesystem-mt --with-boost-thread=boost_thread-mt

Fedora doesn't package uuid.pc, I had to install uuid myself to get this. If you intall it locally make sure you have PKG_CONFIG_PREFIX set up correctly (you probably need to do this for thrift anyways).

Running: ./cpp/larkd &

Indexing Music

Now you need to get the client built, and index some music: pushd py make popd PYTHONPATH=py:$PYTHONPATH python py/lark/gen/LarkService-remote scan /path/to/your/music

This should print None to the screen, and the larkd instance will start printing out information about what files it is indexing.

Playing Music

You need to hack up py/lark/testclient.py to get music to play.

Building Doxygen Documentation

Lark is set up to use doxygen (although many parts of the code are not yet annotated for it). To build doxygen docs, run the following command from the root directory (the one that holds the master Makefile): doxygen doc/lark.cfg The generated documentation will end up in doc/html.

About

tiny music server

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published