Max Kellermann
17d0cd0abd
Merge branch 'queue_loaded_playlist' of https://github.com/jcorporation/MPD
2024-10-26 08:15:23 +02:00
Max Kellermann
98bc63251e
Merge branch 'searchplaylist_pos' of https://github.com/jcorporation/MPD
2024-10-26 08:14:31 +02:00
jcorporation
052719c0e4
Fix integer overflow calculating length of very large playlists
2024-10-20 12:12:50 +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
b1067333dc
Print positions in the search playlist functions.
2024-10-20 11:55:52 +02:00
jcorporation
d62f7cdc34
New command searchplaylist
2024-08-02 23:46:17 +02:00
Max Kellermann
de9f0dc910
playlist/Plugin: convert _init() and _finish() to methods
2024-07-12 16:00:42 +02:00
Max Kellermann
29747a213f
playlist/Registry: replace playlist_plugins_for_each() with a container class
2024-07-12 15:52:05 +02:00
Max Kellermann
131dcce0a1
playlist/Mapper: use Storage::OpenFile()
2024-05-17 12:54:08 +02:00
Max Kellermann
9f174c56ce
playlist/Mapper: postpone the stored playlist error
...
Fixes another regression by commit
f53cd44c7a557cde5b16928728ceea10d4431c0a - an exception thrown by
playlist_open_in_playlist_dir() would skip over
playlist_open_in_storage().
2024-05-15 21:08:46 +02:00
Max Kellermann
c8be9662bb
playlist/Print: add missing exception handler
...
This went missing in commit f53cd44c7a557cde5b16928728ceea10d4431c0a
2024-05-15 20:53:55 +02:00
Max Kellermann
f53cd44c7a
playlist/{Stream,Mapper,Any}: propagate exceptions, do not catch&log them
...
Let the caller handle all the exceptions.
2024-05-15 20:19:57 +02:00
Max Kellermann
9303764a83
playlist/Print: throw PlaylistError::NoSuchList instead of returning false
2024-05-15 20:19:09 +02:00
Max Kellermann
a5456a89dc
playlist/Length: throw PlaylistError::NoSuchList instead of returning false
2024-05-15 20:15:16 +02:00
Max Kellermann
c974fc664c
playlist/Plugin: add noexcept
2024-05-15 20:02:12 +02:00
Max Kellermann
eceead671e
playlist/Stream: add API documentation
2024-05-15 19:59:57 +02:00
Max Kellermann
4e7b554605
TagAny, playlist/Mapper: use if
with initializer
2024-05-15 15:02:59 +02:00
Max Kellermann
0c1ecc96a8
*: let libfmt quote strings
2024-04-16 11:50:18 +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
jcorporation
7bf43a9712
Add "added" timestamp to song database
...
- added is set to current time, if a new song is added to the database.
- GetAdded falls back to mtime.
Code for proxy plugin is missing, this needs a patch for libmpdclient.
closes #378
2023-10-20 17:29:31 +02:00
Max Kellermann
2f4e2935a3
db/upnp, playlist/pls: use AddItem(std::string_view)
2023-09-06 16:08:42 +02:00
Max Kellermann
815b248990
*/Registry: use constinit
2023-03-07 12:04:16 +01:00
Max Kellermann
42f6a0441c
use [[gnu::...]] attributes
2023-03-06 16:14:15 +01:00
Max Kellermann
148aca23be
use SPDX IDs, replacing the long copyright headers
2023-03-06 14:59:48 +01:00
Max Kellermann
d7de8b1453
Merge branch 'iss-1546' of https://github.com/sp1ff/MPD
2022-12-29 08:37:25 +01:00
Max Kellermann
fa58db798b
lib/fmt/RuntimeError: new library
...
Replacing FormatRuntimeError().
2022-11-29 14:10:34 +01:00
Michael Herstine
1adc2c0c51
playlist_load_into_queue: log on failure to load song.
...
Log at level error when failing to load a song. Limit the number
of log messages produced to avoid flooding the log file when attempting
to load a large, broken playlist.
Closes #1546
2022-11-26 08:28:10 -08:00
Max Kellermann
1429d6bfb9
playlist/cue/Parser: use Split()
2022-10-15 08:33:51 +02:00
Max Kellermann
ced6a5ae07
playlist/cue/Parser: remove always-failing assert()
...
Not the assert() here fails, but the illegal src[-1] call. Yet
another regression from commit 21e4c25e61ce54bedde77d21e0fa9ade9115116c
2022-10-15 08:32:37 +02:00
Max Kellermann
a966cfeb1f
playlist/cue/CueParser: fix nullptr dereference
...
Regression from commit 21e4c25e61ce54bedde77d21e0fa9ade9115116c
2022-08-18 17:06:51 +02:00
Rosen Penev
3f133dd586
use data() instead of &[0]
...
No need for C pointer manipulation.
Removed data() for string_view as [] can be used without.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-07-20 13:50:48 -07:00
Max Kellermann
254ee00c37
fs/Path: rename GetSuffix() to GetExtension()
...
The "extension" is the name after the dot, but the "suffix" is the
string including the dot.
2022-07-14 18:12:00 +02:00
Max Kellermann
cc0def15c4
Copyright year 2022
2022-07-14 17:59:35 +02:00
Max Kellermann
04c924ae3b
playlist/Registry: use std::string_view instead of StringView
2022-07-04 14:36:21 +02:00
Max Kellermann
6c8a85a391
playlist/{asx,cue,rss,xspf}: use std::string_view instead of StringView
2022-07-04 14:35:52 +02:00
Max Kellermann
d882c3361d
playlist/PlaylistPlugin: use std::string_view
2022-07-01 11:31:31 +02:00
Max Kellermann
21e4c25e61
playlist/cue/CueParser: more std::string_view
2022-07-01 11:29:10 +02:00
Max Kellermann
c9723ee4b7
playlist/SoundCloud: use std::string_view
2022-07-01 11:16:42 +02:00
Max Kellermann
c34f3c9b94
tag/Handler: use StringIsEqualIgnoreCase()
2022-06-30 10:50:56 +02:00
Max Kellermann
232084c2f9
playlist/cue/CueParser: use std::string_view in public API
2022-06-30 10:50:53 +02:00
Max Kellermann
ec66ee3bfb
tag/Handler: use std::string_view instead of StringView
2022-06-29 17:22:17 +02:00
Rosen Penev
250011f016
return by braced init list
...
shorter
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-22 23:28:08 -08:00
Max Kellermann
771c46032f
meson.build: add missing libfmt dependencies
...
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1281
The problem occurred when there was libfmt-dev installed, but it was
too old (e.g. on Debian Buster), and Meson used the wrap fallback.
Those internal MPD libraries where the libfmt dependency was not
declared were still using the old system libfmt headers, which are not
ABI-compatible with MPD's own libfmt build.
2021-10-15 14:26:59 +02:00
Max Kellermann
bf656af555
playlist/SoundCloud: use AllocatedString for concatenation
2021-10-13 12:47:57 +02:00
Max Kellermann
d2b8852d19
playlist/SoundCloud: move code to TranslateSoundCloudUri()
2021-10-13 12:23:15 +02:00
Max Kellermann
f510564d9d
more [[gnu::...]] attributes
2021-10-13 12:07:05 +02:00
James D. Smith
acc1bd6297
playlist/PlaylistSong: Remove dots from playlist file paths.
2021-10-07 13:15:40 +02:00
Max Kellermann
bdd8c34c67
Merge branch 'move' of git://github.com/neheb/MPD
2021-08-29 06:47:05 +02:00