musicus/README.md

91 lines
2.9 KiB
Markdown
Raw Normal View History

# Musicus
2020-09-27 21:58:42 +02:00
This is a desktop app for Musicus.
2020-09-27 21:58:42 +02:00
https://musicus.org
2021-02-07 00:13:15 +01:00
# Current status
Musicus is currently under heavy development. After reaching a state that is
acceptable to the venturous public, an initial release will happen. Below is an
outline of the things that need to be done to reach this first milestone.
Please note, that this list was started midway and thus doesn't include a lot
of work, that has already been done. The list has no particular order.
- [ ] More robust file management when importing
- [ ] A way to select existing mediums and to add a DiscID to them
- [ ] Fine grained handling of library updates
- [ ] Input validation in all editors
- [ ] Improvements on error display and recovery
- [ ] Restrictions on deletion of items
## Hacking
2020-09-27 21:58:42 +02:00
### Building
2020-11-14 23:08:37 +01:00
Musicus uses the [Meson build system](https://mesonbuild.com/). You can build
it using the following commands:
```
$ meson build
$ ninja -C build
```
Afterwards the resulting binary executable is under
`build/target/debug/musicus`.
### Flatpak
There is a Flatpak manifest file called `de.johrpan.musicus.json`. To build a
Flatpak you need the the latest Gnome SDK and the Freedesktop SDK with the Rust
extension. You can install those using the following commands:
```
$ flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
$ flatpak remote-add --user --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
$ flatpak install --user gnome-nightly org.gnome.Sdk org.gnome.Platform
$ flatpak install --user flathub org.freedesktop.Sdk.Extension.rust-stable//19.08
```
Afterwards, the following commands will build, install and run the application:
```
$ rm -rf flatpak
$ flatpak-builder --user --install flatpak de.johrpan.musicus.json
$ flatpak run de.johrpan.musicus
```
### Special requirements
This program uses [Diesel](https://diesel.rs) as its ORM. After installing
the Diesel command line utility, you will be able to create a new schema
migration using the following command:
```
$ diesel migration generate [change_description]
```
To update the `src/database/schema.rs` file, you should use the following
command:
```
$ diesel migration run --database-url test.sqlite
```
This file should never be edited manually.
2020-09-27 21:58:42 +02:00
## License
Musicus is free and open source software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your option)
any later version.
2020-09-27 21:58:42 +02:00
Musicus is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
2020-09-27 21:58:42 +02:00
details.
You should have received a copy of the GNU Affero General Public License along
2021-02-07 00:13:15 +01:00
with this program. If not, see https://www.gnu.org/licenses/.