feat: add Deezer download service, Qobuz squid.wtf fallback, update changelog

This commit is contained in:
zarzet committed 2026-03-06 21:18:50 +07:00
1 parent f306599ab2
commit 36a646e5c0
6 files changed
+250 -20

No files matched your search

+2 -2
View File
@@ -811,7 +811,7 @@ class ExtensionNotifier extends Notifier<ExtensionState> {
}
}
for (final provider in const ['tidal', 'qobuz', 'amazon']) {
for (final provider in const ['tidal', 'qobuz', 'amazon', 'deezer']) {
if (!result.contains(provider)) {
result.add(provider);
}
@@ -880,7 +880,7 @@ class ExtensionNotifier extends Notifier<ExtensionState> {
}
List<String> getAllDownloadProviders() {
final providers = ['tidal', 'qobuz', 'amazon'];
final providers = ['tidal', 'qobuz', 'amazon', 'deezer'];
for (final ext in state.extensions) {
if (ext.enabled && ext.hasDownloadProvider) {
providers.add(ext.id);
@@ -23,7 +23,7 @@ class DownloadSettingsPage extends ConsumerStatefulWidget {
}
class _DownloadSettingsPageState extends ConsumerState<DownloadSettingsPage> {
static const _builtInServices = ['tidal', 'qobuz', 'amazon'];
static const _builtInServices = ['tidal', 'qobuz', 'amazon', 'deezer'];
static const _songLinkRegions = [
'AD',
'AE',
@@ -2039,7 +2039,7 @@ class _ServiceSelector extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final extState = ref.watch(extensionProvider);
final builtInServiceIds = ['tidal', 'qobuz', 'amazon', 'youtube'];
final builtInServiceIds = ['tidal', 'qobuz', 'amazon', 'deezer', 'youtube'];
final extensionProviders = extState.extensions
.where((e) => e.enabled && e.hasDownloadProvider)
+11
View File
@@ -78,6 +78,17 @@ const _builtInServices = [
),
],
),
BuiltInService(
id: 'deezer',
label: 'Deezer',
qualityOptions: [
QualityOption(
id: 'FLAC',
label: 'FLAC Lossless',
description: '16-bit / 44.1kHz (CD Quality)',
),
],
),
BuiltInService(
id: 'youtube',
label: 'YouTube',