github clangen/musikcube 0.90.0
musikcube 0.90.0
on GitHub


  • included a new musikcube-cmd.exe binary that can be run from a standard command-line session in Windows, including cmd.exe, PowerShell, Windows Terminal, or ConEmu.
  • added an OpenBSD port (castagnini)
  • added the ability to build as a snap package.
  • fixed build issues for platforms with ncurses and tinfo split (tobbez)
  • fixed an issue where percent signs in the transport weren’t getting properly escaped (the-eater)
  • fixed an issue where we may not properly detect UTF8 terminals in some cases
  • added true color support for macOS (previously was only supported in iTerm)
  • fixed a handful of directory browsing bugs reported by (pcapiod)
  • fixed a bug where we weren’t always properly reporting track metadata in the MPRIS plugin.
  • added a way to add an API key, if you have one, to fetch lyrics
  • updated session data to be stored in its own config file
  • merged upstream PDCurses changes to fix a handful of minor bugs and better support Windows Terminal
  • fixed a couple null pointer dereferences, and a couple instances where we
    were using variables before they were initialized (detected with valgrind)
  • fixed some weird redraw issues on some platforms with ncurses 6.2
  • fixed some bugs where we weren’t always compiling the MPRIS plugin for our binary packages
  • fixed a number of ALSA and PulseAudio bugs when devices are not available or there is resource contention
  • added Ubuntu Focal (20.04) and Fedora 31 support


  • added a C API wrapper around the SDK so musikcore can be used from other languages easily. see musikcore_c.h and the companion project core_c_demo.
  • fixed an old bug in the indexer that would report an incorrect updated file count.
  • added the ability to build a standalone musikcore.dll on Windows that can be used with the new C API for easy integration with other languages or environments.
  • fixed a bug where we may crash when playing 0-length files.
  • fixed an old bug where playback state would get out of sync if the user seeked while paused.
  • cleaned up SDK constants


  • updated crash report tracking to use Firebase Crashlytics
  • upgraded ExoPlayer
  • upgrade to Android Studio 3.6


  • tweaked the threading model to better support multiple concurrent connections
  • fixed a bug where we may attempt to transcode the same file multiple times simultaneously; now if there’s a transcode for a shared resource in progress we’ll just wait until the original operation completes
3 months ago