Commit Graph

1800 Commits

Author SHA1 Message Date
Casey Langen
c8b81162f3 Ensure MessageQueue wait time calculations always use the same time
unit!
2018-01-30 09:39:22 -08:00
Casey Langen
0fdb83d643 MaxKellermann@ correctly pointed out the SIGTERM signal handler was not safe, and
may result in deadlock. Updated code to avoid allocations and just set
the quit flag. Required minor surgery to IMessageQueue and impl to add
a timeout to WaitAndDispatch().
2018-01-30 09:21:04 -08:00
casey langen
b18ed5ab18 The play queue now shows sequential track numbers instead of ones read
from metadata.
2018-01-29 22:58:10 -08:00
casey langen
402aab9d2c Ensure musikcubed shuts down cleanly on SIGTERM. 2018-01-29 20:59:13 -08:00
casey langen
a87c998fcf
Merge pull request #179 from zant95/include-fstream
Include fstream
2018-01-29 19:18:32 -08:00
Héctor Molinero Fernández
cf3cbfd7f6 Include fstream 2018-01-29 21:19:44 +01:00
casey langen
c25cf00013 Updated changelog for 0.40.0 2018-01-29 09:32:28 -08:00
casey langen
1a0bc55a15 Updated to boost 1.66.0 on Windows. 2018-01-29 09:10:21 -08:00
casey langen
4c758af5ac MessageQueue implementation now uses checked weak_ptr receivers for
broadcasts. This solves an issue where the message queue may prevent
components (like views) from getting cleaned up if they don't unregister
before they are discarded.
2018-01-29 09:08:54 -08:00
casey langen
5df2881a46 Ensure playlist browse uses sequential track numbers, instead of track
numbers from metadata.
2018-01-29 09:07:13 -08:00
casey langen
4fd9d358a5 More small string updates. 2018-01-28 23:40:34 -08:00
casey langen
e009adeb24 Minor string change to the API version mismatch warning. 2018-01-28 23:20:26 -08:00
casey langen
a5707f547e Updated musikcube.spec with next version. 2018-01-28 17:55:02 -08:00
casey langen
b8fe116836 Fixed daemon lock checking on BSD. 2018-01-28 16:52:24 +00:00
casey langen
7fc95e553b Version bump for next release. 2018-01-28 16:18:17 -08:00
casey langen
c1574960db - Check to see if musikcubed is already running before allowing the process to start.
- Fixed rpath linking in musikcubed CMakeLists.
- CMake "install" fixes to properly include shared library and daemon.
- Experimental changes to use a shared libmusikcore library, instead of
  a static one.
