1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use super::{StickMaterial, StickType};
use crate::datatypes::{TipDirection, YesNo};
use alloc::{string::String, vec::Vec};
use musicxml_internal::*;
use musicxml_macros::*;
/// Attributes pertaining to the [Stick] element.
#[derive(Debug, Default, PartialEq, Eq, AttributeDeserialize, AttributeSerialize)]
pub struct StickAttributes {
/// Indicates the presence of a dashed circle around the round beater part of a pictogram. The value is no if not specified.
pub dashed_circle: Option<YesNo>,
/// Specifies whether or not parentheses are put around a symbol for an editorial indication. If not specified, it is left to application defaults.
pub parentheses: Option<YesNo>,
/// Represents the direction in which the tip of a stick or beater points, using Unicode arrow terminology.
pub tip: Option<TipDirection>,
}
/// Contents of the [Stick] element.
#[derive(Debug, PartialEq, Eq, ContentDeserialize, ContentSerialize)]
pub struct StickContents {
/// The [StickType] element indicates the pictogram type of the stick, mallet, or beater.
pub stick_type: StickType,
/// The [StickMaterial] element indicates the material of the stick, mallet, or beater.
pub stick_material: StickMaterial,
}
/// The [Stick] element represents pictograms where the material of the stick, mallet, or beater is included.
///
/// 
#[derive(Debug, PartialEq, Eq, ElementDeserialize, ElementSerialize)]
pub struct Stick {
/// Element-specific attributes
pub attributes: StickAttributes,
#[flatten]
/// Element-specific content
pub content: StickContents,
}