use super::{TuningAlter, TuningOctave, TuningStep};
use crate::datatypes::StaffLine;
use alloc::{string::String, vec::Vec};
use musicxml_internal::*;
use musicxml_macros::*;
#[derive(Debug, PartialEq, Eq, AttributeDeserialize, AttributeSerialize)]
pub struct StaffTuningAttributes {
pub line: StaffLine,
}
#[derive(Debug, PartialEq, Eq, ContentDeserialize, ContentSerialize)]
pub struct StaffTuningContents {
pub tuning_step: TuningStep,
pub tuning_alter: Option<TuningAlter>,
pub tuning_octave: TuningOctave,
}
#[derive(Debug, PartialEq, Eq, ElementDeserialize, ElementSerialize)]
#[rename("staff-tuning")]
pub struct StaffTuning {
pub attributes: StaffTuningAttributes,
#[flatten]
pub content: StaffTuningContents,
}