Skip to content

Commit ac84942

Browse files
committed
refactor: audio player and youtube client in separate files
1 parent a774817 commit ac84942

File tree

11 files changed

+19
-24
lines changed

11 files changed

+19
-24
lines changed

lib/collections/intents.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:spotube/components/player/player_controls.dart';
66
import 'package:spotube/collections/routes.dart';
77
import 'package:spotube/models/logger.dart';
88
import 'package:spotube/provider/playlist_queue_provider.dart';
9+
import 'package:spotube/services/audio_player.dart';
910
import 'package:spotube/utils/platform.dart';
1011
import 'package:window_manager/window_manager.dart';
1112

lib/main.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ import 'package:spotube/entities/cache_track.dart';
2020
import 'package:spotube/collections/routes.dart';
2121
import 'package:spotube/collections/intents.dart';
2222
import 'package:spotube/models/logger.dart';
23-
import 'package:spotube/provider/audio_player_provider.dart';
2423
import 'package:spotube/provider/downloader_provider.dart';
2524
import 'package:spotube/provider/user_preferences_provider.dart';
26-
import 'package:spotube/provider/youtube_provider.dart';
25+
import 'package:spotube/services/audio_player.dart';
2726
import 'package:spotube/services/pocketbase.dart';
27+
import 'package:spotube/services/youtube.dart';
2828
import 'package:spotube/themes/dark_theme.dart';
2929
import 'package:spotube/themes/light_theme.dart';
3030
import 'package:spotube/utils/platform.dart';
@@ -147,7 +147,7 @@ void main(List<String> rawArgs) async {
147147
return Downloader(
148148
ref,
149149
queueInstance,
150-
yt: ref.watch(youtubeProvider),
150+
yt: youtube,
151151
downloadPath: ref.watch(
152152
userPreferencesProvider.select(
153153
(s) => s.downloadLocation,
@@ -258,12 +258,11 @@ class SpotubeState extends ConsumerState<Spotube> with WidgetsBindingObserver {
258258
ref.watch(userPreferencesProvider.select((s) => s.accentColorScheme));
259259
final backgroundMaterialColor = ref
260260
.watch(userPreferencesProvider.select((s) => s.backgroundColorScheme));
261-
final player = ref.watch(audioPlayerProvider);
262-
final youtube = ref.watch(youtubeProvider);
263261

262+
/// For enabling hot reload for audio player
264263
useEffect(() {
265264
return () {
266-
player.dispose();
265+
audioPlayer.dispose();
267266
youtube.close();
268267
};
269268
}, []);

lib/models/spotube_track.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import 'package:spotube/extensions/video.dart';
77
import 'package:spotube/extensions/album_simple.dart';
88
import 'package:spotube/extensions/artist_simple.dart';
99
import 'package:spotube/models/track.dart';
10-
import 'package:spotube/provider/playlist_queue_provider.dart';
1110
import 'package:spotube/provider/user_preferences_provider.dart';
1211
import 'package:spotube/services/pocketbase.dart';
12+
import 'package:spotube/services/youtube.dart';
1313
import 'package:spotube/utils/platform.dart';
1414
import 'package:spotube/utils/primitive_utils.dart';
1515
import 'package:spotube/utils/service_utils.dart';

lib/provider/audio_player_provider.dart

Lines changed: 0 additions & 6 deletions
This file was deleted.

lib/provider/downloader_provider.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import 'package:spotube/components/shared/dialogs/replace_downloaded_dialog.dart
1313
import 'package:spotube/models/logger.dart';
1414
import 'package:spotube/models/spotube_track.dart';
1515
import 'package:spotube/provider/user_preferences_provider.dart';
16-
import 'package:spotube/provider/youtube_provider.dart';
16+
import 'package:spotube/services/youtube.dart';
1717
import 'package:spotube/utils/type_conversion_utils.dart';
1818
import 'package:youtube_explode_dart/youtube_explode_dart.dart' hide Comment;
1919

@@ -165,7 +165,7 @@ final downloaderProvider = ChangeNotifierProvider(
165165
return Downloader(
166166
ref,
167167
queueInstance,
168-
yt: ref.watch(youtubeProvider),
168+
yt: youtube,
169169
downloadPath: ref.watch(
170170
userPreferencesProvider.select(
171171
(s) => s.downloadLocation,

lib/provider/playlist_queue_provider.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:spotube/models/spotube_track.dart';
88
import 'package:spotube/extensions/track.dart';
99
import 'package:spotube/provider/blacklist_provider.dart';
1010
import 'package:spotube/provider/user_preferences_provider.dart';
11+
import 'package:spotube/services/audio_player.dart';
1112
import 'package:spotube/services/linux_audio_service.dart';
1213
import 'package:spotube/services/mobile_audio_service.dart';
1314
import 'package:spotube/utils/persisted_state_notifier.dart';
@@ -16,9 +17,6 @@ import 'package:spotube/utils/type_conversion_utils.dart';
1617
import 'package:youtube_explode_dart/youtube_explode_dart.dart' hide Playlist;
1718
import 'package:collection/collection.dart';
1819

19-
final audioPlayer = AudioPlayer();
20-
final youtube = YoutubeExplode();
21-
2220
class PlaylistQueue {
2321
final Set<Track> tracks;
2422
final Set<Track> tempTracks;

lib/provider/youtube_provider.dart

Lines changed: 0 additions & 4 deletions
This file was deleted.

lib/services/audio_player.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import 'package:audioplayers/audioplayers.dart';
2+
3+
final audioPlayer = AudioPlayer();

lib/services/linux_audio_service.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
66
import 'package:spotube/provider/dbus_provider.dart';
77
import 'package:spotube/models/spotube_track.dart';
88
import 'package:spotube/provider/playlist_queue_provider.dart';
9+
import 'package:spotube/services/audio_player.dart';
910
import 'package:spotube/utils/type_conversion_utils.dart';
1011
import 'package:window_manager/window_manager.dart';
1112

lib/services/mobile_audio_service.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import 'package:audio_service/audio_service.dart';
44
import 'package:audio_session/audio_session.dart';
55
import 'package:audioplayers/audioplayers.dart';
66
import 'package:spotube/provider/playlist_queue_provider.dart';
7+
import 'package:spotube/services/audio_player.dart';
78

89
class MobileAudioService extends BaseAudioHandler {
910
AudioSession? session;
10-
final PlaylistQueueNotifier playlistNotifier;
11+
final PlaylistQueueNotifier playlistNotifier;
1112

12-
1313
PlaylistQueue? get playlist => playlistNotifier.state;
1414

1515
MobileAudioService(this.playlistNotifier) {

0 commit comments

Comments
 (0)