Commit Graph

2530 Commits

Author SHA1 Message Date
casey langen
24e4680bde Minor bugfix for remote library configuration. 2020-10-21 00:40:21 -07:00
casey langen
ffc583da37 Wired up transcoder settings. 2020-10-21 00:33:21 -07:00
casey langen
1a94e1be80 Finished tls warning overlay functionality. 2020-10-20 23:11:58 -07:00
casey langen
4aa19c4f04 Only call up to base class if we don't process the message. 2020-10-20 22:49:48 -07:00
casey langen
3d58d6ade4 Minor code formatting cleanups. 2020-10-20 22:45:14 -07:00
casey langen
2424d2e534 Seems we no longer need to explicitly set an icon -- and with hi-dpi
displays it's doing more harm than good, causing the icon to render
blurry.
2020-10-20 22:44:22 -07:00
casey langen
7d1193b4d7 Fixed long standing issues with OnVisibilityChanged and
OnChildVisibilityChanged. Unfortunately the problem and solution were
discovered in the middle of some feature work, so a couple other tweaks
are bundled into this commit.
2020-10-20 22:30:56 -07:00
casey langen
22a37f66de Let's try to upgrade PDCurses again. Had some problems last go around
with weird behavior, but maybe it's better now.
2020-10-19 22:13:03 -07:00
casey langen
1b57214ab5 Fix ReplayGain on the client-side when using a RemoteLibrary. 2020-10-18 22:11:31 -07:00
casey langen
865880bf47 Fixed MessageQueue broadcast dispatching 2020-10-18 16:06:30 -07:00
casey langen
f2724261f1 fwrite() more aggressively in HttpDataStream so data is available
immediately to readers.
2020-10-18 14:50:03 -07:00
casey langen
6d460fe27a Fix LRU disk cache on Windows. Not sure how this was ever working on
Unix, so we need to check it again.
2020-10-18 13:40:23 -07:00
casey langen
be49a66717 Fixed timeout parameter passed through closure in WebSocketClient 2020-10-17 22:21:52 -07:00
casey langen
5c28cca2d8 Added missing ping implementation in WebSocketClient to ensure the
server (or any SSL terminating endpoints) don't aggressively hang up the
connection.
2020-10-17 22:05:12 -07:00
casey langen
6ccefb0ca3 Fixed unix compile 2020-10-17 19:53:26 -07:00
casey langen
a5c871c89f Integrated the new SSL prefs. Seems to work. 2020-10-17 18:57:06 -07:00
casey langen
205f1697cd Added TLS settings to layout and strings. They are saved/loaded, but not
actually used yet.
2020-10-17 18:46:30 -07:00
casey langen
1352a84752 Fix OpenSSL on x64 2020-10-17 18:27:35 -07:00
casey langen
ed0da3155d It's not possible to easily switch between the TLS and non-TLS
websocketpp clients because they don't share a common base type. Added
RawWebSocketClient to wrap this annoying difference.
2020-10-17 18:15:11 -07:00
casey langen
45ac21508b Upgraded openssl headers. 2020-10-17 18:14:46 -07:00
casey langen
cd5dcdcb74 Reconfigured VS projects to include openssl to support wss and https
client connections.
2020-10-17 15:42:12 -07:00
Casey Langen
187d8fbf17 IDataStream needs a virtual destructor. 2020-10-17 13:44:48 -07:00
Casey Langen
919a843e37 Let's immediately invalidate/fail all queries that happen while we're
offline to avoid callers with `ILibrary::QuerySynchronous` from blocking
unnecessarily.
2020-10-17 13:30:13 -07:00
Casey Langen
9b95723b17 Fix stopping CrossfadeTransport while buffering. 2020-10-17 13:16:19 -07:00
Casey Langen
5367cb2bf0 Fixed GaplessTransport to send missing events while stopping playback
while buffering.
2020-10-17 12:44:42 -07:00
Casey Langen
3e22c82a53 Fixed an issue with message queue target registration in libraries. 2020-10-17 12:21:34 -07:00
casey langen
6f302cd374 Ensure the metadata proxy always references the local library. 2020-10-17 00:05:12 -07:00
casey langen
b6240d8ab5 Removed unnecessary comment. 2020-10-16 22:11:59 -07:00
Casey Langen
f7eb2e8b27 Fixed bug where local library syncing banner may not get removed
automatically after switching from a remote library.
2020-10-16 18:06:44 -07:00
casey langen
a5d3335d05 Fixed bug where seeking forward in a (cached) HttpDataStream response
didn't work properly. This same bug may also cause weird behaviors
during playback if the engine probes beyond the end of the file, then
attempts to rewind the read head to recover
2020-10-16 13:49:09 -07:00
Casey Langen
7fd31d5611 SettingsLayout adjustments to ensure everything fits on an 80x24 terminal. 2020-10-16 12:07:00 -07:00
Casey Langen
2cd419ea84 Fixed a couple old, previously masked bugs related to static resource
destruction.
2020-10-16 12:01:27 -07:00
casey langen
56fabbc9ea Configurable ping/pong timeout for RemoteLibrary's WebSocketClient 2020-10-15 22:59:28 -07:00
casey langen
874078b9a2 Added correct implementation of RemoteLibrary::IsConfigured() 2020-10-15 20:48:52 -07:00
Casey Langen
a4683e08f5 Fixed another potential MessageQueue issue. This should be the last one. 2020-10-15 20:00:30 -07:00
casey langen
d628fabf71 Removed remnants of client IPV6 config. 2020-10-15 19:02:21 -07:00
casey langen
6448c9ac44 Minor string updates 2020-10-15 16:51:06 -07:00
casey langen
bef6d95744 More explicit book keeping around message targets, and also ensure
TrackList doesn't auto-destruct in the middle of a query. This should
address the remaining shutdown and library switch issues.
2020-10-15 16:20:11 -07:00
casey langen
8ea659114f Explicitly clean up the websocketpp client before the io_service or we
have a race condition that may cause a crash during shutdown.
2020-10-15 16:19:28 -07:00
casey langen
cb5b2006f5 More minor tweaks 2020-10-15 02:30:42 -07:00
casey langen
1b0eb27fc9 Settings layout fixes 2020-10-15 02:24:42 -07:00
casey langen
3aff937387 Add the ability to adjust HttpDataStream caching and buffering
parameters via plugin config.
2020-10-14 23:54:28 -07:00
casey langen
fbe1eef87f Fail websocket connection on server version mismatch. In the future
we'll need to make this smarter via semver or something.
2020-10-14 21:28:21 -07:00
casey langen
463e82c8a3 Added the ability to enable/disable async track queries in TrackListView 2020-10-14 19:29:34 -07:00
Casey Langen
8db2f977e3 Fix unix daemon compile 2020-10-13 23:36:59 -07:00
casey langen
af35c1bfd1 * Move version.h back to musikcore and bump the SDK and API versions.
* Include `app_version` in server handshake
2020-10-13 22:49:32 -07:00
casey langen
cd15bbd941 More comprehensive bug fixes for buffering transport state. Not sure if
we're out of the woods yet...
2020-10-13 22:20:09 -07:00
casey langen
74fc533016 Minor bug fixes to buffering status readout in TransportWindow 2020-10-13 21:58:34 -07:00
casey langen
c644862959 Propagate buffering status from Player -> Transport -> PlaybackService
-> UI and render it in TransportWindow.
2020-10-13 21:37:51 -07:00
casey langen
b21b21dab6 Copyright date updates. 2020-10-12 21:21:58 -07:00
casey langen
1a571a56e2 Migrate to VS2019. 2020-10-12 20:47:09 -07:00
casey langen
cac4821544 Windows is compiling again. 2020-10-12 19:34:56 -07:00
Casey Langen
f0206c05e8 Move "core" directory to "musikcore". Windows build probably needs some
tweaks.
2020-10-12 19:23:17 -07:00
casey langen
3d0b2de319 Fix re-focus behavior to ensure SOMETHING always gets focused when
switching screens.
2020-10-12 10:56:03 -07:00
Casey Langen
bba8c7091a Removed unnecessary includes. 2020-10-12 01:00:00 -07:00
casey langen
360d6a22e0 HttpDataStream/LruDiskCache fixes. 2020-10-12 00:51:06 -07:00
casey langen
1b8cd6bb7f Stumbled upon a super old bug -- if the command bar is focused and then
you click to focus a widget, the command bar stays in a psuedo-focused
state where it still accepts inputs but draws as unfocused. This change
should fix this, but I have concerns about what types of weird edge
cases this may present.
2020-10-11 22:26:58 -07:00
Casey Langen
66ee389ee6 At some point we'll get this banner color bug fixed. Yikes. 2020-10-11 12:27:16 -07:00
Casey Langen
f6ce730a4f Tighten up RemoteLibrarySettingsLayout 2020-10-11 12:26:14 -07:00
Casey Langen
cbbb6072a8 Small string update. 2020-10-11 12:26:14 -07:00
casey langen
0f7a89dc74 Fixed banner style and themes. 2020-10-11 12:24:23 -07:00
casey langen
3ac4c5627d less flashy top banner 2020-10-11 03:06:41 -07:00
Casey Langen
a9627e2e9b layout fixes 2020-10-11 02:46:26 -07:00
casey langen
8cdebc44f6 Fix LruDiskCache to actually prune entries. 2020-10-11 01:46:46 -07:00
casey langen
206c756c0c Fixed nested focus issues for direct focus (i.e. mouse click) instead of
incremental (i.e. tab)
2020-10-11 00:29:47 -07:00
Casey Langen
f7dbb0deb6 Need to return a value here. 2020-10-10 23:50:37 -07:00
casey langen
74a920ec68 More subtle focus-related bug fixes. 2020-10-10 23:46:56 -07:00
casey langen
691dc7e8b1 Updated FfmpegDecoder::SetPosition() to be seemingly more reliable
across platforms.
2020-10-10 22:53:16 -07:00
casey langen
ccc4040213 Fixed a race condition in GaplessTransport where the recently created
player may get destroyed before the playback bootstrap finishes, leading
to a crash.

