musicxml/datatypes/mute.rs
1use alloc::string::String;
2use musicxml_internal::{DatatypeDeserializer, DatatypeSerializer};
3use musicxml_macros::{DatatypeDeserialize, DatatypeSerialize};
4
5/// Represents muting playback for different instruments, including brass, winds, and strings.
6///
7/// The [On][Mute::On] and [Off][Mute::Off] values are used for undifferentiated mutes.
8/// The remaining values represent specific mutes.
9#[derive(Debug, PartialEq, Eq, DatatypeDeserialize, DatatypeSerialize)]
10pub enum Mute {
11 /// Represents an on-mute.
12 On,
13 /// Represents an off-mute.
14 Off,
15 /// Represents a bucket mute.
16 Bucket,
17 /// Represents a cup mute.
18 Cup,
19 /// Represents an echo mute.
20 Echo,
21 /// Represents a harmon no-stem mute.
22 #[rename("harmon-no-stem")]
23 HarmonNoStem,
24 /// Represents a harmon stem mute.
25 #[rename("harmon-stem")]
26 HarmonStem,
27 /// Represents a hat mute.
28 Hat,
29 /// Represents a palm mute.
30 Palm,
31 /// Represents a plunger mute.
32 Plunger,
33 /// Represents a practice mute.
34 Practice,
35 /// Represents a solotone mute.
36 Solotone,
37 /// Represents a stop-hand mute.
38 #[rename("stop-hand")]
39 StopHand,
40 /// Represents a stop mute.
41 #[rename("stop-mute")]
42 StopMute,
43 /// Represents a straight mute.
44 Straight,
45}