Readonly schema
schema: {
attributes: {
accelerate: {
type: "optional";
value: {
choices: readonly ["yes", "no"];
type: "choices";
};
};
beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
};
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";
};
};
};
last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
};
placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
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";
};
};
};
second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
};
start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
};
trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
};
two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
};
type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
};
};
contents: readonly [];
name: "wavy-line";
} = WavyLine.schema
Type declaration
Readonly attributes: {
accelerate: {
type: "optional";
value: {
choices: readonly ["yes", "no"];
type: "choices";
};
};
beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
};
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";
};
};
};
last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
};
placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
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";
};
};
};
second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
};
start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
};
trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
};
two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
};
type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
};
}
Readonly accelerate: {
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 beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: number;
min: 2;
type: "float";
}
Readonly max: number
Readonly min: 2
Readonly type: "float"
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 last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: 100;
min: 0;
type: "float";
}
Readonly max: 100
Readonly min: 0
Readonly type: "float"
Readonly number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
}
Readonly type: "optional"
Readonly value: {
max: 16;
min: 1;
type: "int";
}
Readonly max: 16
Readonly min: 1
Readonly type: "int"
Readonly placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["above", "below"];
type: "choices";
}
Readonly choices: readonly ["above", "below"]
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 second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: 100;
min: 0;
type: "float";
}
Readonly max: 100
Readonly min: 0
Readonly type: "float"
Readonly smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
}
Readonly type: "optional"
Readonly value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
}
Readonly pattern: RegExp
Readonly type: "regex"
Readonly zero: "wiggle"
Readonly start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
}
Readonly choices: readonly ["below", "main", "upper"]
Readonly type: "choices"
Readonly trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
}
Readonly choices: readonly ["unison", "half", "whole"]
Readonly type: "choices"
Readonly two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
}
Readonly choices: readonly ["none", "whole", "half"]
Readonly type: "choices"
Readonly type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
}
Readonly type: "required"
Readonly value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
}
Readonly choices: readonly ["start", "stop", "continue"]
Readonly type: "choices"
Readonly contents: readonly []
Readonly name: "wavy-line"
Static Readonly schema
schema: {
attributes: {
accelerate: {
type: "optional";
value: {
choices: readonly ["yes", "no"];
type: "choices";
};
};
beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
};
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";
};
};
};
last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
};
placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
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";
};
};
};
second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
};
start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
};
trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
};
two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
};
type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
};
};
contents: readonly [];
name: "wavy-line";
} = ...
Type declaration
Readonly attributes: {
accelerate: {
type: "optional";
value: {
choices: readonly ["yes", "no"];
type: "choices";
};
};
beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
};
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";
};
};
};
last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
};
placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
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";
};
};
};
second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
};
smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
};
start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
};
trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
};
two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
};
type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
};
}
Readonly accelerate: {
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 beats: {
type: "optional";
value: {
max: number;
min: 2;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: number;
min: 2;
type: "float";
}
Readonly max: number
Readonly min: 2
Readonly type: "float"
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 last-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: 100;
min: 0;
type: "float";
}
Readonly max: 100
Readonly min: 0
Readonly type: "float"
Readonly number: {
type: "optional";
value: {
max: 16;
min: 1;
type: "int";
};
}
Readonly type: "optional"
Readonly value: {
max: 16;
min: 1;
type: "int";
}
Readonly max: 16
Readonly min: 1
Readonly type: "int"
Readonly placement: {
type: "optional";
value: {
choices: readonly ["above", "below"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["above", "below"];
type: "choices";
}
Readonly choices: readonly ["above", "below"]
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 second-beat: {
type: "optional";
value: {
max: 100;
min: 0;
type: "float";
};
}
Readonly type: "optional"
Readonly value: {
max: 100;
min: 0;
type: "float";
}
Readonly max: 100
Readonly min: 0
Readonly type: "float"
Readonly smufl: {
type: "optional";
value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
};
}
Readonly type: "optional"
Readonly value: {
pattern: RegExp;
type: "regex";
zero: "wiggle";
}
Readonly pattern: RegExp
Readonly type: "regex"
Readonly zero: "wiggle"
Readonly start-note: {
type: "optional";
value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["below", "main", "upper"];
type: "choices";
}
Readonly choices: readonly ["below", "main", "upper"]
Readonly type: "choices"
Readonly trill-step: {
type: "optional";
value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["unison", "half", "whole"];
type: "choices";
}
Readonly choices: readonly ["unison", "half", "whole"]
Readonly type: "choices"
Readonly two-note-turn: {
type: "optional";
value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
};
}
Readonly type: "optional"
Readonly value: {
choices: readonly ["none", "whole", "half"];
type: "choices";
}
Readonly choices: readonly ["none", "whole", "half"]
Readonly type: "choices"
Readonly type: {
type: "required";
value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
};
}
Readonly type: "required"
Readonly value: {
choices: readonly ["start", "stop", "continue"];
type: "choices";
}
Readonly choices: readonly ["start", "stop", "continue"]
Readonly type: "choices"
Readonly contents: readonly []
Readonly name: "wavy-line"
The
<wavy-line>elementParent elements:
<barline>,<ornaments>Wavy lines are one way to indicate trills and vibrato.
https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/wavy-line/