Commit Graph

2835 Commits

Author SHA1 Message Date
casey langen
e64a748371 Additional scaffolding. 2022-03-25 22:02:25 -07:00
casey langen
31c8505a76 Stubbed, non-working PiggyWebSocketClient. Checkin to transfer work to another machine. 2022-03-25 20:06:17 -07:00
casey langen
3adc1fb28f This needs to be reverted. 2022-03-14 01:52:57 -07:00
casey langen
120b6fec0b Improve the way we scan for and add plugin, and also add the ability to
log colors.
2022-03-13 16:53:06 -07:00
casey langen
780bb6fc71 Remove #pragma once from WindowUtil.cpp. 2022-03-12 13:34:08 -08:00
casey langen
6700bb03ef Version and CHANGELOG bump. 2022-03-12 13:33:25 -08:00
casey langen
0199dba00e Merge remote-tracking branch 'trofi/master' into clangen/contributions-03-12-2022 2022-03-12 13:30:50 -08:00
casey langen
feb316864a Merge remote-tracking branch 'robertgzr/buildoptions' into clangen/contributions-03-12-2022 2022-03-12 13:17:51 -08:00
casey langen
2d96ddcfd7 Add musik::cube::windowutil::WasHeaderClicked() 2022-03-12 11:40:56 -08:00
casey langen
18e6f154b8 Add support for changing track list sort order via header click. 2022-03-12 11:30:47 -08:00
casey langen
69e298183e Android build/tooling updates. 2022-03-12 11:16:09 -08:00
casey langen
49cebcd096 Clean up a bunch of C-style casts in TransportWindow, and also fix click
handling for volume and current time labels.
2022-03-11 22:52:31 -08:00
casey langen
377ed3db11 Add support for clicking on the transport metadata. 2022-03-11 21:04:24 -08:00
casey langen
684f73a18f Allow un-handled mouse events to propagate via sigslot event in Window. 2022-03-10 22:53:44 -08:00
casey langen
20b3cee936 Version 0.97.0 2022-02-18 19:12:54 -08:00
casey langen
7fc5354f7b undef EV_ERROR if it's already defined (may be on BSD/macOS systems) 2022-02-17 11:25:26 -08:00
casey langen
fa6b561952 CHANGELOG/version bump. 2022-02-17 10:17:19 -08:00
casey langen
79875fe764 Cross-compile support and various other build cleanups. 2022-02-17 01:45:22 -08:00
casey langen
8089935f76 Add libopenmpt to vendor libraries. 2022-02-15 12:01:00 -08:00
casey langen
e17a65b2fe Bundle terminfo for standalone builds. 2022-02-13 18:02:38 -08:00
casey langen
f3a560352d VERSION/hash bump 2022-02-13 11:30:22 -08:00
casey langen
7ec96630bc More macOS rpath fixes. Hopefully this is the last of them. 2022-02-13 11:26:17 -08:00
casey langen
5e7eda4fda Version bump. 2022-02-12 20:41:47 -08:00
Casey Langen
d5f9228987 Version hash bump. 2022-02-11 10:38:00 -08:00
casey langen
1f30a92b63 Statically link against ncurses on Darwin. 2022-02-10 23:10:49 -08:00
casey langen
991ac72ca2 Add missing dependencies to httpdatastream's CMakeLists.txt 2022-02-10 23:04:06 -08:00
casey langen
8c4397470d Fix FreeBSD compile. 2022-02-10 10:31:14 -08:00
casey langen
42782ee6ea Minor script updates. 2022-02-09 15:50:50 -08:00
casey langen
e3f870efc6 Fix normal darwin build 2022-02-08 18:57:30 -08:00
casey langen
a5e0265927 Everything seems to work if we specify LD_LIBRARY_PATH=./bin/lib 2022-02-08 16:57:54 -08:00
casey langen
dff533d1a7 Almost working... musikcube still resolves the wrong version of libssl
(but musikcubed is fine??)
2022-02-08 15:58:54 -08:00
casey langen
f113c3ce61 More cleanups. 2022-02-08 13:31:58 -08:00
casey langen
86b0200b27 More refactoring; moving away from "statically link" everything to
"bundle everything".
2022-02-08 13:12:53 -08:00
casey langen
deed24b1c2 static linking working on darwin? 2022-02-08 01:22:14 -08:00
casey langen
44b4eabe78 Flapping back in the macOS direction 2022-02-08 00:20:55 -08:00
casey langen
a8383b3469 Fix libmicrohttpd linking. 2022-02-07 20:00:11 -08:00
casey langen
e357a1fd9d More work towards static linking. Things seme to work except the server. 2022-02-07 19:53:26 -08:00
casey langen
4aea14d30a Remove unused libraries from most plugins. 2022-02-07 17:36:43 -08:00
casey langen
35c8e1df02 Some CMake cleanup. Marching towards static linking... 2022-02-07 17:22:51 -08:00
casey langen
41228f82b0 Remove unused / out of date plugins. 2022-02-07 16:57:47 -08:00
casey langen
26c8952dca CHANGELOG, version bump. 2022-02-06 18:22:58 -08:00
casey langen
dac36afa8b Update to ffmpeg5 2022-02-06 17:19:44 -08:00
casey langen
017b410f66 Renames for clarity. 2022-02-06 14:51:20 -08:00
casey langen
21977bc601 Support ffmpeg4 and ffmpeg5. 2022-02-06 14:50:09 -08:00
casey langen
324d5e8338 More ffmpeg5 fixes. 2022-02-06 14:37:10 -08:00
casey langen
6c1870edc3 Remove deprecated APIs to support ffmpeg5. 2022-02-06 14:31:52 -08:00
casey langen
e0763f3730 Add additional debug logging to PipeWire state changes. 2022-01-02 23:32:25 -08:00
casey langen
332e8c25d1 Fix duration calculation for float-encoded WAVs.
e4813f4996
2022-01-02 22:12:45 -08:00
casey langen
f38ab09ec6 Fixed issue where IsFormatSupported was called with incorrect
parameters, causing `AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM` to get tacked
on unnecessarily.

Additionally, ensure we opt-in to higher quality resampling via
`AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY`

This may have been the cause of weird resampling artifacts in `WasapiOut`.
2022-01-02 14:54:32 -08:00
casey langen
25b2e07d3b Added an option to WasapiOut to enable its internal resampler. 2022-01-02 13:48:14 -08:00
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 flatMaps 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