a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Use 0.99.2 instead: https://github.com/clangen/musikcube/releases/tag/0.99.2
boost
as a dependency across all projects; this is a huge milestone in the project, and will make it much easier to distribute stable builds moving forward.ViewPager2
changes in musikdroid
, as there is a bug that is preventing fragments from getting re-initialized properly during the resume cycle.xiph
comments.PulseAudio
compile issue.musikdroid
app notification on Android 13 devices.pipewireout
to have more sensible default buffer sizes, and add the ability for the user to configure them.musikdroid
dependencies and tooling, fixed a few warnings.PDCurses
code for Windows builds.musikcubed
a SIGUSR1
will trigger a library rescan.musikdroid
bug that could cause the BrowseFragment
to get into a bad state where search would no longer work.^F
to toggle the feature on and off.libelogind
or basu
instead of libsystemd
for the mpris
plugin (@robertgzr)wsprintw
(@trofi)piggy
debug tool to help with log collection and remote app monitoring. disabled by default.important: this release provides binaries generated with our newly re-written build and packaging system. while there are no functional changes to the app itself, there are quite a few quality of life changes for non-Windows platforms:
macOS
and Linux
builds (including armhf
builds for the Raspberry Pi
) are completely self-contained, and no longer need additional dependencies installed to run.Linux
builds are distributed with ffmpeg-5.0
libraries, the latest version as of the time of this writing.Raspberry Pi
builds now have rpm
and tar.bz2
packages, in addition deb
archives.macOS
binaries no longer require homebrew
to run, and also include ffmpeg-5.0
if you're still building from source (or installing via homebrew
) there's no need to worry, the process is still exactly the same as it's always been!
please let us know if you try this build, and whether or not you had any issues getting it to run!
Windows
macOS
Linux x86_64
Linux armhf (Raspberry Pi)
Android
macOS
and Linux
standalone releases only!macOS
x86_64
variant was linking against an external library.macOS
rpath
values in plugin and library dylib
files in both x86_64
and arm64
variants.macOS
executables are libraries are signed and notarized.terminfo
is bundled in macOS
builds to avoid incompatibilities with ncurses 5
.PipeWire
output plugin to Linux
standalone build.macOS
and Linux
this release provides new "standalone" (aka "portable") builds for macOS
(arm64
, x86_64
) and Linux
(x86_64
). these are pre-compiled binaries that are (in theory) completely self contained and should generally 'just work' out of the box for most users, in most cases, without installing additional operating system dependencies.
if you'd like to try them out, grab the appropriate archive below, unpack, and run:
IMPORTANT: there were a couple minor issues with the macOS
and Linux
standalone builds in this release. if you have issues, we recommend downloading the 0.96.13 builds here: https://github.com/clangen/musikcube/releases/tag/0.96.13
ffmpeg5
libraries, fixed brew
buildffmpeg5
for Windows
builds.musikcube-cmd.exe
builds on Windows.WasapiOut
to use high-quality, built-in resampler.allow_decoder_resampling
to WasapiOut
to disable the high-quality, built-in resampler and rely on plugin resampling instead.ncurses
.wav
files.PipeWire
output debugging.CMake
-based build system for better correctness and portability.WasapiOut
that could lead to an app crash when playing music.rpath
issues leading to startup crashes on macOS
when installing via homebrew
.versionCode
so the OS actually updates the app if it's already installed. oops.FfmpegDecoder
to perform resampling internally when WasapiOutput
is in use; its internal resampler seems to be much higher quality than the one used by WASAPI by default.XDG_CONFIG_HOME
(@robertgzr)TrackSearchLayout
refreshes during metadata indexing (@ravensiris)es_ES
) translation (@orestescm76)Homebrew
installations that are rooted outside of /usr/local
PipeWire
bug where volume may not get set properly.last.fm
scrobble logic to only post if at least 25% of the active track has been played.lyrics
viewbullseye
support, and fixed Ubuntu impish
(@gschauer)musikdroid
notification falling out of sync with the currently playing track.-rpath
to use $ORIGIN
instead of ./
on *nix systems.FfmpegDecoder
to perform resampling internally when WasapiOutput
is in use; its internal resampler seems to be much higher quality than the one used by WASAPI by default.XDG_CONFIG_HOME
(@robertgzr)TrackSearchLayout
refreshes during metadata indexing (@ravensiris)es_ES
) translation (@orestescm76)Homebrew
installations that are rooted outside of /usr/local
PipeWire
bug where volume may not get set properly.last.fm
scrobble logic to only post if at least 25% of the active track has been played.lyrics
viewbullseye
support, and fixed Ubuntu impish
(@gschauer)musikdroid
notification falling out of sync with the currently playing track.-rpath
to use $ORIGIN
instead of ./
on *nix systems.IMPORTANT NOTE: it was brought to our attention that Windows Defender falsely detects musikcube 0.96.6 binaries as malware. we have no reason to believe this is a real issue, but we recommend users upgrade to 0.96.7 to avoid problems. discussion can be found in the following issue: https://github.com/clangen/musikcube/issues/436
updated Windows binaries can be found below.