casey langen
5ce66d22a0
Updated WebSocketService.observe() to use a PublishSubject to (1) make
...
things easier to follow, and (2) allow for subscription and observation
on background threads.
2017-11-21 11:57:56 -08:00
casey langen
633bed9034
Added Android implementation for query_tracks_by_external_ids
2017-11-21 11:57:56 -08:00
casey langen
2c1dc1006d
* Added the ability to create and append to playlists using external IDs.
...
* Added the ability to remove tracks from playlists
2017-11-21 11:57:56 -08:00
casey langen
9f865eeec0
Added createPlaylist(), renamePlaylist(), and deletePlaylist()
...
functionality to IDataProvider and RemoteDataProvider
2017-11-21 11:57:56 -08:00
casey langen
aba807b00f
Added IDataProvider.appendToPlaylist()
2017-11-21 11:57:55 -08:00
casey langen
a2fa7cd890
Repaired album filtering.
2017-11-21 11:57:55 -08:00
casey langen
71ae2831d9
BaseActivity naming and property cleanup
2017-11-21 11:57:55 -08:00
casey langen
5c71000bcc
Cleaned up PlaybackService interface to expose the currently playing
...
ITrack, instead of the awkward getPlayingString() and getPlayingLong()
methods.
2017-11-21 11:57:55 -08:00
casey langen
c62daae9d5
Removed some junk, cleaned up some method names.
2017-11-21 11:57:55 -08:00
casey langen
1d51882036
Experimental changes migrating data access to an Observable layer,
...
implemented using RxJava.
Also experimental changes to Dagger 2 implementation, trying to make it
more idiomatic based on current "best practices."
No idea if any of this will actually get merged back.
2017-11-21 11:57:55 -08:00
casey langen
ee22b5f6f6
OK, now gapless transcoding should work for reals.
2017-11-21 11:57:19 -08:00
casey langen
e85f40bdec
Updated TranscodingDataStream to be more gapless friendly.
2017-11-21 00:32:59 -08:00
casey langen
3e3af3c6d2
A bit of naming cleanup -- implementation details were leaking into the
...
API.
2017-11-19 13:02:08 -08:00
casey langen
1f8f40f0a3
Revert "Added support for artist and artistId (in addition to albumArtist,"
...
This reverts commit 9a8f486658
.
2017-11-19 01:59:43 -08:00
casey langen
6e05c5f728
Whoa. Fixed a super old bug in
...
WebSocketService::RespondWithInvalidRequest where the message type was
not properly formed.
2017-11-19 01:08:48 -08:00
casey langen
9a8f486658
Added support for artist and artistId (in addition to albumArtist,
...
albumArtistId) in album resource type response.
2017-11-19 00:46:55 -08:00
casey langen
48841bce98
Added basic predicated category queries, like "all albums for genre X"
...
or "all genres for artist Y".
2017-11-17 21:43:09 -08:00
casey langen
e9468cd911
Fixed clang/gcc compile.
2017-11-12 22:16:34 -08:00
casey langen
41f1020ac9
HttpServer audio and thumbnail lookups explicitly only support GET -- I
...
think we were doing some unnecessary process with HEAD (and potentially
OPTIONS) requests.
2017-11-12 20:48:15 -08:00
casey langen
2f7fa348bf
Fixed thumbnail HTTP response status code in HttpServer.
2017-11-12 01:41:49 -08:00
casey langen
68370ded14
Added some blanket exception handling and error logging to
...
LocalSimpleDataProvider. This sort of code is generally bad practice,
but this will help prevent unstable plugins from causing the app to
crash.
2017-11-08 21:13:49 -08:00
casey langen
85676fb81d
Added new query_tracks_by_external_ids
request to WebSocketServer so
...
clients can request a list of track metadata from an input set of
external IDs.
2017-11-08 17:34:36 -08:00
casey langen
d7accde0ac
Fixed a bug in jsonToIntArray's shared_ptr deleter closure method
...
signature -- should be using T*, not int*
2017-11-08 00:16:38 -08:00
casey langen
c188702da3
Added the ability to remove tracks from playlist to ISimpleDataProvider,
...
implemented in LocalSimpleDataProvider. Also added this functionality to
WebSocketServer, and simplified some other messages and generalized
resource allocation logic.
2017-11-07 23:20:28 -08:00
casey langen
3f85bf00e3
Updated WebSocketServer to support creating new playlists from
...
subqueries, the same way appending playlists does.
2017-11-06 17:57:13 -08:00
casey langen
d73178ed4e
A handful of additions, speed-ups, and new features:
...
1. Optimized AppendPlaylistQuery and TrackMetadataQuery to not query
extraneous metadata -- only the required IDs.
2. Updated the `append_to_playlist` command in the remote server to
allow for track subqueries -- `query_tracks` and
`query_tracks_by_category` are both supported.
3. Fixed bugs in `WebSocketServer::RespondWithSuccess` and
`WebSocketServer::RespondWithFailure` where the `success` flag was not
being properly returned.
2017-11-06 01:00:40 -08:00
casey langen
47c2fa3f82
Fixed notification icon color.
2017-11-03 10:30:52 -07:00
casey langen
752f2a9efe
Revert "More aggressively release playback WakeLock after stream downloads have"
...
This reverts commit 6bf1dceac1
.
2017-11-03 10:30:37 -07:00
casey langen
6bf1dceac1
More aggressively release playback WakeLock after stream downloads have
...
finished. The WakeLock will be re-acquired when subsequent songs are
pre-loading (or loading).
2017-11-02 23:14:04 -07:00
casey langen
fd7fa4d6a9
- Added support for album-level album art (previously only worked at the
...
track-level). Updated queries accordingly.
- Added support for vending album art ids in the web socket server
- Added support for returning album art data in the http serfver
- Fixed debug build against the latest version of visual studio 2017
(the wrong platform sdk version was selected in the project files)
2017-11-01 21:31:30 -07:00
casey langen
c02d824235
Added support for creating Ubuntu 17.10 (Artsy) packages.
2017-11-01 13:44:51 -07:00
casey langen
c5432baa5a
Removed some dead code in Connection
2017-11-01 13:44:51 -07:00
casey langen
9e2672627d
Updated to Android Studio 3.0 final.
2017-11-01 13:44:51 -07:00
casey langen
a5209ab1fd
Added missing file to CMakeLists.txt. Compiles on Linux and macOS again.
2017-10-27 10:10:31 -07:00
casey langen
996477fa99
Update README.md
2017-10-15 01:26:53 -07:00
casey langen
f6d2bedf83
Updated to the most recent version of Android Studio 3 beta, and also
...
added a couple missing request constants.
2017-10-09 01:07:20 -07:00
casey langen
0dc63f867d
Added ISimpleDataProvider::AppendToPlaylist with both track IDs and
...
track "external" ids. Also patched in support for this in the server
plugin.
2017-10-09 01:05:32 -07:00
casey langen
3986a581dc
SDK version bump.
2017-10-08 21:41:37 -07:00
Casey Langen
cd4e15555f
Error and warning cleanup for macOS (and Linux)
2017-10-08 20:49:09 -07:00
casey langen
8c1627c4e3
Migrated all Destroy() methods to be Release() instead. Freeing SDK
...
resources is now consistent.
2017-10-08 13:56:24 -07:00
casey langen
1e2159d434
Moved Release() into IResource, and made ITrack a type of IMap.
2017-10-01 21:58:53 -07:00
casey langen
fae098b668
FINALLY removed IRetainedTrack and RetainedTrack. Now we just have
...
ITrack.
2017-10-01 21:40:10 -07:00
casey langen
6f2af2cb16
Got rid of IRetainedTagStore -- only ITagStore is necessary now.
...
Next up: IRetainedTrack... hopefully.
2017-10-01 20:58:44 -07:00
casey langen
a864efb1bc
Track abstract class now only directly implements ITrack. TagStore has
...
been extracted, and implements ITagStore and delegates to Track
implementation.
2017-10-01 20:45:53 -07:00
casey langen
2f119b7c06
TrackList no longer implements ITrackListEditor. Instead, we have a new
...
TrackListEditor implementation that may be constructed with a TrackList
instance.
2017-10-01 20:32:21 -07:00
casey langen
b8069098af
IRetainedTrackWriter -> IRetainedTrackStore. Also fixed Release()
...
methods that use reference counts.
2017-10-01 16:11:21 -07:00
casey langen
d87d3f3f2c
GetResourceType -> GetClass, GetResourceType -> GetType
2017-10-01 15:59:45 -07:00
casey langen
fddb7ca114
SDK naming cleanup:
...
New interface: IResource
IMetadataValue -> IValue : public IResource
IMetadataValueList -> IValueList
IMetadataMap -> IMap : public IResource
IMetadataMapList -> IMapList
IMetadataReader -> ITagReader
ITrackWriter -> ITrackStore
2017-10-01 13:38:12 -07:00
casey langen
41c4f9bbf1
Added the ability to create playlists via ISimpleDataProvider using both
...
stable (external) ids, and non-stable ids.
2017-10-01 00:38:11 -07:00
casey langen
acd5a94c10
Allow for playlists to be created through ISimpleDataProvider with an
...
empty tracklist.
2017-09-30 23:57:21 -07:00