From 1baff86190a8bc6d5ae69826643d7f7e1c765e0d Mon Sep 17 00:00:00 2001 From: porime42 <155589502+porime42@users.noreply.github.com> Date: Sun, 19 May 2024 20:22:25 -0500 Subject: [PATCH 1/5] Add skeleton for MusicXML support --- OpenUtau.Core/Format/Formats.cs | 8 +- OpenUtau.Core/Format/MusicXML.cs | 15 + OpenUtau.Core/Format/MusicXMLSchema.cs | 33191 +++++++++++++++++++++++ OpenUtau/FilePicker.cs | 5 +- OpenUtau/Views/MainWindow.axaml.cs | 6 +- 5 files changed, 33221 insertions(+), 4 deletions(-) create mode 100644 OpenUtau.Core/Format/MusicXML.cs create mode 100644 OpenUtau.Core/Format/MusicXMLSchema.cs diff --git a/OpenUtau.Core/Format/Formats.cs b/OpenUtau.Core/Format/Formats.cs index 69ddbc990..d378ca925 100644 --- a/OpenUtau.Core/Format/Formats.cs +++ b/OpenUtau.Core/Format/Formats.cs @@ -5,7 +5,7 @@ using OpenUtau.Core.Ustx; namespace OpenUtau.Core.Format { - public enum ProjectFormats { Unknown, Vsq3, Vsq4, Ust, Ustx, Midi, Ufdata }; + public enum ProjectFormats { Unknown, Vsq3, Vsq4, Ust, Ustx, Midi, Ufdata, Musicxml }; public static class Formats { const string ustMatch = "[#SETTING]"; @@ -15,6 +15,7 @@ public static class Formats { const string vsq4Match = VSQx.vsq4NameSpace; const string midiMatch = "MThd"; const string ufdataMatch = "\"formatVersion\":"; + const string musicxmlMatch = "score-partwise"; public static ProjectFormats DetectProjectFormat(string file) { var lines = new List(); @@ -36,6 +37,8 @@ public static ProjectFormats DetectProjectFormat(string file) { return ProjectFormats.Midi; } else if (contents.Contains(ufdataMatch)) { return ProjectFormats.Ufdata; + } else if (contents.Contains(musicxmlMatch)) { + return ProjectFormats.Musicxml; } else { return ProjectFormats.Unknown; } @@ -68,6 +71,9 @@ public static ProjectFormats DetectProjectFormat(string file) { case ProjectFormats.Ufdata: project = Ufdata.Load(files[0]); break; + case ProjectFormats.Musicxml: + project = MusicXML.LoadProject(files[0]); + break; default: throw new FileFormatException("Unknown file format"); } diff --git a/OpenUtau.Core/Format/MusicXML.cs b/OpenUtau.Core/Format/MusicXML.cs new file mode 100644 index 000000000..9f58e8844 --- /dev/null +++ b/OpenUtau.Core/Format/MusicXML.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Core.Format { + public static class MusicXML { + static public UProject LoadProject(string file) { + UProject uproject = new UProject(); + return uproject; + } + static public List Load(string file, UProject project) { + List resultParts = new List(); + return resultParts; + } + } +} diff --git a/OpenUtau.Core/Format/MusicXMLSchema.cs b/OpenUtau.Core/Format/MusicXMLSchema.cs new file mode 100644 index 000000000..f54b460ea --- /dev/null +++ b/OpenUtau.Core/Format/MusicXMLSchema.cs @@ -0,0 +1,33191 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// This code was generated by XmlSchemaClassGenerator version 2.1.1142.0 using the following command: +// xscgen -n OpenUtau.Core.Format.MusicXMLSchema musicxml-4.0/schema/musicxml.xsd +namespace OpenUtau.Core.Format.MusicXMLSchema +{ + + + /// + /// The above-below type is used to indicate whether one element appears above or below another element. + /// + [System.ComponentModel.DescriptionAttribute("The above-below type is used to indicate whether one element appears above or bel" + + "ow another element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("above-below", Namespace="")] + public enum AboveBelow + { + + [System.Xml.Serialization.XmlEnumAttribute("above")] + Above, + + [System.Xml.Serialization.XmlEnumAttribute("below")] + Below, + } + + /// + /// The css-font-size type includes the CSS font sizes used as an alternative to a numeric point size. + /// + [System.ComponentModel.DescriptionAttribute("The css-font-size type includes the CSS font sizes used as an alternative to a nu" + + "meric point size.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("css-font-size", Namespace="")] + public enum CssFontSize + { + + [System.Xml.Serialization.XmlEnumAttribute("xx-small")] + XxSmall, + + [System.Xml.Serialization.XmlEnumAttribute("x-small")] + XSmall, + + [System.Xml.Serialization.XmlEnumAttribute("small")] + Small, + + [System.Xml.Serialization.XmlEnumAttribute("medium")] + Medium, + + [System.Xml.Serialization.XmlEnumAttribute("large")] + Large, + + [System.Xml.Serialization.XmlEnumAttribute("x-large")] + XLarge, + + [System.Xml.Serialization.XmlEnumAttribute("xx-large")] + XxLarge, + } + + /// + /// The enclosure-shape type describes the shape and presence / absence of an enclosure around text or symbols. A bracket enclosure is similar to a rectangle with the bottom line missing, as is common in jazz notation. An inverted-bracket enclosure is similar to a rectangle with the top line missing. + /// + [System.ComponentModel.DescriptionAttribute(@"The enclosure-shape type describes the shape and presence / absence of an enclosure around text or symbols. A bracket enclosure is similar to a rectangle with the bottom line missing, as is common in jazz notation. An inverted-bracket enclosure is similar to a rectangle with the top line missing.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("enclosure-shape", Namespace="")] + public enum EnclosureShape + { + + [System.Xml.Serialization.XmlEnumAttribute("rectangle")] + Rectangle, + + [System.Xml.Serialization.XmlEnumAttribute("square")] + Square, + + [System.Xml.Serialization.XmlEnumAttribute("oval")] + Oval, + + [System.Xml.Serialization.XmlEnumAttribute("circle")] + Circle, + + [System.Xml.Serialization.XmlEnumAttribute("bracket")] + Bracket, + + [System.Xml.Serialization.XmlEnumAttribute("inverted-bracket")] + InvertedBracket, + + [System.Xml.Serialization.XmlEnumAttribute("triangle")] + Triangle, + + [System.Xml.Serialization.XmlEnumAttribute("diamond")] + Diamond, + + [System.Xml.Serialization.XmlEnumAttribute("pentagon")] + Pentagon, + + [System.Xml.Serialization.XmlEnumAttribute("hexagon")] + Hexagon, + + [System.Xml.Serialization.XmlEnumAttribute("heptagon")] + Heptagon, + + [System.Xml.Serialization.XmlEnumAttribute("octagon")] + Octagon, + + [System.Xml.Serialization.XmlEnumAttribute("nonagon")] + Nonagon, + + [System.Xml.Serialization.XmlEnumAttribute("decagon")] + Decagon, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The fermata-shape type represents the shape of the fermata sign. The empty value is equivalent to the normal value. + /// + [System.ComponentModel.DescriptionAttribute("The fermata-shape type represents the shape of the fermata sign. The empty value " + + "is equivalent to the normal value.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("fermata-shape", Namespace="")] + public enum FermataShape + { + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + + [System.Xml.Serialization.XmlEnumAttribute("angled")] + Angled, + + [System.Xml.Serialization.XmlEnumAttribute("square")] + Square, + + [System.Xml.Serialization.XmlEnumAttribute("double-angled")] + DoubleAngled, + + [System.Xml.Serialization.XmlEnumAttribute("double-square")] + DoubleSquare, + + [System.Xml.Serialization.XmlEnumAttribute("double-dot")] + DoubleDot, + + [System.Xml.Serialization.XmlEnumAttribute("half-curve")] + HalfCurve, + + [System.Xml.Serialization.XmlEnumAttribute("curlew")] + Curlew, + + [System.Xml.Serialization.XmlEnumAttribute("")] + Empty, + } + + /// + /// The font-style type represents a simplified version of the CSS font-style property. + /// + [System.ComponentModel.DescriptionAttribute("The font-style type represents a simplified version of the CSS font-style propert" + + "y.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("font-style", Namespace="")] + public enum FontStyle + { + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + + [System.Xml.Serialization.XmlEnumAttribute("italic")] + Italic, + } + + /// + /// The font-weight type represents a simplified version of the CSS font-weight property. + /// + [System.ComponentModel.DescriptionAttribute("The font-weight type represents a simplified version of the CSS font-weight prope" + + "rty.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("font-weight", Namespace="")] + public enum FontWeight + { + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + + [System.Xml.Serialization.XmlEnumAttribute("bold")] + Bold, + } + + /// + /// The left-center-right type is used to define horizontal alignment and text justification. + /// + [System.ComponentModel.DescriptionAttribute("The left-center-right type is used to define horizontal alignment and text justif" + + "ication.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("left-center-right", Namespace="")] + public enum LeftCenterRight + { + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("center")] + Center, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + } + + /// + /// The left-right type is used to indicate whether one element appears to the left or the right of another element. + /// + [System.ComponentModel.DescriptionAttribute("The left-right type is used to indicate whether one element appears to the left o" + + "r the right of another element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("left-right", Namespace="")] + public enum LeftRight + { + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + } + + /// + /// The line-length type distinguishes between different line lengths for doit, falloff, plop, and scoop articulations. + /// + [System.ComponentModel.DescriptionAttribute("The line-length type distinguishes between different line lengths for doit, fallo" + + "ff, plop, and scoop articulations.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("line-length", Namespace="")] + public enum LineLength + { + + [System.Xml.Serialization.XmlEnumAttribute("short")] + Short, + + [System.Xml.Serialization.XmlEnumAttribute("medium")] + Medium, + + [System.Xml.Serialization.XmlEnumAttribute("long")] + Long, + } + + /// + /// The line-shape type distinguishes between straight and curved lines. + /// + [System.ComponentModel.DescriptionAttribute("The line-shape type distinguishes between straight and curved lines.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("line-shape", Namespace="")] + public enum LineShape + { + + [System.Xml.Serialization.XmlEnumAttribute("straight")] + Straight, + + [System.Xml.Serialization.XmlEnumAttribute("curved")] + Curved, + } + + /// + /// The line-type type distinguishes between solid, dashed, dotted, and wavy lines. + /// + [System.ComponentModel.DescriptionAttribute("The line-type type distinguishes between solid, dashed, dotted, and wavy lines.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("line-type", Namespace="")] + public enum LineType + { + + [System.Xml.Serialization.XmlEnumAttribute("solid")] + Solid, + + [System.Xml.Serialization.XmlEnumAttribute("dashed")] + Dashed, + + [System.Xml.Serialization.XmlEnumAttribute("dotted")] + Dotted, + + [System.Xml.Serialization.XmlEnumAttribute("wavy")] + Wavy, + } + + /// + /// The mute type represents muting for different instruments, including brass, winds, and strings. The on and off values are used for undifferentiated mutes. The remaining values represent specific mutes. + /// + [System.ComponentModel.DescriptionAttribute("The mute type represents muting for different instruments, including brass, winds" + + ", and strings. The on and off values are used for undifferentiated mutes. The re" + + "maining values represent specific mutes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("mute", Namespace="")] + public enum Mute + { + + [System.Xml.Serialization.XmlEnumAttribute("on")] + On, + + [System.Xml.Serialization.XmlEnumAttribute("off")] + Off, + + [System.Xml.Serialization.XmlEnumAttribute("straight")] + Straight, + + [System.Xml.Serialization.XmlEnumAttribute("cup")] + Cup, + + [System.Xml.Serialization.XmlEnumAttribute("harmon-no-stem")] + HarmonNoStem, + + [System.Xml.Serialization.XmlEnumAttribute("harmon-stem")] + HarmonStem, + + [System.Xml.Serialization.XmlEnumAttribute("bucket")] + Bucket, + + [System.Xml.Serialization.XmlEnumAttribute("plunger")] + Plunger, + + [System.Xml.Serialization.XmlEnumAttribute("hat")] + Hat, + + [System.Xml.Serialization.XmlEnumAttribute("solotone")] + Solotone, + + [System.Xml.Serialization.XmlEnumAttribute("practice")] + Practice, + + [System.Xml.Serialization.XmlEnumAttribute("stop-mute")] + StopMute, + + [System.Xml.Serialization.XmlEnumAttribute("stop-hand")] + StopHand, + + [System.Xml.Serialization.XmlEnumAttribute("echo")] + Echo, + + [System.Xml.Serialization.XmlEnumAttribute("palm")] + Palm, + } + + /// + /// The over-under type is used to indicate whether the tips of curved lines such as slurs and ties are overhand (tips down) or underhand (tips up). + /// + [System.ComponentModel.DescriptionAttribute("The over-under type is used to indicate whether the tips of curved lines such as " + + "slurs and ties are overhand (tips down) or underhand (tips up).")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("over-under", Namespace="")] + public enum OverUnder + { + + [System.Xml.Serialization.XmlEnumAttribute("over")] + Over, + + [System.Xml.Serialization.XmlEnumAttribute("under")] + Under, + } + + /// + /// The semi-pitched type represents categories of indefinite pitch for percussion instruments. + /// + [System.ComponentModel.DescriptionAttribute("The semi-pitched type represents categories of indefinite pitch for percussion in" + + "struments.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("semi-pitched", Namespace="")] + public enum SemiPitched + { + + [System.Xml.Serialization.XmlEnumAttribute("high")] + High, + + [System.Xml.Serialization.XmlEnumAttribute("medium-high")] + MediumHigh, + + [System.Xml.Serialization.XmlEnumAttribute("medium")] + Medium, + + [System.Xml.Serialization.XmlEnumAttribute("medium-low")] + MediumLow, + + [System.Xml.Serialization.XmlEnumAttribute("low")] + Low, + + [System.Xml.Serialization.XmlEnumAttribute("very-low")] + VeryLow, + } + + /// + /// The start-note type describes the starting note of trills and mordents for playback, relative to the current note. + /// + [System.ComponentModel.DescriptionAttribute("The start-note type describes the starting note of trills and mordents for playba" + + "ck, relative to the current note.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-note", Namespace="")] + public enum StartNote + { + + [System.Xml.Serialization.XmlEnumAttribute("upper")] + Upper, + + [System.Xml.Serialization.XmlEnumAttribute("main")] + Main, + + [System.Xml.Serialization.XmlEnumAttribute("below")] + Below, + } + + /// + /// The start-stop type is used for an attribute of musical elements that can either start or stop, such as tuplets. + /// + ///The values of start and stop refer to how an element appears in musical score order, not in MusicXML document order. An element with a stop attribute may precede the corresponding element with a start attribute within a MusicXML document. This is particularly common in multi-staff music. For example, the stopping point for a tuplet may appear in staff 1 before the starting point for the tuplet appears in staff 2 later in the document. + /// + ///When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. + /// + [System.ComponentModel.DescriptionAttribute(@"The start-stop type is used for an attribute of musical elements that can either start or stop, such as tuplets. The values of start and stop refer to how an element appears in musical score order, not in MusicXML document order. An element with a stop attribute may precede the corresponding element with a start attribute within a MusicXML document. This is particularly common in multi-staff music. For example, the stopping point for a tuplet may appear in staff 1 before the starting point for the tuplet appears in staff 2 later in the document. When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-stop", Namespace="")] + public enum StartStop + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + } + + /// + /// The start-stop-continue type is used for an attribute of musical elements that can either start or stop, but also need to refer to an intermediate point in the symbol, as for complex slurs or for formatting of symbols across system breaks. + /// + ///The values of start, stop, and continue refer to how an element appears in musical score order, not in MusicXML document order. An element with a stop attribute may precede the corresponding element with a start attribute within a MusicXML document. This is particularly common in multi-staff music. For example, the stopping point for a slur may appear in staff 1 before the starting point for the slur appears in staff 2 later in the document. + /// + ///When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. For example, a note that marks both the end of one slur and the start of a new slur should have the incoming slur element with a type of stop precede the outgoing slur element with a type of start. + /// + [System.ComponentModel.DescriptionAttribute(@"The start-stop-continue type is used for an attribute of musical elements that can either start or stop, but also need to refer to an intermediate point in the symbol, as for complex slurs or for formatting of symbols across system breaks. The values of start, stop, and continue refer to how an element appears in musical score order, not in MusicXML document order. An element with a stop attribute may precede the corresponding element with a start attribute within a MusicXML document. This is particularly common in multi-staff music. For example, the stopping point for a slur may appear in staff 1 before the starting point for the slur appears in staff 2 later in the document. When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. For example, a note that marks both the end of one slur and the start of a new slur should have the incoming slur element with a type of stop precede the outgoing slur element with a type of start.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-stop-continue", Namespace="")] + public enum StartStopContinue + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + } + + /// + /// The start-stop-single type is used for an attribute of musical elements that can be used for either multi-note or single-note musical elements, as for groupings. + /// + ///When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. + /// + [System.ComponentModel.DescriptionAttribute(@"The start-stop-single type is used for an attribute of musical elements that can be used for either multi-note or single-note musical elements, as for groupings. When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-stop-single", Namespace="")] + public enum StartStopSingle + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("single")] + Single, + } + + /// + /// The symbol-size type is used to distinguish between full, cue sized, grace cue sized, and oversized symbols. + /// + [System.ComponentModel.DescriptionAttribute("The symbol-size type is used to distinguish between full, cue sized, grace cue si" + + "zed, and oversized symbols.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("symbol-size", Namespace="")] + public enum SymbolSize + { + + [System.Xml.Serialization.XmlEnumAttribute("full")] + Full, + + [System.Xml.Serialization.XmlEnumAttribute("cue")] + Cue, + + [System.Xml.Serialization.XmlEnumAttribute("grace-cue")] + GraceCue, + + [System.Xml.Serialization.XmlEnumAttribute("large")] + Large, + } + + /// + /// The text-direction type is used to adjust and override the Unicode bidirectional text algorithm, similar to the Directionality data category in the W3C Internationalization Tag Set recommendation. Values are ltr (left-to-right embed), rtl (right-to-left embed), lro (left-to-right bidi-override), and rlo (right-to-left bidi-override). The default value is ltr. This type is typically used by applications that store text in left-to-right visual order rather than logical order. Such applications can use the lro value to better communicate with other applications that more fully support bidirectional text. + /// + [System.ComponentModel.DescriptionAttribute(@"The text-direction type is used to adjust and override the Unicode bidirectional text algorithm, similar to the Directionality data category in the W3C Internationalization Tag Set recommendation. Values are ltr (left-to-right embed), rtl (right-to-left embed), lro (left-to-right bidi-override), and rlo (right-to-left bidi-override). The default value is ltr. This type is typically used by applications that store text in left-to-right visual order rather than logical order. Such applications can use the lro value to better communicate with other applications that more fully support bidirectional text.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("text-direction", Namespace="")] + public enum TextDirection + { + + [System.Xml.Serialization.XmlEnumAttribute("ltr")] + Ltr, + + [System.Xml.Serialization.XmlEnumAttribute("rtl")] + Rtl, + + [System.Xml.Serialization.XmlEnumAttribute("lro")] + Lro, + + [System.Xml.Serialization.XmlEnumAttribute("rlo")] + Rlo, + } + + /// + /// The tied-type type is used as an attribute of the tied element to specify where the visual representation of a tie begins and ends. A tied element which joins two notes of the same pitch can be specified with tied-type start on the first note and tied-type stop on the second note. To indicate a note should be undamped, use a single tied element with tied-type let-ring. For other ties that are visually attached to a single note, such as a tie leading into or out of a repeated section or coda, use two tied elements on the same note, one start and one stop. + /// + ///In start-stop cases, ties can add more elements using a continue type. This is typically used to specify the formatting of cross-system ties. + /// + ///When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. For example, a note with a tie at the end of a first ending should have the tied element with a type of start precede the tied element with a type of stop. + /// + [System.ComponentModel.DescriptionAttribute(@"The tied-type type is used as an attribute of the tied element to specify where the visual representation of a tie begins and ends. A tied element which joins two notes of the same pitch can be specified with tied-type start on the first note and tied-type stop on the second note. To indicate a note should be undamped, use a single tied element with tied-type let-ring. For other ties that are visually attached to a single note, such as a tie leading into or out of a repeated section or coda, use two tied elements on the same note, one start and one stop. In start-stop cases, ties can add more elements using a continue type. This is typically used to specify the formatting of cross-system ties. When multiple elements with the same tag are used within the same note, their order within the MusicXML document should match the musical score order. For example, a note with a tie at the end of a first ending should have the tied element with a type of start precede the tied element with a type of stop.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("tied-type", Namespace="")] + public enum TiedType + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + + [System.Xml.Serialization.XmlEnumAttribute("let-ring")] + LetRing, + } + + /// + /// The top-bottom type is used to indicate the top or bottom part of a vertical shape like non-arpeggiate. + /// + [System.ComponentModel.DescriptionAttribute("The top-bottom type is used to indicate the top or bottom part of a vertical shap" + + "e like non-arpeggiate.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("top-bottom", Namespace="")] + public enum TopBottom + { + + [System.Xml.Serialization.XmlEnumAttribute("top")] + Top, + + [System.Xml.Serialization.XmlEnumAttribute("bottom")] + Bottom, + } + + /// + /// The tremolo-type is used to distinguish double-note, single-note, and unmeasured tremolos. + /// + [System.ComponentModel.DescriptionAttribute("The tremolo-type is used to distinguish double-note, single-note, and unmeasured " + + "tremolos.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("tremolo-type", Namespace="")] + public enum TremoloType + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("single")] + Single, + + [System.Xml.Serialization.XmlEnumAttribute("unmeasured")] + Unmeasured, + } + + /// + /// The trill-step type describes the alternating note of trills and mordents for playback, relative to the current note. + /// + [System.ComponentModel.DescriptionAttribute("The trill-step type describes the alternating note of trills and mordents for pla" + + "yback, relative to the current note.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("trill-step", Namespace="")] + public enum TrillStep + { + + [System.Xml.Serialization.XmlEnumAttribute("whole")] + Whole, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + + [System.Xml.Serialization.XmlEnumAttribute("unison")] + Unison, + } + + /// + /// The two-note-turn type describes the ending notes of trills and mordents for playback, relative to the current note. + /// + [System.ComponentModel.DescriptionAttribute("The two-note-turn type describes the ending notes of trills and mordents for play" + + "back, relative to the current note.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("two-note-turn", Namespace="")] + public enum TwoNoteTurn + { + + [System.Xml.Serialization.XmlEnumAttribute("whole")] + Whole, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The up-down type is used for the direction of arrows and other pointed symbols like vertical accents, indicating which way the tip is pointing. + /// + [System.ComponentModel.DescriptionAttribute("The up-down type is used for the direction of arrows and other pointed symbols li" + + "ke vertical accents, indicating which way the tip is pointing.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("up-down", Namespace="")] + public enum UpDown + { + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + } + + /// + /// The upright-inverted type describes the appearance of a fermata element. The value is upright if not specified. + /// + [System.ComponentModel.DescriptionAttribute("The upright-inverted type describes the appearance of a fermata element. The valu" + + "e is upright if not specified.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("upright-inverted", Namespace="")] + public enum UprightInverted + { + + [System.Xml.Serialization.XmlEnumAttribute("upright")] + Upright, + + [System.Xml.Serialization.XmlEnumAttribute("inverted")] + Inverted, + } + + /// + /// The valign type is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. If the text is on multiple lines, baseline alignment refers to the baseline of the lowest line of text. Defaults are implementation-dependent. + /// + [System.ComponentModel.DescriptionAttribute("The valign type is used to indicate vertical alignment to the top, middle, bottom" + + ", or baseline of the text. If the text is on multiple lines, baseline alignment " + + "refers to the baseline of the lowest line of text. Defaults are implementation-d" + + "ependent.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("valign", Namespace="")] + public enum Valign + { + + [System.Xml.Serialization.XmlEnumAttribute("top")] + Top, + + [System.Xml.Serialization.XmlEnumAttribute("middle")] + Middle, + + [System.Xml.Serialization.XmlEnumAttribute("bottom")] + Bottom, + + [System.Xml.Serialization.XmlEnumAttribute("baseline")] + Baseline, + } + + /// + /// The valign-image type is used to indicate vertical alignment for images and graphics, so it does not include a baseline value. Defaults are implementation-dependent. + /// + [System.ComponentModel.DescriptionAttribute("The valign-image type is used to indicate vertical alignment for images and graph" + + "ics, so it does not include a baseline value. Defaults are implementation-depend" + + "ent.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("valign-image", Namespace="")] + public enum ValignImage + { + + [System.Xml.Serialization.XmlEnumAttribute("top")] + Top, + + [System.Xml.Serialization.XmlEnumAttribute("middle")] + Middle, + + [System.Xml.Serialization.XmlEnumAttribute("bottom")] + Bottom, + } + + /// + /// The yes-no type is used for boolean-like attributes. We cannot use W3C XML Schema booleans due to their restrictions on expression of boolean values. + /// + [System.ComponentModel.DescriptionAttribute("The yes-no type is used for boolean-like attributes. We cannot use W3C XML Schema" + + " booleans due to their restrictions on expression of boolean values.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("yes-no", Namespace="")] + public enum YesNo + { + + [System.Xml.Serialization.XmlEnumAttribute("yes")] + Yes, + + [System.Xml.Serialization.XmlEnumAttribute("no")] + No, + } + + /// + /// The cancel-location type is used to indicate where a key signature cancellation appears relative to a new key signature: to the left, to the right, or before the barline and to the left. It is left by default. For mid-measure key elements, a cancel-location of before-barline should be treated like a cancel-location of left. + /// + [System.ComponentModel.DescriptionAttribute(@"The cancel-location type is used to indicate where a key signature cancellation appears relative to a new key signature: to the left, to the right, or before the barline and to the left. It is left by default. For mid-measure key elements, a cancel-location of before-barline should be treated like a cancel-location of left.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("cancel-location", Namespace="")] + public enum CancelLocation + { + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("before-barline")] + BeforeBarline, + } + + /// + /// The clef-sign type represents the different clef symbols. The jianpu sign indicates that the music that follows should be in jianpu numbered notation, just as the TAB sign indicates that the music that follows should be in tablature notation. Unlike TAB, a jianpu sign does not correspond to a visual clef notation. + /// + ///The none sign is deprecated as of MusicXML 4.0. Use the clef element's print-object attribute instead. When the none sign is used, notes should be displayed as if in treble clef. + /// + [System.ComponentModel.DescriptionAttribute(@"The clef-sign type represents the different clef symbols. The jianpu sign indicates that the music that follows should be in jianpu numbered notation, just as the TAB sign indicates that the music that follows should be in tablature notation. Unlike TAB, a jianpu sign does not correspond to a visual clef notation. The none sign is deprecated as of MusicXML 4.0. Use the clef element's print-object attribute instead. When the none sign is used, notes should be displayed as if in treble clef.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("clef-sign", Namespace="")] + public enum ClefSign + { + + G, + + F, + + C, + + [System.Xml.Serialization.XmlEnumAttribute("percussion")] + Percussion, + + [System.Xml.Serialization.XmlEnumAttribute("TAB")] + Tab, + + [System.Xml.Serialization.XmlEnumAttribute("jianpu")] + Jianpu, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The show-frets type indicates whether to show tablature frets as numbers (0, 1, 2) or letters (a, b, c). The default choice is numbers. + /// + [System.ComponentModel.DescriptionAttribute("The show-frets type indicates whether to show tablature frets as numbers (0, 1, 2" + + ") or letters (a, b, c). The default choice is numbers.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("show-frets", Namespace="")] + public enum ShowFrets + { + + [System.Xml.Serialization.XmlEnumAttribute("numbers")] + Numbers, + + [System.Xml.Serialization.XmlEnumAttribute("letters")] + Letters, + } + + /// + /// The staff-type value can be ossia, editorial, cue, alternate, or regular. An ossia staff represents music that can be played instead of what appears on the regular staff. An editorial staff also represents musical alternatives, but is created by an editor rather than the composer. It can be used for suggested interpretations or alternatives from other sources. A cue staff represents music from another part. An alternate staff shares the same music as the prior staff, but displayed differently (e.g., treble and bass clef, standard notation and tablature). It is not included in playback. An alternate staff provides more information to an application reading a file than encoding the same music in separate parts, so its use is preferred in this situation if feasible. A regular staff is the standard default staff-type. + /// + [System.ComponentModel.DescriptionAttribute(@"The staff-type value can be ossia, editorial, cue, alternate, or regular. An ossia staff represents music that can be played instead of what appears on the regular staff. An editorial staff also represents musical alternatives, but is created by an editor rather than the composer. It can be used for suggested interpretations or alternatives from other sources. A cue staff represents music from another part. An alternate staff shares the same music as the prior staff, but displayed differently (e.g., treble and bass clef, standard notation and tablature). It is not included in playback. An alternate staff provides more information to an application reading a file than encoding the same music in separate parts, so its use is preferred in this situation if feasible. A regular staff is the standard default staff-type.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("staff-type", Namespace="")] + public enum StaffType + { + + [System.Xml.Serialization.XmlEnumAttribute("ossia")] + Ossia, + + [System.Xml.Serialization.XmlEnumAttribute("editorial")] + Editorial, + + [System.Xml.Serialization.XmlEnumAttribute("cue")] + Cue, + + [System.Xml.Serialization.XmlEnumAttribute("alternate")] + Alternate, + + [System.Xml.Serialization.XmlEnumAttribute("regular")] + Regular, + } + + /// + /// The time-relation type indicates the symbol used to represent the interchangeable aspect of dual time signatures. + /// + [System.ComponentModel.DescriptionAttribute("The time-relation type indicates the symbol used to represent the interchangeable" + + " aspect of dual time signatures.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("time-relation", Namespace="")] + public enum TimeRelation + { + + [System.Xml.Serialization.XmlEnumAttribute("parentheses")] + Parentheses, + + [System.Xml.Serialization.XmlEnumAttribute("bracket")] + Bracket, + + [System.Xml.Serialization.XmlEnumAttribute("equals")] + Equals, + + [System.Xml.Serialization.XmlEnumAttribute("slash")] + Slash, + + [System.Xml.Serialization.XmlEnumAttribute("space")] + Space, + + [System.Xml.Serialization.XmlEnumAttribute("hyphen")] + Hyphen, + } + + /// + /// The time-separator type indicates how to display the arrangement between the beats and beat-type values in a time signature. The default value is none. The horizontal, diagonal, and vertical values represent horizontal, diagonal lower-left to upper-right, and vertical lines respectively. For these values, the beats and beat-type values are arranged on either side of the separator line. The none value represents no separator with the beats and beat-type arranged vertically. The adjacent value represents no separator with the beats and beat-type arranged horizontally. + /// + [System.ComponentModel.DescriptionAttribute(@"The time-separator type indicates how to display the arrangement between the beats and beat-type values in a time signature. The default value is none. The horizontal, diagonal, and vertical values represent horizontal, diagonal lower-left to upper-right, and vertical lines respectively. For these values, the beats and beat-type values are arranged on either side of the separator line. The none value represents no separator with the beats and beat-type arranged vertically. The adjacent value represents no separator with the beats and beat-type arranged horizontally.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("time-separator", Namespace="")] + public enum TimeSeparator + { + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("horizontal")] + Horizontal, + + [System.Xml.Serialization.XmlEnumAttribute("diagonal")] + Diagonal, + + [System.Xml.Serialization.XmlEnumAttribute("vertical")] + Vertical, + + [System.Xml.Serialization.XmlEnumAttribute("adjacent")] + Adjacent, + } + + /// + /// The time-symbol type indicates how to display a time signature. The normal value is the usual fractional display, and is the implied symbol type if none is specified. Other options are the common and cut time symbols, as well as a single number with an implied denominator. The note symbol indicates that the beat-type should be represented with the corresponding downstem note rather than a number. The dotted-note symbol indicates that the beat-type should be represented with a dotted downstem note that corresponds to three times the beat-type value, and a numerator that is one third the beats value. + /// + [System.ComponentModel.DescriptionAttribute(@"The time-symbol type indicates how to display a time signature. The normal value is the usual fractional display, and is the implied symbol type if none is specified. Other options are the common and cut time symbols, as well as a single number with an implied denominator. The note symbol indicates that the beat-type should be represented with the corresponding downstem note rather than a number. The dotted-note symbol indicates that the beat-type should be represented with a dotted downstem note that corresponds to three times the beat-type value, and a numerator that is one third the beats value.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("time-symbol", Namespace="")] + public enum TimeSymbol + { + + [System.Xml.Serialization.XmlEnumAttribute("common")] + Common, + + [System.Xml.Serialization.XmlEnumAttribute("cut")] + Cut, + + [System.Xml.Serialization.XmlEnumAttribute("single-number")] + SingleNumber, + + [System.Xml.Serialization.XmlEnumAttribute("note")] + Note, + + [System.Xml.Serialization.XmlEnumAttribute("dotted-note")] + DottedNote, + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + } + + /// + /// The backward-forward type is used to specify repeat directions. The start of the repeat has a forward direction while the end of the repeat has a backward direction. + /// + [System.ComponentModel.DescriptionAttribute("The backward-forward type is used to specify repeat directions. The start of the " + + "repeat has a forward direction while the end of the repeat has a backward direct" + + "ion.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("backward-forward", Namespace="")] + public enum BackwardForward + { + + [System.Xml.Serialization.XmlEnumAttribute("backward")] + Backward, + + [System.Xml.Serialization.XmlEnumAttribute("forward")] + Forward, + } + + /// + /// The bar-style type represents barline style information. Choices are regular, dotted, dashed, heavy, light-light, light-heavy, heavy-light, heavy-heavy, tick (a short stroke through the top line), short (a partial barline between the 2nd and 4th lines), and none. + /// + [System.ComponentModel.DescriptionAttribute(@"The bar-style type represents barline style information. Choices are regular, dotted, dashed, heavy, light-light, light-heavy, heavy-light, heavy-heavy, tick (a short stroke through the top line), short (a partial barline between the 2nd and 4th lines), and none.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("bar-style", Namespace="")] + public enum BarStyle + { + + [System.Xml.Serialization.XmlEnumAttribute("regular")] + Regular, + + [System.Xml.Serialization.XmlEnumAttribute("dotted")] + Dotted, + + [System.Xml.Serialization.XmlEnumAttribute("dashed")] + Dashed, + + [System.Xml.Serialization.XmlEnumAttribute("heavy")] + Heavy, + + [System.Xml.Serialization.XmlEnumAttribute("light-light")] + LightLight, + + [System.Xml.Serialization.XmlEnumAttribute("light-heavy")] + LightHeavy, + + [System.Xml.Serialization.XmlEnumAttribute("heavy-light")] + HeavyLight, + + [System.Xml.Serialization.XmlEnumAttribute("heavy-heavy")] + HeavyHeavy, + + [System.Xml.Serialization.XmlEnumAttribute("tick")] + Tick, + + [System.Xml.Serialization.XmlEnumAttribute("short")] + Short, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The right-left-middle type is used to specify barline location. + /// + [System.ComponentModel.DescriptionAttribute("The right-left-middle type is used to specify barline location.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("right-left-middle", Namespace="")] + public enum RightLeftMiddle + { + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("middle")] + Middle, + } + + /// + /// The start-stop-discontinue type is used to specify ending types. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece. + /// + [System.ComponentModel.DescriptionAttribute(@"The start-stop-discontinue type is used to specify ending types. Typically, the start type is associated with the left barline of the first measure in an ending. The stop and discontinue types are associated with the right barline of the last measure in an ending. Stop is used when the ending mark concludes with a downward jog, as is typical for first endings. Discontinue is used when there is no downward jog, as is typical for second endings that do not conclude a piece.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-stop-discontinue", Namespace="")] + public enum StartStopDiscontinue + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("discontinue")] + Discontinue, + } + + /// + /// The winged attribute indicates whether the repeat has winged extensions that appear above and below the barline. The straight and curved values represent single wings, while the double-straight and double-curved values represent double wings. The none value indicates no wings and is the default. + /// + [System.ComponentModel.DescriptionAttribute(@"The winged attribute indicates whether the repeat has winged extensions that appear above and below the barline. The straight and curved values represent single wings, while the double-straight and double-curved values represent double wings. The none value indicates no wings and is the default.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("winged", Namespace="")] + public enum Winged + { + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("straight")] + Straight, + + [System.Xml.Serialization.XmlEnumAttribute("curved")] + Curved, + + [System.Xml.Serialization.XmlEnumAttribute("double-straight")] + DoubleStraight, + + [System.Xml.Serialization.XmlEnumAttribute("double-curved")] + DoubleCurved, + } + + /// + /// The beater-value type represents pictograms for beaters, mallets, and sticks that do not have different materials represented in the pictogram. The finger and hammer values are in addition to Stone's list. + /// + [System.ComponentModel.DescriptionAttribute("The beater-value type represents pictograms for beaters, mallets, and sticks that" + + " do not have different materials represented in the pictogram. The finger and ha" + + "mmer values are in addition to Stone\'s list.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("beater-value", Namespace="")] + public enum BeaterValue + { + + [System.Xml.Serialization.XmlEnumAttribute("bow")] + Bow, + + [System.Xml.Serialization.XmlEnumAttribute("chime hammer")] + ChimeHammer, + + [System.Xml.Serialization.XmlEnumAttribute("coin")] + Coin, + + [System.Xml.Serialization.XmlEnumAttribute("drum stick")] + DrumStick, + + [System.Xml.Serialization.XmlEnumAttribute("finger")] + Finger, + + [System.Xml.Serialization.XmlEnumAttribute("fingernail")] + Fingernail, + + [System.Xml.Serialization.XmlEnumAttribute("fist")] + Fist, + + [System.Xml.Serialization.XmlEnumAttribute("guiro scraper")] + GuiroScraper, + + [System.Xml.Serialization.XmlEnumAttribute("hammer")] + Hammer, + + [System.Xml.Serialization.XmlEnumAttribute("hand")] + Hand, + + [System.Xml.Serialization.XmlEnumAttribute("jazz stick")] + JazzStick, + + [System.Xml.Serialization.XmlEnumAttribute("knitting needle")] + KnittingNeedle, + + [System.Xml.Serialization.XmlEnumAttribute("metal hammer")] + MetalHammer, + + [System.Xml.Serialization.XmlEnumAttribute("slide brush on gong")] + SlideBrushOnGong, + + [System.Xml.Serialization.XmlEnumAttribute("snare stick")] + SnareStick, + + [System.Xml.Serialization.XmlEnumAttribute("spoon mallet")] + SpoonMallet, + + [System.Xml.Serialization.XmlEnumAttribute("superball")] + Superball, + + [System.Xml.Serialization.XmlEnumAttribute("triangle beater")] + TriangleBeater, + + [System.Xml.Serialization.XmlEnumAttribute("triangle beater plain")] + TriangleBeaterPlain, + + [System.Xml.Serialization.XmlEnumAttribute("wire brush")] + WireBrush, + } + + /// + /// The degree-symbol-value type indicates which symbol should be used in specifying a degree. + /// + [System.ComponentModel.DescriptionAttribute("The degree-symbol-value type indicates which symbol should be used in specifying " + + "a degree.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("degree-symbol-value", Namespace="")] + public enum DegreeSymbolValue + { + + [System.Xml.Serialization.XmlEnumAttribute("major")] + Major, + + [System.Xml.Serialization.XmlEnumAttribute("minor")] + Minor, + + [System.Xml.Serialization.XmlEnumAttribute("augmented")] + Augmented, + + [System.Xml.Serialization.XmlEnumAttribute("diminished")] + Diminished, + + [System.Xml.Serialization.XmlEnumAttribute("half-diminished")] + HalfDiminished, + } + + /// + /// The degree-type-value type indicates whether the current degree element is an addition, alteration, or subtraction to the kind of the current chord in the harmony element. + /// + [System.ComponentModel.DescriptionAttribute("The degree-type-value type indicates whether the current degree element is an add" + + "ition, alteration, or subtraction to the kind of the current chord in the harmon" + + "y element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("degree-type-value", Namespace="")] + public enum DegreeTypeValue + { + + [System.Xml.Serialization.XmlEnumAttribute("add")] + Add, + + [System.Xml.Serialization.XmlEnumAttribute("alter")] + Alter, + + [System.Xml.Serialization.XmlEnumAttribute("subtract")] + Subtract, + } + + /// + /// The effect-value type represents pictograms for sound effect percussion instruments. The cannon, lotus flute, and megaphone values are in addition to Stone's list. + /// + [System.ComponentModel.DescriptionAttribute("The effect-value type represents pictograms for sound effect percussion instrumen" + + "ts. The cannon, lotus flute, and megaphone values are in addition to Stone\'s lis" + + "t.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("effect-value", Namespace="")] + public enum EffectValue + { + + [System.Xml.Serialization.XmlEnumAttribute("anvil")] + Anvil, + + [System.Xml.Serialization.XmlEnumAttribute("auto horn")] + AutoHorn, + + [System.Xml.Serialization.XmlEnumAttribute("bird whistle")] + BirdWhistle, + + [System.Xml.Serialization.XmlEnumAttribute("cannon")] + Cannon, + + [System.Xml.Serialization.XmlEnumAttribute("duck call")] + DuckCall, + + [System.Xml.Serialization.XmlEnumAttribute("gun shot")] + GunShot, + + [System.Xml.Serialization.XmlEnumAttribute("klaxon horn")] + KlaxonHorn, + + [System.Xml.Serialization.XmlEnumAttribute("lions roar")] + LionsRoar, + + [System.Xml.Serialization.XmlEnumAttribute("lotus flute")] + LotusFlute, + + [System.Xml.Serialization.XmlEnumAttribute("megaphone")] + Megaphone, + + [System.Xml.Serialization.XmlEnumAttribute("police whistle")] + PoliceWhistle, + + [System.Xml.Serialization.XmlEnumAttribute("siren")] + Siren, + + [System.Xml.Serialization.XmlEnumAttribute("slide whistle")] + SlideWhistle, + + [System.Xml.Serialization.XmlEnumAttribute("thunder sheet")] + ThunderSheet, + + [System.Xml.Serialization.XmlEnumAttribute("wind machine")] + WindMachine, + + [System.Xml.Serialization.XmlEnumAttribute("wind whistle")] + WindWhistle, + } + + /// + /// The glass-value type represents pictograms for glass percussion instruments. + /// + [System.ComponentModel.DescriptionAttribute("The glass-value type represents pictograms for glass percussion instruments.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("glass-value", Namespace="")] + public enum GlassValue + { + + [System.Xml.Serialization.XmlEnumAttribute("glass harmonica")] + GlassHarmonica, + + [System.Xml.Serialization.XmlEnumAttribute("glass harp")] + GlassHarp, + + [System.Xml.Serialization.XmlEnumAttribute("wind chimes")] + WindChimes, + } + + /// + /// The harmony-arrangement type indicates how stacked chords and bass notes are displayed within a harmony element. The vertical value specifies that the second element appears below the first. The horizontal value specifies that the second element appears to the right of the first. The diagonal value specifies that the second element appears both below and to the right of the first. + /// + [System.ComponentModel.DescriptionAttribute(@"The harmony-arrangement type indicates how stacked chords and bass notes are displayed within a harmony element. The vertical value specifies that the second element appears below the first. The horizontal value specifies that the second element appears to the right of the first. The diagonal value specifies that the second element appears both below and to the right of the first.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("harmony-arrangement", Namespace="")] + public enum HarmonyArrangement + { + + [System.Xml.Serialization.XmlEnumAttribute("vertical")] + Vertical, + + [System.Xml.Serialization.XmlEnumAttribute("horizontal")] + Horizontal, + + [System.Xml.Serialization.XmlEnumAttribute("diagonal")] + Diagonal, + } + + /// + /// The harmony-type type differentiates different types of harmonies when alternate harmonies are possible. Explicit harmonies have all note present in the music; implied have some notes missing but implied; alternate represents alternate analyses. + /// + [System.ComponentModel.DescriptionAttribute("The harmony-type type differentiates different types of harmonies when alternate " + + "harmonies are possible. Explicit harmonies have all note present in the music; i" + + "mplied have some notes missing but implied; alternate represents alternate analy" + + "ses.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("harmony-type", Namespace="")] + public enum HarmonyType + { + + [System.Xml.Serialization.XmlEnumAttribute("explicit")] + Explicit, + + [System.Xml.Serialization.XmlEnumAttribute("implied")] + Implied, + + [System.Xml.Serialization.XmlEnumAttribute("alternate")] + Alternate, + } + + /// + /// A kind-value indicates the type of chord. Degree elements can then add, subtract, or alter from these starting points. Values include: + /// + ///Triads: + /// major (major third, perfect fifth) + /// minor (minor third, perfect fifth) + /// augmented (major third, augmented fifth) + /// diminished (minor third, diminished fifth) + ///Sevenths: + /// dominant (major triad, minor seventh) + /// major-seventh (major triad, major seventh) + /// minor-seventh (minor triad, minor seventh) + /// diminished-seventh (diminished triad, diminished seventh) + /// augmented-seventh (augmented triad, minor seventh) + /// half-diminished (diminished triad, minor seventh) + /// major-minor (minor triad, major seventh) + ///Sixths: + /// major-sixth (major triad, added sixth) + /// minor-sixth (minor triad, added sixth) + ///Ninths: + /// dominant-ninth (dominant-seventh, major ninth) + /// major-ninth (major-seventh, major ninth) + /// minor-ninth (minor-seventh, major ninth) + ///11ths (usually as the basis for alteration): + /// dominant-11th (dominant-ninth, perfect 11th) + /// major-11th (major-ninth, perfect 11th) + /// minor-11th (minor-ninth, perfect 11th) + ///13ths (usually as the basis for alteration): + /// dominant-13th (dominant-11th, major 13th) + /// major-13th (major-11th, major 13th) + /// minor-13th (minor-11th, major 13th) + ///Suspended: + /// suspended-second (major second, perfect fifth) + /// suspended-fourth (perfect fourth, perfect fifth) + ///Functional sixths: + /// Neapolitan + /// Italian + /// French + /// German + ///Other: + /// pedal (pedal-point bass) + /// power (perfect fifth) + /// Tristan + /// + ///The "other" kind is used when the harmony is entirely composed of add elements. + /// + ///The "none" kind is used to explicitly encode absence of chords or functional harmony. In this case, the root, numeral, or function element has no meaning. When using the root or numeral element, the root-step or numeral-step text attribute should be set to the empty string to keep the root or numeral from being displayed. + /// + [System.ComponentModel.DescriptionAttribute("A kind-value indicates the type of chord. Degree elements can then add, subtract," + + " or alter from these starting points. Values include: Triads: major (major third" + + ", perfect fifth) minor (minor third, perfect fifth) augmented (major third, augm" + + "ented fifth) diminished (minor third, diminished fifth) Sevenths: dominant (majo" + + "r triad, minor seventh) major-seventh (major triad, major seventh) minor-seventh" + + " (minor triad, minor seventh) diminished-seventh (diminished triad, diminished s" + + "eventh) augmented-seventh (augmented triad, minor seventh) half-diminished (dimi" + + "nished triad, minor seventh) major-minor (minor triad, major seventh) Sixths: ma" + + "jor-sixth (major triad, added sixth) minor-sixth (minor triad, added sixth) Nint" + + "hs: dominant-ninth (dominant-seventh, major ninth) major-ninth (major-seventh, m" + + "ajor ninth) minor-ninth (minor-seventh, major ninth) 11ths (usually as the basis" + + " for alteration): dominant-11th (dominant-ninth, perfect 11th) major-11th (major" + + "-ninth, perfect 11th) minor-11th (minor-ninth, perfect 11th) 13ths (usually as t" + + "he basis for alteration): dominant-13th (dominant-11th, major 13th) major-13th (" + + "major-11th, major 13th) minor-13th (minor-11th, major 13th) Suspended: suspended" + + "-second (major second, perfect fifth) suspended-fourth (perfect fourth, perfect " + + "fifth) Functional sixths: Neapolitan Italian French German Other: pedal (pedal-p" + + "oint bass) power (perfect fifth) Tristan The \"other\" kind is used when the harmo" + + "ny is entirely composed of add elements. The \"none\" kind is used to explicitly e" + + "ncode absence of chords or functional harmony. In this case, the root, numeral, " + + "or function element has no meaning. When using the root or numeral element, the " + + "root-step or numeral-step text attribute should be set to the empty string to ke" + + "ep the root or numeral from being displayed.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("kind-value", Namespace="")] + public enum KindValue + { + + [System.Xml.Serialization.XmlEnumAttribute("major")] + Major, + + [System.Xml.Serialization.XmlEnumAttribute("minor")] + Minor, + + [System.Xml.Serialization.XmlEnumAttribute("augmented")] + Augmented, + + [System.Xml.Serialization.XmlEnumAttribute("diminished")] + Diminished, + + [System.Xml.Serialization.XmlEnumAttribute("dominant")] + Dominant, + + [System.Xml.Serialization.XmlEnumAttribute("major-seventh")] + MajorSeventh, + + [System.Xml.Serialization.XmlEnumAttribute("minor-seventh")] + MinorSeventh, + + [System.Xml.Serialization.XmlEnumAttribute("diminished-seventh")] + DiminishedSeventh, + + [System.Xml.Serialization.XmlEnumAttribute("augmented-seventh")] + AugmentedSeventh, + + [System.Xml.Serialization.XmlEnumAttribute("half-diminished")] + HalfDiminished, + + [System.Xml.Serialization.XmlEnumAttribute("major-minor")] + MajorMinor, + + [System.Xml.Serialization.XmlEnumAttribute("major-sixth")] + MajorSixth, + + [System.Xml.Serialization.XmlEnumAttribute("minor-sixth")] + MinorSixth, + + [System.Xml.Serialization.XmlEnumAttribute("dominant-ninth")] + DominantNinth, + + [System.Xml.Serialization.XmlEnumAttribute("major-ninth")] + MajorNinth, + + [System.Xml.Serialization.XmlEnumAttribute("minor-ninth")] + MinorNinth, + + [System.Xml.Serialization.XmlEnumAttribute("dominant-11th")] + Dominant11Th, + + [System.Xml.Serialization.XmlEnumAttribute("major-11th")] + Major11Th, + + [System.Xml.Serialization.XmlEnumAttribute("minor-11th")] + Minor11Th, + + [System.Xml.Serialization.XmlEnumAttribute("dominant-13th")] + Dominant13Th, + + [System.Xml.Serialization.XmlEnumAttribute("major-13th")] + Major13Th, + + [System.Xml.Serialization.XmlEnumAttribute("minor-13th")] + Minor13Th, + + [System.Xml.Serialization.XmlEnumAttribute("suspended-second")] + SuspendedSecond, + + [System.Xml.Serialization.XmlEnumAttribute("suspended-fourth")] + SuspendedFourth, + + Neapolitan, + + Italian, + + French, + + German, + + [System.Xml.Serialization.XmlEnumAttribute("pedal")] + Pedal, + + [System.Xml.Serialization.XmlEnumAttribute("power")] + Power, + + Tristan, + + [System.Xml.Serialization.XmlEnumAttribute("other")] + Other, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The line-end type specifies if there is a jog up or down (or both), an arrow, or nothing at the start or end of a bracket. + /// + [System.ComponentModel.DescriptionAttribute("The line-end type specifies if there is a jog up or down (or both), an arrow, or " + + "nothing at the start or end of a bracket.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("line-end", Namespace="")] + public enum LineEnd + { + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("both")] + Both, + + [System.Xml.Serialization.XmlEnumAttribute("arrow")] + Arrow, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The measure-numbering-value type describes how measure numbers are displayed on this part: no numbers, numbers every measure, or numbers every system. + /// + [System.ComponentModel.DescriptionAttribute("The measure-numbering-value type describes how measure numbers are displayed on t" + + "his part: no numbers, numbers every measure, or numbers every system.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("measure-numbering-value", Namespace="")] + public enum MeasureNumberingValue + { + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("measure")] + Measure, + + [System.Xml.Serialization.XmlEnumAttribute("system")] + System, + } + + /// + /// The membrane-value type represents pictograms for membrane percussion instruments. + /// + [System.ComponentModel.DescriptionAttribute("The membrane-value type represents pictograms for membrane percussion instruments" + + ".")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("membrane-value", Namespace="")] + public enum MembraneValue + { + + [System.Xml.Serialization.XmlEnumAttribute("bass drum")] + BassDrum, + + [System.Xml.Serialization.XmlEnumAttribute("bass drum on side")] + BassDrumOnSide, + + [System.Xml.Serialization.XmlEnumAttribute("bongos")] + Bongos, + + [System.Xml.Serialization.XmlEnumAttribute("Chinese tomtom")] + ChineseTomtom, + + [System.Xml.Serialization.XmlEnumAttribute("conga drum")] + CongaDrum, + + [System.Xml.Serialization.XmlEnumAttribute("cuica")] + Cuica, + + [System.Xml.Serialization.XmlEnumAttribute("goblet drum")] + GobletDrum, + + [System.Xml.Serialization.XmlEnumAttribute("Indo-American tomtom")] + IndoAmericanTomtom, + + [System.Xml.Serialization.XmlEnumAttribute("Japanese tomtom")] + JapaneseTomtom, + + [System.Xml.Serialization.XmlEnumAttribute("military drum")] + MilitaryDrum, + + [System.Xml.Serialization.XmlEnumAttribute("snare drum")] + SnareDrum, + + [System.Xml.Serialization.XmlEnumAttribute("snare drum snares off")] + SnareDrumSnaresOff, + + [System.Xml.Serialization.XmlEnumAttribute("tabla")] + Tabla, + + [System.Xml.Serialization.XmlEnumAttribute("tambourine")] + Tambourine, + + [System.Xml.Serialization.XmlEnumAttribute("tenor drum")] + TenorDrum, + + [System.Xml.Serialization.XmlEnumAttribute("timbales")] + Timbales, + + [System.Xml.Serialization.XmlEnumAttribute("tomtom")] + Tomtom, + } + + /// + /// The metal-value type represents pictograms for metal percussion instruments. The hi-hat value refers to a pictogram like Stone's high-hat cymbals but without the long vertical line at the bottom. + /// + [System.ComponentModel.DescriptionAttribute("The metal-value type represents pictograms for metal percussion instruments. The " + + "hi-hat value refers to a pictogram like Stone\'s high-hat cymbals but without the" + + " long vertical line at the bottom.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("metal-value", Namespace="")] + public enum MetalValue + { + + [System.Xml.Serialization.XmlEnumAttribute("agogo")] + Agogo, + + [System.Xml.Serialization.XmlEnumAttribute("almglocken")] + Almglocken, + + [System.Xml.Serialization.XmlEnumAttribute("bell")] + Bell, + + [System.Xml.Serialization.XmlEnumAttribute("bell plate")] + BellPlate, + + [System.Xml.Serialization.XmlEnumAttribute("bell tree")] + BellTree, + + [System.Xml.Serialization.XmlEnumAttribute("brake drum")] + BrakeDrum, + + [System.Xml.Serialization.XmlEnumAttribute("cencerro")] + Cencerro, + + [System.Xml.Serialization.XmlEnumAttribute("chain rattle")] + ChainRattle, + + [System.Xml.Serialization.XmlEnumAttribute("Chinese cymbal")] + ChineseCymbal, + + [System.Xml.Serialization.XmlEnumAttribute("cowbell")] + Cowbell, + + [System.Xml.Serialization.XmlEnumAttribute("crash cymbals")] + CrashCymbals, + + [System.Xml.Serialization.XmlEnumAttribute("crotale")] + Crotale, + + [System.Xml.Serialization.XmlEnumAttribute("cymbal tongs")] + CymbalTongs, + + [System.Xml.Serialization.XmlEnumAttribute("domed gong")] + DomedGong, + + [System.Xml.Serialization.XmlEnumAttribute("finger cymbals")] + FingerCymbals, + + [System.Xml.Serialization.XmlEnumAttribute("flexatone")] + Flexatone, + + [System.Xml.Serialization.XmlEnumAttribute("gong")] + Gong, + + [System.Xml.Serialization.XmlEnumAttribute("hi-hat")] + HiHat, + + [System.Xml.Serialization.XmlEnumAttribute("high-hat cymbals")] + HighHatCymbals, + + [System.Xml.Serialization.XmlEnumAttribute("handbell")] + Handbell, + + [System.Xml.Serialization.XmlEnumAttribute("jaw harp")] + JawHarp, + + [System.Xml.Serialization.XmlEnumAttribute("jingle bells")] + JingleBells, + + [System.Xml.Serialization.XmlEnumAttribute("musical saw")] + MusicalSaw, + + [System.Xml.Serialization.XmlEnumAttribute("shell bells")] + ShellBells, + + [System.Xml.Serialization.XmlEnumAttribute("sistrum")] + Sistrum, + + [System.Xml.Serialization.XmlEnumAttribute("sizzle cymbal")] + SizzleCymbal, + + [System.Xml.Serialization.XmlEnumAttribute("sleigh bells")] + SleighBells, + + [System.Xml.Serialization.XmlEnumAttribute("suspended cymbal")] + SuspendedCymbal, + + [System.Xml.Serialization.XmlEnumAttribute("tam tam")] + TamTam, + + [System.Xml.Serialization.XmlEnumAttribute("tam tam with beater")] + TamTamWithBeater, + + [System.Xml.Serialization.XmlEnumAttribute("triangle")] + Triangle, + + [System.Xml.Serialization.XmlEnumAttribute("Vietnamese hat")] + VietnameseHat, + } + + /// + /// The numeral-mode type specifies the mode similar to the mode type, but with a restricted set of values. The different minor values are used to interpret numeral-root values of 6 and 7 when present in a minor key. The harmonic minor value sharpens the 7 and the melodic minor value sharpens both 6 and 7. If a minor mode is used without qualification, either in the mode or numeral-mode elements, natural minor is used. + /// + [System.ComponentModel.DescriptionAttribute(@"The numeral-mode type specifies the mode similar to the mode type, but with a restricted set of values. The different minor values are used to interpret numeral-root values of 6 and 7 when present in a minor key. The harmonic minor value sharpens the 7 and the melodic minor value sharpens both 6 and 7. If a minor mode is used without qualification, either in the mode or numeral-mode elements, natural minor is used.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("numeral-mode", Namespace="")] + public enum NumeralMode + { + + [System.Xml.Serialization.XmlEnumAttribute("major")] + Major, + + [System.Xml.Serialization.XmlEnumAttribute("minor")] + Minor, + + [System.Xml.Serialization.XmlEnumAttribute("natural minor")] + NaturalMinor, + + [System.Xml.Serialization.XmlEnumAttribute("melodic minor")] + MelodicMinor, + + [System.Xml.Serialization.XmlEnumAttribute("harmonic minor")] + HarmonicMinor, + } + + /// + /// The on-off type is used for notation elements such as string mutes. + /// + [System.ComponentModel.DescriptionAttribute("The on-off type is used for notation elements such as string mutes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("on-off", Namespace="")] + public enum OnOff + { + + [System.Xml.Serialization.XmlEnumAttribute("on")] + On, + + [System.Xml.Serialization.XmlEnumAttribute("off")] + Off, + } + + /// + /// The pedal-type simple type is used to distinguish types of pedal directions. The start value indicates the start of a damper pedal, while the sostenuto value indicates the start of a sostenuto pedal. The other values can be used with either the damper or sostenuto pedal. The soft pedal is not included here because there is no special symbol or graphic used for it beyond what can be specified with words and bracket elements. + /// + ///The change, continue, discontinue, and resume types are used when the line attribute is yes. The change type indicates a pedal lift and retake indicated with an inverted V marking. The continue type allows more precise formatting across system breaks and for more complex pedaling lines. The discontinue type indicates the end of a pedal line that does not include the explicit lift represented by the stop type. The resume type indicates the start of a pedal line that does not include the downstroke represented by the start type. It can be used when a line resumes after being discontinued, or to start a pedal line that is preceded by a text or symbol representation of the pedal. + /// + [System.ComponentModel.DescriptionAttribute(@"The pedal-type simple type is used to distinguish types of pedal directions. The start value indicates the start of a damper pedal, while the sostenuto value indicates the start of a sostenuto pedal. The other values can be used with either the damper or sostenuto pedal. The soft pedal is not included here because there is no special symbol or graphic used for it beyond what can be specified with words and bracket elements. The change, continue, discontinue, and resume types are used when the line attribute is yes. The change type indicates a pedal lift and retake indicated with an inverted V marking. The continue type allows more precise formatting across system breaks and for more complex pedaling lines. The discontinue type indicates the end of a pedal line that does not include the explicit lift represented by the stop type. The resume type indicates the start of a pedal line that does not include the downstroke represented by the start type. It can be used when a line resumes after being discontinued, or to start a pedal line that is preceded by a text or symbol representation of the pedal.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("pedal-type", Namespace="")] + public enum PedalType + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("sostenuto")] + Sostenuto, + + [System.Xml.Serialization.XmlEnumAttribute("change")] + Change, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + + [System.Xml.Serialization.XmlEnumAttribute("discontinue")] + Discontinue, + + [System.Xml.Serialization.XmlEnumAttribute("resume")] + Resume, + } + + /// + /// The pitched-value type represents pictograms for pitched percussion instruments. The chimes and tubular chimes values distinguish the single-line and double-line versions of the pictogram. + /// + [System.ComponentModel.DescriptionAttribute("The pitched-value type represents pictograms for pitched percussion instruments. " + + "The chimes and tubular chimes values distinguish the single-line and double-line" + + " versions of the pictogram.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("pitched-value", Namespace="")] + public enum PitchedValue + { + + [System.Xml.Serialization.XmlEnumAttribute("celesta")] + Celesta, + + [System.Xml.Serialization.XmlEnumAttribute("chimes")] + Chimes, + + [System.Xml.Serialization.XmlEnumAttribute("glockenspiel")] + Glockenspiel, + + [System.Xml.Serialization.XmlEnumAttribute("lithophone")] + Lithophone, + + [System.Xml.Serialization.XmlEnumAttribute("mallet")] + Mallet, + + [System.Xml.Serialization.XmlEnumAttribute("marimba")] + Marimba, + + [System.Xml.Serialization.XmlEnumAttribute("steel drums")] + SteelDrums, + + [System.Xml.Serialization.XmlEnumAttribute("tubaphone")] + Tubaphone, + + [System.Xml.Serialization.XmlEnumAttribute("tubular chimes")] + TubularChimes, + + [System.Xml.Serialization.XmlEnumAttribute("vibraphone")] + Vibraphone, + + [System.Xml.Serialization.XmlEnumAttribute("xylophone")] + Xylophone, + } + + /// + /// The principal-voice-symbol type represents the type of symbol used to indicate a principal or secondary voice. The "plain" value represents a plain square bracket. The value of "none" is used for analysis markup when the principal-voice element does not have a corresponding appearance in the score. + /// + [System.ComponentModel.DescriptionAttribute(@"The principal-voice-symbol type represents the type of symbol used to indicate a principal or secondary voice. The ""plain"" value represents a plain square bracket. The value of ""none"" is used for analysis markup when the principal-voice element does not have a corresponding appearance in the score.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("principal-voice-symbol", Namespace="")] + public enum PrincipalVoiceSymbol + { + + Hauptstimme, + + Nebenstimme, + + [System.Xml.Serialization.XmlEnumAttribute("plain")] + Plain, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The staff-divide-symbol type is used for staff division symbols. The down, up, and up-down values correspond to SMuFL code points U+E00B, U+E00C, and U+E00D respectively. + /// + [System.ComponentModel.DescriptionAttribute("The staff-divide-symbol type is used for staff division symbols. The down, up, an" + + "d up-down values correspond to SMuFL code points U+E00B, U+E00C, and U+E00D resp" + + "ectively.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("staff-divide-symbol", Namespace="")] + public enum StaffDivideSymbol + { + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("up-down")] + UpDown, + } + + /// + /// The start-stop-change-continue type is used to distinguish types of pedal directions. + /// + [System.ComponentModel.DescriptionAttribute("The start-stop-change-continue type is used to distinguish types of pedal directi" + + "ons.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("start-stop-change-continue", Namespace="")] + public enum StartStopChangeContinue + { + + [System.Xml.Serialization.XmlEnumAttribute("start")] + Start, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("change")] + Change, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + } + + /// + /// The sync-type type specifies the style that a score following application should use to synchronize an accompaniment with a performer. The none type indicates no synchronization to the performer. The tempo type indicates synchronization based on the performer tempo rather than individual events in the score. The event type indicates synchronization by following the performance of individual events in the score rather than the performer tempo. The mostly-tempo and mostly-event types combine these two approaches, with mostly-tempo giving more weight to tempo and mostly-event giving more weight to performed events. The always-event type provides the strictest synchronization by not being forgiving of missing performed events. + /// + [System.ComponentModel.DescriptionAttribute(@"The sync-type type specifies the style that a score following application should use to synchronize an accompaniment with a performer. The none type indicates no synchronization to the performer. The tempo type indicates synchronization based on the performer tempo rather than individual events in the score. The event type indicates synchronization by following the performance of individual events in the score rather than the performer tempo. The mostly-tempo and mostly-event types combine these two approaches, with mostly-tempo giving more weight to tempo and mostly-event giving more weight to performed events. The always-event type provides the strictest synchronization by not being forgiving of missing performed events.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("sync-type", Namespace="")] + public enum SyncType + { + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("tempo")] + Tempo, + + [System.Xml.Serialization.XmlEnumAttribute("mostly-tempo")] + MostlyTempo, + + [System.Xml.Serialization.XmlEnumAttribute("mostly-event")] + MostlyEvent, + + [System.Xml.Serialization.XmlEnumAttribute("event")] + Event, + + [System.Xml.Serialization.XmlEnumAttribute("always-event")] + AlwaysEvent, + } + + /// + /// The system-relation-number type distinguishes measure numbers that are associated with a system rather than the particular part where the element appears. A value of only-top or only-bottom indicates that the number should appear only on the top or bottom part of the current system, respectively. A value of also-top or also-bottom indicates that the number should appear on both the current part and the top or bottom part of the current system, respectively. If these values appear in a score, when parts are created the number should only appear once in this part, not twice. A value of none indicates that the number is associated only with the current part, not with the system. + /// + [System.ComponentModel.DescriptionAttribute(@"The system-relation-number type distinguishes measure numbers that are associated with a system rather than the particular part where the element appears. A value of only-top or only-bottom indicates that the number should appear only on the top or bottom part of the current system, respectively. A value of also-top or also-bottom indicates that the number should appear on both the current part and the top or bottom part of the current system, respectively. If these values appear in a score, when parts are created the number should only appear once in this part, not twice. A value of none indicates that the number is associated only with the current part, not with the system.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("system-relation-number", Namespace="")] + public enum SystemRelationNumber + { + + [System.Xml.Serialization.XmlEnumAttribute("only-top")] + OnlyTop, + + [System.Xml.Serialization.XmlEnumAttribute("only-bottom")] + OnlyBottom, + + [System.Xml.Serialization.XmlEnumAttribute("also-top")] + AlsoTop, + + [System.Xml.Serialization.XmlEnumAttribute("also-bottom")] + AlsoBottom, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The system-relation type distinguishes elements that are associated with a system rather than the particular part where the element appears. A value of only-top indicates that the element should appear only on the top part of the current system. A value of also-top indicates that the element should appear on both the current part and the top part of the current system. If this value appears in a score, when parts are created the element should only appear once in this part, not twice. A value of none indicates that the element is associated only with the current part, not with the system. + /// + [System.ComponentModel.DescriptionAttribute(@"The system-relation type distinguishes elements that are associated with a system rather than the particular part where the element appears. A value of only-top indicates that the element should appear only on the top part of the current system. A value of also-top indicates that the element should appear on both the current part and the top part of the current system. If this value appears in a score, when parts are created the element should only appear once in this part, not twice. A value of none indicates that the element is associated only with the current part, not with the system.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("system-relation", Namespace="")] + public enum SystemRelation + { + + [System.Xml.Serialization.XmlEnumAttribute("only-top")] + OnlyTop, + + [System.Xml.Serialization.XmlEnumAttribute("only-bottom")] + OnlyBottom, + + [System.Xml.Serialization.XmlEnumAttribute("also-top")] + AlsoTop, + + [System.Xml.Serialization.XmlEnumAttribute("also-bottom")] + AlsoBottom, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The tip-direction type represents the direction in which the tip of a stick or beater points, using Unicode arrow terminology. + /// + [System.ComponentModel.DescriptionAttribute("The tip-direction type represents the direction in which the tip of a stick or be" + + "ater points, using Unicode arrow terminology.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("tip-direction", Namespace="")] + public enum TipDirection + { + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("northwest")] + Northwest, + + [System.Xml.Serialization.XmlEnumAttribute("northeast")] + Northeast, + + [System.Xml.Serialization.XmlEnumAttribute("southeast")] + Southeast, + + [System.Xml.Serialization.XmlEnumAttribute("southwest")] + Southwest, + } + + /// + /// The stick-location type represents pictograms for the location of sticks, beaters, or mallets on cymbals, gongs, drums, and other instruments. + /// + [System.ComponentModel.DescriptionAttribute("The stick-location type represents pictograms for the location of sticks, beaters" + + ", or mallets on cymbals, gongs, drums, and other instruments.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("stick-location", Namespace="")] + public enum StickLocation + { + + [System.Xml.Serialization.XmlEnumAttribute("center")] + Center, + + [System.Xml.Serialization.XmlEnumAttribute("rim")] + Rim, + + [System.Xml.Serialization.XmlEnumAttribute("cymbal bell")] + CymbalBell, + + [System.Xml.Serialization.XmlEnumAttribute("cymbal edge")] + CymbalEdge, + } + + /// + /// The stick-material type represents the material being displayed in a stick pictogram. + /// + [System.ComponentModel.DescriptionAttribute("The stick-material type represents the material being displayed in a stick pictog" + + "ram.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("stick-material", Namespace="")] + public enum StickMaterial + { + + [System.Xml.Serialization.XmlEnumAttribute("soft")] + Soft, + + [System.Xml.Serialization.XmlEnumAttribute("medium")] + Medium, + + [System.Xml.Serialization.XmlEnumAttribute("hard")] + Hard, + + [System.Xml.Serialization.XmlEnumAttribute("shaded")] + Shaded, + + [System.Xml.Serialization.XmlEnumAttribute("x")] + X, + } + + /// + /// The stick-type type represents the shape of pictograms where the material in the stick, mallet, or beater is represented in the pictogram. + /// + [System.ComponentModel.DescriptionAttribute("The stick-type type represents the shape of pictograms where the material in the " + + "stick, mallet, or beater is represented in the pictogram.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("stick-type", Namespace="")] + public enum StickType + { + + [System.Xml.Serialization.XmlEnumAttribute("bass drum")] + BassDrum, + + [System.Xml.Serialization.XmlEnumAttribute("double bass drum")] + DoubleBassDrum, + + [System.Xml.Serialization.XmlEnumAttribute("glockenspiel")] + Glockenspiel, + + [System.Xml.Serialization.XmlEnumAttribute("gum")] + Gum, + + [System.Xml.Serialization.XmlEnumAttribute("hammer")] + Hammer, + + [System.Xml.Serialization.XmlEnumAttribute("superball")] + Superball, + + [System.Xml.Serialization.XmlEnumAttribute("timpani")] + Timpani, + + [System.Xml.Serialization.XmlEnumAttribute("wound")] + Wound, + + [System.Xml.Serialization.XmlEnumAttribute("xylophone")] + Xylophone, + + [System.Xml.Serialization.XmlEnumAttribute("yarn")] + Yarn, + } + + /// + /// The up-down-stop-continue type is used for octave-shift elements, indicating the direction of the shift from their true pitched values because of printing difficulty. + /// + [System.ComponentModel.DescriptionAttribute("The up-down-stop-continue type is used for octave-shift elements, indicating the " + + "direction of the shift from their true pitched values because of printing diffic" + + "ulty.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("up-down-stop-continue", Namespace="")] + public enum UpDownStopContinue + { + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + } + + /// + /// The wedge type is crescendo for the start of a wedge that is closed at the left side, diminuendo for the start of a wedge that is closed on the right side, and stop for the end of a wedge. The continue type is used for formatting wedges over a system break, or for other situations where a single wedge is divided into multiple segments. + /// + [System.ComponentModel.DescriptionAttribute(@"The wedge type is crescendo for the start of a wedge that is closed at the left side, diminuendo for the start of a wedge that is closed on the right side, and stop for the end of a wedge. The continue type is used for formatting wedges over a system break, or for other situations where a single wedge is divided into multiple segments.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("wedge-type", Namespace="")] + public enum WedgeType + { + + [System.Xml.Serialization.XmlEnumAttribute("crescendo")] + Crescendo, + + [System.Xml.Serialization.XmlEnumAttribute("diminuendo")] + Diminuendo, + + [System.Xml.Serialization.XmlEnumAttribute("stop")] + Stop, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + } + + /// + /// The wood-value type represents pictograms for wood percussion instruments. The maraca and maracas values distinguish the one- and two-maraca versions of the pictogram. + /// + [System.ComponentModel.DescriptionAttribute("The wood-value type represents pictograms for wood percussion instruments. The ma" + + "raca and maracas values distinguish the one- and two-maraca versions of the pict" + + "ogram.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("wood-value", Namespace="")] + public enum WoodValue + { + + [System.Xml.Serialization.XmlEnumAttribute("bamboo scraper")] + BambooScraper, + + [System.Xml.Serialization.XmlEnumAttribute("board clapper")] + BoardClapper, + + [System.Xml.Serialization.XmlEnumAttribute("cabasa")] + Cabasa, + + [System.Xml.Serialization.XmlEnumAttribute("castanets")] + Castanets, + + [System.Xml.Serialization.XmlEnumAttribute("castanets with handle")] + CastanetsWithHandle, + + [System.Xml.Serialization.XmlEnumAttribute("claves")] + Claves, + + [System.Xml.Serialization.XmlEnumAttribute("football rattle")] + FootballRattle, + + [System.Xml.Serialization.XmlEnumAttribute("guiro")] + Guiro, + + [System.Xml.Serialization.XmlEnumAttribute("log drum")] + LogDrum, + + [System.Xml.Serialization.XmlEnumAttribute("maraca")] + Maraca, + + [System.Xml.Serialization.XmlEnumAttribute("maracas")] + Maracas, + + [System.Xml.Serialization.XmlEnumAttribute("quijada")] + Quijada, + + [System.Xml.Serialization.XmlEnumAttribute("rainstick")] + Rainstick, + + [System.Xml.Serialization.XmlEnumAttribute("ratchet")] + Ratchet, + + [System.Xml.Serialization.XmlEnumAttribute("reco-reco")] + RecoReco, + + [System.Xml.Serialization.XmlEnumAttribute("sandpaper blocks")] + SandpaperBlocks, + + [System.Xml.Serialization.XmlEnumAttribute("slit drum")] + SlitDrum, + + [System.Xml.Serialization.XmlEnumAttribute("temple block")] + TempleBlock, + + [System.Xml.Serialization.XmlEnumAttribute("vibraslap")] + Vibraslap, + + [System.Xml.Serialization.XmlEnumAttribute("whip")] + Whip, + + [System.Xml.Serialization.XmlEnumAttribute("wood block")] + WoodBlock, + } + + /// + /// The margin-type type specifies whether margins apply to even page, odd pages, or both. + /// + [System.ComponentModel.DescriptionAttribute("The margin-type type specifies whether margins apply to even page, odd pages, or " + + "both.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("margin-type", Namespace="")] + public enum MarginType + { + + [System.Xml.Serialization.XmlEnumAttribute("odd")] + Odd, + + [System.Xml.Serialization.XmlEnumAttribute("even")] + Even, + + [System.Xml.Serialization.XmlEnumAttribute("both")] + Both, + } + + /// + /// The note-size-type type indicates the type of note being defined by a note-size element. The grace-cue type is used for notes of grace-cue size. The grace type is used for notes of cue size that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size. + /// + [System.ComponentModel.DescriptionAttribute(@"The note-size-type type indicates the type of note being defined by a note-size element. The grace-cue type is used for notes of grace-cue size. The grace type is used for notes of cue size that include a grace element. The cue type is used for all other notes with cue size, whether defined explicitly or implicitly via a cue element. The large type is used for notes of large size.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("note-size-type", Namespace="")] + public enum NoteSizeType + { + + [System.Xml.Serialization.XmlEnumAttribute("cue")] + Cue, + + [System.Xml.Serialization.XmlEnumAttribute("grace")] + Grace, + + [System.Xml.Serialization.XmlEnumAttribute("grace-cue")] + GraceCue, + + [System.Xml.Serialization.XmlEnumAttribute("large")] + Large, + } + + /// + /// The accidental-value type represents notated accidentals supported by MusicXML. In the MusicXML 2.0 DTD this was a string with values that could be included. The XSD strengthens the data typing to an enumerated list. The quarter- and three-quarters- accidentals are Tartini-style quarter-tone accidentals. The -down and -up accidentals are quarter-tone accidentals that include arrows pointing down or up. The slash- accidentals are used in Turkish classical music. The numbered sharp and flat accidentals are superscripted versions of the accidental signs, used in Turkish folk music. The sori and koron accidentals are microtonal sharp and flat accidentals used in Iranian and Persian music. The other accidental covers accidentals other than those listed here. It is usually used in combination with the smufl attribute to specify a particular SMuFL accidental. The smufl attribute may be used with any accidental value to help specify the appearance of symbols that share the same MusicXML semantics. + /// + [System.ComponentModel.DescriptionAttribute(@"The accidental-value type represents notated accidentals supported by MusicXML. In the MusicXML 2.0 DTD this was a string with values that could be included. The XSD strengthens the data typing to an enumerated list. The quarter- and three-quarters- accidentals are Tartini-style quarter-tone accidentals. The -down and -up accidentals are quarter-tone accidentals that include arrows pointing down or up. The slash- accidentals are used in Turkish classical music. The numbered sharp and flat accidentals are superscripted versions of the accidental signs, used in Turkish folk music. The sori and koron accidentals are microtonal sharp and flat accidentals used in Iranian and Persian music. The other accidental covers accidentals other than those listed here. It is usually used in combination with the smufl attribute to specify a particular SMuFL accidental. The smufl attribute may be used with any accidental value to help specify the appearance of symbols that share the same MusicXML semantics.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("accidental-value", Namespace="")] + public enum AccidentalValue + { + + [System.Xml.Serialization.XmlEnumAttribute("sharp")] + Sharp, + + [System.Xml.Serialization.XmlEnumAttribute("natural")] + Natural, + + [System.Xml.Serialization.XmlEnumAttribute("flat")] + Flat, + + [System.Xml.Serialization.XmlEnumAttribute("double-sharp")] + DoubleSharp, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-sharp")] + SharpSharp, + + [System.Xml.Serialization.XmlEnumAttribute("flat-flat")] + FlatFlat, + + [System.Xml.Serialization.XmlEnumAttribute("natural-sharp")] + NaturalSharp, + + [System.Xml.Serialization.XmlEnumAttribute("natural-flat")] + NaturalFlat, + + [System.Xml.Serialization.XmlEnumAttribute("quarter-flat")] + QuarterFlat, + + [System.Xml.Serialization.XmlEnumAttribute("quarter-sharp")] + QuarterSharp, + + [System.Xml.Serialization.XmlEnumAttribute("three-quarters-flat")] + ThreeQuartersFlat, + + [System.Xml.Serialization.XmlEnumAttribute("three-quarters-sharp")] + ThreeQuartersSharp, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-down")] + SharpDown, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-up")] + SharpUp, + + [System.Xml.Serialization.XmlEnumAttribute("natural-down")] + NaturalDown, + + [System.Xml.Serialization.XmlEnumAttribute("natural-up")] + NaturalUp, + + [System.Xml.Serialization.XmlEnumAttribute("flat-down")] + FlatDown, + + [System.Xml.Serialization.XmlEnumAttribute("flat-up")] + FlatUp, + + [System.Xml.Serialization.XmlEnumAttribute("double-sharp-down")] + DoubleSharpDown, + + [System.Xml.Serialization.XmlEnumAttribute("double-sharp-up")] + DoubleSharpUp, + + [System.Xml.Serialization.XmlEnumAttribute("flat-flat-down")] + FlatFlatDown, + + [System.Xml.Serialization.XmlEnumAttribute("flat-flat-up")] + FlatFlatUp, + + [System.Xml.Serialization.XmlEnumAttribute("arrow-down")] + ArrowDown, + + [System.Xml.Serialization.XmlEnumAttribute("arrow-up")] + ArrowUp, + + [System.Xml.Serialization.XmlEnumAttribute("triple-sharp")] + TripleSharp, + + [System.Xml.Serialization.XmlEnumAttribute("triple-flat")] + TripleFlat, + + [System.Xml.Serialization.XmlEnumAttribute("slash-quarter-sharp")] + SlashQuarterSharp, + + [System.Xml.Serialization.XmlEnumAttribute("slash-sharp")] + SlashSharp, + + [System.Xml.Serialization.XmlEnumAttribute("slash-flat")] + SlashFlat, + + [System.Xml.Serialization.XmlEnumAttribute("double-slash-flat")] + DoubleSlashFlat, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-1")] + Sharp1, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-2")] + Sharp2, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-3")] + Sharp3, + + [System.Xml.Serialization.XmlEnumAttribute("sharp-5")] + Sharp5, + + [System.Xml.Serialization.XmlEnumAttribute("flat-1")] + Flat1, + + [System.Xml.Serialization.XmlEnumAttribute("flat-2")] + Flat2, + + [System.Xml.Serialization.XmlEnumAttribute("flat-3")] + Flat3, + + [System.Xml.Serialization.XmlEnumAttribute("flat-4")] + Flat4, + + [System.Xml.Serialization.XmlEnumAttribute("sori")] + Sori, + + [System.Xml.Serialization.XmlEnumAttribute("koron")] + Koron, + + [System.Xml.Serialization.XmlEnumAttribute("other")] + Other, + } + + /// + /// The arrow-direction type represents the direction in which an arrow points, using Unicode arrow terminology. + /// + [System.ComponentModel.DescriptionAttribute("The arrow-direction type represents the direction in which an arrow points, using" + + " Unicode arrow terminology.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("arrow-direction", Namespace="")] + public enum ArrowDirection + { + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("northwest")] + Northwest, + + [System.Xml.Serialization.XmlEnumAttribute("northeast")] + Northeast, + + [System.Xml.Serialization.XmlEnumAttribute("southeast")] + Southeast, + + [System.Xml.Serialization.XmlEnumAttribute("southwest")] + Southwest, + + [System.Xml.Serialization.XmlEnumAttribute("left right")] + LeftRight, + + [System.Xml.Serialization.XmlEnumAttribute("up down")] + UpDown, + + [System.Xml.Serialization.XmlEnumAttribute("northwest southeast")] + NorthwestSoutheast, + + [System.Xml.Serialization.XmlEnumAttribute("northeast southwest")] + NortheastSouthwest, + + [System.Xml.Serialization.XmlEnumAttribute("other")] + Other, + } + + /// + /// The arrow-style type represents the style of an arrow, using Unicode arrow terminology. Filled and hollow arrows indicate polygonal single arrows. Paired arrows are duplicate single arrows in the same direction. Combined arrows apply to double direction arrows like left right, indicating that an arrow in one direction should be combined with an arrow in the other direction. + /// + [System.ComponentModel.DescriptionAttribute(@"The arrow-style type represents the style of an arrow, using Unicode arrow terminology. Filled and hollow arrows indicate polygonal single arrows. Paired arrows are duplicate single arrows in the same direction. Combined arrows apply to double direction arrows like left right, indicating that an arrow in one direction should be combined with an arrow in the other direction.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("arrow-style", Namespace="")] + public enum ArrowStyle + { + + [System.Xml.Serialization.XmlEnumAttribute("single")] + Single, + + [System.Xml.Serialization.XmlEnumAttribute("double")] + Double, + + [System.Xml.Serialization.XmlEnumAttribute("filled")] + Filled, + + [System.Xml.Serialization.XmlEnumAttribute("hollow")] + Hollow, + + [System.Xml.Serialization.XmlEnumAttribute("paired")] + Paired, + + [System.Xml.Serialization.XmlEnumAttribute("combined")] + Combined, + + [System.Xml.Serialization.XmlEnumAttribute("other")] + Other, + } + + /// + /// The beam-value type represents the type of beam associated with each of 8 beam levels (up to 1024th notes) available for each note. + /// + [System.ComponentModel.DescriptionAttribute("The beam-value type represents the type of beam associated with each of 8 beam le" + + "vels (up to 1024th notes) available for each note.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("beam-value", Namespace="")] + public enum BeamValue + { + + [System.Xml.Serialization.XmlEnumAttribute("begin")] + Begin, + + [System.Xml.Serialization.XmlEnumAttribute("continue")] + Continue, + + [System.Xml.Serialization.XmlEnumAttribute("end")] + End, + + [System.Xml.Serialization.XmlEnumAttribute("forward hook")] + ForwardHook, + + [System.Xml.Serialization.XmlEnumAttribute("backward hook")] + BackwardHook, + } + + /// + /// The bend-shape type distinguishes between the angled bend symbols commonly used in standard notation and the curved bend symbols commonly used in both tablature and standard notation. + /// + [System.ComponentModel.DescriptionAttribute("The bend-shape type distinguishes between the angled bend symbols commonly used i" + + "n standard notation and the curved bend symbols commonly used in both tablature " + + "and standard notation.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("bend-shape", Namespace="")] + public enum BendShape + { + + [System.Xml.Serialization.XmlEnumAttribute("angled")] + Angled, + + [System.Xml.Serialization.XmlEnumAttribute("curved")] + Curved, + } + + /// + /// The breath-mark-value type represents the symbol used for a breath mark. + /// + [System.ComponentModel.DescriptionAttribute("The breath-mark-value type represents the symbol used for a breath mark.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("breath-mark-value", Namespace="")] + public enum BreathMarkValue + { + + [System.Xml.Serialization.XmlEnumAttribute("")] + Empty, + + [System.Xml.Serialization.XmlEnumAttribute("comma")] + Comma, + + [System.Xml.Serialization.XmlEnumAttribute("tick")] + Tick, + + [System.Xml.Serialization.XmlEnumAttribute("upbow")] + Upbow, + + [System.Xml.Serialization.XmlEnumAttribute("salzedo")] + Salzedo, + } + + /// + /// The caesura-value type represents the shape of the caesura sign. + /// + [System.ComponentModel.DescriptionAttribute("The caesura-value type represents the shape of the caesura sign.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("caesura-value", Namespace="")] + public enum CaesuraValue + { + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + + [System.Xml.Serialization.XmlEnumAttribute("thick")] + Thick, + + [System.Xml.Serialization.XmlEnumAttribute("short")] + Short, + + [System.Xml.Serialization.XmlEnumAttribute("curved")] + Curved, + + [System.Xml.Serialization.XmlEnumAttribute("single")] + Single, + + [System.Xml.Serialization.XmlEnumAttribute("")] + Empty, + } + + /// + /// The circular-arrow type represents the direction in which a circular arrow points, using Unicode arrow terminology. + /// + [System.ComponentModel.DescriptionAttribute("The circular-arrow type represents the direction in which a circular arrow points" + + ", using Unicode arrow terminology.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("circular-arrow", Namespace="")] + public enum CircularArrow + { + + [System.Xml.Serialization.XmlEnumAttribute("clockwise")] + Clockwise, + + [System.Xml.Serialization.XmlEnumAttribute("anticlockwise")] + Anticlockwise, + } + + /// + /// The fan type represents the type of beam fanning present on a note, used to represent accelerandos and ritardandos. + /// + [System.ComponentModel.DescriptionAttribute("The fan type represents the type of beam fanning present on a note, used to repre" + + "sent accelerandos and ritardandos.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("fan", Namespace="")] + public enum Fan + { + + [System.Xml.Serialization.XmlEnumAttribute("accel")] + Accel, + + [System.Xml.Serialization.XmlEnumAttribute("rit")] + Rit, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The handbell-value type represents the type of handbell technique being notated. + /// + [System.ComponentModel.DescriptionAttribute("The handbell-value type represents the type of handbell technique being notated.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("handbell-value", Namespace="")] + public enum HandbellValue + { + + [System.Xml.Serialization.XmlEnumAttribute("belltree")] + Belltree, + + [System.Xml.Serialization.XmlEnumAttribute("damp")] + Damp, + + [System.Xml.Serialization.XmlEnumAttribute("echo")] + Echo, + + [System.Xml.Serialization.XmlEnumAttribute("gyro")] + Gyro, + + [System.Xml.Serialization.XmlEnumAttribute("hand martellato")] + HandMartellato, + + [System.Xml.Serialization.XmlEnumAttribute("mallet lift")] + MalletLift, + + [System.Xml.Serialization.XmlEnumAttribute("mallet table")] + MalletTable, + + [System.Xml.Serialization.XmlEnumAttribute("martellato")] + Martellato, + + [System.Xml.Serialization.XmlEnumAttribute("martellato lift")] + MartellatoLift, + + [System.Xml.Serialization.XmlEnumAttribute("muted martellato")] + MutedMartellato, + + [System.Xml.Serialization.XmlEnumAttribute("pluck lift")] + PluckLift, + + [System.Xml.Serialization.XmlEnumAttribute("swing")] + Swing, + } + + /// + /// The harmon-closed-location type indicates which portion of the symbol is filled in when the corresponding harmon-closed-value is half. + /// + [System.ComponentModel.DescriptionAttribute("The harmon-closed-location type indicates which portion of the symbol is filled i" + + "n when the corresponding harmon-closed-value is half.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("harmon-closed-location", Namespace="")] + public enum HarmonClosedLocation + { + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("bottom")] + Bottom, + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("top")] + Top, + } + + /// + /// The harmon-closed-value type represents whether the harmon mute is closed, open, or half-open. + /// + [System.ComponentModel.DescriptionAttribute("The harmon-closed-value type represents whether the harmon mute is closed, open, " + + "or half-open.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("harmon-closed-value", Namespace="")] + public enum HarmonClosedValue + { + + [System.Xml.Serialization.XmlEnumAttribute("yes")] + Yes, + + [System.Xml.Serialization.XmlEnumAttribute("no")] + No, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + } + + /// + /// The hole-closed-location type indicates which portion of the hole is filled in when the corresponding hole-closed-value is half. + /// + [System.ComponentModel.DescriptionAttribute("The hole-closed-location type indicates which portion of the hole is filled in wh" + + "en the corresponding hole-closed-value is half.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("hole-closed-location", Namespace="")] + public enum HoleClosedLocation + { + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + + [System.Xml.Serialization.XmlEnumAttribute("bottom")] + Bottom, + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("top")] + Top, + } + + /// + /// The hole-closed-value type represents whether the hole is closed, open, or half-open. + /// + [System.ComponentModel.DescriptionAttribute("The hole-closed-value type represents whether the hole is closed, open, or half-o" + + "pen.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("hole-closed-value", Namespace="")] + public enum HoleClosedValue + { + + [System.Xml.Serialization.XmlEnumAttribute("yes")] + Yes, + + [System.Xml.Serialization.XmlEnumAttribute("no")] + No, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + } + + /// + /// The note-type-value type is used for the MusicXML type element and represents the graphic note type, from 1024th (shortest) to maxima (longest). + /// + [System.ComponentModel.DescriptionAttribute("The note-type-value type is used for the MusicXML type element and represents the" + + " graphic note type, from 1024th (shortest) to maxima (longest).")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("note-type-value", Namespace="")] + public enum NoteTypeValue + { + + [System.Xml.Serialization.XmlEnumAttribute("1024th")] + Item1024Th, + + [System.Xml.Serialization.XmlEnumAttribute("512th")] + Item512Th, + + [System.Xml.Serialization.XmlEnumAttribute("256th")] + Item256Th, + + [System.Xml.Serialization.XmlEnumAttribute("128th")] + Item128Th, + + [System.Xml.Serialization.XmlEnumAttribute("64th")] + Item64Th, + + [System.Xml.Serialization.XmlEnumAttribute("32nd")] + Item32Nd, + + [System.Xml.Serialization.XmlEnumAttribute("16th")] + Item16Th, + + [System.Xml.Serialization.XmlEnumAttribute("eighth")] + Eighth, + + [System.Xml.Serialization.XmlEnumAttribute("quarter")] + Quarter, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + + [System.Xml.Serialization.XmlEnumAttribute("whole")] + Whole, + + [System.Xml.Serialization.XmlEnumAttribute("breve")] + Breve, + + [System.Xml.Serialization.XmlEnumAttribute("long")] + Long, + + [System.Xml.Serialization.XmlEnumAttribute("maxima")] + Maxima, + } + + /// + /// The notehead-value type indicates shapes other than the open and closed ovals associated with note durations. + /// + ///The values do, re, mi, fa, fa up, so, la, and ti correspond to Aikin's 7-shape system. The fa up shape is typically used with upstems; the fa shape is typically used with downstems or no stems. + /// + ///The arrow shapes differ from triangle and inverted triangle by being centered on the stem. Slashed and back slashed notes include both the normal notehead and a slash. The triangle shape has the tip of the triangle pointing up; the inverted triangle shape has the tip of the triangle pointing down. The left triangle shape is a right triangle with the hypotenuse facing up and to the left. + /// + ///The other notehead covers noteheads other than those listed here. It is usually used in combination with the smufl attribute to specify a particular SMuFL notehead. The smufl attribute may be used with any notehead value to help specify the appearance of symbols that share the same MusicXML semantics. Noteheads in the SMuFL Note name noteheads and Note name noteheads supplement ranges (U+E150–U+E1AF and U+EEE0–U+EEFF) should not use the smufl attribute or the "other" value, but instead use the notehead-text element. + /// + [System.ComponentModel.DescriptionAttribute(@"The notehead-value type indicates shapes other than the open and closed ovals associated with note durations. The values do, re, mi, fa, fa up, so, la, and ti correspond to Aikin's 7-shape system. The fa up shape is typically used with upstems; the fa shape is typically used with downstems or no stems. The arrow shapes differ from triangle and inverted triangle by being centered on the stem. Slashed and back slashed notes include both the normal notehead and a slash. The triangle shape has the tip of the triangle pointing up; the inverted triangle shape has the tip of the triangle pointing down. The left triangle shape is a right triangle with the hypotenuse facing up and to the left. The other notehead covers noteheads other than those listed here. It is usually used in combination with the smufl attribute to specify a particular SMuFL notehead. The smufl attribute may be used with any notehead value to help specify the appearance of symbols that share the same MusicXML semantics. Noteheads in the SMuFL Note name noteheads and Note name noteheads supplement ranges (U+E150–U+E1AF and U+EEE0–U+EEFF) should not use the smufl attribute or the ""other"" value, but instead use the notehead-text element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("notehead-value", Namespace="")] + public enum NoteheadValue + { + + [System.Xml.Serialization.XmlEnumAttribute("slash")] + Slash, + + [System.Xml.Serialization.XmlEnumAttribute("triangle")] + Triangle, + + [System.Xml.Serialization.XmlEnumAttribute("diamond")] + Diamond, + + [System.Xml.Serialization.XmlEnumAttribute("square")] + Square, + + [System.Xml.Serialization.XmlEnumAttribute("cross")] + Cross, + + [System.Xml.Serialization.XmlEnumAttribute("x")] + X, + + [System.Xml.Serialization.XmlEnumAttribute("circle-x")] + CircleX, + + [System.Xml.Serialization.XmlEnumAttribute("inverted triangle")] + InvertedTriangle, + + [System.Xml.Serialization.XmlEnumAttribute("arrow down")] + ArrowDown, + + [System.Xml.Serialization.XmlEnumAttribute("arrow up")] + ArrowUp, + + [System.Xml.Serialization.XmlEnumAttribute("circled")] + Circled, + + [System.Xml.Serialization.XmlEnumAttribute("slashed")] + Slashed, + + [System.Xml.Serialization.XmlEnumAttribute("back slashed")] + BackSlashed, + + [System.Xml.Serialization.XmlEnumAttribute("normal")] + Normal, + + [System.Xml.Serialization.XmlEnumAttribute("cluster")] + Cluster, + + [System.Xml.Serialization.XmlEnumAttribute("circle dot")] + CircleDot, + + [System.Xml.Serialization.XmlEnumAttribute("left triangle")] + LeftTriangle, + + [System.Xml.Serialization.XmlEnumAttribute("rectangle")] + Rectangle, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("do")] + Do, + + [System.Xml.Serialization.XmlEnumAttribute("re")] + Re, + + [System.Xml.Serialization.XmlEnumAttribute("mi")] + Mi, + + [System.Xml.Serialization.XmlEnumAttribute("fa")] + Fa, + + [System.Xml.Serialization.XmlEnumAttribute("fa up")] + FaUp, + + [System.Xml.Serialization.XmlEnumAttribute("so")] + So, + + [System.Xml.Serialization.XmlEnumAttribute("la")] + La, + + [System.Xml.Serialization.XmlEnumAttribute("ti")] + Ti, + + [System.Xml.Serialization.XmlEnumAttribute("other")] + Other, + } + + /// + /// The show-tuplet type indicates whether to show a part of a tuplet relating to the tuplet-actual element, both the tuplet-actual and tuplet-normal elements, or neither. + /// + [System.ComponentModel.DescriptionAttribute("The show-tuplet type indicates whether to show a part of a tuplet relating to the" + + " tuplet-actual element, both the tuplet-actual and tuplet-normal elements, or ne" + + "ither.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("show-tuplet", Namespace="")] + public enum ShowTuplet + { + + [System.Xml.Serialization.XmlEnumAttribute("actual")] + Actual, + + [System.Xml.Serialization.XmlEnumAttribute("both")] + Both, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The stem-value type represents the notated stem direction. + /// + [System.ComponentModel.DescriptionAttribute("The stem-value type represents the notated stem direction.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("stem-value", Namespace="")] + public enum StemValue + { + + [System.Xml.Serialization.XmlEnumAttribute("down")] + Down, + + [System.Xml.Serialization.XmlEnumAttribute("up")] + Up, + + [System.Xml.Serialization.XmlEnumAttribute("double")] + Double, + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + } + + /// + /// The step type represents a step of the diatonic scale, represented using the English letters A through G. + /// + [System.ComponentModel.DescriptionAttribute("The step type represents a step of the diatonic scale, represented using the Engl" + + "ish letters A through G.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("step", Namespace="")] + public enum Step + { + + A, + + B, + + C, + + D, + + E, + + F, + + G, + } + + /// + /// Lyric hyphenation is indicated by the syllabic type. The single, begin, end, and middle values represent single-syllable words, word-beginning syllables, word-ending syllables, and mid-word syllables, respectively. + /// + [System.ComponentModel.DescriptionAttribute("Lyric hyphenation is indicated by the syllabic type. The single, begin, end, and " + + "middle values represent single-syllable words, word-beginning syllables, word-en" + + "ding syllables, and mid-word syllables, respectively.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("syllabic", Namespace="")] + public enum Syllabic + { + + [System.Xml.Serialization.XmlEnumAttribute("single")] + Single, + + [System.Xml.Serialization.XmlEnumAttribute("begin")] + Begin, + + [System.Xml.Serialization.XmlEnumAttribute("end")] + End, + + [System.Xml.Serialization.XmlEnumAttribute("middle")] + Middle, + } + + /// + /// The tap-hand type represents the symbol to use for a tap element. The left and right values refer to the SMuFL guitarLeftHandTapping and guitarRightHandTapping glyphs respectively. + /// + [System.ComponentModel.DescriptionAttribute("The tap-hand type represents the symbol to use for a tap element. The left and ri" + + "ght values refer to the SMuFL guitarLeftHandTapping and guitarRightHandTapping g" + + "lyphs respectively.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("tap-hand", Namespace="")] + public enum TapHand + { + + [System.Xml.Serialization.XmlEnumAttribute("left")] + Left, + + [System.Xml.Serialization.XmlEnumAttribute("right")] + Right, + } + + /// + /// The group-barline-value type indicates if the group should have common barlines. + /// + [System.ComponentModel.DescriptionAttribute("The group-barline-value type indicates if the group should have common barlines.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("group-barline-value", Namespace="")] + public enum GroupBarlineValue + { + + [System.Xml.Serialization.XmlEnumAttribute("yes")] + Yes, + + [System.Xml.Serialization.XmlEnumAttribute("no")] + No, + + Mensurstrich, + } + + /// + /// The group-symbol-value type indicates how the symbol for a group or multi-staff part is indicated in the score. + /// + [System.ComponentModel.DescriptionAttribute("The group-symbol-value type indicates how the symbol for a group or multi-staff p" + + "art is indicated in the score.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("group-symbol-value", Namespace="")] + public enum GroupSymbolValue + { + + [System.Xml.Serialization.XmlEnumAttribute("none")] + None, + + [System.Xml.Serialization.XmlEnumAttribute("brace")] + Brace, + + [System.Xml.Serialization.XmlEnumAttribute("line")] + Line, + + [System.Xml.Serialization.XmlEnumAttribute("bracket")] + Bracket, + + [System.Xml.Serialization.XmlEnumAttribute("square")] + Square, + } + + /// + /// The swing-type-value type specifies the note type, either eighth or 16th, to which the ratio defined in the swing element is applied. + /// + [System.ComponentModel.DescriptionAttribute("The swing-type-value type specifies the note type, either eighth or 16th, to whic" + + "h the ratio defined in the swing element is applied.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("swing-type-value", Namespace="")] + public enum SwingTypeValue + { + + [System.Xml.Serialization.XmlEnumAttribute("1024th")] + Item1024Th, + + [System.Xml.Serialization.XmlEnumAttribute("512th")] + Item512Th, + + [System.Xml.Serialization.XmlEnumAttribute("256th")] + Item256Th, + + [System.Xml.Serialization.XmlEnumAttribute("128th")] + Item128Th, + + [System.Xml.Serialization.XmlEnumAttribute("64th")] + Item64Th, + + [System.Xml.Serialization.XmlEnumAttribute("32nd")] + Item32Nd, + + [System.Xml.Serialization.XmlEnumAttribute("16th")] + Item16Th, + + [System.Xml.Serialization.XmlEnumAttribute("eighth")] + Eighth, + + [System.Xml.Serialization.XmlEnumAttribute("quarter")] + Quarter, + + [System.Xml.Serialization.XmlEnumAttribute("half")] + Half, + + [System.Xml.Serialization.XmlEnumAttribute("whole")] + Whole, + + [System.Xml.Serialization.XmlEnumAttribute("breve")] + Breve, + + [System.Xml.Serialization.XmlEnumAttribute("long")] + Long, + + [System.Xml.Serialization.XmlEnumAttribute("maxima")] + Maxima, + } + + /// + /// The accidental-text type represents an element with an accidental value and text-formatting attributes. + /// + [System.ComponentModel.DescriptionAttribute("The accidental-text type represents an element with an accidental value and text-" + + "formatting attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("accidental-text", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AccidentalText : ITextFormatting + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public AccidentalValue Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("justify")] + public LeftCenterRight Justify { get; set; } + + /// + /// Gets or sets a value indicating whether the Justify property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool JustifySpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlAttributeAttribute("rotation")] + public decimal Rotation { get; set; } + + /// + /// Gets or sets a value indicating whether the Rotation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RotationSpecified { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("letter-spacing")] + public string LetterSpacing { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("line-height")] + public string LineHeight { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("lang", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public string Lang { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("space", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public OpenUtau.Core.Format.MusicXMLSchema.Space Space { get; set; } + + /// + /// Gets or sets a value indicating whether the Space property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SpaceSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("dir")] + public TextDirection Dir { get; set; } + + /// + /// Gets or sets a value indicating whether the Dir property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DirSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + + /// + /// The smufl-accidental-glyph-name type is used to reference a specific Standard Music Font Layout (SMuFL) accidental character. The value is a SMuFL canonical glyph name that starts with one of the strings used at the start of glyph names for SMuFL accidentals. + /// Pattern: (acc|medRenFla|medRenNatura|medRenShar|kievanAccidental)(\c+). + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("(acc|medRenFla|medRenNatura|medRenShar|kievanAccidental)(\\c+)")] + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + } + + /// + /// The text-formatting attribute group collects the common formatting attributes for text elements. Default values may differ across the elements that use this group. + /// + [System.ComponentModel.DescriptionAttribute("The text-formatting attribute group collects the common formatting attributes for" + + " text elements. Default values may differ across the elements that use this grou" + + "p.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ITextFormatting : IJustify, IPrintStyleAlign, ITextDecoration, ITextRotation, ILetterSpacing, ILineHeight, ITextDirection, IEnclosure + { + + string Lang + { + get; + set; + } + + OpenUtau.Core.Format.MusicXMLSchema.Space Space + { + get; + set; + } + } + + /// + /// The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements. For elements where the justify attribute is present but the halign attribute is not, the justify attribute indicates horizontal alignment as well as justification. + /// + [System.ComponentModel.DescriptionAttribute(@"The justify attribute is used to indicate left, center, or right justification. The default value varies for different elements. For elements where the justify attribute is present but the halign attribute is not, the justify attribute indicates horizontal alignment as well as justification.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IJustify + { + + LeftCenterRight Justify + { + get; + set; + } + } + + /// + /// The print-style-align attribute group adds the halign and valign attributes to the position, font, and color attributes. + /// + [System.ComponentModel.DescriptionAttribute("The print-style-align attribute group adds the halign and valign attributes to th" + + "e position, font, and color attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IPrintStyleAlign : IPrintStyle, IHalign, IValign + { + } + + /// + /// The print-style attribute group collects the most popular combination of printing attributes: position, font, and color. + /// + [System.ComponentModel.DescriptionAttribute("The print-style attribute group collects the most popular combination of printing" + + " attributes: position, font, and color.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IPrintStyle : IPosition, IFont, IColor + { + } + + /// + /// For most elements, any program will compute a default x and y position. The position attributes let this be changed two ways. + /// + ///The default-x and default-y attributes change the computation of the default position. For most elements, the origin is changed relative to the left-hand side of the note or the musical position within the bar (x) and the top line of the staff (y). + /// + ///For the following elements, the default-x value changes the origin relative to the start of the current measure: + /// + /// - note + /// - figured-bass + /// - harmony + /// - link + /// - directive + /// - measure-numbering + /// - all descendants of the part-list element + /// - all children of the direction-type element + /// + ///This origin is from the start of the entire measure, at either the left barline or the start of the system. + /// + ///When the default-x attribute is used within a child element of the part-name-display, part-abbreviation-display, group-name-display, or group-abbreviation-display elements, it changes the origin relative to the start of the first measure on the system. These values are used when the current measure or a succeeding measure starts a new system. The same change of origin is used for the group-symbol element. + /// + ///For the note, figured-bass, and harmony elements, the default-x value is considered to have adjusted the musical position within the bar for its descendant elements. + /// + ///Since the credit-words and credit-image elements are not related to a measure, in these cases the default-x and default-y attributes adjust the origin relative to the bottom left-hand corner of the specified page. + /// + ///The relative-x and relative-y attributes change the position relative to the default position, either as computed by the individual program, or as overridden by the default-x and default-y attributes. + /// + ///Positive x is right, negative x is left; positive y is up, negative y is down. All units are in tenths of interline space. For stems, positive relative-y lengthens a stem while negative relative-y shortens it. + /// + ///The default-x and default-y position attributes provide higher-resolution positioning data than related features such as the placement attribute and the offset element. Applications reading a MusicXML file that can understand both features should generally rely on the default-x and default-y attributes for their greater accuracy. For the relative-x and relative-y attributes, the offset element, placement attribute, and directive attribute provide context for the relative position information, so the two features should be interpreted together. + /// + ///As elsewhere in the MusicXML format, tenths are the global tenths defined by the scaling element, not the local tenths of a staff resized by the staff-size element. + /// + [System.ComponentModel.DescriptionAttribute("For most elements, any program will compute a default x and y position. The posit" + + "ion attributes let this be changed two ways. The default-x and default-y attribu" + + "tes change the computation of the default position. For most elements, the origi" + + "n is changed relative to the left-hand side of the note or the musical position " + + "within the bar (x) and the top line of the staff (y). For the following elements" + + ", the default-x value changes the origin relative to the start of the current me" + + "asure: - note - figured-bass - harmony - link - directive - measure-numbering - " + + "all descendants of the part-list element - all children of the direction-type el" + + "ement This origin is from the start of the entire measure, at either the left ba" + + "rline or the start of the system. When the default-x attribute is used within a " + + "child element of the part-name-display, part-abbreviation-display, group-name-di" + + "splay, or group-abbreviation-display elements, it changes the origin relative to" + + " the start of the first measure on the system. These values are used when the cu" + + "rrent measure or a succeeding measure starts a new system. The same change of or" + + "igin is used for the group-symbol element. For the note, figured-bass, and harmo" + + "ny elements, the default-x value is considered to have adjusted the musical posi" + + "tion within the bar for its descendant elements. Since the credit-words and cred" + + "it-image elements are not related to a measure, in these cases the default-x and" + + " default-y attributes adjust the origin relative to the bottom left-hand corner " + + "of the specified page. The relative-x and relative-y attributes change the posit" + + "ion relative to the default position, either as computed by the individual progr" + + "am, or as overridden by the default-x and default-y attributes. Positive x is ri" + + "ght, negative x is left; positive y is up, negative y is down. All units are in " + + "tenths of interline space. For stems, positive relative-y lengthens a stem while" + + " negative relative-y shortens it. The default-x and default-y position attribute" + + "s provide higher-resolution positioning data than related features such as the p" + + "lacement attribute and the offset element. Applications reading a MusicXML file " + + "that can understand both features should generally rely on the default-x and def" + + "ault-y attributes for their greater accuracy. For the relative-x and relative-y " + + "attributes, the offset element, placement attribute, and directive attribute pro" + + "vide context for the relative position information, so the two features should b" + + "e interpreted together. As elsewhere in the MusicXML format, tenths are the glob" + + "al tenths defined by the scaling element, not the local tenths of a staff resize" + + "d by the staff-size element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IPosition + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + decimal DefaultX + { + get; + set; + } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + decimal DefaultY + { + get; + set; + } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + decimal RelativeX + { + get; + set; + } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + decimal RelativeY + { + get; + set; + } + } + + /// + /// The font attribute group gathers together attributes for determining the font within a credit or direction. They are based on the text styles for Cascading Style Sheets. The font-family is a comma-separated list of font names.The font-style can be normal or italic. The font-size can be one of the CSS sizes or a numeric point size. The font-weight can be normal or bold. The default is application-dependent, but is a text font vs. a music font. + /// + [System.ComponentModel.DescriptionAttribute(@"The font attribute group gathers together attributes for determining the font within a credit or direction. They are based on the text styles for Cascading Style Sheets. The font-family is a comma-separated list of font names.The font-style can be normal or italic. The font-size can be one of the CSS sizes or a numeric point size. The font-weight can be normal or bold. The default is application-dependent, but is a text font vs. a music font.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IFont + { + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + string FontFamily + { + get; + set; + } + + FontStyle FontStyle + { + get; + set; + } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + string FontSize + { + get; + set; + } + + FontWeight FontWeight + { + get; + set; + } + } + + /// + /// The color attribute group indicates the color of an element. + /// + [System.ComponentModel.DescriptionAttribute("The color attribute group indicates the color of an element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IColor + { + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + string Color + { + get; + set; + } + } + + /// + /// In cases where text extends over more than one line, horizontal alignment and justify values can be different. The most typical case is for credits, such as: + /// + /// Words and music by + /// Pat Songwriter + /// + ///Typically this type of credit is aligned to the right, so that the position information refers to the right-most part of the text. But in this example, the text is center-justified, not right-justified. + /// + ///The halign attribute is used in these situations. If it is not present, its value is the same as for the justify attribute. For elements where a justify attribute is not allowed, the default is implementation-dependent. + /// + [System.ComponentModel.DescriptionAttribute(@"In cases where text extends over more than one line, horizontal alignment and justify values can be different. The most typical case is for credits, such as: Words and music by Pat Songwriter Typically this type of credit is aligned to the right, so that the position information refers to the right-most part of the text. But in this example, the text is center-justified, not right-justified. The halign attribute is used in these situations. If it is not present, its value is the same as for the justify attribute. For elements where a justify attribute is not allowed, the default is implementation-dependent.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IHalign + { + + LeftCenterRight Halign + { + get; + set; + } + } + + /// + /// The valign attribute is used to indicate vertical alignment to the top, middle, bottom, or baseline of the text. Defaults are implementation-dependent. + /// + [System.ComponentModel.DescriptionAttribute("The valign attribute is used to indicate vertical alignment to the top, middle, b" + + "ottom, or baseline of the text. Defaults are implementation-dependent.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IValign + { + + Valign Valign + { + get; + set; + } + } + + /// + /// The text-decoration attribute group is based on the similar feature in XHTML and CSS. It allows for text to be underlined, overlined, or struck-through. It extends the CSS version by allow double or triple lines instead of just being on or off. + /// + [System.ComponentModel.DescriptionAttribute("The text-decoration attribute group is based on the similar feature in XHTML and " + + "CSS. It allows for text to be underlined, overlined, or struck-through. It exten" + + "ds the CSS version by allow double or triple lines instead of just being on or o" + + "ff.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ITextDecoration + { + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + byte Underline + { + get; + set; + } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + byte Overline + { + get; + set; + } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + byte LineThrough + { + get; + set; + } + } + + /// + /// The rotation attribute is used to rotate text around the alignment point specified by the halign and valign attributes. Positive values are clockwise rotations, while negative values are counter-clockwise rotations. + /// + [System.ComponentModel.DescriptionAttribute("The rotation attribute is used to rotate text around the alignment point specifie" + + "d by the halign and valign attributes. Positive values are clockwise rotations, " + + "while negative values are counter-clockwise rotations.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ITextRotation + { + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + decimal Rotation + { + get; + set; + } + } + + /// + /// The letter-spacing attribute specifies text tracking. Values are either "normal" or a number representing the number of ems to add between each letter. The number may be negative in order to subtract space. The default is normal, which allows flexibility of letter-spacing for purposes of text justification. + /// + [System.ComponentModel.DescriptionAttribute(@"The letter-spacing attribute specifies text tracking. Values are either ""normal"" or a number representing the number of ems to add between each letter. The number may be negative in order to subtract space. The default is normal, which allows flexibility of letter-spacing for purposes of text justification.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ILetterSpacing + { + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + string LetterSpacing + { + get; + set; + } + } + + /// + /// The line-height attribute specifies text leading. Values are either "normal" or a number representing the percentage of the current font height to use for leading. The default is "normal". The exact normal value is implementation-dependent, but values between 100 and 120 are recommended. + /// + [System.ComponentModel.DescriptionAttribute(@"The line-height attribute specifies text leading. Values are either ""normal"" or a number representing the percentage of the current font height to use for leading. The default is ""normal"". The exact normal value is implementation-dependent, but values between 100 and 120 are recommended.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ILineHeight + { + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + string LineHeight + { + get; + set; + } + } + + /// + /// The text-direction attribute is used to adjust and override the Unicode bidirectional text algorithm, similar to the Directionality data category in the W3C Internationalization Tag Set recommendation. + /// + [System.ComponentModel.DescriptionAttribute("The text-direction attribute is used to adjust and override the Unicode bidirecti" + + "onal text algorithm, similar to the Directionality data category in the W3C Inte" + + "rnationalization Tag Set recommendation.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ITextDirection + { + + TextDirection Dir + { + get; + set; + } + } + + /// + /// The enclosure attribute group is used to specify the formatting of an enclosure around text or symbols. + /// + [System.ComponentModel.DescriptionAttribute("The enclosure attribute group is used to specify the formatting of an enclosure a" + + "round text or symbols.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IEnclosure + { + + EnclosureShape Enclosure + { + get; + set; + } + } + + /// + /// The coda type is the visual indicator of a coda sign. The exact glyph can be specified with the smufl attribute. A sound element is also needed to guide playback applications reliably. + /// + [System.ComponentModel.DescriptionAttribute("The coda type is the visual indicator of a coda sign. The exact glyph can be spec" + + "ified with the smufl attribute. A sound element is also needed to guide playback" + + " applications reliably.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("coda", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Coda : IPrintStyleAlign, IOptionalUniqueId + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + + /// + /// The smufl-coda-glyph-name type is used to reference a specific Standard Music Font Layout (SMuFL) coda character. The value is a SMuFL canonical glyph name that starts with coda. + /// Pattern: coda\c*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("coda\\c*")] + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + } + + /// + /// The optional-unique-id attribute group allows an element to optionally specify an ID that is unique to the entire document. This attribute group is not used for a required id attribute, or for an id attribute that specifies an id reference. + /// + [System.ComponentModel.DescriptionAttribute("The optional-unique-id attribute group allows an element to optionally specify an" + + " ID that is unique to the entire document. This attribute group is not used for " + + "a required id attribute, or for an id attribute that specifies an id reference.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IOptionalUniqueId + { + + string Id + { + get; + set; + } + } + + /// + /// Dynamics can be associated either with a note or a general musical direction. To avoid inconsistencies between and amongst the letter abbreviations for dynamics (what is sf vs. sfz, standing alone or with a trailing dynamic that is not always piano), we use the actual letters as the names of these dynamic elements. The other-dynamics element allows other dynamic marks that are not covered here. Dynamics elements may also be combined to create marks not covered by a single element, such as sfmp. + /// + ///These letter dynamic symbols are separated from crescendo, decrescendo, and wedge indications. Dynamic representation is inconsistent in scores. Many things are assumed by the composer and left out, such as returns to original dynamics. The MusicXML format captures what is in the score, but does not try to be optimal for analysis or synthesis of dynamics. + /// + ///The placement attribute is used when the dynamics are associated with a note. It is ignored when the dynamics are associated with a direction. In that case the direction element's placement attribute is used instead. + /// + [System.ComponentModel.DescriptionAttribute(@"Dynamics can be associated either with a note or a general musical direction. To avoid inconsistencies between and amongst the letter abbreviations for dynamics (what is sf vs. sfz, standing alone or with a trailing dynamic that is not always piano), we use the actual letters as the names of these dynamic elements. The other-dynamics element allows other dynamic marks that are not covered here. Dynamics elements may also be combined to create marks not covered by a single element, such as sfmp. These letter dynamic symbols are separated from crescendo, decrescendo, and wedge indications. Dynamic representation is inconsistent in scores. Many things are assumed by the composer and left out, such as returns to original dynamics. The MusicXML format captures what is in the score, but does not try to be optimal for analysis or synthesis of dynamics. The placement attribute is used when the dynamics are associated with a note. It is ignored when the dynamics are associated with a direction. In that case the direction element's placement attribute is used instead.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("dynamics", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Dynamics : IPrintStyleAlign, IPlacement, ITextDecoration, IEnclosure, IOptionalUniqueId + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _p; + + [System.Xml.Serialization.XmlElementAttribute("p")] + public System.Collections.ObjectModel.Collection P + { + get + { + return _p; + } + private set + { + _p = value; + } + } + + /// + /// Gets a value indicating whether the P collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PSpecified + { + get + { + return (this.P.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Dynamics() + { + this._p = new System.Collections.ObjectModel.Collection(); + this._pp = new System.Collections.ObjectModel.Collection(); + this._ppp = new System.Collections.ObjectModel.Collection(); + this._pppp = new System.Collections.ObjectModel.Collection(); + this._ppppp = new System.Collections.ObjectModel.Collection(); + this._pppppp = new System.Collections.ObjectModel.Collection(); + this._f = new System.Collections.ObjectModel.Collection(); + this._ff = new System.Collections.ObjectModel.Collection(); + this._fff = new System.Collections.ObjectModel.Collection(); + this._ffff = new System.Collections.ObjectModel.Collection(); + this._fffff = new System.Collections.ObjectModel.Collection(); + this._ffffff = new System.Collections.ObjectModel.Collection(); + this._mp = new System.Collections.ObjectModel.Collection(); + this._mf = new System.Collections.ObjectModel.Collection(); + this._sf = new System.Collections.ObjectModel.Collection(); + this._sfp = new System.Collections.ObjectModel.Collection(); + this._sfpp = new System.Collections.ObjectModel.Collection(); + this._fp = new System.Collections.ObjectModel.Collection(); + this._rf = new System.Collections.ObjectModel.Collection(); + this._rfz = new System.Collections.ObjectModel.Collection(); + this._sfz = new System.Collections.ObjectModel.Collection(); + this._sffz = new System.Collections.ObjectModel.Collection(); + this._fz = new System.Collections.ObjectModel.Collection(); + this._n = new System.Collections.ObjectModel.Collection(); + this._pf = new System.Collections.ObjectModel.Collection(); + this._sfzp = new System.Collections.ObjectModel.Collection(); + this._otherDynamics = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pp; + + [System.Xml.Serialization.XmlElementAttribute("pp")] + public System.Collections.ObjectModel.Collection Pp + { + get + { + return _pp; + } + private set + { + _pp = value; + } + } + + /// + /// Gets a value indicating whether the Pp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PpSpecified + { + get + { + return (this.Pp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ppp; + + [System.Xml.Serialization.XmlElementAttribute("ppp")] + public System.Collections.ObjectModel.Collection Ppp + { + get + { + return _ppp; + } + private set + { + _ppp = value; + } + } + + /// + /// Gets a value indicating whether the Ppp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PppSpecified + { + get + { + return (this.Ppp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pppp; + + [System.Xml.Serialization.XmlElementAttribute("pppp")] + public System.Collections.ObjectModel.Collection Pppp + { + get + { + return _pppp; + } + private set + { + _pppp = value; + } + } + + /// + /// Gets a value indicating whether the Pppp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PpppSpecified + { + get + { + return (this.Pppp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ppppp; + + [System.Xml.Serialization.XmlElementAttribute("ppppp")] + public System.Collections.ObjectModel.Collection Ppppp + { + get + { + return _ppppp; + } + private set + { + _ppppp = value; + } + } + + /// + /// Gets a value indicating whether the Ppppp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PppppSpecified + { + get + { + return (this.Ppppp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pppppp; + + [System.Xml.Serialization.XmlElementAttribute("pppppp")] + public System.Collections.ObjectModel.Collection Pppppp + { + get + { + return _pppppp; + } + private set + { + _pppppp = value; + } + } + + /// + /// Gets a value indicating whether the Pppppp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PpppppSpecified + { + get + { + return (this.Pppppp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _f; + + [System.Xml.Serialization.XmlElementAttribute("f")] + public System.Collections.ObjectModel.Collection F + { + get + { + return _f; + } + private set + { + _f = value; + } + } + + /// + /// Gets a value indicating whether the F collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FSpecified + { + get + { + return (this.F.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ff; + + [System.Xml.Serialization.XmlElementAttribute("ff")] + public System.Collections.ObjectModel.Collection Ff + { + get + { + return _ff; + } + private set + { + _ff = value; + } + } + + /// + /// Gets a value indicating whether the Ff collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FfSpecified + { + get + { + return (this.Ff.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _fff; + + [System.Xml.Serialization.XmlElementAttribute("fff")] + public System.Collections.ObjectModel.Collection Fff + { + get + { + return _fff; + } + private set + { + _fff = value; + } + } + + /// + /// Gets a value indicating whether the Fff collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FffSpecified + { + get + { + return (this.Fff.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ffff; + + [System.Xml.Serialization.XmlElementAttribute("ffff")] + public System.Collections.ObjectModel.Collection Ffff + { + get + { + return _ffff; + } + private set + { + _ffff = value; + } + } + + /// + /// Gets a value indicating whether the Ffff collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FfffSpecified + { + get + { + return (this.Ffff.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _fffff; + + [System.Xml.Serialization.XmlElementAttribute("fffff")] + public System.Collections.ObjectModel.Collection Fffff + { + get + { + return _fffff; + } + private set + { + _fffff = value; + } + } + + /// + /// Gets a value indicating whether the Fffff collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FffffSpecified + { + get + { + return (this.Fffff.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ffffff; + + [System.Xml.Serialization.XmlElementAttribute("ffffff")] + public System.Collections.ObjectModel.Collection Ffffff + { + get + { + return _ffffff; + } + private set + { + _ffffff = value; + } + } + + /// + /// Gets a value indicating whether the Ffffff collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FfffffSpecified + { + get + { + return (this.Ffffff.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _mp; + + [System.Xml.Serialization.XmlElementAttribute("mp")] + public System.Collections.ObjectModel.Collection Mp + { + get + { + return _mp; + } + private set + { + _mp = value; + } + } + + /// + /// Gets a value indicating whether the Mp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MpSpecified + { + get + { + return (this.Mp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _mf; + + [System.Xml.Serialization.XmlElementAttribute("mf")] + public System.Collections.ObjectModel.Collection Mf + { + get + { + return _mf; + } + private set + { + _mf = value; + } + } + + /// + /// Gets a value indicating whether the Mf collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MfSpecified + { + get + { + return (this.Mf.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sf; + + [System.Xml.Serialization.XmlElementAttribute("sf")] + public System.Collections.ObjectModel.Collection Sf + { + get + { + return _sf; + } + private set + { + _sf = value; + } + } + + /// + /// Gets a value indicating whether the Sf collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SfSpecified + { + get + { + return (this.Sf.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sfp; + + [System.Xml.Serialization.XmlElementAttribute("sfp")] + public System.Collections.ObjectModel.Collection Sfp + { + get + { + return _sfp; + } + private set + { + _sfp = value; + } + } + + /// + /// Gets a value indicating whether the Sfp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SfpSpecified + { + get + { + return (this.Sfp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sfpp; + + [System.Xml.Serialization.XmlElementAttribute("sfpp")] + public System.Collections.ObjectModel.Collection Sfpp + { + get + { + return _sfpp; + } + private set + { + _sfpp = value; + } + } + + /// + /// Gets a value indicating whether the Sfpp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SfppSpecified + { + get + { + return (this.Sfpp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _fp; + + [System.Xml.Serialization.XmlElementAttribute("fp")] + public System.Collections.ObjectModel.Collection Fp + { + get + { + return _fp; + } + private set + { + _fp = value; + } + } + + /// + /// Gets a value indicating whether the Fp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FpSpecified + { + get + { + return (this.Fp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _rf; + + [System.Xml.Serialization.XmlElementAttribute("rf")] + public System.Collections.ObjectModel.Collection Rf + { + get + { + return _rf; + } + private set + { + _rf = value; + } + } + + /// + /// Gets a value indicating whether the Rf collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RfSpecified + { + get + { + return (this.Rf.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _rfz; + + [System.Xml.Serialization.XmlElementAttribute("rfz")] + public System.Collections.ObjectModel.Collection Rfz + { + get + { + return _rfz; + } + private set + { + _rfz = value; + } + } + + /// + /// Gets a value indicating whether the Rfz collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RfzSpecified + { + get + { + return (this.Rfz.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sfz; + + [System.Xml.Serialization.XmlElementAttribute("sfz")] + public System.Collections.ObjectModel.Collection Sfz + { + get + { + return _sfz; + } + private set + { + _sfz = value; + } + } + + /// + /// Gets a value indicating whether the Sfz collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SfzSpecified + { + get + { + return (this.Sfz.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sffz; + + [System.Xml.Serialization.XmlElementAttribute("sffz")] + public System.Collections.ObjectModel.Collection Sffz + { + get + { + return _sffz; + } + private set + { + _sffz = value; + } + } + + /// + /// Gets a value indicating whether the Sffz collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SffzSpecified + { + get + { + return (this.Sffz.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _fz; + + [System.Xml.Serialization.XmlElementAttribute("fz")] + public System.Collections.ObjectModel.Collection Fz + { + get + { + return _fz; + } + private set + { + _fz = value; + } + } + + /// + /// Gets a value indicating whether the Fz collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FzSpecified + { + get + { + return (this.Fz.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _n; + + [System.Xml.Serialization.XmlElementAttribute("n")] + public System.Collections.ObjectModel.Collection N + { + get + { + return _n; + } + private set + { + _n = value; + } + } + + /// + /// Gets a value indicating whether the N collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool NSpecified + { + get + { + return (this.N.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pf; + + [System.Xml.Serialization.XmlElementAttribute("pf")] + public System.Collections.ObjectModel.Collection Pf + { + get + { + return _pf; + } + private set + { + _pf = value; + } + } + + /// + /// Gets a value indicating whether the Pf collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PfSpecified + { + get + { + return (this.Pf.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _sfzp; + + [System.Xml.Serialization.XmlElementAttribute("sfzp")] + public System.Collections.ObjectModel.Collection Sfzp + { + get + { + return _sfzp; + } + private set + { + _sfzp = value; + } + } + + /// + /// Gets a value indicating whether the Sfzp collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SfzpSpecified + { + get + { + return (this.Sfzp.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _otherDynamics; + + [System.Xml.Serialization.XmlElementAttribute("other-dynamics")] + public System.Collections.ObjectModel.Collection OtherDynamics + { + get + { + return _otherDynamics; + } + private set + { + _otherDynamics = value; + } + } + + /// + /// Gets a value indicating whether the OtherDynamics collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OtherDynamicsSpecified + { + get + { + return (this.OtherDynamics.Count != 0); + } + } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The empty type represents an empty element with no attributes. + /// + [System.ComponentModel.DescriptionAttribute("The empty type represents an empty element with no attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(Release))] + public partial class Empty + { + } + + /// + /// The other-text type represents a text element with a smufl attribute group. This type is used by MusicXML direction extension elements to allow specification of specific SMuFL glyphs without needed to add every glyph as a MusicXML element. + /// + [System.ComponentModel.DescriptionAttribute("The other-text type represents a text element with a smufl attribute group. This " + + "type is used by MusicXML direction extension elements to allow specification of " + + "specific SMuFL glyphs without needed to add every glyph as a MusicXML element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("other-text", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class OtherText : ISmufl + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + /// + /// The smufl-glyph-name type is used for attributes that reference a specific Standard Music Font Layout (SMuFL) character. The value is a SMuFL canonical glyph name, not a code point. For instance, the value for a standard piano pedal mark would be keyboardPedalPed, not U+E650. + /// + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + } + + /// + /// The smufl attribute group is used to indicate a particular Standard Music Font Layout (SMuFL) character. Sometimes this is a formatting choice, and sometimes this is a refinement of the semantic meaning of an element. + /// + [System.ComponentModel.DescriptionAttribute("The smufl attribute group is used to indicate a particular Standard Music Font La" + + "yout (SMuFL) character. Sometimes this is a formatting choice, and sometimes thi" + + "s is a refinement of the semantic meaning of an element.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ISmufl + { + + /// + /// The smufl-glyph-name type is used for attributes that reference a specific Standard Music Font Layout (SMuFL) character. The value is a SMuFL canonical glyph name, not a code point. For instance, the value for a standard piano pedal mark would be keyboardPedalPed, not U+E650. + /// + string Smufl + { + get; + set; + } + } + + /// + /// The placement attribute indicates whether something is above or below another element, such as a note or a notation. + /// + [System.ComponentModel.DescriptionAttribute("The placement attribute indicates whether something is above or below another ele" + + "ment, such as a note or a notation.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IPlacement + { + + AboveBelow Placement + { + get; + set; + } + } + + /// + /// The empty-placement type represents an empty element with print-style and placement attributes. + /// + [System.ComponentModel.DescriptionAttribute("The empty-placement type represents an empty element with print-style and placeme" + + "nt attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-placement", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(HeelToe))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(StrongAccent))] + public partial class EmptyPlacement : IPrintStyle, IPlacement + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + } + + /// + /// The empty-placement-smufl type represents an empty element with print-style, placement, and smufl attributes. + /// + [System.ComponentModel.DescriptionAttribute("The empty-placement-smufl type represents an empty element with print-style, plac" + + "ement, and smufl attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-placement-smufl", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EmptyPlacementSmufl : IPrintStyle, IPlacement, ISmufl + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + + /// + /// The smufl-glyph-name type is used for attributes that reference a specific Standard Music Font Layout (SMuFL) character. The value is a SMuFL canonical glyph name, not a code point. For instance, the value for a standard piano pedal mark would be keyboardPedalPed, not U+E650. + /// + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + } + + /// + /// The empty-print-style type represents an empty element with print-style attribute group. + /// + [System.ComponentModel.DescriptionAttribute("The empty-print-style type represents an empty element with print-style attribute" + + " group.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-print-style", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EmptyPrintStyle : IPrintStyle + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + } + + /// + /// The empty-print-style-align type represents an empty element with print-style-align attribute group. + /// + [System.ComponentModel.DescriptionAttribute("The empty-print-style-align type represents an empty element with print-style-ali" + + "gn attribute group.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-print-style-align", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EmptyPrintStyleAlign : IPrintStyleAlign + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + } + + /// + /// The empty-print-style-align-id type represents an empty element with print-style-align and optional-unique-id attribute groups. + /// + [System.ComponentModel.DescriptionAttribute("The empty-print-style-align-id type represents an empty element with print-style-" + + "align and optional-unique-id attribute groups.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-print-style-align-id", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EmptyPrintStyleAlignId : IPrintStyleAlign, IOptionalUniqueId + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The empty-print-style-align-object type represents an empty element with print-object and print-style-align attribute groups. + /// + [System.ComponentModel.DescriptionAttribute("The empty-print-style-align-object type represents an empty element with print-ob" + + "ject and print-style-align attribute groups.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-print-object-style-align", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EmptyPrintObjectStyleAlign : IPrintObject, IPrintStyleAlign + { + + [System.Xml.Serialization.XmlAttributeAttribute("print-object")] + public YesNo PrintObject { get; set; } + + /// + /// Gets or sets a value indicating whether the PrintObject property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PrintObjectSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + } + + /// + /// The print-object attribute specifies whether or not to print an object (e.g. a note or a rest). It is yes by default. + /// + [System.ComponentModel.DescriptionAttribute("The print-object attribute specifies whether or not to print an object (e.g. a no" + + "te or a rest). It is yes by default.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface IPrintObject + { + + YesNo PrintObject + { + get; + set; + } + } + + /// + /// The empty-trill-sound type represents an empty element with print-style, placement, and trill-sound attributes. + /// + [System.ComponentModel.DescriptionAttribute("The empty-trill-sound type represents an empty element with print-style, placemen" + + "t, and trill-sound attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("empty-trill-sound", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(Mordent))] + public partial class EmptyTrillSound : IPrintStyle, IPlacement, ITrillSound + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("start-note")] + public StartNote StartNote { get; set; } + + /// + /// Gets or sets a value indicating whether the StartNote property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool StartNoteSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("trill-step")] + public TrillStep TrillStep { get; set; } + + /// + /// Gets or sets a value indicating whether the TrillStep property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TrillStepSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("two-note-turn")] + public TwoNoteTurn TwoNoteTurn { get; set; } + + /// + /// Gets or sets a value indicating whether the TwoNoteTurn property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TwoNoteTurnSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("accelerate")] + public YesNo Accelerate { get; set; } + + /// + /// Gets or sets a value indicating whether the Accelerate property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AccelerateSpecified { get; set; } + + /// + /// The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2. + /// Minimum inclusive value: 2. + /// + [System.Xml.Serialization.XmlAttributeAttribute("beats")] + public decimal Beats { get; set; } + + /// + /// Gets or sets a value indicating whether the Beats property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool BeatsSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("second-beat")] + public decimal SecondBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the SecondBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SecondBeatSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("last-beat")] + public decimal LastBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the LastBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LastBeatSpecified { get; set; } + } + + /// + /// The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines. The default choices are: + /// + /// start-note = "upper" + /// trill-step = "whole" + /// two-note-turn = "none" + /// accelerate = "no" + /// beats = "4". + /// + ///Second-beat and last-beat are percentages for landing on the indicated beat, with defaults of 25 and 75 respectively. + /// + ///For mordent and inverted-mordent elements, the defaults are different: + /// + /// The default start-note is "main", not "upper". + /// The default for beats is "3", not "4". + /// The default for second-beat is "12", not "25". + /// The default for last-beat is "24", not "75". + /// + [System.ComponentModel.DescriptionAttribute(@"The trill-sound attribute group includes attributes used to guide the sound of trills, mordents, turns, shakes, and wavy lines. The default choices are: start-note = ""upper"" trill-step = ""whole"" two-note-turn = ""none"" accelerate = ""no"" beats = ""4"". Second-beat and last-beat are percentages for landing on the indicated beat, with defaults of 25 and 75 respectively. For mordent and inverted-mordent elements, the defaults are different: The default start-note is ""main"", not ""upper"". The default for beats is ""3"", not ""4"". The default for second-beat is ""12"", not ""25"". The default for last-beat is ""24"", not ""75"".")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ITrillSound + { + + StartNote StartNote + { + get; + set; + } + + TrillStep TrillStep + { + get; + set; + } + + TwoNoteTurn TwoNoteTurn + { + get; + set; + } + + YesNo Accelerate + { + get; + set; + } + + /// + /// The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2. + /// Minimum inclusive value: 2. + /// + decimal Beats + { + get; + set; + } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + decimal SecondBeat + { + get; + set; + } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + decimal LastBeat + { + get; + set; + } + } + + /// + /// The horizontal-turn type represents turn elements that are horizontal rather than vertical. These are empty elements with print-style, placement, trill-sound, and slash attributes. If the slash attribute is yes, then a vertical line is used to slash the turn. It is no if not specified. + /// + [System.ComponentModel.DescriptionAttribute(@"The horizontal-turn type represents turn elements that are horizontal rather than vertical. These are empty elements with print-style, placement, trill-sound, and slash attributes. If the slash attribute is yes, then a vertical line is used to slash the turn. It is no if not specified.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("horizontal-turn", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class HorizontalTurn : IPrintStyle, IPlacement, ITrillSound + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("start-note")] + public StartNote StartNote { get; set; } + + /// + /// Gets or sets a value indicating whether the StartNote property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool StartNoteSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("trill-step")] + public TrillStep TrillStep { get; set; } + + /// + /// Gets or sets a value indicating whether the TrillStep property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TrillStepSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("two-note-turn")] + public TwoNoteTurn TwoNoteTurn { get; set; } + + /// + /// Gets or sets a value indicating whether the TwoNoteTurn property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TwoNoteTurnSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("accelerate")] + public YesNo Accelerate { get; set; } + + /// + /// Gets or sets a value indicating whether the Accelerate property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AccelerateSpecified { get; set; } + + /// + /// The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2. + /// Minimum inclusive value: 2. + /// + [System.Xml.Serialization.XmlAttributeAttribute("beats")] + public decimal Beats { get; set; } + + /// + /// Gets or sets a value indicating whether the Beats property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool BeatsSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("second-beat")] + public decimal SecondBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the SecondBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SecondBeatSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("last-beat")] + public decimal LastBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the LastBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LastBeatSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("slash")] + public YesNo Slash { get; set; } + + /// + /// Gets or sets a value indicating whether the Slash property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SlashSpecified { get; set; } + } + + /// + /// The fermata text content represents the shape of the fermata sign. An empty fermata element represents a normal fermata. The fermata type is upright if not specified. + /// + [System.ComponentModel.DescriptionAttribute("The fermata text content represents the shape of the fermata sign. An empty ferma" + + "ta element represents a normal fermata. The fermata type is upright if not speci" + + "fied.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("fermata", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Fermata : IPrintStyle, IOptionalUniqueId + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public FermataShape Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("type")] + public UprightInverted Type { get; set; } + + /// + /// Gets or sets a value indicating whether the Type property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TypeSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// Fingering is typically indicated 1,2,3,4,5. Multiple fingerings may be given, typically to substitute fingerings in the middle of a note. The substitution and alternate values are "no" if the attribute is not present. For guitar and other fretted instruments, the fingering element represents the fretting finger; the pluck element represents the plucking finger. + /// + [System.ComponentModel.DescriptionAttribute(@"Fingering is typically indicated 1,2,3,4,5. Multiple fingerings may be given, typically to substitute fingerings in the middle of a note. The substitution and alternate values are ""no"" if the attribute is not present. For guitar and other fretted instruments, the fingering element represents the fretting finger; the pluck element represents the plucking finger.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("fingering", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Fingering : IPrintStyle, IPlacement + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("substitution")] + public YesNo Substitution { get; set; } + + /// + /// Gets or sets a value indicating whether the Substitution property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SubstitutionSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("alternate")] + public YesNo Alternate { get; set; } + + /// + /// Gets or sets a value indicating whether the Alternate property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AlternateSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + } + + /// + /// The formatted-symbol type represents a SMuFL musical symbol element with formatting attributes. + /// + [System.ComponentModel.DescriptionAttribute("The formatted-symbol type represents a SMuFL musical symbol element with formatti" + + "ng attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("formatted-symbol", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class FormattedSymbol : ISymbolFormatting + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("justify")] + public LeftCenterRight Justify { get; set; } + + /// + /// Gets or sets a value indicating whether the Justify property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool JustifySpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlAttributeAttribute("rotation")] + public decimal Rotation { get; set; } + + /// + /// Gets or sets a value indicating whether the Rotation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RotationSpecified { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("letter-spacing")] + public string LetterSpacing { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("line-height")] + public string LineHeight { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("dir")] + public TextDirection Dir { get; set; } + + /// + /// Gets or sets a value indicating whether the Dir property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DirSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + } + + /// + /// The symbol-formatting attribute group collects the common formatting attributes for musical symbols. Default values may differ across the elements that use this group. + /// + [System.ComponentModel.DescriptionAttribute("The symbol-formatting attribute group collects the common formatting attributes f" + + "or musical symbols. Default values may differ across the elements that use this " + + "group.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ISymbolFormatting : IJustify, IPrintStyleAlign, ITextDecoration, ITextRotation, ILetterSpacing, ILineHeight, ITextDirection, IEnclosure + { + } + + /// + /// The formatted-symbol-id type represents a SMuFL musical symbol element with formatting and id attributes. + /// + [System.ComponentModel.DescriptionAttribute("The formatted-symbol-id type represents a SMuFL musical symbol element with forma" + + "tting and id attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("formatted-symbol-id", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class FormattedSymbolId : ISymbolFormatting, IOptionalUniqueId + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("justify")] + public LeftCenterRight Justify { get; set; } + + /// + /// Gets or sets a value indicating whether the Justify property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool JustifySpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlAttributeAttribute("rotation")] + public decimal Rotation { get; set; } + + /// + /// Gets or sets a value indicating whether the Rotation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RotationSpecified { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("letter-spacing")] + public string LetterSpacing { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("line-height")] + public string LineHeight { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("dir")] + public TextDirection Dir { get; set; } + + /// + /// Gets or sets a value indicating whether the Dir property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DirSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The formatted-text type represents a text element with text-formatting attributes. + /// + [System.ComponentModel.DescriptionAttribute("The formatted-text type represents a text element with text-formatting attributes" + + ".")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("formatted-text", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class FormattedText : ITextFormatting + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("justify")] + public LeftCenterRight Justify { get; set; } + + /// + /// Gets or sets a value indicating whether the Justify property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool JustifySpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlAttributeAttribute("rotation")] + public decimal Rotation { get; set; } + + /// + /// Gets or sets a value indicating whether the Rotation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RotationSpecified { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("letter-spacing")] + public string LetterSpacing { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("line-height")] + public string LineHeight { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("lang", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public string Lang { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("space", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public OpenUtau.Core.Format.MusicXMLSchema.Space Space { get; set; } + + /// + /// Gets or sets a value indicating whether the Space property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SpaceSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("dir")] + public TextDirection Dir { get; set; } + + /// + /// Gets or sets a value indicating whether the Dir property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DirSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + } + + /// + /// The formatted-text-id type represents a text element with text-formatting and id attributes. + /// + [System.ComponentModel.DescriptionAttribute("The formatted-text-id type represents a text element with text-formatting and id " + + "attributes.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("formatted-text-id", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class FormattedTextId : ITextFormatting, IOptionalUniqueId + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("justify")] + public LeftCenterRight Justify { get; set; } + + /// + /// Gets or sets a value indicating whether the Justify property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool JustifySpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("underline")] + public byte Underline { get; set; } + + /// + /// Gets or sets a value indicating whether the Underline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UnderlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("overline")] + public byte Overline { get; set; } + + /// + /// Gets or sets a value indicating whether the Overline property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OverlineSpecified { get; set; } + + /// + /// The number-of-lines type is used to specify the number of lines in text decoration attributes. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 3. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "3")] + [System.Xml.Serialization.XmlAttributeAttribute("line-through")] + public byte LineThrough { get; set; } + + /// + /// Gets or sets a value indicating whether the LineThrough property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LineThroughSpecified { get; set; } + + /// + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlAttributeAttribute("rotation")] + public decimal Rotation { get; set; } + + /// + /// Gets or sets a value indicating whether the Rotation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RotationSpecified { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("letter-spacing")] + public string LetterSpacing { get; set; } + + /// + /// The number-or-normal values can be either a decimal number or the string "normal". This is used by the line-height and letter-spacing attributes. + /// + [System.Xml.Serialization.XmlAttributeAttribute("line-height")] + public string LineHeight { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("lang", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public string Lang { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("space", Namespace="http://www.w3.org/XML/1998/namespace", Form=System.Xml.Schema.XmlSchemaForm.Qualified)] + public OpenUtau.Core.Format.MusicXMLSchema.Space Space { get; set; } + + /// + /// Gets or sets a value indicating whether the Space property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SpaceSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("dir")] + public TextDirection Dir { get; set; } + + /// + /// Gets or sets a value indicating whether the Dir property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DirSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("enclosure")] + public EnclosureShape Enclosure { get; set; } + + /// + /// Gets or sets a value indicating whether the Enclosure property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool EnclosureSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The fret element is used with tablature notation and chord diagrams. Fret numbers start with 0 for an open string and 1 for the first fret. + /// + [System.ComponentModel.DescriptionAttribute("The fret element is used with tablature notation and chord diagrams. Fret numbers" + + " start with 0 for an open string and 1 for the first fret.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("fret", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Fret : IFont, IColor + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + } + + /// + /// The level type is used to specify editorial information for different MusicXML elements. The content contains identifying and/or descriptive text about the editorial status of the parent element. + /// + ///If the reference attribute is yes, this indicates editorial information that is for display only and should not affect playback. For instance, a modern edition of older music may set reference="yes" on the attributes containing the music's original clef, key, and time signature. It is no if not specified. + /// + ///The type attribute indicates whether the editorial information applies to the start of a series of symbols, the end of a series of symbols, or a single symbol. It is single if not specified for compatibility with earlier MusicXML versions. + /// + [System.ComponentModel.DescriptionAttribute(@"The level type is used to specify editorial information for different MusicXML elements. The content contains identifying and/or descriptive text about the editorial status of the parent element. If the reference attribute is yes, this indicates editorial information that is for display only and should not affect playback. For instance, a modern edition of older music may set reference=""yes"" on the attributes containing the music's original clef, key, and time signature. It is no if not specified. The type attribute indicates whether the editorial information applies to the start of a series of symbols, the end of a series of symbols, or a single symbol. It is single if not specified for compatibility with earlier MusicXML versions.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("level", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Level : ILevelDisplay + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("reference")] + public YesNo Reference { get; set; } + + /// + /// Gets or sets a value indicating whether the Reference property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ReferenceSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("type")] + public StartStopSingle Type { get; set; } + + /// + /// Gets or sets a value indicating whether the Type property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TypeSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("parentheses")] + public YesNo Parentheses { get; set; } + + /// + /// Gets or sets a value indicating whether the Parentheses property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ParenthesesSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("bracket")] + public YesNo Bracket { get; set; } + + /// + /// Gets or sets a value indicating whether the Bracket property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool BracketSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("size")] + public SymbolSize Size { get; set; } + + /// + /// Gets or sets a value indicating whether the Size property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SizeSpecified { get; set; } + } + + /// + /// The level-display attribute group specifies three common ways to indicate editorial indications: putting parentheses or square brackets around a symbol, or making the symbol a different size. If not specified, they are left to application defaults. It is used by the level and accidental elements. + /// + [System.ComponentModel.DescriptionAttribute(@"The level-display attribute group specifies three common ways to indicate editorial indications: putting parentheses or square brackets around a symbol, or making the symbol a different size. If not specified, they are left to application defaults. It is used by the level and accidental elements.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + public partial interface ILevelDisplay + { + + YesNo Parentheses + { + get; + set; + } + + YesNo Bracket + { + get; + set; + } + + SymbolSize Size + { + get; + set; + } + } + + /// + /// The midi-device type corresponds to the DeviceName meta event in Standard MIDI Files. The optional port attribute is a number from 1 to 16 that can be used with the unofficial MIDI 1.0 port (or cable) meta event. Unlike the DeviceName meta event, there can be multiple midi-device elements per MusicXML part. The optional id attribute refers to the score-instrument assigned to this device. If missing, the device assignment affects all score-instrument elements in the score-part. + /// + [System.ComponentModel.DescriptionAttribute(@"The midi-device type corresponds to the DeviceName meta event in Standard MIDI Files. The optional port attribute is a number from 1 to 16 that can be used with the unofficial MIDI 1.0 port (or cable) meta event. Unlike the DeviceName meta event, there can be multiple midi-device elements per MusicXML part. The optional id attribute refers to the score-instrument assigned to this device. If missing, the device assignment affects all score-instrument elements in the score-part.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("midi-device", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class MidiDevice + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + /// + /// The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 16. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "16")] + [System.Xml.Serialization.XmlAttributeAttribute("port")] + public byte Port { get; set; } + + /// + /// Gets or sets a value indicating whether the Port property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PortSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The midi-instrument type defines MIDI 1.0 instrument playback. The midi-instrument element can be a part of either the score-instrument element at the start of a part, or the sound element within a part. The id attribute refers to the score-instrument affected by the change. + /// + [System.ComponentModel.DescriptionAttribute(@"The midi-instrument type defines MIDI 1.0 instrument playback. The midi-instrument element can be a part of either the score-instrument element at the start of a part, or the sound element within a part. The id attribute refers to the score-instrument affected by the change.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("midi-instrument", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class MidiInstrument + { + + /// + /// The midi-channel element specifies a MIDI 1.0 channel numbers ranging from 1 to 16. + /// The midi-16 type is used to express MIDI 1.0 values that range from 1 to 16. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 16. + /// + [System.ComponentModel.DescriptionAttribute("The midi-channel element specifies a MIDI 1.0 channel numbers ranging from 1 to 1" + + "6.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "16")] + [System.Xml.Serialization.XmlElementAttribute("midi-channel")] + public byte MidiChannel { get; set; } + + /// + /// Gets or sets a value indicating whether the MidiChannel property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MidiChannelSpecified { get; set; } + + /// + /// The midi-name element corresponds to a ProgramName meta-event within a Standard MIDI File. + /// + [System.ComponentModel.DescriptionAttribute("The midi-name element corresponds to a ProgramName meta-event within a Standard M" + + "IDI File.")] + [System.Xml.Serialization.XmlElementAttribute("midi-name")] + public string MidiName { get; set; } + + /// + /// The midi-bank element specifies a MIDI 1.0 bank number ranging from 1 to 16,384. + /// The midi-16384 type is used to express MIDI 1.0 values that range from 1 to 16,384. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 16384. + /// + [System.ComponentModel.DescriptionAttribute("The midi-bank element specifies a MIDI 1.0 bank number ranging from 1 to 16,384.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "16384")] + [System.Xml.Serialization.XmlElementAttribute("midi-bank")] + public ushort MidiBank { get; set; } + + /// + /// Gets or sets a value indicating whether the MidiBank property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MidiBankSpecified { get; set; } + + /// + /// The midi-program element specifies a MIDI 1.0 program number ranging from 1 to 128. + /// The midi-128 type is used to express MIDI 1.0 values that range from 1 to 128. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 128. + /// + [System.ComponentModel.DescriptionAttribute("The midi-program element specifies a MIDI 1.0 program number ranging from 1 to 12" + + "8.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "128")] + [System.Xml.Serialization.XmlElementAttribute("midi-program")] + public byte MidiProgram { get; set; } + + /// + /// Gets or sets a value indicating whether the MidiProgram property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MidiProgramSpecified { get; set; } + + /// + /// For unpitched instruments, the midi-unpitched element specifies a MIDI 1.0 note number ranging from 1 to 128. It is usually used with MIDI banks for percussion. Note that MIDI 1.0 note numbers are generally specified from 0 to 127 rather than the 1 to 128 numbering used in this element. + /// The midi-128 type is used to express MIDI 1.0 values that range from 1 to 128. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 128. + /// + [System.ComponentModel.DescriptionAttribute(@"For unpitched instruments, the midi-unpitched element specifies a MIDI 1.0 note number ranging from 1 to 128. It is usually used with MIDI banks for percussion. Note that MIDI 1.0 note numbers are generally specified from 0 to 127 rather than the 1 to 128 numbering used in this element.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "128")] + [System.Xml.Serialization.XmlElementAttribute("midi-unpitched")] + public byte MidiUnpitched { get; set; } + + /// + /// Gets or sets a value indicating whether the MidiUnpitched property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MidiUnpitchedSpecified { get; set; } + + /// + /// The volume element value is a percentage of the maximum ranging from 0 to 100, with decimal values allowed. This corresponds to a scaling value for the MIDI 1.0 channel volume controller. + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DescriptionAttribute("The volume element value is a percentage of the maximum ranging from 0 to 100, wi" + + "th decimal values allowed. This corresponds to a scaling value for the MIDI 1.0 " + + "channel volume controller.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlElementAttribute("volume")] + public decimal Volume { get; set; } + + /// + /// Gets or sets a value indicating whether the Volume property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool VolumeSpecified { get; set; } + + /// + /// The pan and elevation elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For pan, 0 is straight ahead, -90 is hard left, 90 is hard right, and -180 and 180 are directly behind the listener. + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DescriptionAttribute(@"The pan and elevation elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For pan, 0 is straight ahead, -90 is hard left, 90 is hard right, and -180 and 180 are directly behind the listener.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlElementAttribute("pan")] + public decimal Pan { get; set; } + + /// + /// Gets or sets a value indicating whether the Pan property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PanSpecified { get; set; } + + /// + /// The elevation and pan elements allow placing of sound in a 3-D space relative to the listener. Both are expressed in degrees ranging from -180 to 180. For elevation, 0 is level with the listener, 90 is directly above, and -90 is directly below. + /// The rotation-degrees type specifies rotation, pan, and elevation values in degrees. Values range from -180 to 180. + /// Minimum inclusive value: -180. + /// Maximum inclusive value: 180. + /// + [System.ComponentModel.DescriptionAttribute("The elevation and pan elements allow placing of sound in a 3-D space relative to " + + "the listener. Both are expressed in degrees ranging from -180 to 180. For elevat" + + "ion, 0 is level with the listener, 90 is directly above, and -90 is directly bel" + + "ow.")] + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "-180", "180")] + [System.Xml.Serialization.XmlElementAttribute("elevation")] + public decimal Elevation { get; set; } + + /// + /// Gets or sets a value indicating whether the Elevation property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ElevationSpecified { get; set; } + + [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)] + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The name-display type is used for exact formatting of multi-font text in part and group names to the left of the system. The print-object attribute can be used to determine what, if anything, is printed at the start of each system. Enclosure for the display-text element is none by default. Language for the display-text element is Italian ("it") by default. + /// + [System.ComponentModel.DescriptionAttribute(@"The name-display type is used for exact formatting of multi-font text in part and group names to the left of the system. The print-object attribute can be used to determine what, if anything, is printed at the start of each system. Enclosure for the display-text element is none by default. Language for the display-text element is Italian (""it"") by default.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("name-display", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class NameDisplay : IPrintObject + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _displayText; + + [System.Xml.Serialization.XmlElementAttribute("display-text")] + public System.Collections.ObjectModel.Collection DisplayText + { + get + { + return _displayText; + } + private set + { + _displayText = value; + } + } + + /// + /// Gets a value indicating whether the DisplayText collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DisplayTextSpecified + { + get + { + return (this.DisplayText.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public NameDisplay() + { + this._displayText = new System.Collections.ObjectModel.Collection(); + this._accidentalText = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _accidentalText; + + [System.Xml.Serialization.XmlElementAttribute("accidental-text")] + public System.Collections.ObjectModel.Collection AccidentalText + { + get + { + return _accidentalText; + } + private set + { + _accidentalText = value; + } + } + + /// + /// Gets a value indicating whether the AccidentalText collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AccidentalTextSpecified + { + get + { + return (this.AccidentalText.Count != 0); + } + } + + [System.Xml.Serialization.XmlAttributeAttribute("print-object")] + public YesNo PrintObject { get; set; } + + /// + /// Gets or sets a value indicating whether the PrintObject property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PrintObjectSpecified { get; set; } + } + + /// + /// The other-play element represents other types of playback. The required type attribute indicates the type of playback to which the element content applies. + /// + [System.ComponentModel.DescriptionAttribute("The other-play element represents other types of playback. The required type attr" + + "ibute indicates the type of playback to which the element content applies.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("other-play", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class OtherPlay + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)] + [System.Xml.Serialization.XmlAttributeAttribute("type")] + public string Type { get; set; } + } + + /// + /// The play type specifies playback techniques to be used in conjunction with the instrument-sound element. When used as part of a sound element, it applies to all notes going forward in score order. In multi-instrument parts, the affected instrument should be specified using the id attribute. When used as part of a note element, it applies to the current note only. + /// + [System.ComponentModel.DescriptionAttribute(@"The play type specifies playback techniques to be used in conjunction with the instrument-sound element. When used as part of a sound element, it applies to all notes going forward in score order. In multi-instrument parts, the affected instrument should be specified using the id attribute. When used as part of a note element, it applies to the current note only.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("play", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Play + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _ipa; + + /// + /// The ipa element represents International Phonetic Alphabet (IPA) sounds for vocal music. String content is limited to IPA 2015 symbols represented in Unicode 13.0. + /// + [System.ComponentModel.DescriptionAttribute("The ipa element represents International Phonetic Alphabet (IPA) sounds for vocal" + + " music. String content is limited to IPA 2015 symbols represented in Unicode 13." + + "0.")] + [System.Xml.Serialization.XmlElementAttribute("ipa")] + public System.Collections.ObjectModel.Collection Ipa + { + get + { + return _ipa; + } + private set + { + _ipa = value; + } + } + + /// + /// Gets a value indicating whether the Ipa collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IpaSpecified + { + get + { + return (this.Ipa.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Play() + { + this._ipa = new System.Collections.ObjectModel.Collection(); + this._mute = new System.Collections.ObjectModel.Collection(); + this._semiPitched = new System.Collections.ObjectModel.Collection(); + this._otherPlay = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _mute; + + [System.Xml.Serialization.XmlElementAttribute("mute")] + public System.Collections.ObjectModel.Collection Mute + { + get + { + return _mute; + } + private set + { + _mute = value; + } + } + + /// + /// Gets a value indicating whether the Mute collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MuteSpecified + { + get + { + return (this.Mute.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _semiPitched; + + [System.Xml.Serialization.XmlElementAttribute("semi-pitched")] + public System.Collections.ObjectModel.Collection SemiPitched + { + get + { + return _semiPitched; + } + private set + { + _semiPitched = value; + } + } + + /// + /// Gets a value indicating whether the SemiPitched collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SemiPitchedSpecified + { + get + { + return (this.SemiPitched.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _otherPlay; + + [System.Xml.Serialization.XmlElementAttribute("other-play")] + public System.Collections.ObjectModel.Collection OtherPlay + { + get + { + return _otherPlay; + } + private set + { + _otherPlay = value; + } + } + + /// + /// Gets a value indicating whether the OtherPlay collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OtherPlaySpecified + { + get + { + return (this.OtherPlay.Count != 0); + } + } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + } + + /// + /// The segno type is the visual indicator of a segno sign. The exact glyph can be specified with the smufl attribute. A sound element is also needed to guide playback applications reliably. + /// + [System.ComponentModel.DescriptionAttribute("The segno type is the visual indicator of a segno sign. The exact glyph can be sp" + + "ecified with the smufl attribute. A sound element is also needed to guide playba" + + "ck applications reliably.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("segno", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Segno : IPrintStyleAlign, IOptionalUniqueId + { + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("halign")] + public LeftCenterRight Halign { get; set; } + + /// + /// Gets or sets a value indicating whether the Halign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool HalignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("valign")] + public Valign Valign { get; set; } + + /// + /// Gets or sets a value indicating whether the Valign property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ValignSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("id")] + public string Id { get; set; } + + /// + /// The smufl-segno-glyph-name type is used to reference a specific Standard Music Font Layout (SMuFL) segno character. The value is a SMuFL canonical glyph name that starts with segno. + /// Pattern: segno\c*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("segno\\c*")] + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + } + + /// + /// The string type is used with tablature notation, regular notation (where it is often circled), and chord diagrams. String numbers start with 1 for the highest pitched full-length string. + /// + [System.ComponentModel.DescriptionAttribute("The string type is used with tablature notation, regular notation (where it is of" + + "ten circled), and chord diagrams. String numbers start with 1 for the highest pi" + + "tched full-length string.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("string", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlRootAttribute("string", Namespace="")] + public partial class String : IPrintStyle, IPlacement + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + /// + /// The font-family is a comma-separated list of font names. These can be specific font styles such as Maestro or Opus, or one of several generic font styles: music, engraved, handwritten, text, serif, sans-serif, handwritten, cursive, fantasy, and monospace. The music, engraved, and handwritten values refer to music fonts; the rest refer to text fonts. The fantasy style refers to decorative text such as found in older German-style printing. + /// Pattern: [^,]+(, ?[^,]+)*. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("[^,]+(, ?[^,]+)*")] + [System.Xml.Serialization.XmlAttributeAttribute("font-family")] + public string FontFamily { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-style")] + public FontStyle FontStyle { get; set; } + + /// + /// Gets or sets a value indicating whether the FontStyle property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontStyleSpecified { get; set; } + + /// + /// The font-size can be one of the CSS font sizes (xx-small, x-small, small, medium, large, x-large, xx-large) or a numeric point size. + /// + [System.Xml.Serialization.XmlAttributeAttribute("font-size")] + public string FontSize { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("font-weight")] + public FontWeight FontWeight { get; set; } + + /// + /// Gets or sets a value indicating whether the FontWeight property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FontWeightSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + } + + /// + /// The typed-text type represents a text element with a type attribute. + /// + [System.ComponentModel.DescriptionAttribute("The typed-text type represents a text element with a type attribute.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("typed-text", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class TypedText + { + + /// + /// Gets or sets the text value. + /// + [System.Xml.Serialization.XmlTextAttribute()] + public string Value { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("type")] + public string Type { get; set; } + } + + /// + /// Wavy lines are one way to indicate trills and vibrato. When used with a barline element, they should always have type="continue" set. The smufl attribute specifies a particular wavy line glyph from the SMuFL Multi-segment lines range. + /// + [System.ComponentModel.DescriptionAttribute("Wavy lines are one way to indicate trills and vibrato. When used with a barline e" + + "lement, they should always have type=\"continue\" set. The smufl attribute specifi" + + "es a particular wavy line glyph from the SMuFL Multi-segment lines range.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("wavy-line", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class WavyLine : IPosition, IPlacement, IColor, ITrillSound + { + + [System.ComponentModel.DataAnnotations.RequiredAttribute(AllowEmptyStrings=true)] + [System.Xml.Serialization.XmlAttributeAttribute("type")] + public StartStopContinue Type { get; set; } + + /// + /// Slurs, tuplets, and many other features can be concurrent and overlap within a single musical part. The number-level entity distinguishes up to 16 concurrent objects of the same type when the objects overlap in MusicXML document order. Values greater than 6 are usually only needed for music with a large number of divisi staves in a single part, or if there are more than 6 cross-staff arpeggios in a single measure. When a number-level value is implied, the value is 1 by default. + /// + ///When polyphonic parts are involved, the ordering within a MusicXML document can differ from musical score order. As an example, say we have a piano part in 4/4 where within a single measure, all the notes on the top staff are followed by all the notes on the bottom staff. In this example, each staff has a slur that starts on beat 2 and stops on beat 3, and there is a third slur that goes from beat 1 of one staff to beat 4 of the other staff. + /// + ///In this situation, the two mid-measure slurs can use the same number because they do not overlap in MusicXML document order, even though they do overlap in musical score order. Within the MusicXML document, the top staff slur will both start and stop before the bottom staff slur starts and stops. + /// + ///If the cross-staff slur starts in the top staff and stops in the bottom staff, it will need a separate number from the mid-measure slurs because it overlaps those slurs in MusicXML document order. However, if the cross-staff slur starts in the bottom staff and stops in the top staff, all three slurs can use the same number. None of them overlap within the MusicXML document, even though they all overlap each other in the musical score order. Within the MusicXML document, the start and stop of the top-staff slur will be followed by the stop and start of the cross-staff slur, followed by the start and stop of the bottom-staff slur. + /// + ///As this example demonstrates, a reading program should be prepared to handle cases where the number-levels start and stop in an arbitrary order. Because the start and stop values refer to musical score order, a program may find the stopping point of an object earlier in the MusicXML document than it will find its starting point. + /// Minimum inclusive value: 1. + /// Maximum inclusive value: 16. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "1", "16")] + [System.Xml.Serialization.XmlAttributeAttribute("number")] + public byte Number { get; set; } + + /// + /// Gets or sets a value indicating whether the Number property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool NumberSpecified { get; set; } + + /// + /// The smufl-wavy-line-glyph-name type is used to reference a specific Standard Music Font Layout (SMuFL) wavy line character. The value is a SMuFL canonical glyph name that either starts with wiggle, or begins with guitar and ends with VibratoStroke. This includes all the glyphs in the Multi-segment lines range, excluding the beam glyphs. + /// Pattern: (wiggle\c+)|(guitar\c*VibratoStroke). + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("(wiggle\\c+)|(guitar\\c*VibratoStroke)")] + [System.Xml.Serialization.XmlAttributeAttribute("smufl")] + public string Smufl { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-x")] + public decimal DefaultX { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("default-y")] + public decimal DefaultY { get; set; } + + /// + /// Gets or sets a value indicating whether the DefaultY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DefaultYSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-x")] + public decimal RelativeX { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeX property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeXSpecified { get; set; } + + /// + /// The tenths type is a number representing tenths of interline staff space (positive or negative). Both integer and decimal values are allowed, such as 5 for a half space and 2.5 for a quarter space. Interline space is measured from the middle of a staff line. + /// + ///Distances in a MusicXML file are measured in tenths of staff space. Tenths are then scaled to millimeters within the scaling element, used in the defaults element at the start of a score. Individual staves can apply a scaling factor to adjust staff size. When a MusicXML element or attribute refers to tenths, it means the global tenths defined by the scaling element, not the local tenths as adjusted by the staff-size element. + /// + [System.Xml.Serialization.XmlAttributeAttribute("relative-y")] + public decimal RelativeY { get; set; } + + /// + /// Gets or sets a value indicating whether the RelativeY property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RelativeYSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("placement")] + public AboveBelow Placement { get; set; } + + /// + /// Gets or sets a value indicating whether the Placement property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PlacementSpecified { get; set; } + + /// + /// The color type indicates the color of an element. Color may be represented as hexadecimal RGB triples, as in HTML, or as hexadecimal ARGB tuples, with the A indicating alpha of transparency. An alpha value of 00 is totally transparent; FF is totally opaque. If RGB is used, the A value is assumed to be FF. + /// + ///For instance, the RGB value "#800080" represents purple. An ARGB value of "#40800080" would be a transparent purple. + /// + ///As in SVG 1.1, colors are defined in terms of the sRGB color space (IEC 61966). + /// Pattern: #[\dA-F]{6}([\dA-F][\dA-F])?. + /// + [System.ComponentModel.DataAnnotations.RegularExpressionAttribute("#[\\dA-F]{6}([\\dA-F][\\dA-F])?")] + [System.Xml.Serialization.XmlAttributeAttribute("color")] + public string Color { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("start-note")] + public StartNote StartNote { get; set; } + + /// + /// Gets or sets a value indicating whether the StartNote property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool StartNoteSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("trill-step")] + public TrillStep TrillStep { get; set; } + + /// + /// Gets or sets a value indicating whether the TrillStep property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TrillStepSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("two-note-turn")] + public TwoNoteTurn TwoNoteTurn { get; set; } + + /// + /// Gets or sets a value indicating whether the TwoNoteTurn property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TwoNoteTurnSpecified { get; set; } + + [System.Xml.Serialization.XmlAttributeAttribute("accelerate")] + public YesNo Accelerate { get; set; } + + /// + /// Gets or sets a value indicating whether the Accelerate property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AccelerateSpecified { get; set; } + + /// + /// The trill-beats type specifies the beats used in a trill-sound or bend-sound attribute group. It is a decimal value with a minimum value of 2. + /// Minimum inclusive value: 2. + /// + [System.Xml.Serialization.XmlAttributeAttribute("beats")] + public decimal Beats { get; set; } + + /// + /// Gets or sets a value indicating whether the Beats property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool BeatsSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("second-beat")] + public decimal SecondBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the SecondBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SecondBeatSpecified { get; set; } + + /// + /// The percent type specifies a percentage from 0 to 100. + /// Minimum inclusive value: 0. + /// Maximum inclusive value: 100. + /// + [System.ComponentModel.DataAnnotations.RangeAttribute(typeof(decimal), "0", "100")] + [System.Xml.Serialization.XmlAttributeAttribute("last-beat")] + public decimal LastBeat { get; set; } + + /// + /// Gets or sets a value indicating whether the LastBeat property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LastBeatSpecified { get; set; } + } + + /// + /// The attributes element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving. When attributes are changed mid-measure, it affects the music in score order, not in MusicXML document order. + /// + [System.ComponentModel.DescriptionAttribute(@"The attributes element contains musical information that typically changes on measure boundaries. This includes key and time signatures, clefs, transpositions, and staving. When attributes are changed mid-measure, it affects the music in score order, not in MusicXML document order.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1142.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("attributes", Namespace="")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Attributes : IEditorial + { + + [System.Xml.Serialization.XmlElementAttribute("footnote")] + public FormattedText Footnote { get; set; } + + [System.Xml.Serialization.XmlElementAttribute("level")] + public Level Level { get; set; } + + /// + /// Musical notation duration is commonly represented as fractions. The divisions element indicates how many divisions per quarter note are used to indicate a note's duration. For example, if duration = 1 and divisions = 2, this is an eighth note duration. Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account. Using a divisions element lets us use just one number to represent a duration for each note in the score, while retaining the full power of a fractional representation. If maximum compatibility with Standard MIDI 1.0 files is important, do not have the divisions value exceed 16383. + /// The positive-divisions type restricts divisions values to positive numbers. + /// Minimum exclusive value: 0. + /// + [System.ComponentModel.DescriptionAttribute(@"Musical notation duration is commonly represented as fractions. The divisions element indicates how many divisions per quarter note are used to indicate a note's duration. For example, if duration = 1 and divisions = 2, this is an eighth note duration. Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account. Using a divisions element lets us use just one number to represent a duration for each note in the score, while retaining the full power of a fractional representation. If maximum compatibility with Standard MIDI 1.0 files is important, do not have the divisions value exceed 16383.")] + [System.Xml.Serialization.XmlElementAttribute("divisions")] + public decimal Divisions { get; set; } + + /// + /// Gets or sets a value indicating whether the Divisions property is specified. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DivisionsSpecified { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _key; + + /// + /// The key element represents a key signature. Both traditional and non-traditional key signatures are supported. The optional number attribute refers to staff numbers. If absent, the key signature applies to all staves in the part. + /// + [System.ComponentModel.DescriptionAttribute("The key element represents a key signature. Both traditional and non-traditional " + + "key signatures are supported. The optional number attribute refers to staff numb" + + "ers. If absent, the key signature applies to all staves in the part.")] + [System.Xml.Serialization.XmlElementAttribute("key")] + public System.Collections.ObjectModel.Collection Key + { + get + { + return _key; + } + private set + { + _key = value; + } + } + + /// + /// Gets a value indicating whether the Key collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool KeySpecified + { + get + { + return (this.Key.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Attributes() + { + this._key = new System.Collections.ObjectModel.Collection(); + this._time = new System.Collections.ObjectModel.Collection