a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Go to file
2016-06-19 11:30:15 -07:00
src Added json.hpp (https://github.com/nlohmann/json) -- going to use this to replace the current preferences implementation. 2016-06-19 11:30:15 -07:00
static/screenshots Added a couple screenshots. 2016-05-30 21:31:19 -07:00
.gitignore Build taglib from source, using CMake's ExternalProject_Add. Now builds easier on Ubuntu. 2016-06-09 22:31:27 -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 Build taglib from source, using CMake's ExternalProject_Add. Now builds easier on Ubuntu. 2016-06-09 22:31:27 -07:00
CONTRIBUTORS.txt Added Gunnar -- hopefully I didn't forget anyone else. 2016-06-11 18:13:05 -07:00
LICENSE.txt Updated LICENSE.txt 2016-06-11 18:22:59 -07: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-18 12:35:23 -07:00

musikcube

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

musikbox

an ncurses frontend to musikcube.

musicbox compiles and runs easily on Windows, OSX and Linux.

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 faad2 taglib
  • git clone https://github.com/clangen/musikcube.git
  • cd musikcube
  • cmake .
  • make
  • cd bin
  • ./musikbox

linux

  • install the following libraries and their development packages: cmake boost libogg vorbis flac mpg123 faad2 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 or ALT+Q switch to console view
  • F2 or ALT+W 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+b show browse view
  • ALT+f show category (album/artist/genre) search view
  • ALT+t show track search view
  • 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