Commit Graph

2835 Commits

Author SHA1 Message Date
casey langen
2b1e7b5448 Some warning cleanup in the custom app views and layouts. 2021-01-28 19:56:45 -08:00
casey langen
80b81d8e35 TrackListView warning cleanup. 2021-01-27 22:57:57 -08:00
casey langen
ea0cbd8378 Use safer APIs when formatting duration strings. 2021-01-27 15:22:20 -08:00
Casey Langen
2263610b50 Added duration readouts to directory browsing. 2021-01-26 19:40:53 -08:00
casey langen
4a077922ae Added the ability to format durations with hours. 2021-01-26 15:25:38 -08:00
casey langen
fe752a0d6f Added durations to SearchTrackListQuery 2021-01-26 00:04:37 -08:00
casey langen
46118ab6fe Ensure CategoryTrackListQuery is implemented successfully, and added
correct exception handling for query result parse failures in the remote
library WebSocketClient.
2021-01-25 23:45:08 -08:00
casey langen
960c9a55f4 Update CategoryTrackListQuery to also include duration. Untested, checking this in to test on a computer that has easier access to local music. 2021-01-25 22:06:44 -08:00
casey langen
db9f12551a Added new GetDurations() stubs to TrackListQueryBase and subclasses. 2021-01-25 20:10:26 -08:00
casey langen
edce1d7c88
Warning and and precompiled headers fixes and cleanup (#408) 2021-01-25 19:03:57 -08:00
Casey Langen
05e7a690b2 Merge branch 'clangen/0.96.5' 2021-01-24 14:07:13 -08:00
Casey Langen
75552819de version bump and changelog update. 2021-01-24 13:53:38 -08:00
Casey Langen
47cb367d5d When building a static archive on macOS, statically link against the
brew version of curses.
2021-01-24 13:52:18 -08:00
Casey Langen
aa59abd031 Conditionalize weird redraw issue observed on FreeBSD. 2021-01-17 23:59:01 -08:00
casey langen
a64a7c97b9 Ensure we repaint the background of windows before redrawing them. This
fixes some issues with incomplete background colors on some operating
system / ncurses combinations (e.g. FreeBSD)
2021-01-17 22:56:58 -08:00
casey langen
d38e30fcc0 More warning cleanup. 2021-01-09 00:46:59 -08:00
casey langen
5e3f02074e Fixed a bug where track numbers would not be correct if the last loaded session was a playlist 2021-01-08 23:31:37 -08:00
casey langen
fa4c0d0c67 Fixed compiler error on older versions of gcc. 2021-01-06 23:20:26 -08:00
Casey Langen
c3ee55f89d Version bump and CHANGELOG update. 2021-01-05 19:43:18 -08:00
casey langen
a5423fdc4e Some vs2019 warning cleanups in the audio namespace. 2021-01-05 00:15:28 -08:00
Casey Langen
8771e8199f Let's use the less-buggy, brew-provided version of ncurses for improved
compability across terminal emulators that support REP, like kitty.
2021-01-02 16:03:28 -08:00
Casey Langen
10a3863f95 Added mouse wheel handling for Unix platforms. 2020-12-31 23:04:21 -08:00
Casey Langen
5c7415bc45 More cross-platform, cross-terminal-emulator resize compatibility fixes. 2020-12-31 15:08:04 -08:00
casey langen
0951d87add Fixed PDCurses/Windows resize handling. 2020-12-31 15:00:58 -08:00
casey langen
ce562a1d13 Change the method by which we determine our terminal size has changed to be less confusing and more responsive. 2020-12-31 14:28:09 -08:00
casey langen
585e996098 PlaybackService warning cleanup / syntax modernization. 2020-12-29 23:37:13 -08:00
Casey Langen
8e30353843 Gradle plugin version bump. 2020-12-27 00:02:19 -08:00
casey langen
ff101bdeea Update version hash for release. 2020-12-23 10:45:28 -08:00
casey langen
b445db5752 Distinguish between win32 and win64 in HttpClient's user agent. 2020-12-23 10:41:18 -08:00
Casey Langen
fbbaea0beb Added a new PlayQueueClear hotkey. 2020-12-22 19:17:05 -08:00
Casey Langen
210c98b8ad Fixed last.fm double scrobble bug. 2020-12-20 14:19:32 -08:00
Casey Langen
05ea062e03 Oops, version-bumped to the wrong version. 2020-12-20 13:22:44 -08:00
casey langen
b57c32a518 Updated version and CHANGELOG for next release. 2020-12-20 12:43:57 -08:00
casey langen
0ca5bb4bbb Fixed issue where now playing readout was not properly ellipsized. 2020-12-20 12:35:17 -08:00
casey langen
5b1f07c953 Let's disable title updating by default on non-Windows platform because it seems inherently problematic. 2020-12-19 16:58:56 -08:00
eater
f2eb4c138c
fix: when window title update is disabled, quick return 2020-12-19 22:53:48 +01:00
casey langen
44e66937c6 Fixed update check (and an HttpClient re-entrancy issue) 2020-12-16 17:18:47 -08:00
casey langen
7fbed05135 Prefer $XDG_CONFIG_HOME to $HOME on Unix platforms. 2020-12-10 00:03:01 -08:00
Casey Langen
b43b69a918 Version bump. 2020-12-07 17:16:32 -08:00
Casey Langen
a0479c5b25 Refactored LyricsLayout so that it doesn't update UI from a background
thread.
2020-12-07 17:15:22 -08:00
Casey Langen
679e8f645c Fixed a stack smashing bug in HttpClient::Run() 2020-12-07 17:15:02 -08:00
Casey Langen
d3bcb053b6 Fix libmicrohttpd integration in the server plugin statically linking 2020-12-06 16:52:30 -08:00
casey langen
c9047e4a7d Version bump. 2020-12-06 16:10:22 -08:00
casey langen
85eca216e7 Migrate UpdateCheck to use the SDK-provided HttpClient. 2020-12-06 16:10:05 -08:00
casey langen
cfab85ac8b Treat client/server as compatible as long as they have the same major
and minor version (patch version is ignored now)
2020-12-06 15:45:50 -08:00
casey langen
b48b335c74
Merge pull request #388 from Siheyuan98/master
Additional Simplified Chinese translation
2020-12-05 15:34:51 -08:00
casey langen
f001a48b43 Added the app version to the bottom of the settings screen 2020-12-05 15:00:25 -08:00
UM-Li
33eb3860b0 All instances of "Musikcube" --> "musikcube" 2020-12-05 16:20:10 -06:00
casey langen
ad09b30b18 Propagate server version back to the user when remote library connection fails due to incompatible versions. 2020-12-05 14:03:34 -08:00
casey langen
c44343712d Add support for older versions of libcurl (e.g. those found on RHEL7) that do not have support for the newer CURLOPT_XFERINFODATA / CURLOPT_XFERINFOFUNCTION options. 2020-12-05 13:38:59 -08:00
casey langen
dff519ee87 Added the ability to ignore client/server version mismatches for TUI remote libraries. 2020-12-05 13:36:12 -08:00
UM-Li
14c5e65528 Additional Simplified Chinese translation 2020-12-05 10:02:45 -06:00
UM-Li
d682ab4a42 Additional Simplified Chinese translation 2020-12-05 09:52:03 -06:00
casey langen
b65bc626c8 Version bump and changelog update. 2020-12-03 23:29:38 -08:00
casey langen
0e1e21e619 Checking x/y seems problematic with ncurses. 2020-11-17 21:09:35 -08:00
casey langen
d55071d228 Fix compile issues on Unix 2020-11-17 21:08:16 -08:00
casey langen
b3491d1113 version hash update 2020-11-17 21:06:11 -08:00
casey langen
62db8015d2 Calling curs_set() with the same value it already has seems to still
trigger redraws sometimes, at least with PDCurses WinGui. Our
application currently controls showing the cursor, so let's just
remember if it's visible or not, and not call set_curs() again unless we
have to.
2020-11-17 21:06:03 -08:00
casey langen
ff5217485f More minor input latency tweaks. 2020-11-17 16:04:33 -08:00
casey langen
0199f1d7fd Minor fix and comment updates. 2020-11-17 01:30:13 -08:00
casey langen
0a94e848ab More commentary. 2020-11-16 22:36:29 -08:00
casey langen
2284d04712 Cleaned up the lower-latency mouse handling code a bit. 2020-11-16 22:28:35 -08:00
Casey Langen
81b2ee7746 Unix seems to be working properly now. 2020-11-16 21:42:30 -08:00
casey langen
4a7e475e63 Unix compile fix. 2020-11-16 20:40:03 -08:00
casey langen
c238ef71dd Mouse input feels much better, but the code is super gross. Will be
refactored before moving forward.
2020-11-16 20:34:58 -08:00
casey langen
8b49240be0 Incremental tweaks that should help improve input latency, especially
mouse handling. Checking this in so I can continue work on another
computer. This is currently not functional or pretty.
2020-11-16 19:46:26 -08:00
casey langen
a4d132053e Commit hash update. 2020-11-13 18:51:02 -08:00
casey langen
f9f4557402 We should be passing the port numbers around as unsigned. Oops. 2020-11-13 18:50:45 -08:00
casey langen
bc96d35bb2 Disallow search match type toggle if input field is not focused. 2020-11-11 18:39:33 -08:00
casey langen
992b62be7a Some warning cleanup. 2020-11-10 19:07:03 -08:00
Casey Langen
0de01ed486 Fixed comment typos 2020-11-09 21:29:32 -08:00
casey langen
29cf272d9c Fix a bit of flicker in PlayQueueOverlay common cases. 2020-11-09 18:56:34 -08:00
casey langen
e121455e9c Minor cleanup to SqliteExtensions. 2020-11-09 18:28:59 -08:00
Casey Langen
3bac0ba27a Fix regex deallocation. 2020-11-07 22:17:50 -08:00
Casey Langen
b922c1aa00 Version bump for next version, whenever that'll be. 2020-11-07 22:13:14 -08:00
casey langen
7963713694 Include SqliteExtensions in the non-Windows compile. 2020-11-07 22:07:42 -08:00
casey langen
c554a56529 Draw the text input frame color "important" when regex matching is
turned on.
2020-11-07 22:06:40 -08:00
casey langen
222a4ee16c Save/restore MatchType in category and track search layouts. 2020-11-07 21:31:07 -08:00
casey langen
b5c2795928 Wired up some basic UX to support toggling between substring and regex
matching.
2020-11-07 21:24:53 -08:00
casey langen
d4a1fba4b6 Added regex support to CategoryListQuery and SearchTrackListQuery, but
they're not wired up yet.
2020-11-07 20:19:56 -08:00
casey langen
ba9b98794f Added SqliteExtensions to support matching on accented characters and
regular expressions.
2020-11-07 20:16:21 -08:00
casey langen
498dea25ca Fix compile for older versions of boost (e.g. the one used in Bionic) 2020-11-03 22:51:40 -08:00
Casey Langen
b91bd312c6 Update version hash. We're getting close to release, there will be a few
of these as I test across all platforms.
2020-11-03 18:05:53 -08:00
casey langen
2d0f550e10 Fixed a bug where the play queue view would not always correctly scroll
to the playing track on startup after restoring the session.
2020-11-03 17:55:43 -08:00
casey langen
242d9d2c47 Repair c_context to use a single MessageQueue internally. 2020-11-01 21:38:44 -08:00
casey langen
7cd3a27f8c
Merge pull request #374 from adem4ik/master
Update ru_RU.json
2020-11-01 11:15:23 -08:00
casey langen
6520e082c1 Fixed bug where DirectoryLayout wasn't properly consuming keys, leading
to the callback firing multiple times.
2020-11-01 10:53:28 -08:00
casey langen
d23a6f8489 version hash bump 2020-11-01 00:13:41 -07:00
casey langen
04e8acc416 Fixed a bug where aborted audio tracks may be added to the filesystem
cache.
2020-11-01 00:12:36 -07:00
Casey Langen
9d695f8a9b Also add the commit hash to the daemon version readout. 2020-10-31 22:27:43 -07:00
casey langen
c93d66a4ba Version bump for clean commit hash. 2020-10-31 21:41:08 -07:00
casey langen
5d2fd09c89 Include commit hash in VERSION 2020-10-31 21:40:37 -07:00
casey langen
01068cd798 Fixed a theming issue with the new header style. 2020-11-01 01:26:14 +00:00
casey langen
8737abc0ec Merge remote-tracking branch 'origin/clangen/enum-cleanup' into master 2020-10-31 17:49:44 -07:00
casey langen
b4c4ba1a9c Let's not blink the transport time if we're in the Prepared state 2020-10-31 17:43:31 -07:00
casey langen
ce4d9fe69d Upgraded sqlite to the most recent release. We were previously using one
more than two years old.
2020-10-31 17:38:03 -07:00
casey langen
d612a59999 Revert some unnecessary and buggy restructuring of
RemoteLibrary::EnqueueAndWait(). While required for LocalLibrary, this
causes issues with RemoteLibrary.
2020-10-31 13:40:12 -07:00
casey langen
bd7c60fd57 Separated Color::Banner and Color::Header into their own theme colors,
then updated the theme files and defaults.
2020-10-31 13:23:58 -07:00
casey langen
84b2b8738a Restructure RemoteLibrary and LocalLibrary queries that use
kWaitIndefinite to avoid deadlock.
2020-10-31 11:48:25 -07:00
casey langen
5a5985932d Fixed BSD compile. 2020-10-31 17:38:52 +00:00
Casey Langen
e0a2da7102 Fixed macOS compile. 2020-10-31 17:15:56 -07:00
casey langen
e141f7d555 Fixed Linux compile. 2020-10-31 17:09:12 -07:00
casey langen
6d16d602c4 enum -> enum class cleanup in SDK where applicable. 2020-10-31 17:00:59 -07:00
casey langen
583acbc866 Removed nonsensical NotApplicable state from
ILibrary::ConnectionState.
2020-10-31 00:29:36 -07:00
casey langen
a498ef93ad Added configurable track query timeout for use by PlaybackService. 2020-10-30 22:35:28 -07:00
casey langen
a12134c610 Let's turn on AsyncTrackListQueries by default now that the
functionality has stabilized.
2020-10-30 21:26:42 -07:00
casey langen
783fb467ff Explicitly enable multi-processor compile. 2020-10-30 19:58:28 -07:00
casey langen
6af0d01b6e Fail fast when querying tracks if we know we're not connected in
PlaybackService.
2020-10-30 19:57:56 -07:00
casey langen
a06d6f28d1 Added track fetching timeouts to PlaybackService. This should skirt a
couple edge cases and possibly allow us to not immediately stop playback
when reconnecting.
2020-10-30 17:21:28 -07:00
casey langen
5e23a21aa6 Modernize override syntax. 2020-10-30 16:47:34 -07:00
casey langen
c536a4bc9d Forgot to push this fix in last night -- fixes query timeout issues due
to potential int overflow with kWaitIndefinite.
2020-10-28 11:39:35 -07:00
Casey Langen
aba46739b6 I guess it's not safe to use 64-bit integers when dealing with
std::chrono and milliseconds?
2020-10-27 23:54:56 -07:00
casey langen
d68a98c7a6 Tuning the cache window timeout param across platforms. 150 seems reasonable in Windows and WSL. Will try macOS next. 2020-10-27 22:03:19 -07:00
casey langen
1258c2803e Added missing wait_for logic in RemoteLibrary 2020-10-27 22:01:23 -07:00
casey langen
7da49b1981 Removed file that was unintentionally added. 2020-10-27 21:43:41 -07:00
casey langen
93acbbb7a5 Was referencing a stack allocated variable from a lambda that was called
from a different stack. Ugh.
2020-10-27 21:42:42 -07:00
casey langen
8ccb1b8fd4 Add a const for the TrackList CacheWindow query timeout. 2020-10-27 21:25:14 -07:00
Casey Langen
10072762e1 Small RemoteLibrary async query race condition fix, and tweaked a couple
other minor things to improve TrackListView redraws.
2020-10-27 18:27:08 -07:00
casey langen
38c5e5c9fd Minor refactor to query enqueue interface with the added ability to
specify explicit timeouts.
2020-10-27 16:57:34 -07:00
casey langen
5f8c0f4e49 Made it a bit easier to tweak skeleton rows. 2020-10-26 22:29:20 -07:00
casey langen
f78dbcfe9f Improved async TrackList track states in TrackListView 2020-10-26 20:20:24 -07:00
adem
05a6d6c53b Update ru_RU.json 2020-10-25 21:28:38 +04:00
casey langen
3ec8609b90 Added back some PDCurses changes that'll make it easier to upgrade to
newer versions in the future, if/when it stablizes.
2020-10-24 22:36:44 -07:00
casey langen
b821f6a293 Fixes a bug where if a nested child was focused, then the container lost
focus, then the user tabbed back to the nested layout it would not focus
the first/last subview correctly.
2020-10-24 17:20:29 -07:00
casey langen
b7ba7eb6bc More focus related fixes. 2020-10-24 16:49:20 -07:00
casey langen
11a3ac9c8e Pipe WebSocket message send errors back to the caller instead of
throwing an exception to kill the app.
2020-10-24 14:22:15 -07:00
casey langen
5332bb3526 Also check for _DEBUG 2020-10-24 14:05:46 -07:00
Casey Langen
2989870580 ASSERT_MAIN_THREAD() cleanups. 2020-10-24 13:14:42 -07:00
casey langen
47739cb322 Filled in Win32 assert stubs. 2020-10-24 12:58:02 -07:00
Casey Langen
46e3d5846a I think we have an edge case somewhere that we are updating the UI from
a non-UI thread. Added some asserts in debug mode to help track this
down. TODO: fill in Win32 stubs.
2020-10-24 12:39:42 -07:00
Casey Langen
c92744d102 Let's use std::atomic<> instead of volatile. 2020-10-24 12:15:53 -07:00
Casey Langen
fbf8844c91 Tweaked retry count logic to be weighted based on failure type; if the
server is overloaded let's allow for more retries with longer tries
between attempts.
2020-10-24 12:14:00 -07:00
Casey Langen
a302837f1a Backed out a previous attempt to fix multiple streams trying to cache
the same file simultaenously. This was later fixed in a more robust way
in LruCache using Player instanceIds, but the code removed in this
commit was left around to rot and cause issues.
2020-10-24 12:07:48 -07:00
Casey Langen
a50c2467dc GmeDecoder variable renames for clarity 2020-10-23 23:54:40 -07:00
casey langen
794aa9a56c Revert "Let's try to upgrade PDCurses again. Had some problems last go around"
This reverts commit 22a37f66de.
2020-10-23 22:03:48 -07:00
casey langen
f6c96b5860 Display server information in the remote management screen. 2020-10-23 12:16:39 -07:00
casey langen
ec17f3a2a5 Upgraded to Android 4.1 tooling, and upgraded third-party libraries for
musikdroid.
2020-10-23 11:36:51 -07:00
casey langen
001afe6e9a Don't crash on malformed input when configuring a remote library. 2020-10-23 11:01:54 -07:00
casey langen
c6f7faa3cb Minor bug fixes in HttpDataStream's LruCache and added the ability to
specify the maximum number of simultaneous transcoders in the server.
2020-10-22 22:39:46 -07:00
Casey Langen
66e06e1fc8 Ensure we prime the RemoteLibrarySettingsLayout during construction. 2020-10-22 18:22:48 -07:00
Casey Langen
556b09daa3 break out of decoder resolution 2020-10-22 18:15:39 -07:00
Casey Langen
fa694408c3 Fixed FfmpegDecoder read callback returning EOF incorrectly. 2020-10-22 18:15:13 -07:00
casey langen
60a206a2d6 Ensure remote library settings are always saved. 2020-10-22 17:03:47 -07:00
Casey Langen
ed4869298c Compiler compatibility fixes. 2020-10-22 00:28:33 -07:00
casey langen
ed4f2440a6 Use an atomic variable for tracking instanceIds in HttpDataStream 2020-10-22 00:06:42 -07:00
casey langen
b563d512d1 Variable naming updates for clarity 2020-10-22 00:01:58 -07:00
casey langen
08a547253f More HttpStream bugfixes around simultaenous Players with the same
endpoint.
2020-10-21 23:58:38 -07:00
casey langen
70579d097f Fixed bugs around trying to cache the same file multiple times
simultaneously. Also fixed a bug where the remote track "uri" type was
incorrect when the transcoder is enabled.
2020-10-21 23:01:29 -07:00
casey langen
a010a7b709 Fixed a couple compiler warnings. 2020-10-21 17:38:09 -07:00
casey langen
62cd360c3d Had read/connection timeout defaults swapped. 2020-10-21 17:15:17 -07:00
casey langen
2b4a8ab5ea HttpDataStream tweaks with customizable timeouts and automatic retries.
Also fixes a bug where failed requests would still report a successful
open, leading to weird buffering behavior in the UI.
2020-10-21 17:08:27 -07:00
casey langen
dceb6085ff Removed unnecessary locking in MasterLibrary that could cause a
deadlock.
2020-10-21 16:14:00 -07:00
casey langen
13d8b3b6c4 CategoryListView widgets can now requery themselves automatically using
visibility events, instead of relying on their parent. This fixes bugs
related to "JumpTo".
2020-10-21 11:36:21 -07:00
casey langen
14c73d9dee Even more betterer visibility handling in Window.cpp. 2020-10-21 11:35:34 -07:00
casey langen
a844b31819 Fixed on-demand transcoding. 2020-10-21 10:54:35 -07:00
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