A classical music player and organizer. https://musicus.org
Find a file
2021-02-18 18:20:31 +01:00
backend backend: Make URIs platform independent 2021-02-18 18:20:31 +01:00
build-aux Revert merging of server and client repository 2021-01-16 16:15:08 +01:00
client Move crates to toplevel directory 2021-02-07 12:53:25 +01:00
database database: Fix issue deserializing part indices 2021-02-08 17:24:07 +01:00
musicus Fix some small lifetime issues 2021-02-15 17:33:50 +01:00
.gitignore Remove config and resources from version control 2021-02-07 12:55:11 +01:00
Cargo.toml Move crates to toplevel directory 2021-02-07 12:53:25 +01:00
COPYING Initial commit 2020-09-27 21:58:42 +02:00
de.johrpan.musicus.json Add support for MPRIS 2021-02-05 00:50:27 +01:00
meson.build Move crates to toplevel directory 2021-02-07 12:53:25 +01:00
README.md Add status to README 2021-02-07 00:13:15 +01:00

Musicus

This is a desktop app for Musicus.

https://musicus.org

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

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