Commit Graph

1167 Commits

Author SHA1 Message Date
Max Kellermann 449f8af7d0 Merge branch 'protocol_features' of https://github.com/jcorporation/MPD 2024-10-26 08:18:56 +02:00
Max Kellermann 38b46e680a Merge branch 'stickernames-types' of https://github.com/jcorporation/MPD 2024-10-26 08:16:53 +02:00
Max Kellermann 17d0cd0abd Merge branch 'queue_loaded_playlist' of https://github.com/jcorporation/MPD 2024-10-26 08:15:23 +02:00
jcorporation bfbff31860 Store last loaded playlist
Stores the last loaded playlist uri in the queue struct.
Last loaded playlist is set on load command and cleared with the clear command.
The last loaded playlist is printed in the status command and saved / restored from the partition state file.

Resolves issue #938
2024-10-20 12:03:31 +02:00
jcorporation 23c2bba483 This commit adds a new protocol command to toggle protocol features
for a client connection. It works like the tag_mask and the associated
tagtypes command.

New commands:

- protocol
  Shows enabled protocol features.

- protocol available
  Show all available protocol features.

- protocol enable {feature...}
  Enables protocol features.

- protocol disable {feature...}
  Disables protocol features.

- protocol all
  Enables all available protocol features.

- protocol clear
  Disables all protocol features.

This commit adds also the first protocol feature.

hide_playlists_in_root
  Disables the listing of playlists in the root folder
  for the lsinfo command.
2024-09-28 22:41:35 +02:00
jcorporation 25e8ce2d37 New command tagtypes available
Shows the list of tag types configured by the ``metadata_to_use`` setting.
2024-09-28 22:40:29 +02:00
jcorporation 3f718e8924 Change the semantic of the searchplaylist protocol command
Old: searchplaylist {NAME} {FILTER} [{START:END}]
New: searchplaylist {NAME} {FILTER} [window {START:END}]

