music21_rs/musescore/mod.rs
1//! MuseScore's own files, read natively, and MuseScore run as a converter.
2//!
3//! [`from_mscx`](crate::musescore::from_mscx) reads the uncompressed `.mscx` format MuseScore 4 saves --
4//! and MuseScore 3's, where the two are the same -- into a score, with no
5//! program installed. It opens no file and unpacks nothing: a `.mscz` is a
6//! zip archive holding the `.mscx`, and it is the caller's to unpack and
7//! hand over as text.
8//!
9//! With the `musescore` feature, `MuseScore` finds an installed MuseScore
10//! and runs it, which reads and writes every format the program does --
11//! its own, Guitar Pro, Capella, MIDI, PDF and the rest -- by handing the
12//! score across as MusicXML. That half runs a program and touches files,
13//! and is left out of a wasm build.
14
15mod beams;
16mod read;
17
18pub use read::from_mscx;
19
20#[cfg(all(feature = "musescore", not(target_arch = "wasm32")))]
21mod program;
22
23#[cfg(all(feature = "musescore", not(target_arch = "wasm32")))]
24pub use program::{MUSESCORE_PATH, MuseScore};