A classical music player and organizer. https://musicus.org
Find a file
2021-02-04 16:31:37 +01:00
build-aux Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
data Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
migrations/2020-09-27-201047_initial_schema Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
po Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
res Use editor widget for performance editor 2021-02-02 12:18:42 +01:00
src Add custom error type for the backend 2021-02-04 16:31:37 +01:00
.gitignore Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
Cargo.toml Add custom error type for the backend 2021-02-04 16:31:37 +01:00
COPYING Initial commit 2020-09-27 21:58:42 +02:00
de.johrpan.musicus.json Switch from libhandy to libadwaita 2021-01-29 15:17:27 +01:00
diesel.toml Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
meson.build Switch from libhandy to libadwaita 2021-01-29 15:17:27 +01:00
README.md Revert merging of server and client repository 2021-01-16 16:15:08 +01:00

Musicus

This is a desktop app for Musicus.

https://musicus.org

Hacking

Building

Musicus uses the Meson build system. 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 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.

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.

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 details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.