This is more similar to the other search commands and we can reuse search specific functions in libmpdclient.
2024-08-30 21:06:50 +02:00
jcorporation 26c4211cd4 New command stickernamestypes
Lists sticker names with their types and optionally filters by type
2024-08-30 20:14:55 +02:00
Max Kellermann 2809db8b40 Merge branch 'searchplaylist' of https://github.com/jcorporation/MPD 2024-08-30 12:47:24 +02:00
jcorporation f94caa96b8 Add command stickertypes
Prints all available stickertypes like tagtypes for tags.
2024-08-14 21:07:14 +02:00
jcorporation d62f7cdc34 New command searchplaylist 2024-08-02 23:46:17 +02:00
Max Kellermann 0a035f3ce0 output/alsa: add option "close_on_pause"
This allows keeping the ALSA PCM open even if playback is paused.  As
a side effect, this allows using the "always_on" option with ALSA
outputs, because "always_on" pauses the output.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1623
2024-07-29 16:31:09 +02:00
Max Kellermann 7ab789fbaf doc/user.rst: add clarification to the "always_on" option 2024-07-29 16:30:15 +02:00
Miguel A. Arroyo e3809bd4f0 feat: Add ShowMovement Tag
This commit adds the `SHOWMOVEMENT` [tag](https://picard-docs.musicbrainz.org/en/appendices/tag_mapping.html#show-work-movement-4). Historically, this tag originates from iTunes' MP4, but has since become widely used. It is created by Picard's Classical music [plugins](https://picard-docs.musicbrainz.org/en/variables/variables_classical.html) (such as "Classical Extras" or "Work & Movement").

The reasoning behind this tag is to display Work & Movement titles without redundant information and in a more uniform way. Moreover, it additionally serves as an implicit marker denoting classical music tracks (genre tags aren't sufficient).

If the client so chooses to support this tag, they can display `Work` and `Movement` instead of the track title allowing for cleaner display. Other clients can continue to display the `%title%` as before without any fuss.
2024-07-23 21:09:31 -07:00
Max Kellermann 8861279add Merge branch 'explicit_case_sensitivity' of https://github.com/geneticdrift/MPD 2024-07-10 15:33:47 +02:00
gd c39d8e5813 Added explicitly case sensitive/insensitive filter operators.
The default case sensitivity is hard coded for each command.
These operators allow to override the this default case sensitivity.
2024-07-09 17:25:45 +03:00
Max Kellermann 044280c538 meson.build: require Meson 1.0
Debian Bookworm (the current stable) has 1.0.1 and Ubuntu LTS 24.04
has 1.3.2.  It's acceptable to require at least version 1.0 now.
2024-07-05 17:23:52 +02:00
jcorporation 480f4d4cf1 Fix filename list for albumart 2024-05-12 22:17:13 +02:00
Max Kellermann 9384bff6f9 lib/nfs/Manager: add method MakeConnection()
This uses the libnfs function nfs_parse_url_dir() which means MPD
gains support for the libnfs arguments like "version".

Closes https://github.com/MusicPlayerDaemon/MPD/issues/2039
2024-05-07 21:22:43 +02:00
Max Kellermann 518ce0187a remove macOS support
There were a few macOS related bug reports on the bug tracker which
have been open for years without a volunteer caring for them.  The
GitHub actions build has also been broken for a long time due to bugs
in the ancient LLVM toolchain shipped with macOS, making macOS an
unsuitable non-Linux target for testing MPD's portability.

All of this makes macOS support an annoying liability for me.  To
avoid more frustration, I'm hereby dropping macOS support completely
from MPD.  Maybe this causes enough pain for a new maintainer to
spawn, but maybe nobody cares, so... let's see.
2024-05-06 14:11:50 +02:00
Max Kellermann 89d68fb2af Merge branch 'debian-build-doc' of https://github.com/mxjeff/MPD 2024-05-06 13:03:05 +02:00
kaliko 5a9b0c7142 doc: debian build, add pkconf build dep.
Build dep on pkconf is not explicitly needed because other dependencies
pull pkconf indirectly (ie libid3tag0-dev), but explicit declaration of
a direct MPD build dep is better IMHO.
2024-04-28 15:06:27 +02:00
jcorporation f9c2c2b558 Remove deprecation flag for volume command 2024-04-23 20:37:55 +02:00
Colin Edwards cb6f61cf37 android: Update to NDK 27 2024-04-22 22:34:34 -05:00
kaliko 964e18ab49 doc: debian build, add libpipewire 2024-04-16 19:51:46 +02:00
kaliko 709acd8920 doc: debian build, add libsystemd 2024-04-16 19:18:57 +02:00
kaliko 6f0aecbfb3 doc: debian build, fixed libexpat-dev 2024-04-16 19:05:23 +02:00
Max Kellermann f8581c4d6a doc/user.rst: switch to Debian Bookworm 2024-04-16 11:33:00 +02:00
Max Kellermann 60fae87e59 doc/mpdconf.example: move "replaygain_limit" to user.rst 2024-04-15 18:58:53 +02:00
Max Kellermann 3145b10f51 doc/mpdconf.example: remove advanced replay gain settings
Keep the example file short, omit settings that are probably only used
by few users.
2024-04-15 18:55:03 +02:00
Max Kellermann 75047a26f8 doc/mpdconf.example: fix replaygain_limit description
The description (added by commit 43806d524d) was wrong.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1977
2024-04-15 18:51:27 +02:00
jcorporation c613d25f29 Add operators contains and starts_with to sticker find 2024-04-06 20:08:59 +02:00
jcorporation 45553c5f61 This commit adds the sort and window parameter to "sticker find"
The three new compare operators "eq", "gt" and "lt" are casting the values to int.

Sort supports:
- uri: sort by uri
- value: sort by value as string
- value_int: casts value to int

Closes #1894
2024-03-07 20:52:11 +01:00
naglis 1efb9d41db doc/protocol.rst: clarify `message` event
The term "queue" is used in MPD to refer to the current playlist;
clarify that in this case it refers to the client's message queue.
2024-02-25 19:59:26 +01:00
naglis 9292b39cf5 doc/protocol.rst: document max number of subscriptions 2024-02-18 12:42:53 +02:00
Max Kellermann 9eb26ab90c Merge branch 'countplaylist' of https://github.com/jcorporation/MPD 2024-02-15 11:28:11 +01:00
jcorporation f801f299c9 New command playlistlength
Count the number of songs and their total playtime in the playlist.
2024-02-15 11:25:34 +01:00
jcorporation a3794f8c3b Allow range in listplaylist and listplaylistinfo 2024-02-08 21:26:28 +01:00
Max Kellermann c71e586c53 .readthedocs.yaml: install sphinx-rtd-theme 2024-01-19 10:31:50 +01:00
Colin Edwards 04ba7eb987 android: Use build tools and SDK 34
The gradle config for the app is already compiling with the 34 SDK
so lets bump it for the bridge build too
2024-01-17 23:55:01 -06:00
naglis db354f5e53 doc/protocol.rst: update failure response example
The commands in the example currently result in `ACK_ERROR_ARG`.
2024-01-10 21:03:26 +02:00
Max Kellermann dcfc1ca6a0 Merge branch 'doc-time-case' of https://github.com/naglis/MPD 2023-12-27 12:37:58 +01:00
naglis 07ee11b963 doc/protocol.rst: fix time tag case
The `Time` song tag starts with an uppercase letter.
2023-12-26 10:51:34 +02:00
naglis d7eb223343 doc: mention config file comment syntax 2023-12-23 09:33:01 +02:00
Max Kellermann 6234ae5a8b doc/user.rst: do not name the deprecated /var/run/ directory 2023-12-20 17:32:13 +01:00
Max Kellermann efc462eebf Merge branch 'doc-features' of https://github.com/mxjeff/MPD 2023-12-20 10:53:34 +01:00
Colin Edwards 906d58a918 android: migrate app build system to use gradle
Most of the Android specific meson code has been removed and replaced with
the grade build system.

The new meson build scripts build and move the libmpd.so binaries into the correct
location that gradle expects. After than gradle handles building the rest of the Android app.

Icons and banners have been updated for the modern app packaging expectations.

For reference here was the figma template Google provides that I used to back the png versions
for older versions of Android <https://www.figma.com/community/file/1283953738855070149>
2023-12-17 22:38:34 -06:00
kaliko 23b34fe142 Document new added-since filter introduced in 1615fbc 2023-12-17 10:00:19 +01:00
Colin Edwards 8d6f503e04 android: require NDK r26b
This fixes `no member named 'invocable' in namespace 'std'`
2023-12-13 12:01:30 -06:00
Colin Edwards a92a801f08 android: List additional build dependencies in instructions 2023-12-13 10:38:51 -06:00