2018-01-28 15:47:23 -08:00
casey langen
369f9054ba Added musikcubed daemon. 2018-01-27 23:25:26 -08:00
casey langen
5807fafe1b - Updated transfer/copy copy to (hopefully) make things slightly less
confusing.
- Updated exoplayer and arch components to latest versions
- Added a "server mismatch" dialog
2018-01-27 01:46:28 -08:00
casey langen
87178e2a7d Updated checkbox styling to be more standard. 2018-01-26 11:00:07 -08:00
Casey Langen
592430615e Fixed macOS compile 2018-01-25 00:02:43 -08:00
casey langen
02096234f2 Fixed a bug where incorrect metadata may be loaded from a stale cache
after transfering playback context from server -> android.
2018-01-24 23:27:03 -08:00
casey langen
b107bd9aab Added multi-client play queue snapshotting support to the web socket
server. Also added an additional optional, but strongly recommended
field called "device_id" to all requests from clients.
2018-01-24 20:30:47 -08:00
casey langen
06192f53a2 Fixed a Track memory leak. 2018-01-24 00:00:37 -08:00
casey langen
ab8517fd89 Playback context switcher now buried behind a long press menu in the
toolbar.
2018-01-23 22:00:21 -08:00
casey langen
0eacb53904 Added Popup to let users decide between seamless switching and new
sessions.
2018-01-23 20:18:33 -08:00
casey langen
136076cc3e Fix a crash in StreamingPlaybackService.resolveNextIndex when the queue
size is 1 and random is enabled. Oops.
2018-01-23 19:00:07 -08:00
casey langen
b96934dbfc Removed MediaPlayerWrapper, ExoPlayerWrapper. GaplessExoPlayerWrapper is
the way forward!
2018-01-23 18:57:25 -08:00
casey langen
5b356c4991 Refactor and additions to support play queue snapshotting, and the
ability to transfer playback context seamlessly between server and
device.
2018-01-23 17:16:04 -08:00
casey langen
0b3e1b2f19 Added the ability for remote clients to request playback of a previously
snapshotted queue. Also fixed a bug in TrackList where the wrong type of
wrapped ITrack was getting returned, potentially leading to
read-after-free bugs.
2018-01-23 16:46:57 -08:00
casey langen
2b8d40126a Added the ability to snapshot the current playlist in the
WebSocketServer layer. We'll eventually use this to transfer play queue
context.
2018-01-22 23:31:20 -08:00
casey langen
38709f4e2f A couple bug fixes to PlaybackService and WebSocketServer. 2018-01-21 23:38:13 -08:00
casey langen
933709be4e Intermediate commit -- make sure server supports resuming playback from
an optionally specified time.
2018-01-21 21:16:16 -08:00
casey langen
486bc9c96d Small changes to allow for blocking seek in GaplessExoPlayerWrapper. 2018-01-19 15:59:30 -08:00
casey langen
cce2dbdb18 Added the ability to browse by arbitrary categories (whatever is returned by
the backend)
2018-01-18 18:46:34 -08:00
casey langen
c29f8cedc7 Don't depend on musikglue anymore. It doesn't exist. 2018-01-18 08:52:58 -08:00
casey langen
1b927ed96d Margin normalization on the remote management Activity. 2018-01-17 23:19:00 -08:00
casey langen
1496148a38 Promoted "playlists" button to main activity, and also added an explicit
"play queue" button above.
2018-01-17 21:03:08 -08:00
casey langen
3729aff107 update_gain_settings -> set_gain_settings in musikdroid 2018-01-17 20:59:27 -08:00
casey langen
3b6ab78ba5 Renamed ProxyTransport -> MasterTransport and update_gain_settings to
set_gain_settings.
2018-01-17 20:57:53 -08:00
casey langen
95a7fa3010 Updated default playback engine, remote admin layout, and kotlin
version.
2018-01-16 23:38:36 -08:00
casey langen
04b62ef345 Fix crasher bug in RemoteSettingsActivity when server doesn't support
the new queries. Also, fixed a long-standing bug in WebSocketService
where errors weren't getting properly dispatched (they were getting
dispatched as success).
2018-01-16 20:08:58 -08:00
casey langen
246dd038fb Added a new "EnvironmentUpdated" broadcast that is sent by Plugins.cpp's
IEnvironment implementation whenever settings change. SettingsLayout
registers for this, and redraws accordingly.
2018-01-16 18:38:29 -08:00
casey langen
1215917ccb Removed "glue" sub-project. Moved related functionality to core. This
makes things a bit simpler.
2018-01-15 21:59:15 -08:00
casey langen
a1bb0a86d6 Removed MasterTransport from glue's CMakeLists. glue will go away entirely, soon. 2018-01-15 21:46:43 -08:00
casey langen
27c74b1d3b Added the ability to modify the playback transport from the android
client.
2018-01-15 21:37:19 -08:00
casey langen
7bc5928e5a Moved glue::MasterTransport to core::ProxyTransport. Added the ability
to get and set the transport in sdk::IEnvironment, and plumbed it
through to the server.
2018-01-15 21:36:32 -08:00
casey langen
2fd6b36030 Additional bug fixes and index validation around output device/driver
selection in RemoteSettingsActivity on android.
2018-01-15 15:36:35 -08:00
casey langen
765ba61ac2 More CMakeLists.txt dependency fixes 2018-01-15 22:52:17 +00:00
casey langen
2d2b721072 Wired up remaining remote management stuff in RemoteSettingsActivity 2018-01-15 13:56:42 -08:00
casey langen
a270ae7984 Fixed a bug in set_output_driver message -- the correctt deviceId wasn't
always getting selected (default was broken)
2018-01-15 13:56:08 -08:00