Commit graph

225 commits

Author SHA1 Message Date
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
Elias Projahn
02e283b8cc PerformerSelector: Allow changing the person 2020-03-22 17:38:08 +01:00
Elias Projahn
9cc0b9020d Add basic recording editor 2020-03-22 16:49:20 +01:00
Elias Projahn
8c36988da9 Move PerformanceModel to database 2020-03-22 16:46:28 +01:00
Elias Projahn
7f783bd016 Database: Fix worksByComposer
While the previous code was indeed valid SQL is wasn't the best way to
do this. Also, only works with parts where included in the result set.
This is fixed now. Some optimization may still be neccessary.
2020-03-22 16:31:38 +01:00
Elias Projahn
2ee36aacf4 Work editor: Return new work 2020-03-22 16:24:43 +01:00
Elias Projahn
6cc110c76c Database: Add query to get composers of work 2020-03-22 15:59:23 +01:00
Elias Projahn
b414655a56 Add basic work selector 2020-03-22 15:58:39 +01:00
Elias Projahn
26c7ea048e Work editor: Use real part composer 2020-03-22 15:56:48 +01:00
Elias Projahn
5987a36e86 Allow works without composer 2020-03-22 15:49:39 +01:00
Elias Projahn
ff48ee376b Add basic performer selector 2020-03-22 15:35:56 +01:00
Elias Projahn
7579fd7b3f Rename RolesSelector to RoleSelector 2020-03-22 15:28:06 +01:00
Elias Projahn
8a9d71694d Add role selector 2020-03-22 15:11:23 +01:00
Elias Projahn
63c4ccf364 Add ensemble editor 2020-03-22 14:52:56 +01:00
Elias Projahn
36c79c7b82 Add role editor 2020-03-22 14:51:23 +01:00
Elias Projahn
4092a91f56 Add recordings
The tables ensembles, roles, recordings and performances as well as
corresponding queries and update logic have been added to the database.
2020-03-22 14:49:40 +01:00
Elias Projahn
554cf4a6ac Work editor: Allow removing composer or instrument 2020-03-22 14:13:42 +01:00
Elias Projahn
44de5fdae3 Make work part details editable 2020-03-22 13:56:46 +01:00
Elias Projahn
97872f1646 Add settings screen 2020-03-21 17:46:23 +01:00
Elias Projahn
05574c78b6 Work editor: Initialize parts 2020-03-21 15:42:45 +01:00
Elias Projahn
71d51596ae Enable foreign key support 2020-03-21 15:41:03 +01:00
Elias Projahn
4994f6395f Work editor: Fix check for existing composer 2020-03-21 15:14:11 +01:00
Elias Projahn
84cdd51c52 Replace existing rows in update functions 2020-03-21 15:08:50 +01:00
Elias Projahn
319818a276 Make person and work editor accessible 2020-03-21 15:06:38 +01:00
Elias Projahn
743e0db4cf Add a simple work screen for debuggin purposes 2020-03-21 15:01:51 +01:00
Elias Projahn
4652a663d2 Work editor: Store edited work when done 2020-03-21 14:56:59 +01:00
Elias Projahn
4b178752b9 Redo how works are stored
Before works where stored using a complicated tree structure where each
part references its parent. Now it's a flat structure that keeps track
of the relations using a new field named part_level. The corresponding
query was simplified accordingly. Also, the updateWork function was
rewritten.
2020-03-21 14:34:45 +01:00
Elias Projahn
b15591b388 work editor: Clean part levels after level change 2020-03-20 18:00:56 +01:00
Elias Projahn
c1c1ce88b8 Update Android SDK to 29 2020-03-20 17:38:06 +01:00
Elias Projahn
b6eabdbba3 Fix deprecation 2019-12-15 12:29:00 +01:00
Elias Projahn
25e4267cb8 Add person screen
This just displays a list of the persons works for now. It can be
reached from the home screens list of persons.
2019-12-15 12:22:39 +01:00
Elias Projahn
07e7e38a9b Add persons list to home screen 2019-12-15 12:16:08 +01:00
Elias Projahn
7bccfeaec7 Move actions to app bar on home screen 2019-12-15 12:11:40 +01:00
Elias Projahn
047ed8b7c8 Update project structure
This was done in comparison to a newly created flutter project. Notably
this included migrating to AndroidX, updating Gradle and Kotlin and
introducing a new .gitignore file in the android subdirectory.
2019-12-15 12:03:25 +01:00