command/playlist: "load" supports relative positions
This commit also increases the PROTOCOL_VERSION so clients can detect the availability of the feature.
This commit is contained in:
		
							
								
								
									
										1
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,6 +1,7 @@ | ||||
| ver 0.23.1 (not yet released) | ||||
| * protocol | ||||
|   - use decimal notation instead of scientific notation | ||||
|   - "load" supports relative positions | ||||
| * output | ||||
|   - pipewire: attempt to change the graph sample rate | ||||
|   - snapcast: fix time stamp bug which caused "Failed to get chunk" | ||||
|   | ||||
| @@ -923,8 +923,9 @@ remote playlists (absolute URI with a supported scheme). | ||||
|     only a part of the playlist. | ||||
|  | ||||
|     The ``POSITION`` parameter specifies where the songs will be | ||||
|     inserted into the queue.  (This requires specifying the range as | ||||
|     well; the special value `0:` can be used if the whole playlist | ||||
|     inserted into the queue; it can be relative as described in | ||||
|     :ref:`addid <command_addid>`.  (This requires specifying the range | ||||
|     as well; the special value `0:` can be used if the whole playlist | ||||
|     shall be loaded at a certain queue position.) | ||||
|  | ||||
| .. _command_playlistadd: | ||||
|   | ||||
| @@ -44,7 +44,7 @@ version_conf = configuration_data() | ||||
| version_conf.set_quoted('PACKAGE', meson.project_name()) | ||||
| version_conf.set_quoted('PACKAGE_NAME', meson.project_name()) | ||||
| version_conf.set_quoted('VERSION', meson.project_version()) | ||||
| version_conf.set_quoted('PROTOCOL_VERSION', '0.23.0') | ||||
| version_conf.set_quoted('PROTOCOL_VERSION', '0.23.1') | ||||
| configure_file(output: 'Version.h', configuration: version_conf) | ||||
|  | ||||
| conf = configuration_data() | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
|  | ||||
| #include "config.h" | ||||
| #include "PlaylistCommands.hxx" | ||||
| #include "PositionArg.hxx" | ||||
| #include "Request.hxx" | ||||
| #include "Instance.hxx" | ||||
| #include "db/Selection.hxx" | ||||
| @@ -86,7 +87,7 @@ handle_load(Client &client, Request args, [[maybe_unused]] Response &r) | ||||
| 	const unsigned old_size = playlist.GetLength(); | ||||
|  | ||||
| 	const unsigned position = args.size > 2 | ||||
| 		? args.ParseUnsigned(2, old_size) | ||||
| 		? ParseInsertPosition(args[2], partition.playlist) | ||||
| 		: old_size; | ||||
|  | ||||
| 	const SongLoader loader(client); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann