diff --git a/lib/pages/player/queue.dart b/lib/pages/player/queue.dart index 909afa8a..829db6eb 100644 --- a/lib/pages/player/queue.dart +++ b/lib/pages/player/queue.dart @@ -15,10 +15,13 @@ class PlayerQueuePage extends HookConsumerWidget { ); final playlistNotifier = ref.read(audioPlayerProvider.notifier); return Scaffold( - child: PlayerQueue.fromAudioPlayerNotifier( - floating: false, - playlist: playlist, - notifier: playlistNotifier, + child: SafeArea( + bottom: false, + child: PlayerQueue.fromAudioPlayerNotifier( + floating: false, + playlist: playlist, + notifier: playlistNotifier, + ), ), ); } diff --git a/lib/services/sourced_track/sourced_track.dart b/lib/services/sourced_track/sourced_track.dart index 272295e4..bf0b22e6 100644 --- a/lib/services/sourced_track/sourced_track.dart +++ b/lib/services/sourced_track/sourced_track.dart @@ -107,16 +107,24 @@ abstract class SourcedTrack extends Track { required Ref ref, }) async { final preferences = ref.read(userPreferencesProvider); - return switch (preferences.audioSource) { - AudioSource.youtube => - await YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref), - AudioSource.piped => - await PipedSourcedTrack.fetchFromTrack(track: track, ref: ref), - AudioSource.invidious => - await InvidiousSourcedTrack.fetchFromTrack(track: track, ref: ref), - AudioSource.jiosaavn => - await JioSaavnSourcedTrack.fetchFromTrack(track: track, ref: ref), - }; + try { + return switch (preferences.audioSource) { + AudioSource.youtube => + await YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref), + AudioSource.piped => + await PipedSourcedTrack.fetchFromTrack(track: track, ref: ref), + AudioSource.invidious => + await InvidiousSourcedTrack.fetchFromTrack(track: track, ref: ref), + AudioSource.jiosaavn => + await JioSaavnSourcedTrack.fetchFromTrack(track: track, ref: ref), + }; + } catch (e) { + if (preferences.audioSource == AudioSource.youtube) { + rethrow; + } + + return await YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref); + } } static Future> fetchSiblings({ diff --git a/lib/services/sourced_track/sources/piped.dart b/lib/services/sourced_track/sources/piped.dart index 1728753a..7ab9df44 100644 --- a/lib/services/sourced_track/sources/piped.dart +++ b/lib/services/sourced_track/sources/piped.dart @@ -186,7 +186,7 @@ class PipedSourcedTrack extends SourcedTrack { final PipedSearchResult(items: searchResults) = await pipedClient.search( query, preference.searchMode == SearchMode.youtube - ? PipedFilter.video + ? PipedFilter.videos : PipedFilter.musicSongs, ); diff --git a/pubspec.lock b/pubspec.lock index c7e2cde0..11ecb18e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1827,10 +1827,10 @@ packages: dependency: "direct main" description: name: piped_client - sha256: "87b04b2ebf4e008cfbb0ac85e9920ab3741f5aa697be2dd44919658a3297a4bc" + sha256: "947613e2a8d368b72cb36473de2c5c2784e4e72b2d3f17e5a5181b98b1a5436e" url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.2" platform: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index f6e9f439..d508a2c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -97,7 +97,7 @@ dependencies: path: ^1.9.0 path_provider: ^2.1.3 permission_handler: ^11.3.1 - piped_client: ^0.1.1 + piped_client: ^0.1.2 riverpod: ^2.5.1 scrobblenaut: git: