Commit Graph

1103 Commits

Author SHA1 Message Date
casey langen
fe33340935 Fixed volume buttons on main screen to behave like hardware volume
buttons.
2017-02-18 21:02:23 -08:00
casey langen
d9c2154cda Move volume in increments of 1% when it is at 10% or less. 2017-02-18 14:53:30 -08:00
casey langen
0fd1e0bff9 Added code to debounce filtering on the client-side so we don't send a
bunch of extra requests to the backend when searching.
2017-02-18 13:58:02 -08:00
casey langen
264f564243 Updated default remote port to be 7905 2017-02-17 22:19:50 -08:00
casey langen
375e0d0e28 - Added support for genres and playlists
- Fixed some deep linking issues from transport controls in the main
  window
- Various other small cleanups and polish
2017-02-17 21:54:52 -08:00
casey langen
2e765da9fc Added the ability to query playlists via LocalSimpleDataProvider. 2017-02-17 21:54:33 -08:00
Casey Langen
1403a92772 Add titles to the non main activities. 2017-02-17 10:07:53 -08:00
casey langen
3f8c34865e Ensure disconnect overlay swallows user input. 2017-02-17 00:06:01 -08:00
casey langen
f4510df6e3 Added support for simple password protected web socket sessions in the
server plugin and android client.
2017-02-16 23:37:17 -08:00
casey langen
7905dc5e34 Fixed a small bug in the TrackListScrollCache's state management. 2017-02-16 17:01:38 -08:00
casey langen
c8497f9524 A couple tweaks to ensure clients are properly disconnected when the
device sleeps -- this prevents unnecessary auto-reconnects.
2017-02-16 09:32:48 -08:00
casey langen
2a7dbf4089 Updated CHANGELOG for the upcoming release. 2017-02-15 23:11:28 -08:00
casey langen
8e0378e922 Fixed clang++3.8/Linux compile. 2017-02-15 21:12:16 -08:00
casey langen
b101af4569 Hopefully fixes thread local issues in older versions of macOS. 2017-02-15 17:48:11 -08:00
casey langen
6c96998ace Let's disable web socket logging by default (unless enabled in prefs) 2017-02-14 23:18:51 -08:00
casey langen
d25d07893c - Removed some win32-specific code from App.cpp that was causing the
message queue to get backlogged.
- Fixed a few projects that weren't configured properly for performance
  guided optimizations in win32
- Version bump in preparation for release. we're close now!
2017-02-14 23:12:43 -08:00
casey langen
e8dd776b3f Updated websocket_remote's release settings to match other plugins. 2017-02-14 23:07:45 -08:00
Casey Langen
fe38d9268d Fixed up websocket_remote/CMakeLists.txt to work on macOS (and hopefully Linux) 2017-02-14 22:16:17 -08:00
casey langen
a367a0471e Added musikdroid (promoted from an the musikcube-websockets external
repo).
2017-02-14 22:05:44 -08:00
casey langen
3512e14a2e Added the websocket client. 2017-02-14 22:05:44 -08:00
casey langen
e691f1e1e5 Fixed raspberry pi compile. 2017-02-15 05:56:39 +00:00
Casey Langen
6f38f2585f Fixed macOS/clang compile. 2017-02-14 21:03:48 -08:00
casey langen
9c6e136c79 - Cleaned up plugin loading in PluginFactory
- Added the ability to selectively enable/disable plugins in prefs
- Tweaked win32globalhotkeys to not register a hook if disabled
- Added more functionality to ListOverlay, including auto-dismiss and
  percentage-based width options
- Fixed "remove missing files" setting
2017-02-14 20:55:37 -08:00
casey langen
e8985aadd1 AlbumListQuery will also apply the filter to artist name as well. Improves
the user experience while filtering albums.
2017-02-12 14:00:21 -08:00
casey langen
c506d69fde Updated ISimpleDataProvider interface to allow filtering albums by
category (e.g. artists).
2017-02-11 23:40:33 -08:00
casey langen
0f7ebff1bf Added filtering to CategoryTrackListQuery. 2017-02-11 21:58:50 -08:00
casey langen
473eeab381 This deadlock on shutdown still wasn't fixed? Dang. Should be fine now. 2017-02-11 11:02:32 -08:00
casey langen
b81488400e - Updated IPlaybackRemote interface to get a callback when the play queue
changes
- Updated ISimpleDataProvider to accept limit and offset input paramters
  when querying tracklists
2017-02-09 20:20:41 -08:00
casey langen
9d662a73bf Disable thumbnail_id from AlbumListQuery for now -- need to figure out how
to address this issue efficiently.
2017-02-09 00:05:05 -08:00
Casey Langen
4c0f48fb9f Fixed macOS/clang compile. 2017-02-08 22:26:20 -08:00
casey langen
24c9ee8232 Added some private namespace to the SdkWrapper classes in MetadataMap and
MetadataMapList so they don't collide and confuse the runtime. Also fixed
AlbumListQuery to return distinct entries and updated CMakeLists.txt with
the new files.
2017-02-08 22:21:17 -08:00
casey langen
205f719c44 - Renamed IMetadataWriter -> ITrackWriter for clarity
- Added IMetadataMap, IMetadataMapList as a generic way to represent more
  complex types of metadata that aren't just simple { id, value } tuples
  -- for example, complex album information including an id, value,
  artist, and artwork info
- Added a new AlbumListQuery that can be used by the SDK to get a rich
  list of album information for display in a UI. (CategoryListQuery still
  supports albums)
2017-02-08 20:57:43 -08:00
casey langen
62c25d50a6 Make sure we notify remotes when shuffle status changes. 2017-02-07 23:22:04 -08:00
casey langen
ec3a1909b2 * Constified ITrackList methods and added ITrackList::GetTrack
* Modified a couple IPlaybackService method args to accept const
  TrackLists, instead of non-const
* Added IPlaybackService::GetTrackList to get a const reference to the
  internal tracklist.
* Modified NowPlayingLayout to use the PlaybackService's TrackList by
  const reference, instead of making a copy for every mutating operation.
* Fixed a nasty bug where PlaybackService::Shuffled could be broadcast on
  a background thread.
2017-02-07 22:31:39 -08:00
casey langen
978ad2ec9d Removed 'IMMNotificationClient' implementation of audio endpoint routing,
go with a polling method instead. There are bugs with
IMMNotificationClient with no apparent solution.
2017-02-07 19:20:00 -08:00
casey langen
2495fd97d4 A couple small playqueue editing related bug fixes. 2017-02-07 19:19:41 -08:00
casey langen
f88896d0ac Seed the random number generator on startup. 2017-02-05 23:10:25 -08:00
Casey Langen
3a9f69e097 Fixed clang (and hopefully gcc) compile. 2017-02-05 22:34:11 -08:00
casey langen
d8815a1a88 Added playlist editing to IPlaybackService -- it was already in the
implementation -- so just expose it to the SDK now.

Also implemented the missing ::Shuffle() and ::Clear() methods in the
playback service's editor.
2017-02-05 22:13:11 -08:00
casey langen
969934fb16 Fixed a deadlock in LocalLibrary 2017-02-05 22:12:43 -08:00
casey langen
aa64784128 Updated IPlaybackService (and impl) to allow the ability to set the play
queue from plugins.
2017-02-05 21:19:41 -08:00
casey langen
d91f05627a * Added ITrack::GetId() and renamed other Track*::Id() methods.
* Added the ability to query tracks by category in ISimpleDataProvider
2017-02-05 15:16:10 -08:00
casey langen
19c620fcbd * Started fleshing out ISimpleDataProvider interface, which is just a facade
plugins can use to access existing queries. Started implementing it
against the LocalLibrary in LocalSimpleDataProvider.

* Added musik::core::plugins that can be used as a centralized place for
initializing plugins with components they require, e.g. preferences and
data providers.

* Added some more constants to the SDK interface.
2017-02-05 13:32:09 -08:00
Casey Langen
2590d37e4b * Fixed clang compile.
* Removed the query template stuff from last night. Overly-complicated and not
  necessary.
* Renamed QueryBase to LocalQueryBase
2017-02-05 11:06:00 -08:00
casey langen
fb74bb3d1f Incremental work to support more generic query types.
* Parameterized the QueryBase on a ConnectionType.
* Re-namespaced IQuery and QueryBase to musik::core::db
* Removed IQueryPtr
* Added runtime type checking for query type in LocalLibrary. yeah, i
  know. don't tell anyone. but it ensures things are safe.
* Moved queries out of glue and back into core so they can be used by
  plugins to query metadata.
2017-02-05 01:45:16 -08:00
casey langen
eaa60205cc Ramped SdkVersion and fixed musikwin example. 2017-02-04 01:50:34 -08:00
casey langen
e4c1acca84 Added a couple new SDK interfaces -- IMetadataValue and
IMetadataValueList. Implement these interface in CategoryListQuery.

Also added TrackListQueryBase::WrappedTrackList so we can return track
query results to plugins efficiently.
2017-02-03 23:19:51 -08:00
Casey Langen
27bfa8fd3c Tweaked CMakeLists.txt to hush the deprecation warnings because they're getting
in the way. Will remove this once we get a new version of boost on macOS.
2017-02-03 18:13:25 -08:00
casey langen
e21fffac3d Added the ability for plugins to save preferences. 2017-02-03 18:04:29 -08:00
casey langen
bc87e4d28c Fixed a deadlock in PlaybackService when changing tracks from an IPlaybackRemote. 2017-02-03 08:13:28 +00:00