mirror of
https://github.com/johrpan/musicus_mobile.git
synced 2025-10-26 02:37:25 +01:00
common: Remove platform interface
This commit is contained in:
parent
8987735797
commit
b14dcd67f2
16 changed files with 44 additions and 204 deletions
|
|
@ -4,7 +4,6 @@ import 'package:path/path.dart' as p;
|
|||
import 'package:path_provider/path_provider.dart' as pp;
|
||||
|
||||
import 'settings.dart';
|
||||
import 'platform.dart';
|
||||
import 'playback.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
|
|
@ -16,7 +15,6 @@ Future<void> main() async {
|
|||
runApp(MusicusApp(
|
||||
dbPath: dbPath,
|
||||
settingsStorage: SettingsStorage(),
|
||||
platform: MusicusDesktopPlatform(),
|
||||
playback: MusicusDesktopPlayback(),
|
||||
));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,58 +0,0 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:musicus_common/musicus_common.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
|
||||
class MusicusDesktopPlatform extends MusicusPlatform {
|
||||
@override
|
||||
Future<String> chooseBasePath() async {
|
||||
return await FilePicker.platform.getDirectoryPath();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Document>> getChildren(String parentId) async {
|
||||
final List<Document> result = [];
|
||||
|
||||
final parent = Directory(parentId ?? basePath);
|
||||
await for (final fse in parent.list()) {
|
||||
result.add(Document(
|
||||
id: fse.path,
|
||||
name: p.basename(fse.path),
|
||||
parent: parentId,
|
||||
isDirectory: fse is Directory,
|
||||
));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> getIdentifier(String parentId, String fileName) async {
|
||||
return p.absolute(parentId, fileName);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> readDocument(String id) async {
|
||||
try {
|
||||
return await File(id).readAsString();
|
||||
} on FileSystemException {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> readDocumentByName(String parentId, String fileName) async {
|
||||
try {
|
||||
return await File(p.absolute(parentId, fileName)).readAsString();
|
||||
} on FileSystemException {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> writeDocumentByName(
|
||||
String parentId, String fileName, String contents) async {
|
||||
await File(p.absolute(parentId, fileName)).writeAsString(contents);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +1,12 @@
|
|||
import 'package:musicus_common/musicus_common.dart';
|
||||
import 'package:musicus_database/musicus_database.dart';
|
||||
|
||||
class MusicusDesktopPlayback extends MusicusPlayback {
|
||||
@override
|
||||
Future<void> setup() async {}
|
||||
Future<void> setup(MusicusLibrary library) async {}
|
||||
|
||||
@override
|
||||
Future<void> addTracks(List<Track> tracks) async {
|
||||
final List<Track> newPlaylist = List.from(playlist.value);
|
||||
Future<void> addTracks(List<String> tracks) async {
|
||||
final List<String> newPlaylist = List.from(playlist.value);
|
||||
newPlaylist.addAll(tracks);
|
||||
playlist.add(newPlaylist);
|
||||
active.add(true);
|
||||
|
|
@ -20,7 +19,7 @@ class MusicusDesktopPlayback extends MusicusPlayback {
|
|||
|
||||
@override
|
||||
Future<void> removeTrack(int index) async {
|
||||
final List<Track> tracks = List.from(playlist.value);
|
||||
final List<String> tracks = List.from(playlist.value);
|
||||
tracks.removeAt(index);
|
||||
playlist.add(tracks);
|
||||
}
|
||||
|
|
@ -29,7 +28,7 @@ class MusicusDesktopPlayback extends MusicusPlayback {
|
|||
Future<void> seekTo(double pos) async {
|
||||
if (active.value && pos >= 0.0 && pos <= 1.0) {
|
||||
final durationMs = duration.value.inMilliseconds;
|
||||
updatePosition((pos * durationMs).floor());
|
||||
updatePosition(Duration(milliseconds: (pos * durationMs).floor()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
name: musicus_desktop
|
||||
version: 0.1.0
|
||||
description: Desktop version of the classical music player and organizer.
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: ">=2.3.0 <3.0.0"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue