casey langen
9fb2c6412d
Add transparent background support to PDCURSES_WINCON build.
2022-01-02 13:38:01 -08:00
casey langen
d77bf3c833
Enable color themes for WINCON builds.
2022-01-01 12:02:59 -08:00
casey langen
bc9b026920
Fix background rendering for some types of overlays on some platforms.
2021-12-29 11:56:29 -08:00
casey langen
be2ca36131
Update version hash.
2021-12-28 14:55:45 -08:00
casey langen
d1d9db1e53
Update version hash.
2021-12-28 13:48:07 -08:00
casey langen
6c1ae05b57
Updated musikdroid versionCode
2021-12-28 13:47:44 -08:00
casey langen
6572465e1c
More rpath fixes -- this time for macOS.
2021-12-28 13:36:07 -08:00
casey langen
18960811cc
Version bump.
2021-12-28 00:46:40 -08:00
casey langen
4bb9bbad3c
Fix race condition by adding required locking in WasapiOut to avoid rare
...
crash.
2021-12-27 22:41:57 -08:00
casey langen
03c55e94e6
Update musikdroid version.
2021-12-27 19:17:01 -08:00
casey langen
540e1498c3
Version bump.
2021-12-27 18:56:04 -08:00
casey langen
c10b957689
Update -rpath usage.
2021-12-27 18:55:37 -08:00
casey langen
d3204e4072
Bump commit hash for release.
2021-12-27 15:10:36 -08:00
casey langen
d278728e01
Refactored and added logging to SystemService to improve notification synchronization issues -- looks like we should debounce all updates to both the notification and the MediaSession or the internals can get confused.
2021-12-27 13:21:17 -08:00
casey langen
4a3c54bf13
Update Android Studio and dependencies.
2021-12-27 13:20:56 -08:00
Maksymilian Jodłowski
f013f1065d
Add missing header.
...
Fixes #476
2021-12-22 08:45:46 +01:00
casey langen
be1d51c5f7
Fixed notification tray icon for windows builds.
2021-12-18 21:08:00 -08:00
Sergei Trofimovich
1240720e27
always use "%s"-style format for printf()-style functions
...
`ncuses-6.3` added printf-style function attributes and now makes
it easier to catch cases when user input is used in palce of format
string when built with CFLAGS=-Werror=format-security:
musikcube/cursespp/cursespp/curses_config.h:54:36:
error: format not a string literal and no format arguments [-Werror=format-security]
54 | if (window && format) { wprintw(window, format, ##__VA_ARGS__); }
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
musikcube/src/musikcube/app/window/TransportWindow.cpp:640:5: note: in expansion of macro 'checked_wprintw'
640 | checked_wprintw(c, shuffleLabel.c_str(
Let's wrap all the missing places with "%s" format.
2021-11-17 09:09:37 +00:00
Robert Günzler
4f5e233126
Fix data directory when using XDG ( #470 )
...
Since 7fbed05135
musikcube detects `$XDG_CONFIG_HOME` with `GetHomeDirectory`.
There is an intermediate call to `getDataDirectoryRoot` though which
appends `/.config`, stemming from when `GetHomeDirectory` would actually
return `$HOME`. This leads to the situation where on most systems where
config home is already under `$HOME/.config/` musikcube will create
`$HOME/.config/.config/musikcube` for itself.
We fix this by removing the `getDataDirectoryRoot` shim entirely.
Signed-off-by: Robert Günzler <r@gnzler.io>
2021-11-14 15:43:51 -08:00
Robert Günzler
5bdf0113d7
cmake: fix build against ncurses with separate libtinfo
...
Tested this on openbsd as well:
https://github.com/robertgzr/musikcube/tree/bsd
https://builds.sr.ht/~robertgzr/job/623049
Signed-off-by: Robert Günzler <r@gnzler.io>
2021-11-08 02:32:53 +01:00
Robert Günzler
aa12ef18bb
cmake: support sd-bus fallback implementations
...
* elogind: https://github.com/elogind/elogind
* basu: https://github.com/emersion/basu
Relates https://github.com/clangen/musikcube/issues/365
Fixes https://github.com/clangen/musikcube/issues/456
Signed-off-by: Robert Günzler <r@gnzler.io>
2021-11-08 02:32:51 +01:00
casey langen
51275f35ba
Looks like some versions of pw_stream_flush()
crash if the stream was
...
never connected. If we can't connect, let's destroy the stream
immediately to avoid this from happening later when the plugin cleans
up.
2021-10-17 14:39:25 -07:00
casey langen
eacb0ea034
Added Android 12 and Android Studio Arctic Fox support.
2021-09-26 23:07:38 -07:00
casey langen
a0162d1fc3
Allow for user to configure NullOut's default sample rate.
2021-09-20 12:25:03 -07:00
casey langen
0497260ddb
Fix use after free bug in FfmpegDecoder.
2021-09-20 08:18:25 -07:00
casey langen
042c857895
Fix sample back pressure leading to increased memory usage over time in
...
FfmpegDecoder.
2021-09-20 08:05:16 -07:00
casey langen
d99e65d91f
Read the default sample rate from the selected output and relay it to
...
the appropriate decoder.
2021-09-19 21:53:02 -07:00
casey langen
06bdf32959
* Updated WasapiOut to provide the preferred sample rate for the
...
selected device
* Updated FfmpegDecoder to accept the preferred sample rate from the
output, and use it when resampling if it is non-negative. Otherwise,
use the sample rate defined by the file.
Note: this is not wired up in the main app yet.
2021-09-19 21:50:54 -07:00
casey langen
f2e8fd45f8
Update IOutput and IDecoder interfaces to allow for querying and setting default/preferred output sample rates. Nothing is wired up yet.
2021-09-19 21:00:59 -07:00
casey langen
440a34b549
CHANGELOG and version bump.
2021-09-05 14:55:37 -07:00
casey langen
f91bee6a1c
Fix parsing album art from FLAC files.
2021-09-05 14:49:55 -07:00
Orestes
6e9dcc5246
Spanish translation ( #459 )
2021-08-28 19:04:33 -07:00
PythonTryHard
f8bc7aa4c0
Fix album duration calculation off-by-one ( #453 )
2021-08-28 19:04:08 -07:00
casey langen
825adfcf2f
Fix view re-creation due to visibility change.
2021-07-18 13:59:29 -07:00
casey langen
53b072f8f6
Redraw UI on visibility change. Shouldn't be necessary; need to look
...
into the root cause.
2021-07-18 13:18:32 -07:00
casey langen
11f81c59e5
Fix bug where user may not be able to navigate to lyrics layout.
2021-07-18 13:10:06 -07:00
casey langen
8627875691
Update scrobble logic.
2021-07-17 15:41:56 -07:00
casey langen
2af4a125fb
Fix unit conversion.
2021-07-17 15:39:41 -07:00
casey langen
3cd6bc165f
Update scrobble logic to post after 25% of the track has played, not 10 seconds.
2021-07-17 12:02:31 -07:00
casey langen
c86230d3aa
Fix rare PipeWire bug that may cause volume to not get set properly after restarting the app.
2021-07-15 22:50:34 -07:00
casey langen
dfecbe96e5
Syntax fix for OpenBSD CMake support.
2021-07-15 22:16:30 -07:00
casey langen
b87c8d1152
OpenBSD build fixes.
2021-07-15 20:45:43 -07:00
Tian Yunhao
00cf3eb59d
Build: ensure static library existence only when needed ( #447 )
...
The current cmake build script for flac, m4a and ogg
asserts the corresponding library existence. However,
when building in environments like buildroot, the static
library may not exist. Thus only check for them when
static build is actually needed.
2021-07-01 21:35:30 -07:00
casey langen
70a35adf39
Android Studio 4.2 support.
2021-05-11 12:58:05 -07:00
Maksymilian Jodłowski
ec842cfcb0
Requery TrackSearchLayout on Indexer.Finished ( #437 )
...
Whenever library is updated search should be requeried.
Co-authored-by: Maksymilian Jodlowski <5447436-ravensiris@users.noreply.gitlab.com>
2021-05-05 00:04:34 -07:00
casey langen
f2590fc480
Version bump for Windows re-dist
2021-04-29 19:22:07 -07:00
eater
fea06d9674
Use pkg-config for pipewire library in cmake ( #432 )
2021-04-19 15:55:14 -07:00
casey langen
132a8b7f88
Replaced a bunch of unnecessary flatMap
s with map
2021-04-19 00:03:58 -07:00
casey langen
32908048d3
Upgraded musikcube-bin
for a new ExoPlayer flac plugin.
2021-04-17 20:42:46 -07:00
casey langen
9ebf93b155
Upgrade musikdroid dependencies and build tooling.
2021-04-17 19:23:08 -07:00
casey langen
9667ec6bd6
Release hash update
2021-04-16 22:10:42 -07:00
Cthulhux
24aeb8b6be
de_DE translation ( #430 )
2021-04-16 19:26:29 -07:00
casey langen
172ed8f65f
version bump
2021-04-15 21:08:41 -07:00
casey langen
f44157a220
Copyright year updates.
2021-04-14 20:16:48 -07:00
casey langen
d79dac8ac8
Don't fail if libev.a is missing, we'll fall back to the shared library.
2021-04-13 22:16:16 -07:00
casey langen
2a72984be4
Warning cleanup
2021-04-13 22:02:49 -07:00
casey langen
6914702131
Fix bug where sometimes navigating to directory browse would not correctly hightlight the "browse" button in the shortcuts bar
2021-04-12 21:59:30 -07:00
casey langen
6fd0c537b4
Added an "advanced" option to allow resuming playback automatically on app start.
2021-04-11 22:41:12 -07:00
casey langen
e35d117156
Better bad packet detection...?
2021-04-11 20:35:23 -07:00
casey langen
1230315a4e
Detect and discard invalid packets in FfmpegDecoder. This seems to fix issues when playing WAV files that have embedded artwork.
2021-04-11 20:04:40 -07:00
casey langen
bdb624a187
More logging and improved seeking in FfmpegDecoder.
2021-04-11 18:22:27 -07:00
casey langen
3b95b17753
Don't show EOF errors by default when decoding, as they're usually nothing to worry about and pollute the log.
2021-04-11 17:31:27 -07:00
casey langen
16af22a7d1
Fix issue with DirectoryAdapter being unable to display some music in the root directory if there are empty sub-directories.
2021-04-11 17:17:41 -07:00
casey langen
de660b8f51
Add support for long filenames on Windows in directory browse view.
2021-04-10 22:53:50 -07:00
casey langen
229b282aec
Check for libraries and fail fast if not found.
2021-04-10 22:33:33 -07:00
casey langen
a28d14717d
Use M-s
instead of ^S
to change sort order.
2021-04-10 14:27:00 -07:00
casey langen
8431598aa2
Upgraded Windows build to use ffmpeg4.4
2021-04-10 14:08:48 -07:00
casey langen
15134e9a80
Fixed USE_BUNDLED_TAGLIB=false, and renamed to ENABLE_BUNDLED_TAGLIB
2021-04-09 22:43:56 -07:00
casey langen
1539a407db
Syntax modernization in Plugins.cpp
2021-03-27 22:25:11 -07:00
casey langen
f2071d31aa
Ensure debug
is properly initialized for all plugins.
2021-03-21 22:15:10 -07:00
casey langen
56f3af3b96
Guard against null debug during shutdown.
2021-03-21 14:58:18 -07:00
casey langen
f416a1dbd7
Merge pull request #421 from clangen/clangen/pipewire
...
PipeWire output support
2021-03-19 23:30:56 -07:00
casey langen
017bc1fdde
Fixed StockEncoder's plugin name
2021-03-19 23:29:41 -07:00
casey langen
3b6768cb2d
FFMPEG_ENABLED -> ENABLE_FFMPEG for consistency.
2021-03-19 23:29:03 -07:00
casey langen
9cacfb9832
Disable PipeWire by default; added ENABLE_PIPEWIRE flag to CMake. Added Hirsute build target that includes PipeWire.
2021-03-19 23:28:11 -07:00
casey langen
7b4864bed9
Use a stubbed debugger during shutdown.
2021-03-18 22:41:29 -07:00
casey langen
717b6066ec
Converted PipeWireOut to use IDebug
2021-03-18 22:19:35 -07:00
casey langen
05bef79366
Fixed a bug where updating the transport wouldn't take effect until an app restart.
2021-03-18 21:35:02 -07:00
casey langen
672a5fdb45
Fixed a bug where switching between crossfade and gapless transport could cause the app to stop responding.
2021-03-18 21:07:42 -07:00
casey langen
fa80e7f041
Fix curses version check.
2021-03-18 11:57:32 -07:00
casey langen
bd0db547ff
Query device name.
2021-03-18 11:38:41 -07:00
casey langen
c8867a3b96
PipeWire device selection and persistence by ID. TODO: still need to resolve the name.
2021-03-18 00:41:41 -07:00
casey langen
0a0a192bbf
Incremental changes to support device enumeration. TODO: (1) resolving device name, (2) actually changing to a non-default device.
2021-03-17 23:56:39 -07:00
casey langen
89bbdf6f54
Let PipeWire determine the best buffer size automatically. We had selected buffers that were too small and causing gapless playback to not always work properly.
2021-03-17 20:22:21 -07:00
casey langen
ae800d788d
Implemented PipeWireOut::SetVolume
2021-03-17 19:15:04 -07:00
casey langen
75dac589d0
Stabilized Pipewire. Just a few TODOs left.
2021-03-16 23:44:47 -07:00
casey langen
4e2a46267c
TODOify
2021-03-15 22:33:40 -07:00
casey langen
95564ef5cd
Fix pause/resume in PipeWireOut
2021-03-15 22:32:01 -07:00
casey langen
a602b0efaf
Ensure PipeWireOut shuts down cleanly
2021-03-15 22:28:31 -07:00
casey langen
dcb4e38921
We have audio! Cleaned up some debug logging.
2021-03-15 22:09:25 -07:00
casey langen
b561bf8fb6
Minor updates and more debugging cruft. Need to test on a machine with a working PipeWire installation.
2021-03-15 21:50:03 -07:00
casey langen
aa7efd3d5b
Fix pointer arithmetic
2021-03-14 22:24:48 -07:00
casey langen
8172cac91f
Still not producing accurate sound, but this update ensures we completely fill our input buffers before returning them... at least in theory... we're not producing sound yet in the VM.
2021-03-14 22:22:06 -07:00
casey langen
beb95e55a5
More scaffholding.
2021-03-14 18:52:12 -07:00
casey langen
e0fcfcf162
Warning cleanup
2021-03-06 14:36:49 -08:00
casey langen
95420b8359
Fix high CPU usage in musikcube-cmd build.
2021-03-06 14:36:49 -08:00
casey langen
dee5150c2e
Fleshed out some PipeWire implementation, but no way to test it yet.
2021-03-05 09:32:02 -08:00
casey langen
104a65f183
Added scaffolding for a PipeWire output plugin.
2021-03-03 22:53:59 -08:00
casey langen
b32130e9a3
Finished first pass of custom layout warning cleanup.
2021-01-30 14:15:36 -08:00
casey langen
d35d8d31f7
Added custom CMake NCURSES_DISABLE_LIB_SUFFIXES
flag.
2021-01-29 21:34:00 -08:00
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