Readonly schema schema : { attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; smufl : { type : "optional" ; value : { type : "string" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } ; contents : readonly [ { type : "string" ; } ] ; name : "other-direction" ; } = OtherDirection.schema
Type declaration Readonly attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; smufl : { type : "optional" ; value : { type : "string" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } Readonly color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "#000000" Readonly default- x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly default- y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly font- family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : " " ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : " " Readonly font- size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } Readonly choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] Readonly type : "choices" Readonly font- style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "italic" ] Readonly type : "choices" Readonly font- weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "bold" ] Readonly type : "choices" Readonly halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } Readonly choices : readonly [ "left" , "center" , "right" ] Readonly type : "choices" Readonly id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "_" Readonly print- object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly relative- x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly relative- y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly smufl : { type : "optional" ; value : { type : "string" ; } ; } Readonly type : "optional" Readonly value : { type : "string" ; } Readonly valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } Readonly choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] Readonly type : "choices" Readonly contents : readonly [ { type : "string" ; } ] Readonly name : "other-direction" Static Readonly schema schema : { attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; smufl : { type : "optional" ; value : { type : "string" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } ; contents : readonly [ { type : "string" ; } ] ; name : "other-direction" ; } = ...
Type declaration Readonly attributes : { color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; smufl : { type : "optional" ; value : { type : "string" ; } ; } ; valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } ; } Readonly color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "#000000" Readonly default- x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly default- y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly font- family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : " " ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : " " Readonly font- size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } Readonly choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] Readonly type : "choices" Readonly font- style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "italic" ] Readonly type : "choices" Readonly font- weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "bold" ] Readonly type : "choices" Readonly halign : { type : "optional" ; value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "left" , "center" , "right" ] ; type : "choices" ; } Readonly choices : readonly [ "left" , "center" , "right" ] Readonly type : "choices" Readonly id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "_" Readonly print- object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly relative- x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly relative- y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly smufl : { type : "optional" ; value : { type : "string" ; } ; } Readonly type : "optional" Readonly value : { type : "string" ; } Readonly valign : { type : "optional" ; value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] ; type : "choices" ; } Readonly choices : readonly [ "top" , "middle" , "bottom" , "baseline" ] Readonly type : "choices" Readonly contents : readonly [ { type : "string" ; } ] Readonly name : "other-direction"
The
<other-direction>elementParent element:
<direction-type>The element without the
smufl attribute allows for extended representation, though without application interoperability.
<other-direction>element is used to define any<direction>symbols not yet in the MusicXML format. The smufl attribute can be used to specify a particular direction symbol, allowing application interoperability without requiring every SMuFL glyph to have a MusicXML element equivalent. Using thehttps://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/other-direction/