src | ||
static/screenshots | ||
.gitignore | ||
bootstrap.sh | ||
CMakeLists.txt | ||
LICENSE.txt | ||
musikcube.sln | ||
README.md |
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:
and this on osx:
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
andc:\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 windowsF1
switch to console viewF2
switch to library viewALT+i
volume up 5%ALT+k
volume down 5%ALT+j
previous trackALT+l
next trackALT+u
back 10 secondsALT+o
forward 10 secondsALT+r
repaint the screenCTRL+p
pause/resume (globally)CTRL+d
quit
and a couple hotkeys that are specific to the library view:
ALT+n
orESC
switch between browse and play queueALT+1
browse by artistALT+2
browse by albumALT+3
browse by genreSPACE
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