package mg.dot.feufaro.musicXML


import kotlinx.serialization.Serializable
import nl.adaptivity.xmlutil.serialization.XmlElement
import nl.adaptivity.xmlutil.serialization.XmlSerialName


data class MXTuplet (
    @Serializable
    @XmlElement
    @XmlSerialName("tuplet-actual", "", "")
    var tupletActual: MXTupletPortion? = null,
    /**
     * The tuplet-normal element provide optional full control over how the normal part of the tuplet is displayed, including number and note type (with dots). If any of these elements are absent, their values are based on the time-modification element.
     *
     */
    @Serializable
    @XmlElement
    @XmlSerialName("tuplet-normal")
    var tupletNormal: MXTupletPortion? = null,
    @Serializable
    var type : String,
    @Serializable
    var number: Int?,
    @Serializable
    var bracket: String?,
    @Serializable
    @XmlSerialName("show-tuplet")
    var showTuplet: String?,
    @Serializable
    @XmlSerialName("show-number")
    var showNumber: String?,
    @Serializable
    @XmlSerialName("show-type")
    var showType: String?,
    @Serializable
    var id: String?,
    @Serializable
    @XmlSerialName("default-x")
    var defaultX: Int,
    @Serializable
    @XmlSerialName("default-y")
    var defaultY: Int,
    @Serializable
    @XmlSerialName("relative-x")
    var relativeX: Int,
    @Serializable
    @XmlSerialName("relative-y")
    var relativeY: Int,
    @Serializable
    var placement: String?,
    @Serializable
    @XmlSerialName("line-shape")
    var lineShape: String?,
)