github clangen/musikcube 0.40.0
musikcube 0.40.0
on GitHub


  • ^R now displays an indexer dialog that allows the user to choose between a quick scan and full metadata rebuild.
  • made checkboxes prettier.
  • fixed playlist and play queue track numbers – they should always be sequential, not pulled from metadata.


  • NEW! run musikcube as a daemon on macOS, Linux and BSD! musikcubed --help to get started.
    • note: the daemon currently runs independently from the curses app. this will be improved in future releases.


  • added remote server configuration! users can now change output drivers and devices, ReplayGain and preamp settings, transport type, and schedule the metadata indexer remotely. see: toolbar menu > remote management.
  • added the ability to transfer playback context (play queue, song and position) from the server to the mobile app, and vice-versa. try it out by long pressing the switcher icon in the toolbar.
  • promoted playlists to main screen, and shuffled the play queue button around.
  • added the ability to query albums by extended metadata categories, including “composer”, “producer”, “year” and more. see: toolbar menu > categories.
  • removed legacy playback engines. only ExoPlayer Gapless is supported now.
  • show a warning if the server is running an older api version.
  • fixed a crash when streaming play queue contains one file, and “random” is on.


  • added the following functionality to IEnvironment:
    • query output devices and drivers
    • select the system’s default output device and driver
    • re-index and re-build library metadata
    • get/set preamp and ReplayGain settings
    • get/set transport type (gapless, crossfade)
  • switching output devices, transport, and ReplayGain settings no longer abruptly stop playback. there may generally be a short pause, but playback will continue where it left off.
  • removed musikglue project. move functionalilty into musikcore.
  • bumped sdk version to 14


  • messages for new IEnvironment updates (see above)
    • run_indexer
    • list_output_drivers
    • set_default_output_driver
    • get_gain_settings
    • set_gain_settings
    • get_transport_type
    • set_transport_type
  • play queue snapshotting; remote clients can use this functionality to help
    transfer playback context from server to client.
    • snapshot_play_queue
    • invalidate_play_queue_snapshot
    • play_snapshot_tracks
  • all messages that start playback can now be passed a time parameter, which will seek initial playback to the specified time (in seconds).
  • query_play_queue_tracks now accepts an optional parameter called type; allowed values are live (default) and snapshot.
  • bumped api version to 14
2 years ago