Elias Projahn
4c0bcb9d26
Functional program screen
...
This implements playlist updates and skipping functionality and updates
the program screen accordingly.
2020-04-22 10:01:50 +02:00
Elias Projahn
5344f16f53
Make playback controls and seeking functional
2020-04-21 19:50:18 +02:00
Elias Projahn
066e46a3e7
player: Add seekTo method
2020-04-21 19:47:11 +02:00
Elias Projahn
eb7b45c39e
player: Publish position and duration information
...
A new method getPosition was introduced and the setUri method returns
the duration of the new track now.
2020-04-21 18:01:09 +02:00
Elias Projahn
524a6d9994
Start wiring up playback service
2020-04-21 17:37:01 +02:00
Elias Projahn
be1a41a90e
player: Add stop method.
2020-04-21 17:33:16 +02:00
Elias Projahn
92828849f9
Bundle URI with track as InternalTrack
2020-04-21 16:38:13 +02:00
Elias Projahn
2df5546eb6
musicus_player: Add basic playback functionality
2020-04-19 19:33:23 +02:00
Elias Projahn
bf0168a2d3
Use musicus_player plugin
2020-04-19 19:09:02 +02:00
Elias Projahn
3e614d77aa
Add musicus_player plugin skeleton
2020-04-19 19:08:50 +02:00
Elias Projahn
c8e831c461
Move musicus package to seperate directory
2020-04-19 18:45:41 +02:00
Elias Projahn
5216c7d359
Store URI within tracks
2020-04-19 18:37:16 +02:00
Elias Projahn
da804bf699
Work screen: Show recordings
2020-04-19 18:36:46 +02:00
Elias Projahn
b1994d1067
Add music library
2020-04-18 23:41:08 +02:00
Elias Projahn
9da8f8891b
Files selector: Return parent document ID
2020-04-18 21:23:24 +02:00
Elias Projahn
448a0de6fa
Move platform dependent code to its own class
2020-04-18 20:34:03 +02:00
Elias Projahn
3471fcf78b
Add player skeleton and playback service
...
This introduces a dependency on audio_service and implements the
playback service using that package. The UI was adapted to the new
interface.
2020-04-18 13:50:38 +02:00
Elias Projahn
e0fc60f9eb
Run Moor within a background isolate
...
This basically follows the guidelines at
https://moor.simonbinder.eu/docs/advanced-features/isolates/ . In the
future we will be able to have multiple simultaneous database
connections.
2020-04-17 17:28:24 +02:00
Elias Projahn
00def5382e
Switch to more_ffi
...
This will be required to run the database in a background isolate.
2020-04-12 19:21:53 +02:00
Elias Projahn
59035bf2b0
Recording editor: Allow changing work
2020-04-12 11:51:13 +02:00
Elias Projahn
4decd17875
Add comment field to recording
2020-04-12 11:50:32 +02:00
Elias Projahn
e9f0bd03e7
Use the storage access framework
...
Everything related to file system access has been rewritten to make use
of the storage access framework. This means that the
WRITE_EXTERNAL_STORAGE is no longer needed. Because of that, the
dependency on permission_handler could be dropped and all code related
to permission handling has been removed. To be able to open a whole
document tree, the minSdkVersion was bumped to 21. Finally the file
selector was rewritten using custom platform dependent code.
2020-04-11 21:59:23 +02:00
Elias Projahn
febcf29cf1
Tracks editor: Use relative paths
...
They are based on the current music library path.
2020-04-06 12:26:50 +02:00
Elias Projahn
090c4501b1
Tracks editor: Make tracks reorderable
2020-04-06 11:55:19 +02:00
Elias Projahn
20d685a3eb
Add basic track editor
...
This replaces the recording selector in the main menu.
2020-04-06 11:43:46 +02:00
Elias Projahn
0145206ed2
Add recording tile
2020-04-06 11:42:07 +02:00
Elias Projahn
e834abe1e0
Add composers and work texts
...
These replace the work tile widget.
2020-04-06 11:29:55 +02:00
Elias Projahn
40db00d88d
Bundle text widgets and refactor performances row
2020-04-06 11:15:05 +02:00
Elias Projahn
3a9a3100fc
Recording selector: Use a nested navigator
...
The selector also makes use of the new work tile widget.
2020-04-05 20:46:00 +02:00
Elias Projahn
ff38930e19
Restyle work tile
2020-04-05 20:24:29 +02:00
Elias Projahn
26b1f13c03
Work tile: Refactor and add leading widget
2020-04-05 20:15:20 +02:00
Elias Projahn
db9f6a0eb4
Extract work tile from recording editor
2020-04-05 20:11:11 +02:00
Elias Projahn
0438296bcc
Add recording selector
...
As a proof of concept some widgets were seperated. The home screen now
links to this instead of the recording editor.
2020-04-05 19:31:46 +02:00
Elias Projahn
a6d795ef3c
Set work when saving recordings
2020-04-05 13:02:12 +02:00
Elias Projahn
9bece557c7
Remove tracks from recording editor
...
The tracks will not be part of the recording entity. Instead, they will
be managed outside the database alongside the corresponding audio files.
2020-04-05 11:26:56 +02:00
Elias Projahn
8f0463a1a1
Allow selecting and adding ensembles
2020-03-31 16:15:59 +02:00
Elias Projahn
99e4711cfc
Remove seperate role repesentation
...
The role and instrument tables have been merged into one (the instrument
table). There are not that many roles that aren't instruments and it is
much simpler to mange this way. The role editor and role selector have
been removed and the instrument related UI parts have been modified
accordingly.
2020-03-31 15:49:15 +02:00
Elias Projahn
24f2022930
Backend: Fix error at first startup
...
after the permissions were granted, the backend state was set to ready
without checking the music library path.
2020-03-31 15:33:10 +02:00
Elias Projahn
c83b942690
Recording editor: Track editing skeleton
2020-03-30 17:34:07 +02:00
Elias Projahn
e2167143ed
Database: Fix null error
2020-03-30 17:33:36 +02:00
Elias Projahn
9f2c86db78
FilesSelector: Close when close button is pressed
2020-03-28 12:30:19 +01:00
Elias Projahn
88c9f65649
FilesSelector: Allow setting a base path
2020-03-28 12:27:30 +01:00
Elias Projahn
cbbc5bc7c6
Settings: Add music library path setting
2020-03-28 10:24:32 +01:00
Elias Projahn
f0644e4058
Add music library path setting
...
This introduces a new state of the backend called "setup". If the
music library path is not set, the backend goes into that state and the
app widget can show the UI to set it up. This also introduces a new
dependency on shared_preferences.
2020-03-28 10:18:52 +01:00
Elias Projahn
723977daec
Properly handle permissions
...
The backend has a new state called "needsPermissions" and the app widget
reacts accordingly.
2020-03-28 09:54:04 +01:00
Elias Projahn
bd844c44ea
Always notify listeners of backend
...
The state object may stay the same while there where in fact changes to
it that require a notification.
2020-03-28 09:52:42 +01:00
Elias Projahn
87582f200d
Load the database asynchronously
...
Now the backend has multiple states including loading and the toplevel
app widget was adapted accordingly.
2020-03-28 09:16:42 +01:00
Elias Projahn
3f0567e688
Make Backend a stateful widget
2020-03-28 08:51:45 +01:00
Elias Projahn
ad7499051b
Add directory mode to files selector
2020-03-27 17:44:04 +01:00
Elias Projahn
24a4911665
Add basic files selector
...
This required to add a platform channel with a method to get the
toplevel storage devices. The app will need to request the
WRITE_EXTERNAL_STORAGE permission later. Also the dependency on "path"
was introduced.
2020-03-27 17:33:47 +01:00