the plugin is present and loaded.
- Fixed some color-related bugs in Checkbox
- Fixed some nasty bugs in Window that could cause views to be drawn
outside of parent or screen bounds, leading to curses crashes
- Added the ability for the app to get references to plugin preferences,
so it can create settings windows for them
- Fixed WebSocketServer so it can be shut down and restarted
1. fixed bugs around abusing the StreamingPlaybackService::next()
2. added album art to MediaSessionCompat implementation
3. minor refactors to the way AlbumArtModel works
4. added constants for preferences keys and defaults
auto-incrementing int)
- ensure the web server plugin sends 'external_id' to clients
- allow user to configure streaming disk cache size on the android
client
- some other android client ui cleanup
ids. Use signed integers only. This simplifies things, and simplifies dealing
with these values in languages that don't natively support unsigned value
types, e.g. Java. It also slims down our SDK interfaces and implementations.
- Added ?bitrate=xyz param to /audio/id/ or /audio/external_id/ requests
- By default audio is transcoded incrementally, on-demand using an
estimated content-length. On a range request, the stream is transcoded
entirely. Transcoded audio is cached upon completion to make
subsequent requests faster and ease server load.
- Updated the Android client to support transcoding options. Transcoding
is disabled by default.
- Added a scary warning to the "disable ssl cert validation" option.
Android app. Summary of required changes:
1. Removed TransportModel and related classes, created PlaybackService
interface. Old TransportModel code now lives in RemotePlaybackService.
2. Added StreamingPlaybackService implementation of PlaybackService.
Uses MediaPlayer or ExoPlayer to stream audio via HTTP.
3. Added SystemService that is used by StreamingPlaybackService. It's a
real Android service that manages notifications, wake locks, media
buttons, and other system integrations.
4. Added RxJava and RxAndroid. Use them in StreamingPlaybackService to
keep logic as sane as possible.
5. Added playback mode selection to settings (streaming vs remote). Also
added a field for streaming audio port.
6. Added "ids_only" request type to WebSocketServer when requesting list of
tracks.