From 962d45f0318fc2935856ef26cbd4ea8790a3de83 Mon Sep 17 00:00:00 2001 From: IrosTheBeggar Date: Sat, 12 Mar 2022 12:12:56 -0500 Subject: [PATCH] moremetadata --- lib/main.dart | 2 +- lib/media/audio_stuff.dart | 12 +++++++++++- lib/screens/browser.dart | 24 +++++++++++++++++++++--- lib/singletons/api.dart | 7 ++++--- pubspec.yaml | 2 +- 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 5596b7a..2512674 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -577,7 +577,7 @@ class BottomBar extends StatelessWidget { Stream get _mediaStateStream => Rx.combineLatest2( MediaManager().audioHandler.mediaItem, - AudioService.positionStream, + AudioService.position, (mediaItem, position) => MediaState(mediaItem, position)); IconButton playButton() => IconButton( diff --git a/lib/media/audio_stuff.dart b/lib/media/audio_stuff.dart index 1e97058..a4a5b31 100644 --- a/lib/media/audio_stuff.dart +++ b/lib/media/audio_stuff.dart @@ -309,7 +309,17 @@ class AudioPlayerHandler extends BaseAudioHandler MediaItem item = new MediaItem( id: lolUrl, - title: decoded['songs'][0]['filepath'].split("/").removeLast(), + title: decoded['songs'][0]['metadata']['title'] ?? + decoded['songs'][0]['filepath'].split("/").removeLast(), + album: decoded['songs'][0]['metadata']['album'], + artist: decoded['songs'][0]['metadata']['artist'], + artUri: decoded['songs'][0]['metadata']['album-art'] != null + ? Uri.parse(autoDJServer!.url.toString()).resolve('/album-art/' + + decoded['songs'][0]['metadata']['album-art'] + + '?compress=l&token=' + + (autoDJServer?.jwt ?? '')) + : Uri.parse(autoDJServer!.url.toString()) + .resolve('/assets/img/default.png'), extras: {'path': decoded['songs'][0]['filepath']}); jsonAutoDJIgnoreList = decoded['ignoreList']; diff --git a/lib/screens/browser.dart b/lib/screens/browser.dart index b90fac6..3a100bb 100644 --- a/lib/screens/browser.dart +++ b/lib/screens/browser.dart @@ -115,7 +115,7 @@ class Browser extends StatelessWidget { void addLocalFile(DisplayItem i) { MediaItem item = new MediaItem( id: Uuid().v4(), - title: i.name, + title: i.name.split('/').last, extras: {'path': i.data, 'localPath': i.data!}); MediaManager().audioHandler.addQueueItem(item); } @@ -134,7 +134,16 @@ class Browser extends StatelessWidget { MediaItem item = new MediaItem( id: Uuid().v4(), - title: i.name, + title: i.metadata?.title ?? i.name, + album: i.metadata?.album, + artist: i.metadata?.artist, + artUri: i.metadata?.albumArt != null + ? Uri.parse(i.server!.url.toString()).resolve('/album-art/' + + i.metadata!.albumArt! + + '?compress=l&token=' + + (i.server!.jwt ?? '')) + : Uri.parse(i.server!.url.toString()) + .resolve('/assets/img/default.png'), extras: {'path': i.data, 'localPath': finalString}); MediaManager().audioHandler.addQueueItem(item); return; @@ -160,7 +169,16 @@ class Browser extends StatelessWidget { MediaItem item = new MediaItem( id: lolUrl, - title: i.name, + title: i.metadata?.title ?? i.name, + album: i.metadata?.album, + artist: i.metadata?.artist, + artUri: i.metadata?.albumArt != null + ? Uri.parse(i.server!.url.toString()).resolve('/album-art/' + + i.metadata!.albumArt! + + '?compress=l&token=' + + (i.server!.jwt ?? '')) + : Uri.parse(i.server!.url.toString()) + .resolve('/assets/img/default.png'), extras: {'server': i.server!.localname, 'path': i.data}); MediaManager().audioHandler.addQueueItem(item); diff --git a/lib/singletons/api.dart b/lib/singletons/api.dart index c8dc8a4..4d5ae1f 100644 --- a/lib/singletons/api.dart +++ b/lib/singletons/api.dart @@ -59,12 +59,13 @@ class ApiManager { return; } - String prefix = - TranscodeManager().transcodeOn == true ? '/transcode' : '/media'; + // String prefix = + // TranscodeManager().transcodeOn == true ? '/transcode' : '/media'; res.forEach((e) { String lolUrl = Uri.encodeFull(useThisServer!.url + - prefix + + '/media' + + (e.toString()[0] != '/' ? '/' : '') + e + '?app_uuid=' + Uuid().v4() + diff --git a/pubspec.yaml b/pubspec.yaml index b77e3b7..7a47a8c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.13.0+20 +version: 0.13.1+21 environment: sdk: ">=2.15.1 <3.0.0"