Version bump for upcoming release.

This commit is contained in:
casey langen 2018-12-26 18:10:36 -08:00
parent 56ed573a17
commit f4f9c828f4
5 changed files with 81 additions and 48 deletions

View File

@ -1,3 +1,26 @@
0.60.0
musikcube:
* added an equalizer! press `ctrl+e` to activate and configure.
* removed most default decoder plugins and replaced them with one powered by
`ffmpeg`. this adds support for `opus`, `wavepack`, `musepack` and
`windows media audio` files.
* added a new `enable transparency support` in settings that can be enabled by
users who have a terminal with a transparent/translucent background.
* added the ability to customize the key used to quit the app. it is currently
not exposed in the ui, but it can be changed by editing
`~/.musikcube/settings.json` and updating the `AppQuitKey`.
* added feodra 29 support (dvdmuckle)
* fixed configuration script bugs that were causing breakage in FreeBSD
* migrated to non-bundled `taglib` for macOS and most Linux distributions
* fixed a ton of minor ui bugs
* updated win32 dependencies: libressl, libcurl, libboost, and pdcurses
musikdroid:
* updated to compile against the latest tooling
--------------------------------------------------------------------------------
0.51.0
musikcube:
@ -134,7 +157,7 @@ server:
* 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`.
allowed values are `live` (default) and `snapshot`.
* bumped api version to 14
--------------------------------------------------------------------------------
@ -185,11 +208,11 @@ musikcube:
musikdroid:
* gapless playback (for supported media)! enable in settings > playback
* gapless playback (for supported media)! enable in settings > playback
engine > "ExoPlayer Gapless (experimental)"
* playlist create / rename / update / delete support
* album art is now displayed in album rows when browsing
* context menus on most screens with the ability to switch between related
* context menus on most screens with the ability to switch between related
content (e.g. albums by this artist, artists in this genre, etc)
* added a simple "spotlight" tutorial for new users that explains switching
between remote and streaming playback modes.
@ -242,7 +265,7 @@ server:
- rename_playlist
- delete_playlist
- append_to_playlist
- remove_tracks_from_playlist
- remove_tracks_from_playlist
- query_tracks_by_external_ids
* renamed the following track fields:
- visual_genre_id -> genre_id
@ -289,7 +312,7 @@ musikdroid:
musikcube:
* fixed a bug in FlacDecoder::Exhausted that was causing issues with the
* fixed a bug in FlacDecoder::Exhausted that was causing issues with the
server's transcoder.
--------------------------------------------------------------------------------
@ -395,7 +418,7 @@ low-level:
0.21.1
* updated a few of the symbols used for drawing things like dropdowns and
* updated a few of the symbols used for drawing things like dropdowns and
checkmarks so they work with a wider variety of fonts
--------------------------------------------------------------------------------
@ -411,7 +434,7 @@ low-level:
* "add tracks", "add category", and "select playlist" context menus now remember
the last selected item for 60 seconds. this makes adding multiple things to
the same playlist (or play queue) much easier.
the same playlist (or play queue) much easier.
* fixed startup crash on older versions of macos
--------------------------------------------------------------------------------
@ -426,7 +449,7 @@ low-level:
* added play queue "hot-swap". you can now swap a different list of tracks
into an active play queue without disrupting playback. if the hot-swap
action finds the playing track in the new list, it'll be automatically
action finds the playing track in the new list, it'll be automatically
selected as the active track. focus a tracklist and press `M-a` to hot-swap.
* fixed a bug that was causing extended track metadata to be parsed incorrectly
examples include bitrate, channels, lyrics, etc.
@ -492,9 +515,9 @@ low-level:
user-facing:
* fixed a bug where usernames with non-latin characters may cause the
* fixed a bug where usernames with non-latin characters may cause the
`websocket_remote` and `httpdatastream` plugins to crash during startup.
* fixed startup issues on windows computers that do not have the visual c++ 14
* fixed startup issues on windows computers that do not have the visual c++ 14
runtime installed.
--------------------------------------------------------------------------------
@ -504,8 +527,8 @@ user-facing:
* added code to win32 build that ensures only a single instance is running
* fixed auto-dpi scaling in windows so `musikbox` displays properly out of the
box on high dpi (4k) displays
* added the ability to browse and play cached tracks in `musikdroid` while
offline.
* added the ability to browse and play cached tracks in `musikdroid` while
offline.
* fixed a bug that was preventing the transcoder cache from functioning properly
* integrated `fabric.io` into `musikdroid` for crash reporting
* added new "empty" and "offline" view states to all screens in `musikdroid`
@ -532,7 +555,7 @@ user-facing:
low-level:
* integrated with a customized version of the `AndroidVideoCache` library to
(hopefully) improve caching reliability.
(hopefully) improve caching reliability.
* improved battery usage in `musikdroid`'s `SystemService`
* fixed bug where `websocket_remote` was not letting clients know when seeking
has occurred.
@ -580,14 +603,14 @@ user-facing:
- added the ability to control streaming disk cache size
* `websocket_remote` plugin:
- added Cache-Control headers to responses
* `core`:
- found a really bad bug in the way we handle tracks in playlists. the fix
* `core`:
- found a really bad bug in the way we handle tracks in playlists. the fix
requires a rebuild of the tracks metadata, which will clear playlists, but
ensures this will never happen again in the future.
low-level:
* cleaned up more SDK interfaces, removed support for uint64 and uint32 types,
* cleaned up more SDK interfaces, removed support for uint64 and uint32 types,
only support int64 and int32.
* fixed bugs in playlist track handling; playlist contents can now survive track
table rebuilds!
@ -638,20 +661,20 @@ user-facing:
track has an empty album name.
* fixed a bug in CddaIndexerSource that may cause tracks to linger in the
library longer than they should if the drive letter changed.
* added an http server to the `websocket_remote` plugin to serve audio data.
* added an http server to the `websocket_remote` plugin to serve audio data.
this completes most work required to support external, thin clients.
metadata can be queried via websocket, audio streamed over http. powered by
libmicrohttpd.
libmicrohttpd.
low-level:
* added HttpDataStream! finally! uses libcurl and libressl. audio data can now
be played over http/https!
* performance optimizations to metadata indexing -- drop indexes before a full
resync, then re-add them after.
resync, then re-add them after.
* playlist tracks are now stored by external ids! this means tracks added from
third party indexer sources can be added to playlists and persisted across
rescans.
rescans.
* IIndexerSources can be interrupted, and failed sources can have their changes
rolled back.
* upgraded to Windows 10 SDK and VS141 tooling
@ -760,12 +783,12 @@ low-level:
0.9.4
* added a "syncing metadata" banner that is displayed while the indexer is
* added a "syncing metadata" banner that is displayed while the indexer is
scanning metadata
* added a "sync metadata on startup" option to the settings view
* moved the hotkey tester to its own dedicated dialog to free up some valuable
screen real estate in the settings view
* fixed `PulseOut` plugin volume adjustment to work better across a wider
* fixed `PulseOut` plugin volume adjustment to work better across a wider
range of audio cards. this should also improve crossfade quality
* fixed a very old bug that was sometimes causing delayed redraws or flickering
during layout in complex views
@ -825,7 +848,7 @@ win32 only release:
user-facing:
* added new `musikdroid` android remote control! super userful with a Raspberry
Pi. run musikbox in the background and control it from your phone.
Pi. run musikbox in the background and control it from your phone.
* added a new `websocket_remote` plugin that allows any client capable of
communciating with websockets the ability to control playback and query
metadata!
@ -848,7 +871,7 @@ low-level:
* added the ability for plugins to register to receive `IPreferences` and
`ISimpleDataProvider` interfaces via `SetPreferences()` and
`SetSimpleDataProvider`, respectively. see `websocket_remote` for an example
* fixed up `PluginFactory` to store and provide more metadata about plugins
* fixed up `PluginFactory` to store and provide more metadata about plugins
when querying them.
* fixed a deadlock in `PlaybackService` when changing tracks from
`IPlaybackRemote` plugins.
@ -931,7 +954,7 @@ bug fixes:
user-facing:
* fixed the flac decoder. oops.
* changed focus behavior in search view -- pressing return in the edit field
* changed focus behavior in search view -- pressing return in the edit field
will now focus the tracklist after starting playback
* added sdk and plugin versioning. the plugin loader will only load plugins
with a supported version.
@ -952,9 +975,9 @@ a big release with lots of changes to low-level machinery.
user-facing:
* added a new "crossfade" playback mode that can be used instead of "gapless".
* added a new "crossfade" playback mode that can be used instead of "gapless".
users can change this functionality in the settings view.
* fixed audio artifacts in WasapiOut and DirectSoundOut when pausing and
* fixed audio artifacts in WasapiOut and DirectSoundOut when pausing and
resuming playback multiple times very quickly.
* fixed a really bad bug where dialogs could not be easily dismissed in some
cases. this included the first-run dialog! yikes.
@ -967,11 +990,11 @@ low-level:
sufficient.
* generalized MessageQueue and moved it out of app, and into core so it can be
reused for other functionality (e.g. crossfading)
* added support for "mix points" in Player -- get a callback as soon as a
* added support for "mix points" in Player -- get a callback as soon as a
specific playback position is hit!
* fixed DirectSoundOut to fall back to software mixing if hardware mixing is
unavailable
* fixed DirectSoundOut to start playback immediately, instead of sometimes
* fixed DirectSoundOut to start playback immediately, instead of sometimes
requiring the buffer to be completely full
--------------------------------------------------------------------------------
@ -1013,12 +1036,12 @@ user-facing:
low-level:
* optimized Stream and Player communication. more direct, less locking. no more
* optimized Stream and Player communication. more direct, less locking. no more
weird deferred cleanup
* removed fftw3 dependency in favor of kiss_fft. much smaller download now
* added a proper windowing algorithm to audio samples before they are handed to
* added a proper windowing algorithm to audio samples before they are handed to
the fft process
* fixed audio de-interleaving issue which lead to funky fft results in some
* fixed audio de-interleaving issue which lead to funky fft results in some
cases
* included a new spectrum visualizer sample called GdiVis (win32 only for now)
* overhauled some parts of the audio engine to ensure buffer size is consistent
@ -1043,7 +1066,7 @@ low-level:
easy to accidentally focus the transport.
* added mute functionality. focus the volume control and press enter or just
press m while browsing your library.
* added new IPlaybackRemote and IPlaybackService sdk interfaces to support
* added new IPlaybackRemote and IPlaybackService sdk interfaces to support
writing plugins that can control playback and be notified of playback events.
--------------------------------------------------------------------------------
@ -1056,8 +1079,8 @@ low-level:
0.3.4
* visualizer support! press v to show the picker! a couple samples (Milkdrop2
and projectM) are included below. unzip these to your musikbox\plugins
* visualizer support! press v to show the picker! a couple samples (Milkdrop2
and projectM) are included below. unzip these to your musikbox\plugins
directory.
* fixed a nasty unicode conversion bug.
* various other small fixes
@ -1066,7 +1089,7 @@ low-level:
0.2.2
* small improvements to the transport view, including the display of the volume
* small improvements to the transport view, including the display of the volume
percentage next to the volume slider.
--------------------------------------------------------------------------------

View File

@ -87,16 +87,16 @@ add_subdirectory(src/plugins/httpdatastream)
add_subdirectory(src/plugins/stockencoders)
add_subdirectory(src/plugins/supereqdsp)
if (${FFMPEG_DECODER} MATCHES "true")
add_definitions(-DFFMPEG_DECODER)
add_subdirectory(src/plugins/ffmpegdecoder)
add_dependencies(musikcube ffmpegdecoder)
else()
if (${FFMPEG_DECODER} MATCHES "false")
add_subdirectory(src/plugins/m4adecoder)
add_subdirectory(src/plugins/oggdecoder)
add_subdirectory(src/plugins/nomaddecoder)
add_subdirectory(src/plugins/flacdecoder)
add_dependencies(musikcube m4adecoder oggdecoder nomaddecoder flacdecoder)
else()
add_definitions(-DFFMPEG_DECODER)
add_subdirectory(src/plugins/ffmpegdecoder)
add_dependencies(musikcube ffmpegdecoder)
endif()
# some versions of Ubuntu ship with a taglib binary that is missing some
@ -234,7 +234,9 @@ if (GENERATE_DEB MATCHES "1")
set(DEB_BOOST_VERSION "1.55.0")
set(DEB_MICROHTTPD_VERSION "10")
set(DEB_LIBCURL_VERSION "3")
if (DEB_DISTRO MATCHES "stretch")
set(DEB_AVUTIL_VERSION "55")
set(DEB_AVFORMAT_VERSION "57")
if (DEB_DISTRO MATCHES "stretch")
set(DEB_BOOST_VERSION "1.62.0")
set(DEB_MICROHTTPD_VERSION "12")
elseif (DEB_DISTRO MATCHES "zesty")
@ -247,17 +249,25 @@ if (GENERATE_DEB MATCHES "1")
set(DEB_BOOST_VERSION "1.65.1")
set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4")
elseif (DEB_DISTRO MATCHES "curious")
set(DEB_BOOST_VERSION "1.67.1")
set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4")
set(DEB_AVUTIL_VERSION "56")
set(DEB_AVFORMAT_VERSION "58")
elseif (DEB_DISTRO MATCHES "xenial")
set(DEB_BOOST_VERSION "1.58.0")
set(DEB_MICROHTTPD_VERSION "10")
set(DEB_AVUTIL_VERSION "-ffmpeg54")
set(DEB_AVFORMAT_VERSION "-ffmpeg56")
endif()
set(DEPENDENCIES "libboost-thread${DEB_BOOST_VERSION}, libboost-system${DEB_BOOST_VERSION}, libboost-filesystem${DEB_BOOST_VERSION}, libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl${DEB_LIBCURL_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw5, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4")
if (${FFMPEG_DECODER} MATCHES "true")
set(DEPENDENCIES "${DEPENDENCIES}, libavcodec-extra, libavutil55, libavformat57, libswresample2")
else()
if (${FFMPEG_DECODER} MATCHES "false")
set(DEPENDENCIES "${DEPENDENCIES}, libflac8, libfaad2")
else()
set(DEPENDENCIES "${DEPENDENCIES}, libavcodec-extra, libavutil${DEB_AVUTIL_VERSION}, libavformat${DEB_AVFORMAT_VERSION}, libswresample2")
endif()
if (NOT ${USE_BUNDLED_TAGLIB} MATCHES "true")

View File

@ -1,6 +1,6 @@
%define name musikcube
%define build_timestamp %{lua: print(os.date("%Y%m%d"))}
%define version 0.51.0
%define version 0.60.0
Name: %{name}
Version: %{version}
Release: %{dist}

View File

@ -3,9 +3,9 @@
#include <string>
#define VERSION_MAJOR 0
#define VERSION_MINOR 51
#define VERSION_MINOR 60
#define VERSION_PATCH 0
#define VERSION "0.51.0"
#define VERSION "0.60.0"
namespace musik {
namespace cube {

Binary file not shown.