)
return result
+ @api_command("music/recently_added_tracks")
+ async def recently_added_tracks(self, limit: int = 10) -> list[Track]:
+ """Return a list of the last added tracks."""
+ return await self.tracks.library_items(limit=limit, order_by="timestamp_added_desc")
+
@api_command("music/in_progress_items")
async def in_progress_items(self, limit: int = 10) -> list[ItemMapping]:
"""Return a list of the Audiobooks and PodcastEpisodes that are in progress."""
icon="mdi-motion-play",
items=await self.recently_played(limit=10),
),
+ RecommendationFolder(
+ item_id="recently_added_tracks",
+ provider="library",
+ name="Recently added tracks",
+ translation_key="recently_added_tracks",
+ icon="music-note-plus",
+ items=await self.tracks.library_items(limit=10, order_by="timestamp_added_desc"),
+ ),
+ RecommendationFolder(
+ item_id="recently_added_albums",
+ provider="library",
+ name="Recently added albums",
+ translation_key="recently_added_albums",
+ icon="music-note-plus",
+ items=await self.albums.library_items(limit=10, order_by="timestamp_added_desc"),
+ ),
RecommendationFolder(
item_id="random_artists",
provider="library",
RANDOM_ALBUM,
RANDOM_ARTIST,
RANDOM_TRACKS,
+ RECENTLY_ADDED_TRACKS,
RECENTLY_PLAYED,
StoredItem,
)
result.append(track)
return result
+ async def _get_builtin_playlist_recently_added_tracks(self) -> list[Track]:
+ result: list[Track] = []
+ recent_tracks = await self.mass.music.recently_added_tracks(100)
+ for idx, track in enumerate(recent_tracks, 1):
+ track.position = idx
+ result.append(track)
+ return result
+
async def _get_builtin_playlist_tracks(
self, builtin_playlist_id: str
) -> list[Track] | UniqueList[Track]:
RANDOM_ALBUM: self._get_builtin_playlist_random_album,
RANDOM_ARTIST: self._get_builtin_playlist_random_artist,
RECENTLY_PLAYED: self._get_builtin_playlist_recently_played,
+ RECENTLY_ADDED_TRACKS: self._get_builtin_playlist_recently_added_tracks,
}[builtin_playlist_id]()
except KeyError:
raise MediaNotFoundError(f"No built in playlist: {builtin_playlist_id}")
RANDOM_ALBUM = "random_album"
RANDOM_TRACKS = "random_tracks"
RECENTLY_PLAYED = "recently_played"
+RECENTLY_ADDED_TRACKS = "recently_added_tracks"
BUILTIN_PLAYLISTS = {
ALL_FAVORITE_TRACKS: "All favorited tracks",
RANDOM_ALBUM: "Random Album (from library)",
RANDOM_TRACKS: "500 Random tracks (from library)",
RECENTLY_PLAYED: "Recently played tracks",
+ RECENTLY_ADDED_TRACKS: "Recently added tracks",
}
BUILTIN_PLAYLISTS_ENTRIES = [
ConfigEntry(