Also fixed a bug in LruDiskCache entry parsing that could result in
playback failing.
2020-10-10 22:05:30 -07:00
casey langen
346affb027 Fixed a bug in ListWindow's key handling propagation 2020-10-10 21:35:11 -07:00
Casey Langen
e966b36b24 Fixed a couple long-dormant bugs in HttpDataStream 2020-10-10 21:02:56 -07:00
casey langen
0d11e3da12 Fixed filename extension bug in LruDiskCache 2020-10-10 19:15:22 -07:00
casey langen
56dccf0f5f More bug fixes around missing tracks and custom indexer data streams. 2020-10-10 18:52:39 -07:00
casey langen
5490030447 Fix key press event bubbling for nested layouts. 2020-10-10 17:25:06 -07:00
casey langen
9a0b828c51 Fix bugs playing tracks with custom indexer sources (mods, chiptunes) 2020-10-10 16:34:39 -07:00
casey langen
b3c73e5edc Fixed default TextInput focused content color for non-inline-styled
controls
2020-10-10 14:35:37 -07:00
casey langen
f620d51590 Show retrying text when attempting to reconnect to remote library. 2020-10-10 14:32:53 -07:00
casey langen
f92714f8cd Settings bug fixes. 2020-10-10 14:00:57 -07:00
casey langen
48c04fa7d1 Remote library loading and saving correctly from settings. Phew. 2020-10-10 13:29:10 -07:00
Casey Langen
d8a31e9f6d Most remaining busy work to save/load remote library settings. 2020-10-10 13:08:56 -07:00
Casey Langen
6cb63c1a6f Fixed RemoteLibrary to load server settings from preferences and updated
RemoteLibrarySettingsLayout. Next up: read/write values from settings.
2020-10-10 12:43:00 -07:00
Casey Langen
cf522a5bb9 RemoteLibrarySettingsLayout has been blocked out, but is not functional. 2020-10-10 12:24:30 -07:00
Casey Langen
20f2b08a67 Bootstrapped RemoteLibrarySettingsLayout and dynamically switching
between it and LocalLibrarySettingsLayout based on selected library.
2020-10-10 11:08:21 -07:00
Casey Langen
13a21c005e Fixed strings 2020-10-10 03:16:00 -07:00
casey langen
2b75dd6c9d Removed some weird old, undocumented focus logic in OverlayBase that
seems to be causing issues after correcting nested focus issues.
2020-10-10 02:03:22 -07:00
casey langen
6fde5a7d0d Fixed Linux compile 2020-10-10 01:56:07 -07:00
casey langen
beef38501a Switch between library types without restarting the app via
MasterLibrary pimpl-style implementation.
2020-10-10 01:50:37 -07:00
casey langen
3ae8aed29a Added MasterLibrary in the same vein as MasterTransport to easily
support dynamically switching between underlying implementations.
2020-10-10 01:36:31 -07:00
casey langen
5f0bb39a49 Update console app's CMakeLists.txt 2020-10-09 23:29:58 -07:00
casey langen
173fef5e62 More annoying boilerplate for library selection. 2020-10-09 23:27:07 -07:00
casey langen
87acc20506 Started breaking settings layout apart and found we have nested layout focus issues. This should address that, but we'll see if any edge cases pop up during testing. 2020-10-09 22:48:11 -07:00
Casey Langen
baff147674 Fixed test code. 2020-10-09 17:11:18 -07:00
casey langen
1d69bb4455 Added the ability for TrackList to make batch queries asynchronously
with built-in debounce. Disabled by default for now because it flickers;
this will be useful in situations where there's high latency.
2020-10-09 17:05:59 -07:00
casey langen
710f237b04 Stop playback on library disconnect. 2020-10-09 14:05:39 -07:00
casey langen
6e55abb2d6 Save state between remote disconnect/reconnect. 2020-10-09 14:03:38 -07:00
casey langen
0bbc637f09 UI tweaks for remote library connection state. 2020-10-09 13:26:47 -07:00
casey langen
e7b1b24a36 Added missing query to CMakeLists.txt 2020-10-09 02:39:00 -07:00
casey langen
43c92d2c6f Fix clang compile 2020-10-09 02:35:45 -07:00
casey langen
befd243c6b Fleshed out some more LibraryNotConnectedLayout. 2020-10-08 23:34:40 -07:00
casey langen
189931fbcc Show LibraryNotConnectedLayout when disconnected from a remote
library, and automatically switch back to `LibraryLayout` when
reconnected.
2020-10-08 23:04:58 -07:00