From 2903e5c2e06cf36481fba90547fc9c038b9b41f9 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Sun, 21 Jul 2024 12:30:38 +0530 Subject: [PATCH 1/5] hot fixes --- lib/core/utils.dart | 17 ++++++ lib/core/widgets/media_card.dart | 55 +++++++++++-------- lib/functions/album/view/album_view.dart | 2 +- lib/functions/artist/view/artist_view.dart | 2 +- .../playlist/view/playlist_view.dart | 2 +- pubspec.lock | 24 ++++---- 6 files changed, 64 insertions(+), 38 deletions(-) diff --git a/lib/core/utils.dart b/lib/core/utils.dart index 507a8c1..37a9c87 100644 --- a/lib/core/utils.dart +++ b/lib/core/utils.dart @@ -119,3 +119,20 @@ class TrendClass { this.accentColor, }); } + +class PopMenuAction { + final String label; + final String value; + + PopMenuAction({ + required this.label, + required this.value, + }); +} + +List popMenuActions = [ + PopMenuAction(label: 'Play', value: 'play'), + PopMenuAction(label: 'Save to Playlist', value: 'save_playlist'), + PopMenuAction(label: 'Add to queue', value: 'queue'), + PopMenuAction(label: 'Download', value: 'downlaod'), +]; diff --git a/lib/core/widgets/media_card.dart b/lib/core/widgets/media_card.dart index 24bded7..cfd288b 100644 --- a/lib/core/widgets/media_card.dart +++ b/lib/core/widgets/media_card.dart @@ -1,9 +1,10 @@ import 'package:context_menus/context_menus.dart'; import 'package:flutter/material.dart'; +import 'package:sangeet/core/core.dart'; import 'cache_image.dart'; class MediaCard extends StatelessWidget { - final String image; + final String? image; final String title; final String subtitle; final IconData? badgeIcon; @@ -17,7 +18,7 @@ class MediaCard extends StatelessWidget { const MediaCard({ super.key, required this.onTap, - required this.image, + this.image, this.accentColor, required this.title, required this.subtitle, @@ -53,26 +54,27 @@ class MediaCard extends StatelessWidget { child: Row( mainAxisSize: MainAxisSize.min, children: [ - Badge( - isLabelVisible: badgeIcon != null, - backgroundColor: - explicitContent ? Colors.redAccent : Colors.teal, - label: Icon( - badgeIcon, - size: 10, - ), - child: ClipRRect( - borderRadius: const BorderRadius.only( - bottomLeft: Radius.circular(8), - topLeft: Radius.circular(8), + if (image != null) + (Badge( + isLabelVisible: badgeIcon != null, + backgroundColor: + explicitContent ? Colors.redAccent : Colors.teal, + label: Icon( + badgeIcon, + size: 10, ), - child: CacheImage( - url: image, - width: 60, - height: 60, + child: ClipRRect( + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(8), + topLeft: Radius.circular(8), + ), + child: CacheImage( + url: image!, + width: 60, + height: 60, + ), ), - ), - ), + )), Flexible( child: Container( padding: const EdgeInsets.all(8.0), @@ -105,10 +107,17 @@ class MediaCard extends StatelessWidget { ), Visibility( visible: showMenu, - child: IconButton( + child: PopupMenuButton( tooltip: "Options", - onPressed: onMenuTap ?? () {}, - icon: const Icon(Icons.more_vert_rounded), + onSelected: (value) {}, + itemBuilder: (BuildContext context) { + return popMenuActions.map((PopMenuAction choice) { + return PopupMenuItem( + value: choice.value, + child: Text(choice.label), + ); + }).toList(); + }, ), ), ], diff --git a/lib/functions/album/view/album_view.dart b/lib/functions/album/view/album_view.dart index 6fb88e7..33d0d22 100644 --- a/lib/functions/album/view/album_view.dart +++ b/lib/functions/album/view/album_view.dart @@ -124,7 +124,7 @@ class AlbumView extends ConsumerWidget { onTap: () => Navigator.of(context).push( SongView.route(song.id), ), - image: song.images[1].url, + // image: song.images[1].url, title: song.title, subtitle: "${formatNumber(song.playCount)} listens, ${song.label}", diff --git a/lib/functions/artist/view/artist_view.dart b/lib/functions/artist/view/artist_view.dart index ad8cf37..2ab179c 100644 --- a/lib/functions/artist/view/artist_view.dart +++ b/lib/functions/artist/view/artist_view.dart @@ -92,7 +92,7 @@ class ArtistView extends ConsumerWidget { onTap: () => Navigator.of(context).push( SongView.route(song.id), ), - image: song.images[1].url, + // image: song.images[1].url,s title: song.title, subtitle: "${song.label}, ${formatDuration(song.duration)}", diff --git a/lib/functions/playlist/view/playlist_view.dart b/lib/functions/playlist/view/playlist_view.dart index c131bf7..67a73f1 100644 --- a/lib/functions/playlist/view/playlist_view.dart +++ b/lib/functions/playlist/view/playlist_view.dart @@ -102,7 +102,7 @@ class PlaylistView extends ConsumerWidget { onTap: () => Navigator.of(context).push( SongView.route(song.id), ), - image: song.images[1].url, + // image: song.images[1].url, title: song.title, subtitle: "${formatNumber(song.playCount)} listens, ${song.label}", diff --git a/pubspec.lock b/pubspec.lock index 6fdbef9..9555d04 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -419,26 +419,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -483,10 +483,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" path: dependency: transitive description: @@ -785,10 +785,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" tray_manager: dependency: "direct main" description: @@ -905,10 +905,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" web: dependency: transitive description: From 99e065d8dd0d50db7cdac7c437e334439e9a7715 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Mon, 11 Nov 2024 22:26:31 +0530 Subject: [PATCH 2/5] feat: Discord RPC and Windows SMTC (#25) * feat: Discord RPC and Windows SMTC * chore: dart version bump to 3.4 * chore: flutter version bump to 3.24 * fixes: RPC error catching * fixes: OSC on Windows * fixes: Tests update * fixes: IPC disconnect error catch --- .github/workflows/build.yml | 12 +- .github/workflows/tests.yml | 12 +- integration_test/app_test.dart | 3 +- lib/frame/home.dart | 17 ++ .../player/controllers/player_controller.dart | 132 ++++++++++++- .../widgets/player_control_buttons.dart | 48 ++++- lib/initialization.dart | 10 +- lib/main.dart | 8 + pubspec.lock | 174 ++++++++++++++---- pubspec.yaml | 9 +- .../flutter/generated_plugin_registrant.cc | 3 + windows/flutter/generated_plugins.cmake | 3 + 12 files changed, 368 insertions(+), 63 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5951be1..1b9efd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ on: name: "Build & Release" jobs: - build: + build: name: Build & Release runs-on: windows-latest steps: @@ -20,18 +20,18 @@ jobs: with: java-version: '11' distribution: 'temurin' - + - name: Flutter Setup uses: subosito/flutter-action@v2 with: channel: stable - flutter-version: '3.19.5' - + flutter-version: '3.24.4' + - name: Dependencies install run: flutter pub get - name: Integration Test 🧪 - run: flutter test -d windows integration_test\app_test.dart + run: flutter test -d windows integration_test\app_test.dart - name: Building exe for Windows ⚡ run: flutter build windows --release --build-name 1.1.${{ github.run_number }} --build-number ${{ github.run_number }} @@ -39,7 +39,7 @@ jobs: - name: Archive Release uses: thedoctor0/zip-release@master with: - type: 'zip' + type: 'zip' filename: Sangeet-v1.1.${{ github.run_number }}_windows_x64.zip directory: build/windows/x64/runner/Release diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 035b3ad..be0fe65 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ on: name: "Integration Tests" jobs: - run_tests: + run_tests: name: Run Integration Tests runs-on: windows-latest steps: @@ -26,17 +26,17 @@ jobs: with: java-version: '11' distribution: 'temurin' - + - name: Flutter setup 🔎 uses: subosito/flutter-action@v2 with: channel: stable - flutter-version: '3.19.5' + flutter-version: '3.24.4' - name: Dependencies install run: flutter pub get - name: Integration Test 🧪 - run: flutter test -d windows integration_test\app_test.dart - - + run: flutter test -d windows integration_test\app_test.dart + + diff --git a/integration_test/app_test.dart b/integration_test/app_test.dart index e5c44e4..7eb064d 100644 --- a/integration_test/app_test.dart +++ b/integration_test/app_test.dart @@ -17,8 +17,9 @@ void main() { await app.main(); await tester.pumpAndSettle(); - final albumCard = find.byKey(const Key("album_card_0")); + final albumCard = find.byKey(const Key("album_card_1")); mediaName = (albumCard.evaluate().first.widget as BrowseCard).title; + await tester.ensureVisible(albumCard); await tester.tap(albumCard); await tester.pumpAndSettle(); diff --git a/lib/frame/home.dart b/lib/frame/home.dart index a06f734..8d49ea0 100644 --- a/lib/frame/home.dart +++ b/lib/frame/home.dart @@ -1,5 +1,8 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_discord_rpc/flutter_discord_rpc.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:hotkey_manager/hotkey_manager.dart'; @@ -27,17 +30,31 @@ class HomeFrame extends ConsumerStatefulWidget { class _HomeFrameState extends ConsumerState with TrayListener, WindowListener { + bool get isTesting => Platform.environment.containsKey('FLUTTER_TEST'); + @override void initState() { super.initState(); trayManager.addListener(this); windowManager.addListener(this); + if (!isTesting) { + FlutterDiscordRPC.instance.connect().catchError((e) { + debugPrint('Failed To Connect Discord'); + }); + } } @override void dispose() { trayManager.removeListener(this); windowManager.removeListener(this); + if (!isTesting) { + FlutterDiscordRPC.instance.clearActivity(); + FlutterDiscordRPC.instance + .disconnect() + .catchError((e) => debugPrint('Failed To Disconnect Discord')); + FlutterDiscordRPC.instance.dispose(); + } super.dispose(); } diff --git a/lib/functions/player/controllers/player_controller.dart b/lib/functions/player/controllers/player_controller.dart index cc1a858..92ed9b3 100644 --- a/lib/functions/player/controllers/player_controller.dart +++ b/lib/functions/player/controllers/player_controller.dart @@ -1,8 +1,9 @@ import 'dart:developer'; -import 'package:audio_session/audio_session.dart'; import 'package:bot_toast/bot_toast.dart'; import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_discord_rpc/flutter_discord_rpc.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:just_audio/just_audio.dart'; import 'package:rxdart/rxdart.dart'; @@ -13,6 +14,7 @@ import 'package:sangeet/functions/settings/controllers/settings_controller.dart' import 'package:sangeet_api/models.dart'; import 'package:sangeet_api/modules/song/models/song_model.dart'; import 'package:sangeet_api/sangeet_api.dart'; +import 'package:smtc_windows/smtc_windows.dart'; final playerControllerProvider = StateNotifierProvider((ref) { @@ -26,7 +28,38 @@ class PlayerController extends StateNotifier { final SettingsController _settingsController; final SangeetAPI _api; - final _player = AudioPlayer(); + final _player = AudioPlayer( + handleInterruptions: false, + androidApplyAudioAttributes: false, + handleAudioSessionActivation: false, + ); + final _smtc = SMTCWindows( + metadata: const MusicMetadata( + title: 'Not Playing', + album: '', + albumArtist: '', + artist: '', + thumbnail: 'https://priyanshuverma-dev.github.io/card.png', + ), + // Timeline info for the OS media player + timeline: const PlaybackTimeline( + startTimeMs: 0, + endTimeMs: 1000, + positionMs: 0, + minSeekTimeMs: 0, + maxSeekTimeMs: 1000, + ), + // Which buttons to show in the OS media player + config: const SMTCConfig( + fastForwardEnabled: true, + nextEnabled: true, + pauseEnabled: true, + playEnabled: true, + rewindEnabled: true, + prevEnabled: true, + stopEnabled: true, + ), + ); final playlist = ConcatenatingAudioSource( useLazyPreparation: true, children: [], @@ -40,6 +73,7 @@ class PlayerController extends StateNotifier { super(false); AudioPlayer get getPlayer => _player; + SMTCWindows get getSMTC => _smtc; ConcatenatingAudioSource get getplaylist => playlist; Stream get positionDataStream => @@ -57,9 +91,9 @@ class PlayerController extends StateNotifier { List? prevSongs, bool playCurrent = false, }) async { - final session = await AudioSession.instance; + // final session = await AudioSession.instance; try { - await session.setActive(true); + // await session.setActive(true); List songs = []; if (playlist.length > 0) { @@ -134,10 +168,95 @@ class PlayerController extends StateNotifier { } await _player.setAudioSource(playlist, preload: true); - redirect?.call(); await _player.play(); + SongModel song = _player.audioSource?.sequence[_player.currentIndex!].tag; + await _smtc.updateMetadata(MusicMetadata( + title: song.title, + album: song.albumName, + thumbnail: song.images[1].url, + artist: song.artists[0].name, + )); + FlutterDiscordRPC.instance.setActivity( + activity: RPCActivity( + activityType: ActivityType.listening, + state: "${song.title} Playing Now", + assets: RPCAssets( + largeImage: song.images[2].url, + smallText: "${song.title} - ${song.albumName}", + ), + details: + "Playing ${song.title} by ${song.artists[0].name} on Sangeet.", + buttons: [ + const RPCButton( + label: "Open in Sangeet", + url: 'https://github.com/priyanshuverma-dev/sangeet') + ], + ), + ); + + _player.currentIndexStream.listen((indx) async { + SongModel currentSong = _player.audioSource?.sequence[indx ?? 0].tag; + await _smtc.updateMetadata(MusicMetadata( + title: currentSong.title, + album: currentSong.albumName, + thumbnail: currentSong.images[1].url, + artist: currentSong.artists[0].name, + )); + await FlutterDiscordRPC.instance.setActivity( + activity: RPCActivity( + activityType: ActivityType.listening, + state: "${currentSong.title} Playing Now", + assets: RPCAssets( + largeImage: currentSong.images[2].url, + smallText: "${currentSong.title} - ${currentSong.albumName}", + ), + details: + "${currentSong.title} by ${currentSong.artists[0].name} on Sangeet Desktop.", + buttons: [ + const RPCButton( + label: "Open in Sangeet", + url: 'https://github.com/priyanshuverma-dev/sangeet') + ], + ), + ); + }); + + WidgetsBinding.instance.addPostFrameCallback((_) async { + try { + _smtc.buttonPressStream.listen((event) async { + switch (event) { + case PressedButton.play: + _smtc.setPlaybackStatus(PlaybackStatus.playing); + await _player.play(); + break; + case PressedButton.pause: + _smtc.setPlaybackStatus(PlaybackStatus.paused); + await _player.pause(); + break; + case PressedButton.next: + await _smtc.setPlaybackStatus(PlaybackStatus.playing); + await _player.seekToNext(); + break; + case PressedButton.previous: + await _smtc.setPlaybackStatus(PlaybackStatus.playing); + await _player.seekToPrevious(); + + break; + case PressedButton.stop: + _smtc.setPlaybackStatus(PlaybackStatus.stopped); + _smtc.disableSmtc(); + await _player.stop(); + break; + default: + break; + } + }); + } catch (e) { + debugPrint("Error: $e"); + } + }); } on PlayerException catch (e) { if (kDebugMode) { print("Error message: ${e.message}"); @@ -154,7 +273,7 @@ class PlayerController extends StateNotifier { } BotToast.showText(text: "Error: ${e.toString()}"); } finally { - await session.setActive(false); + // await session.setActive(false); } } @@ -246,5 +365,6 @@ class PlayerController extends StateNotifier { void dispose() { super.dispose(); _player.dispose(); + _smtc.dispose(); } } diff --git a/lib/functions/player/widgets/player_control_buttons.dart b/lib/functions/player/widgets/player_control_buttons.dart index f21331c..ece6172 100644 --- a/lib/functions/player/widgets/player_control_buttons.dart +++ b/lib/functions/player/widgets/player_control_buttons.dart @@ -1,7 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:just_audio/just_audio.dart'; +import 'package:sangeet/functions/player/controllers/player_controller.dart'; +import 'package:sangeet_api/models.dart'; +import 'package:smtc_windows/smtc_windows.dart'; -class PlayerControllerButtons extends StatelessWidget { +class PlayerControllerButtons extends ConsumerWidget { final AudioPlayer player; const PlayerControllerButtons({ super.key, @@ -9,7 +13,8 @@ class PlayerControllerButtons extends StatelessWidget { }); @override - Widget build(BuildContext context) { + Widget build(BuildContext context, WidgetRef ref) { + final smtc = ref.watch(playerControllerProvider.notifier).getSMTC; return Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, @@ -43,7 +48,19 @@ class PlayerControllerButtons extends StatelessWidget { Icons.skip_previous_rounded, color: Colors.white, ), - onPressed: () => player.seekToPrevious(), + onPressed: () async { + if (player.previousIndex == null) return; + SongModel prevSong = + player.audioSource?.sequence[player.previousIndex ?? 0].tag; + await smtc.updateMetadata(MusicMetadata( + title: prevSong.title, + album: prevSong.albumName, + thumbnail: prevSong.images[1].url, + artist: prevSong.artists[0].name, + )); + await smtc.setPlaybackStatus(PlaybackStatus.playing); + await player.seekToPrevious(); + }, ), StreamBuilder( stream: player.playerStateStream, @@ -72,7 +89,10 @@ class PlayerControllerButtons extends StatelessWidget { style: IconButton.styleFrom( backgroundColor: Colors.teal, ), - onPressed: player.play, + onPressed: () async { + await smtc.setIsPlayEnabled(true); + await player.play(); + }, ); } else if (processingState != ProcessingState.completed) { return IconButton( @@ -84,7 +104,10 @@ class PlayerControllerButtons extends StatelessWidget { style: IconButton.styleFrom( backgroundColor: Colors.teal, ), - onPressed: player.pause, + onPressed: () async { + await smtc.setIsPlayEnabled(false); + await player.pause(); + }, ); } else { return IconButton( @@ -106,7 +129,20 @@ class PlayerControllerButtons extends StatelessWidget { Icons.skip_next_rounded, color: Colors.white, ), - onPressed: () => player.seekToNext(), + onPressed: () async { + SongModel nextSong = player + .audioSource + ?.sequence[player.nextIndex ?? (player.sequence!.length - 1)] + .tag; + await smtc.updateMetadata(MusicMetadata( + title: nextSong.title, + album: nextSong.albumName, + thumbnail: nextSong.images[1].url, + artist: nextSong.artists[0].name, + )); + await smtc.setPlaybackStatus(PlaybackStatus.playing); + await player.seekToNext(); + }, ), StreamBuilder( stream: player.shuffleModeEnabledStream, diff --git a/lib/initialization.dart b/lib/initialization.dart index b96c283..6b40e34 100644 --- a/lib/initialization.dart +++ b/lib/initialization.dart @@ -1,9 +1,10 @@ -import 'package:audio_session/audio_session.dart'; import 'package:fast_cached_network_image/fast_cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter_acrylic/flutter_acrylic.dart'; +import 'package:flutter_discord_rpc/flutter_discord_rpc.dart'; import 'package:path_provider/path_provider.dart'; import 'package:sangeet/core/constants.dart'; +import 'package:smtc_windows/smtc_windows.dart'; import 'package:tray_manager/tray_manager.dart'; import 'package:window_manager/window_manager.dart'; @@ -14,9 +15,10 @@ Future initialiseAppFunctions() async { subDir: "${tempDir.path}/sangeet-cache", clearCacheAfter: const Duration(days: 15), ); - final session = await AudioSession.instance; - await session.configure(const AudioSessionConfiguration.speech()); - await session.setActive(false); + await FlutterDiscordRPC.initialize( + "1305200213123928174", + ); + await SMTCWindows.initialize(); } Future initWindowManager() async { diff --git a/lib/main.dart b/lib/main.dart index 897cb0d..75272ca 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -5,6 +5,7 @@ import 'package:bot_toast/bot_toast.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:hotkey_manager/hotkey_manager.dart'; +import 'package:just_audio_media_kit/just_audio_media_kit.dart'; import 'package:sangeet/frame/home.dart'; import 'package:sangeet/initialization.dart'; @@ -12,6 +13,13 @@ import 'package:sangeet/initialization.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); await hotKeyManager.unregisterAll(); + JustAudioMediaKit.ensureInitialized(); + JustAudioMediaKit.ensureInitialized( + linux: false, // default: true - dependency: media_kit_libs_linux + windows: true, + ); + JustAudioMediaKit.title = 'Sangeet'; + JustAudioMediaKit.prefetchPlaylist = true; await initialiseAppFunctions(); runApp( const ProviderScope( diff --git a/pubspec.lock b/pubspec.lock index 9555d04..cde7a0d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: "direct main" description: name: audio_service - sha256: "9304c811ea702e9f989b394bafdf8332fc219d2ea9bfbf8f7446e978b0a3b781" + sha256: "9dd5ba7e77567b290c35908b1950d61485b4dfdd3a0ac398e98cfeec04651b75" url: "https://pub.dev" source: hosted - version: "0.18.14" + version: "0.18.15" audio_service_platform_interface: dependency: transitive description: @@ -50,7 +50,7 @@ packages: source: hosted version: "0.1.3" audio_session: - dependency: "direct main" + dependency: transitive description: name: audio_session sha256: "4012d798e25a0ebfd4ad7203fefe7e386fdfedd2243afc52fa700b8bde6a3a4f" @@ -81,6 +81,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.3" + build_cli_annotations: + dependency: transitive + description: + name: build_cli_annotations + sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 + url: "https://pub.dev" + source: hosted + version: "2.1.0" characters: dependency: transitive description: @@ -218,10 +226,18 @@ packages: dependency: transitive description: name: flutter_cache_manager - sha256: "395d6b7831f21f3b989ebedbb785545932adb9afe2622c1ffacf7f4b53a7e544" + sha256: a77f77806a790eb9ba0118a5a3a936e81c4fea2b61533033b2b0c3d50bbde5ea url: "https://pub.dev" source: hosted - version: "3.3.2" + version: "3.4.0" + flutter_discord_rpc: + dependency: "direct main" + description: + name: flutter_discord_rpc + sha256: "9363a803863d56fd89c0a21639c70b126245fcbafaeb0a3d091e7ac06951d03f" + url: "https://pub.dev" + source: hosted + version: "1.0.0" flutter_driver: dependency: transitive description: flutter @@ -251,6 +267,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.5.1" + flutter_rust_bridge: + dependency: transitive + description: + name: flutter_rust_bridge + sha256: "0ad5079de35d317650fec59b26cb4d0c116ebc2ce703a29f9367513b8a91c287" + url: "https://pub.dev" + source: hosted + version: "2.5.0" flutter_test: dependency: "direct dev" description: flutter @@ -371,10 +395,10 @@ packages: dependency: transitive description: name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.6.7" json_annotation: dependency: transitive description: @@ -391,6 +415,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.39" + just_audio_media_kit: + dependency: "direct main" + description: + name: just_audio_media_kit + sha256: "9f3517213dfc7bbaf6980656feb66c35600f114c7efc0b5b3f4476cd5c18b45e" + url: "https://pub.dev" + source: hosted + version: "2.0.6" just_audio_platform_interface: dependency: transitive description: @@ -411,26 +443,26 @@ packages: dependency: "direct main" description: name: just_audio_windows - sha256: "48ab2dec79cf6097550602fe07b1a644f341450e138dc8fdc23e42ce0ed2d928" + sha256: b1ba5305d841c0e3883644e20fc11aaa23f28cfdd43ec20236d1e119a402ef29 url: "https://pub.dev" source: hosted - version: "0.2.1" + version: "0.2.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -447,6 +479,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" macos_window_utils: dependency: transitive description: @@ -467,10 +507,26 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + media_kit: + dependency: transitive + description: + name: media_kit + sha256: "1f1deee148533d75129a6f38251ff8388e33ee05fc2d20a6a80e57d6051b7b62" + url: "https://pub.dev" + source: hosted + version: "1.1.11" + media_kit_libs_windows_audio: + dependency: "direct main" + description: + name: media_kit_libs_windows_audio + sha256: c2fd558cc87b9d89a801141fcdffe02e338a3b21a41a18fbd63d5b221a1b8e53 url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "1.0.9" menu_base: dependency: transitive description: @@ -483,10 +539,10 @@ packages: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -555,10 +611,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -599,6 +655,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.27.7" + safe_local_storage: + dependency: transitive + description: + name: safe_local_storage + sha256: ede4eb6cb7d88a116b3d3bf1df70790b9e2038bc37cb19112e381217c74d9440 + url: "https://pub.dev" + source: hosted + version: "1.0.2" sangeet_api: dependency: "direct main" description: @@ -693,6 +757,14 @@ packages: description: flutter source: sdk version: "0.0.99" + smtc_windows: + dependency: "direct main" + description: + name: smtc_windows + sha256: "80f7c10867da485ffdf87f842bf27e6763589933c18c11af5dc1cd1e158c3154" + url: "https://pub.dev" + source: hosted + version: "1.0.0" source_span: dependency: transitive description: @@ -713,18 +785,42 @@ packages: dependency: transitive description: name: sqflite - sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d + sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3" url: "https://pub.dev" source: hosted - version: "2.3.3+1" + version: "2.4.0" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + sha256: "4468b24876d673418a7b7147e5a08a715b4998a7ae69227acafaab762e0e5490" url: "https://pub.dev" source: hosted - version: "2.5.4" + version: "2.5.4+5" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "96a698e2bc82bd770a4d6aab00b42396a7c63d9e33513a56945cbccb594c2474" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" stack_trace: dependency: transitive description: @@ -769,10 +865,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" url: "https://pub.dev" source: hosted - version: "3.1.0+1" + version: "3.3.0+3" term_glyph: dependency: transitive description: @@ -785,10 +881,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" tray_manager: dependency: "direct main" description: @@ -821,6 +917,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.3" + universal_platform: + dependency: transitive + description: + name: universal_platform + sha256: "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + uri_parser: + dependency: transitive + description: + name: uri_parser + sha256: "6543c9fd86d2862fac55d800a43e67c0dcd1a41677cb69c2f8edfe73bbcf1835" + url: "https://pub.dev" + source: hosted + version: "2.0.2" url_launcher: dependency: transitive description: @@ -905,10 +1017,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" web: dependency: transitive description: @@ -966,5 +1078,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.3 <4.0.0" - flutter: ">=3.19.2" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 9545092..8741f59 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.2.7+1 environment: - sdk: '>=3.3.3 <4.0.0' + sdk: '>=3.4.0 <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -37,10 +37,8 @@ dependencies: cupertino_icons: ^1.0.6 flutter_riverpod: ^2.5.1 just_audio: ^0.9.37 - audio_session: ^0.1.19 rxdart: ^0.27.7 just_audio_windows: ^0.2.1 - audio_service: ^0.18.13 audio_video_progress_bar: ^2.0.3 collection: ^1.18.0 window_manager: ^0.3.9 @@ -61,6 +59,11 @@ dependencies: http: ^1.2.1 fast_cached_network_image: ^1.2.9 context_menus: ^2.0.0+1 + smtc_windows: ^1.0.0 + flutter_discord_rpc: ^1.0.0 + audio_service: ^0.18.15 + just_audio_media_kit: ^2.0.6 + media_kit_libs_windows_audio: ^1.0.9 dev_dependencies: flutter_test: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 7594fe4..70bab85 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("HotkeyManagerWindowsPluginCApi")); JustAudioWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("JustAudioWindowsPlugin")); + MediaKitLibsWindowsAudioPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("MediaKitLibsWindowsAudioPluginCApi")); ScreenRetrieverPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); TrayManagerPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 2fd85a7..1d80513 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST flutter_acrylic hotkey_manager_windows just_audio_windows + media_kit_libs_windows_audio screen_retriever tray_manager url_launcher_windows @@ -14,6 +15,8 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + flutter_discord_rpc + smtc_windows ) set(PLUGIN_BUNDLED_LIBRARIES) From 6bbe8f56117a849d19e0e008962a4f4abe71cc32 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Tue, 12 Nov 2024 18:46:39 +0530 Subject: [PATCH 3/5] fixes: API version update (#27) --- lib/core/utils.dart | 12 +- .../album/controllers/album_controller.dart | 2 +- .../artist/controller/artist_controller.dart | 2 +- .../charts/controllers/charts_controller.dart | 2 +- .../player/controllers/player_controller.dart | 4 +- .../controllers/playlist_controller.dart | 2 +- lib/functions/search/views/search_view.dart | 10 +- .../song/controllers/song_controller.dart | 2 +- pubspec.lock | 154 +++++++++--------- 9 files changed, 95 insertions(+), 95 deletions(-) diff --git a/lib/core/utils.dart b/lib/core/utils.dart index 37a9c87..9ce8566 100644 --- a/lib/core/utils.dart +++ b/lib/core/utils.dart @@ -47,7 +47,7 @@ List mergeAllMediaForSearch(SearchTopQueryModel data) { type: album.type, image: album.images[1].url, title: album.title, - subtitle: album.description, + subtitle: album.subtitle ?? "", badgeIcon: Icons.album_rounded, explicitContent: album.explicitContent, position: 0, @@ -59,10 +59,10 @@ List mergeAllMediaForSearch(SearchTopQueryModel data) { type: song.type, image: song.images[1].url, title: song.title, - subtitle: song.description, + subtitle: song.subtitle, badgeIcon: Icons.music_note_rounded, explicitContent: song.explicitContent, - position: song.ctr, + position: 0, ), ), ...data.playlists.map( @@ -71,7 +71,7 @@ List mergeAllMediaForSearch(SearchTopQueryModel data) { type: playlist.type, image: playlist.images[1].url, title: playlist.title, - subtitle: playlist.description, + subtitle: playlist.subtitle, badgeIcon: Icons.playlist_play_rounded, explicitContent: playlist.explicitContent, position: 0, @@ -83,10 +83,10 @@ List mergeAllMediaForSearch(SearchTopQueryModel data) { type: artist.type, image: artist.images[1].url, title: artist.title, - subtitle: artist.description, + subtitle: "", badgeIcon: Icons.mic_external_on_rounded, explicitContent: false, - position: artist.position, + position: 0, ), ), ]; diff --git a/lib/functions/album/controllers/album_controller.dart b/lib/functions/album/controllers/album_controller.dart index f2f7c31..9966668 100644 --- a/lib/functions/album/controllers/album_controller.dart +++ b/lib/functions/album/controllers/album_controller.dart @@ -36,7 +36,7 @@ class AlbumController extends StateNotifier { ); final s = album.copyWith( - accentColor: accentColor.background, + accentColor: accentColor.surface, ); return s; diff --git a/lib/functions/artist/controller/artist_controller.dart b/lib/functions/artist/controller/artist_controller.dart index 97b11c4..280e292 100644 --- a/lib/functions/artist/controller/artist_controller.dart +++ b/lib/functions/artist/controller/artist_controller.dart @@ -35,7 +35,7 @@ class ArtistController extends StateNotifier { ); final s = artist.copyWith( - accentColor: accentColor.background, + accentColor: accentColor.surface, ); return s; diff --git a/lib/functions/charts/controllers/charts_controller.dart b/lib/functions/charts/controllers/charts_controller.dart index 7740ea2..5295558 100644 --- a/lib/functions/charts/controllers/charts_controller.dart +++ b/lib/functions/charts/controllers/charts_controller.dart @@ -36,7 +36,7 @@ class ChartController extends StateNotifier { ); final s = chart.copyWith( - accentColor: accentColor.background, + accentColor: accentColor.surface, ); return s; diff --git a/lib/functions/player/controllers/player_controller.dart b/lib/functions/player/controllers/player_controller.dart index 92ed9b3..27dca0f 100644 --- a/lib/functions/player/controllers/player_controller.dart +++ b/lib/functions/player/controllers/player_controller.dart @@ -181,10 +181,10 @@ class PlayerController extends StateNotifier { FlutterDiscordRPC.instance.setActivity( activity: RPCActivity( activityType: ActivityType.listening, - state: "${song.title} Playing Now", + state: "${song.title} - ${song.albumName}", assets: RPCAssets( largeImage: song.images[2].url, - smallText: "${song.title} - ${song.albumName}", + smallText: "${song.title} Playing Now", ), details: "Playing ${song.title} by ${song.artists[0].name} on Sangeet.", diff --git a/lib/functions/playlist/controllers/playlist_controller.dart b/lib/functions/playlist/controllers/playlist_controller.dart index 87a4a85..8c60927 100644 --- a/lib/functions/playlist/controllers/playlist_controller.dart +++ b/lib/functions/playlist/controllers/playlist_controller.dart @@ -36,7 +36,7 @@ class PlaylistController extends StateNotifier { ); final s = playlist.copyWith( - accentColor: accentColor.background, + accentColor: accentColor.surface, ); return s; diff --git a/lib/functions/search/views/search_view.dart b/lib/functions/search/views/search_view.dart index 23d098f..609bff6 100644 --- a/lib/functions/search/views/search_view.dart +++ b/lib/functions/search/views/search_view.dart @@ -40,8 +40,8 @@ class _SearchViewState extends ConsumerState { builder: (context, controller) { return SearchBar( controller: controller, - backgroundColor: MaterialStateProperty.all(Colors.transparent), - padding: const MaterialStatePropertyAll( + backgroundColor: WidgetStateProperty.all(Colors.transparent), + padding: const WidgetStatePropertyAll( EdgeInsets.symmetric(horizontal: 16.0)), onTap: () { controller.openView(); @@ -173,7 +173,7 @@ class _SearchViewState extends ConsumerState { .push(AlbumView.route(item.id)), image: item.images[1].url, title: item.title, - subtitle: item.description, + subtitle: item.subtitle ?? "", explicitContent: item.explicitContent, badgeIcon: Icons.album_rounded, showMenu: false, @@ -196,7 +196,7 @@ class _SearchViewState extends ConsumerState { .push(ArtistView.route(item.id)), image: item.images[1].url, title: item.title, - subtitle: item.description, + subtitle: "", explicitContent: false, badgeIcon: Icons.mic_external_on_rounded, showMenu: false, @@ -219,7 +219,7 @@ class _SearchViewState extends ConsumerState { .push(PlaylistView.route(item.id)), image: item.images[1].url, title: item.title, - subtitle: item.description, + subtitle: item.subtitle, explicitContent: item.explicitContent, badgeIcon: Icons.album_rounded, showMenu: false, diff --git a/lib/functions/song/controllers/song_controller.dart b/lib/functions/song/controllers/song_controller.dart index b268453..916b781 100644 --- a/lib/functions/song/controllers/song_controller.dart +++ b/lib/functions/song/controllers/song_controller.dart @@ -34,7 +34,7 @@ class SongController extends StateNotifier { ); final s = song.copyWith( - accentColor: accentColor.background, + accentColor: accentColor.surface, ); return s; diff --git a/pubspec.lock b/pubspec.lock index cde7a0d..56f91d6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" async: dependency: transitive description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: audio_session - sha256: "4012d798e25a0ebfd4ad7203fefe7e386fdfedd2243afc52fa700b8bde6a3a4f" + sha256: "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261" url: "https://pub.dev" source: hosted - version: "0.1.20" + version: "0.1.21" audio_video_progress_bar: dependency: "direct main" description: @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: cli_util - sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c url: "https://pub.dev" source: hosted - version: "0.4.1" + version: "0.4.2" clock: dependency: transitive description: @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" cupertino_icons: dependency: "direct main" description: @@ -157,18 +157,18 @@ packages: dependency: transitive description: name: dio - sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714 + sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260" url: "https://pub.dev" source: hosted - version: "5.5.0+1" + version: "5.7.0" dio_web_adapter: dependency: transitive description: name: dio_web_adapter - sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" + sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "2.0.0" fake_async: dependency: transitive description: @@ -189,10 +189,10 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" file: dependency: transitive description: @@ -205,10 +205,10 @@ packages: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" flutter: dependency: "direct main" description: flutter @@ -226,10 +226,10 @@ packages: dependency: transitive description: name: flutter_cache_manager - sha256: a77f77806a790eb9ba0118a5a3a936e81c4fea2b61533033b2b0c3d50bbde5ea + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" url: "https://pub.dev" source: hosted - version: "3.4.0" + version: "3.4.1" flutter_discord_rpc: dependency: "direct main" description: @@ -263,10 +263,10 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: "0f1974eff5bbe774bf1d870e406fc6f29e3d6f1c46bd9c58e7172ff68a785d7d" + sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" flutter_rust_bridge: dependency: transitive description: @@ -358,10 +358,10 @@ packages: dependency: "direct main" description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_parser: dependency: transitive description: @@ -374,10 +374,10 @@ packages: dependency: transitive description: name: image - sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" + sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.3.0" integration_test: dependency: "direct dev" description: flutter @@ -411,10 +411,10 @@ packages: dependency: "direct main" description: name: just_audio - sha256: ee50602364ba83fa6308f5512dd560c713ec3e1f2bc75f0db43618f0d82ef71a + sha256: a49e7120b95600bd357f37a2bb04cd1e88252f7cdea8f3368803779b925b1049 url: "https://pub.dev" source: hosted - version: "0.9.39" + version: "0.9.42" just_audio_media_kit: dependency: "direct main" description: @@ -435,10 +435,10 @@ packages: dependency: transitive description: name: just_audio_web - sha256: "0edb481ad4aa1ff38f8c40f1a3576013c3420bf6669b686fe661627d49bc606c" + sha256: "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448" url: "https://pub.dev" source: hosted - version: "0.4.11" + version: "0.4.13" just_audio_windows: dependency: "direct main" description: @@ -491,10 +491,10 @@ packages: dependency: transitive description: name: macos_window_utils - sha256: "230be594d26f6dee92c5a1544f4242d25138a5bfb9f185b27f14de3949ef0be8" + sha256: "3d3982495376077f23556b1e235faab3c6d478fe1238766f824e920708d60eba" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.0" matcher: dependency: transitive description: @@ -555,18 +555,18 @@ packages: dependency: "direct main" description: name: path_provider - sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.5" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.12" path_provider_foundation: dependency: transitive description: @@ -643,10 +643,10 @@ packages: dependency: transitive description: name: riverpod - sha256: f21b32ffd26a36555e501b04f4a5dca43ed59e16343f1a30c13632b2351dfa4d + sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" rxdart: dependency: "direct main" description: @@ -668,7 +668,7 @@ packages: description: path: "." ref: main - resolved-ref: de70e11db865efaad530f25408cf612db73ec2c0 + resolved-ref: "3e1d5ce0aab8de462a4511b64ededf5ed9540d95" url: "https://github.com/priyanshuverma-dev/sangeet-api" source: git version: "0.1.3" @@ -684,58 +684,58 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 + sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.3" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7" + sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.5.3" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shortid: dependency: transitive description: @@ -748,10 +748,10 @@ packages: dependency: "direct main" description: name: skeletonizer - sha256: d94ae24d9fcedc5fd2984ccbe5af5e9d76e2bf6a35ee775fe8c737c90297908e + sha256: "3b202e4fa9c49b017d368fb0e570d4952bcd19972b67b2face071bdd68abbfae" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.2" sky_engine: dependency: transitive description: flutter @@ -889,10 +889,10 @@ packages: dependency: "direct main" description: name: tray_manager - sha256: c9a63fd88bd3546287a7eb8ccc978d707eef82c775397af17dda3a4f4c039e64 + sha256: bdc3ac6c36f3d12d871459e4a9822705ce5a1165a17fa837103bc842719bf3f7 url: "https://pub.dev" source: hosted - version: "0.2.3" + version: "0.2.4" tripledes_nullsafety: dependency: transitive description: @@ -905,10 +905,10 @@ packages: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" uni_platform: dependency: transitive description: @@ -937,18 +937,18 @@ packages: dependency: transitive description: name: url_launcher - sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.1" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" + sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.14" url_launcher_ios: dependency: transitive description: @@ -961,18 +961,18 @@ packages: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" + sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_platform_interface: dependency: transitive description: @@ -985,26 +985,26 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.3" uuid: dependency: transitive description: name: uuid - sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "4.4.2" + version: "4.5.1" vector_math: dependency: transitive description: @@ -1025,10 +1025,10 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.0" webdriver: dependency: transitive description: @@ -1049,18 +1049,18 @@ packages: dependency: "direct main" description: name: windows_notification - sha256: "963482b068a9fc792832cf229f66953d4426ad4a46a99e03a26cd17313c3b2bf" + sha256: be3e650874615f315402c9b9f3656e29af156709c4b5cc272cb4ca0ab7ba94a8 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: From 9922a1cbde383365cfa12140f84a1200adee0ba2 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Mon, 2 Dec 2024 12:38:23 +0530 Subject: [PATCH 4/5] dependency bump: cert error fixed (#29) --- pubspec.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.lock b/pubspec.lock index 56f91d6..0a0c0a0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -668,7 +668,7 @@ packages: description: path: "." ref: main - resolved-ref: "3e1d5ce0aab8de462a4511b64ededf5ed9540d95" + resolved-ref: "d6b202c12cee0e67ebaa10fbd836eaed363f0db7" url: "https://github.com/priyanshuverma-dev/sangeet-api" source: git version: "0.1.3" From c5461821b96013677c3e7cdb927c2eec77df2811 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Mon, 2 Dec 2024 12:55:15 +0530 Subject: [PATCH 5/5] fix: dep bump (#30) --- pubspec.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 0a0c0a0..4d38599 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -491,10 +491,10 @@ packages: dependency: transitive description: name: macos_window_utils - sha256: "3d3982495376077f23556b1e235faab3c6d478fe1238766f824e920708d60eba" + sha256: "3534f2af024f2f24112ca28789a44e6750083f8c0065414546c6593ee48a5009" url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "1.6.1" matcher: dependency: transitive description: @@ -563,10 +563,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a + sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7" url: "https://pub.dev" source: hosted - version: "2.2.12" + version: "2.2.14" path_provider_foundation: dependency: transitive description: @@ -668,7 +668,7 @@ packages: description: path: "." ref: main - resolved-ref: "d6b202c12cee0e67ebaa10fbd836eaed363f0db7" + resolved-ref: d6b202c12cee0e67ebaa10fbd836eaed363f0db7 url: "https://github.com/priyanshuverma-dev/sangeet-api" source: git version: "0.1.3" @@ -801,10 +801,10 @@ packages: dependency: transitive description: name: sqflite_common - sha256: "4468b24876d673418a7b7147e5a08a715b4998a7ae69227acafaab762e0e5490" + sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709" url: "https://pub.dev" source: hosted - version: "2.5.4+5" + version: "2.5.4+6" sqflite_darwin: dependency: transitive description: @@ -961,10 +961,10 @@ packages: dependency: transitive description: name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_macos: dependency: transitive description: