Commit Graph

1842 Commits

Author SHA1 Message Date
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
casey langen
a698bf90a8 Ensure the default preamp gain is 0.0, not 1.0. 2018-01-15 12:18:51 -08:00
casey langen
8d27927860 Added most boilerplate and some boring implementation details for remote
management in the android client.
2018-01-15 11:27:45 -08:00
casey langen
f327b63dbc Fixed "list_outputs" message so it also returns the selected output. 2018-01-15 00:00:01 -08:00
casey langen
628366a700 Updated explicit dependencies in CMakeLists, then added a postbuild script to execute cmake . to glob all the plugins together proprly. This removes the awkward, second cmake . step. 2018-01-14 15:46:47 -08:00
casey langen
b24c13abe2 Added support for reading and writing replay and preamp gain settings in
musikdroid.
2018-01-14 14:40:33 -08:00
casey langen
e047cc91c0 Added the ability to change replay and preamp gain settings from
IEnvironment. Plumbed it through to the server layer as well.
2018-01-14 14:39:59 -08:00
casey langen
26f94a4c9a - Added the ability to query and set device outputs in the API layer.
Fixed some bugs in the process.
- Added the ability to query and set device outputs in the Android
client. current unused.
2018-01-14 00:37:05 -08:00
casey langen
b0cfc893ff Added IPlaybackService::ReloadOutput(). Playback is no longer reset when
the selected output device changes -- it now picks up where it left off.
2018-01-13 21:40:56 -08:00