diff --git a/lib/components/AlbumScreen/song_list_tile.dart b/lib/components/AlbumScreen/song_list_tile.dart index 5f51dd5f..4aa3e43f 100644 --- a/lib/components/AlbumScreen/song_list_tile.dart +++ b/lib/components/AlbumScreen/song_list_tile.dart @@ -66,6 +66,7 @@ class SongListTile extends ConsumerStatefulWidget { /// the remove from playlist button. this.isInPlaylist = false, this.isOnArtistScreen = false, + this.isShownInSearch = false, }) : super(key: key); final jellyfin_models.BaseItemDto item; @@ -78,6 +79,7 @@ class SongListTile extends ConsumerStatefulWidget { final bool showPlayCount; final bool isInPlaylist; final bool isOnArtistScreen; + final bool isShownInSearch; @override ConsumerState createState() => _SongListTileState(); @@ -276,10 +278,10 @@ class _SongListTileState extends ConsumerState var items = offlineItems.map((e) => e.baseItem).whereNotNull().toList(); items = sortItems(items, settings.tabSortBy[TabContentType.songs], settings.tabSortOrder[TabContentType.songs]); - + await _queueService.startPlayback( items: items, - startingIndex: await widget.index, + startingIndex: widget.isShownInSearch ? items.indexWhere((element) => element.id == widget.item.id) : await widget.index, source: QueueItemSource( name: QueueItemSourceName( type: QueueItemSourceNameType.preTranslated, diff --git a/lib/components/MusicScreen/music_screen_tab_view.dart b/lib/components/MusicScreen/music_screen_tab_view.dart index 9727c8bc..89f979a7 100644 --- a/lib/components/MusicScreen/music_screen_tab_view.dart +++ b/lib/components/MusicScreen/music_screen_tab_view.dart @@ -319,6 +319,7 @@ class _MusicScreenTabViewState extends State item: item, isSong: true, index: Future.value(index), + isShownInSearch: widget.searchTerm != null, ) : AlbumItem( key: ValueKey(item.id),