martinisoft / listbotto

A Shoutcast jukebox written in C++

This URL has Read+Write access

commit  e8da777c926ef33ac1bef2fc50dc3e941a108743
tree    a151a198b2bd92ecd8d9587730241e68ca31ae43
parent  94ff43d337d44d05e8db3e3ba844f3131af14fd5
README.markdown

Listbotto

A remote-controlled, streaming internet jukebox powered by C++

Requirements

  • Premake 4.0
  • gcc version 4 or later
  • MySQL 5.1 or Later
  • a cup of tea while things compile

Libraries used by Listbotto

  • TiCPP (http://code.google.com/p/ticpp/) - r106
  • TagLib (http://developer.kde.org/~wheeler/taglib.html) - 1.5
  • libmysql (http://dev.mysql.com/doc/refman/5.1/en/c.html) - 5.1.33
  • mysql++ (http://tangentsoft.net/mysql++/) - 3.0.9

License

There are multiple licenses for each library utilized by Listbotto. See the appropriate files in each of the contrib folders for license information.

Listbotto itself is licensed under the MIT license, see MIT-LICENSE for details.

Build instructions

Unix/Linux Variants

Run premake from the command line then make, like so:

    $ premake4 gmake
    $ make

Then look in bin/ for a release build

If you have MySQL installed somewhere other than /usr/local/mysql then:

    $ premake4 gmake --mysql-include=/path/to/your/mysql/include/dir

You can optionally specify a debug build by doing:

    $ make config=debug

After you have built listbotto, load the listbotto.sql file into your database and run the following from the bin release or debug dir

    $ ./listbotto /path/to/your/music

Layout

  • contrib/ - Libraries used by Listbotto
  • src/ - Source Dir

Todo

  • Add in pthreads for concurrency
  • Add more checks for Windows support
  • Re-Factor Directory Scanner
  • Add configuration file support via XML
  • Add in XML-RPC support
  • Needs more comments on the code (for my sake)
  • Get release 0.0.1 out the door
  • More dots... okay stop dots!

Acknowledgements

Andrew Spiering - Helping me learn C++ and contributing patches