a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Go to file
2016-06-09 01:01:47 -07:00
src Added volume support; ALSA doesn't seem to support this natively so we do it in software. 2016-06-09 01:01:47 -07:00
static/screenshots Added a couple screenshots. 2016-05-30 21:31:19 -07:00
.gitignore Incremental checkin for compiling on mac. 3rdparty compiles, and core is nearly there (boost::async not working) 2016-05-27 17:47:29 -07:00
bootstrap.sh A couple small fixes that should allow things to (almost) compile in Linux. 2016-05-29 18:20:48 -07:00
CMakeLists.txt Added stubbed AlsaOut plugin. Not even remotely close to working. 2016-06-08 20:36:50 -07:00
LICENSE.txt Updated installer and added LICENSE.txt 2008-05-17 18:14:10 +00:00
musikcube.sln Renamed "aacdecoder" to "m4adecoder", because that's what it actually 2016-06-04 21:27:02 -07:00
README.md Update README.md 2016-06-04 20:49:50 -07:00

musikcube

a cross-platform audio engine written in C++.

musikbox

an ncurses frontend to musikcube.

musicbox compiles and runs easily on Windows and OSX (and Linux soon).

it looks something like this on windows:

windows screenshot

and this on osx:

osx screenshot

compiling

windows

  • grab the Visual Studio 2015 Community Edition and install the C++ compiler and tools. the 32-bit compiler is currently used.
  • clone the musikcube sources: git clone https://github.com/clangen/musikcube.git
  • install the 32 bit version of boost 1.60. ensure it shares the same parent directory with musikcube. e.g: c:\src\musikcube and c:\src\boost_1_60_0 -- the project's solution will reference it via relative path.
  • open musikcube.sln and build/run.

mac

you'll need homebrew to install the required dependencies.

  • brew install cmake boost libogg libvorbis flac mpg123 faad taglib
  • git clone https://github.com/clangen/musikcube.git
  • cd musikcube
  • cmake .
  • make
  • cd bin
  • ./musikbox

keyboard shortcuts

the user interface is very new and will change considerably over time.

the current hotkeys are generally based around holding the alt/meta key with your left thumb, and using the home row with your right hand.

  • <TAB> tabs between windows
  • F1 switch to console view
  • F2 switch to library view
  • ALT+i volume up 5%
  • ALT+k volume down 5%
  • ALT+j previous track
  • ALT+l next track
  • ALT+u back 10 seconds
  • ALT+o forward 10 seconds
  • ALT+r repaint the screen
  • CTRL+p pause/resume (globally)
  • CTRL+d quit

and a couple hotkeys that are specific to the library view:

  • ALT+n or ESC switch between browse and play queue
  • ALT+1 browse by artist
  • ALT+2 browse by album
  • ALT+3 browse by genre
  • SPACE pause/resume

important: on OSX make sure you configure your terminal emulator to treat your left alt key as "+Esc" or "Meta".

sdk

musikcube is built around its own SDK interfaces. they're still in the process of being cleaned up and slimmed down. you can see what they look like here: https://github.com/clangen/musikcube/tree/master/src/core/sdk