@viritura/score-engine 0.2.1-next.38 → 0.2.1-next.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2231,9 +2231,9 @@ function interpolateBeatAnchors(bounds, beat, endX) {
2231
2231
 
2232
2232
  // packages/score-engine/src/buildInfo.ts
2233
2233
  init_define_import_meta_env();
2234
- var PACKAGE_VERSION = "0.2.1-next.38", BUNDLE_WORKER_FILE = "score-engine.worker.js";
2234
+ var PACKAGE_VERSION = "0.2.1-next.39", BUNDLE_WORKER_FILE = "score-engine.worker.js";
2235
2235
  function buildCommit() {
2236
- return "c86711b1e69702ccabce35a06741343697305fdc";
2236
+ return "c83a57c32642a6e875c34211c98b01efcc8f3132";
2237
2237
  }
2238
2238
  function bundledAssetBase() {
2239
2239
  let moduleUrl = import.meta.url;
@@ -9201,8 +9201,9 @@ function validate371(data, { instancePath = "", parentData, parentDataProperty,
9201
9201
  return validate371.errors = vErrors, errors === 0;
9202
9202
  }
9203
9203
  validate371.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9204
- var schema378 = { type: "object", description: "A rehearsal mark displayed above the staff (e.g. 'A', 'B', '1'). Typically rendered in a box or circle.", required: ["text"], properties: { text: { $ref: "#/$defs/text-content" }, style: { type: "string", enum: ["boxed", "circled", "plain"], description: "Display style. Default: 'boxed'." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp); +x right, +y up." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this mark. Default/unset: true." } }, additionalProperties: !1 };
9205
- var schema381 = { type: "object", description: "Inline text formatting. Omitted fields inherit the owning text role's style.", properties: { font: { type: "string", enum: ["serif", "sans-serif", "monospace"] }, size: { type: "number", exclusiveMinimum: 0, maximum: 12, description: "Relative size as a multiple of the owning text role's resolved size (the CSS 'em' equivalent), not an absolute point size. Distinct from text-style.size, which counts staff spaces for a whole role." }, weight: { oneOf: [{ type: "string", enum: ["normal", "bold"] }, { type: "number", minimum: 1, maximum: 1e3 }] }, fontStyle: { type: "string", enum: ["normal", "italic", "oblique"] }, decorations: { type: "array", description: "Line decorations applied together. A set rather than a single value, because both MusicXML and Finale treat underline, overline and strikethrough as independent.", items: { type: "string", enum: ["underline", "overline", "strikethrough"] }, uniqueItems: !0, minItems: 1 }, enclosure: { type: "string", enum: ["box", "circle"] }, color: { type: "string", pattern: "^#[0-9a-fA-F]{6}$" } }, additionalProperties: !1 };
9204
+ var measureGlobalExtensions = validate401;
9205
+ var schema378 = { type: "object", description: "Unified tempo marking. BPM and value must occur together; without them an explicit swing instruction is required.", properties: { bpm: { type: "number", exclusiveMinimum: 0 }, value: { type: "object", required: ["base"], properties: { base: { type: "string", enum: ["duplexMaxima", "maxima", "longa", "breve", "whole", "half", "quarter", "eighth", "16th", "32nd", "64th", "128th", "256th", "512th", "1024th", "2048th", "4096th"] }, dots: { type: "integer", minimum: 0 } }, additionalProperties: !1 }, location: { type: "object", required: ["fraction"], properties: { fraction: { type: "array", prefixItems: [{ type: "integer", minimum: 0, maximum: 9007199254740991 }, { type: "integer", minimum: 1, maximum: 9007199254740991 }], items: !1, minItems: 2, maxItems: 2 } }, additionalProperties: !1 }, swing: { $ref: "#/$defs/swing" }, text: { $ref: "#/$defs/text-content" }, showMetronomeMark: { type: "boolean" }, showText: { type: "boolean" }, manualOffset: { $ref: "#/$defs/sp-delta" }, avoidCollisions: { type: "boolean" } }, oneOf: [{ required: ["bpm", "value"] }, { required: ["swing"], not: { anyOf: [{ required: ["bpm"] }, { required: ["value"] }] } }], additionalProperties: !1 }, schema379 = { description: "Explicit rhythm instruction, independent of the metronome beat unit. Omission means inherit; straight explicitly resets swing.", oneOf: [{ type: "object", required: ["mode"], properties: { mode: { const: "straight", type: "string" } }, additionalProperties: !1 }, { type: "object", required: ["mode", "subdivision", "ratio"], properties: { mode: { const: "swing", type: "string" }, subdivision: { type: "string", enum: ["eighth", "16th"] }, ratio: { type: "array", items: { type: "integer", minimum: 1, maximum: 9007199254740991 }, minItems: 2, maxItems: 2, description: "Exact positive long:short ratio, not a percentage or a guessed source value." } }, additionalProperties: !1 }] };
9206
+ var schema382 = { type: "object", description: "Inline text formatting. Omitted fields inherit the owning text role's style.", properties: { font: { type: "string", enum: ["serif", "sans-serif", "monospace"] }, size: { type: "number", exclusiveMinimum: 0, maximum: 12, description: "Relative size as a multiple of the owning text role's resolved size (the CSS 'em' equivalent), not an absolute point size. Distinct from text-style.size, which counts staff spaces for a whole role." }, weight: { oneOf: [{ type: "string", enum: ["normal", "bold"] }, { type: "number", minimum: 1, maximum: 1e3 }] }, fontStyle: { type: "string", enum: ["normal", "italic", "oblique"] }, decorations: { type: "array", description: "Line decorations applied together. A set rather than a single value, because both MusicXML and Finale treat underline, overline and strikethrough as independent.", items: { type: "string", enum: ["underline", "overline", "strikethrough"] }, uniqueItems: !0, minItems: 1 }, enclosure: { type: "string", enum: ["box", "circle"] }, color: { type: "string", pattern: "^#[0-9a-fA-F]{6}$" } }, additionalProperties: !1 };
9206
9207
  function validate404(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9207
9208
  let vErrors = null, errors = 0, evaluated0 = validate404.evaluated;
9208
9209
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
@@ -9234,7 +9235,7 @@ function validate404(data, { instancePath = "", parentData, parentDataProperty,
9234
9235
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9235
9236
  }
9236
9237
  if (!(data2 === "serif" || data2 === "sans-serif" || data2 === "monospace")) {
9237
- let err5 = { instancePath: instancePath + "/style/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema381.properties.font.enum }, message: "must be equal to one of the allowed values" };
9238
+ let err5 = { instancePath: instancePath + "/style/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema382.properties.font.enum }, message: "must be equal to one of the allowed values" };
9238
9239
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
9239
9240
  }
9240
9241
  }
@@ -9261,7 +9262,7 @@ function validate404(data, { instancePath = "", parentData, parentDataProperty,
9261
9262
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
9262
9263
  }
9263
9264
  if (!(data4 === "normal" || data4 === "bold")) {
9264
- let err10 = { instancePath: instancePath + "/style/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema381.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9265
+ let err10 = { instancePath: instancePath + "/style/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema382.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9265
9266
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
9266
9267
  }
9267
9268
  var _valid0 = _errs14 === errors;
@@ -9295,7 +9296,7 @@ function validate404(data, { instancePath = "", parentData, parentDataProperty,
9295
9296
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
9296
9297
  }
9297
9298
  if (!(data5 === "normal" || data5 === "italic" || data5 === "oblique")) {
9298
- let err16 = { instancePath: instancePath + "/style/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema381.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9299
+ let err16 = { instancePath: instancePath + "/style/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema382.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9299
9300
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9300
9301
  }
9301
9302
  }
@@ -9314,7 +9315,7 @@ function validate404(data, { instancePath = "", parentData, parentDataProperty,
9314
9315
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
9315
9316
  }
9316
9317
  if (!(data7 === "underline" || data7 === "overline" || data7 === "strikethrough")) {
9317
- let err19 = { instancePath: instancePath + "/style/decorations/" + i0, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema381.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9318
+ let err19 = { instancePath: instancePath + "/style/decorations/" + i0, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema382.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9318
9319
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
9319
9320
  }
9320
9321
  }
@@ -9346,7 +9347,7 @@ function validate404(data, { instancePath = "", parentData, parentDataProperty,
9346
9347
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
9347
9348
  }
9348
9349
  if (!(data8 === "box" || data8 === "circle")) {
9349
- let err23 = { instancePath: instancePath + "/style/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema381.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9350
+ let err23 = { instancePath: instancePath + "/style/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema382.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9350
9351
  vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
9351
9352
  }
9352
9353
  }
@@ -9426,7 +9427,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9426
9427
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
9427
9428
  }
9428
9429
  if (!(data3 === "serif" || data3 === "sans-serif" || data3 === "monospace")) {
9429
- let err8 = { instancePath: instancePath + "/style/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema381.properties.font.enum }, message: "must be equal to one of the allowed values" };
9430
+ let err8 = { instancePath: instancePath + "/style/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema382.properties.font.enum }, message: "must be equal to one of the allowed values" };
9430
9431
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
9431
9432
  }
9432
9433
  }
@@ -9453,7 +9454,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9453
9454
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
9454
9455
  }
9455
9456
  if (!(data5 === "normal" || data5 === "bold")) {
9456
- let err13 = { instancePath: instancePath + "/style/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema381.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9457
+ let err13 = { instancePath: instancePath + "/style/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema382.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9457
9458
  vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
9458
9459
  }
9459
9460
  var _valid0 = _errs16 === errors;
@@ -9487,7 +9488,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9487
9488
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
9488
9489
  }
9489
9490
  if (!(data6 === "normal" || data6 === "italic" || data6 === "oblique")) {
9490
- let err19 = { instancePath: instancePath + "/style/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema381.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9491
+ let err19 = { instancePath: instancePath + "/style/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema382.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9491
9492
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
9492
9493
  }
9493
9494
  }
@@ -9506,7 +9507,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9506
9507
  vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
9507
9508
  }
9508
9509
  if (!(data8 === "underline" || data8 === "overline" || data8 === "strikethrough")) {
9509
- let err22 = { instancePath: instancePath + "/style/decorations/" + i1, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema381.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9510
+ let err22 = { instancePath: instancePath + "/style/decorations/" + i1, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema382.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9510
9511
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
9511
9512
  }
9512
9513
  }
@@ -9538,7 +9539,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9538
9539
  vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
9539
9540
  }
9540
9541
  if (!(data9 === "box" || data9 === "circle")) {
9541
- let err26 = { instancePath: instancePath + "/style/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema381.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9542
+ let err26 = { instancePath: instancePath + "/style/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema382.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9542
9543
  vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
9543
9544
  }
9544
9545
  }
@@ -9574,7 +9575,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9574
9575
  vErrors === null ? vErrors = [err31] : vErrors.push(err31), errors++;
9575
9576
  }
9576
9577
  if (!(data12 === "serif" || data12 === "sans-serif" || data12 === "monospace")) {
9577
- let err32 = { instancePath: instancePath + "/smuflStyle/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema381.properties.font.enum }, message: "must be equal to one of the allowed values" };
9578
+ let err32 = { instancePath: instancePath + "/smuflStyle/font", schemaPath: "#/$defs/text-run-style/properties/font/enum", keyword: "enum", params: { allowedValues: schema382.properties.font.enum }, message: "must be equal to one of the allowed values" };
9578
9579
  vErrors === null ? vErrors = [err32] : vErrors.push(err32), errors++;
9579
9580
  }
9580
9581
  }
@@ -9601,7 +9602,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9601
9602
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
9602
9603
  }
9603
9604
  if (!(data14 === "normal" || data14 === "bold")) {
9604
- let err37 = { instancePath: instancePath + "/smuflStyle/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema381.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9605
+ let err37 = { instancePath: instancePath + "/smuflStyle/weight", schemaPath: "#/$defs/text-run-style/properties/weight/oneOf/0/enum", keyword: "enum", params: { allowedValues: schema382.properties.weight.oneOf[0].enum }, message: "must be equal to one of the allowed values" };
9605
9606
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
9606
9607
  }
9607
9608
  var _valid1 = _errs40 === errors;
@@ -9635,7 +9636,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9635
9636
  vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
9636
9637
  }
9637
9638
  if (!(data15 === "normal" || data15 === "italic" || data15 === "oblique")) {
9638
- let err43 = { instancePath: instancePath + "/smuflStyle/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema381.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9639
+ let err43 = { instancePath: instancePath + "/smuflStyle/fontStyle", schemaPath: "#/$defs/text-run-style/properties/fontStyle/enum", keyword: "enum", params: { allowedValues: schema382.properties.fontStyle.enum }, message: "must be equal to one of the allowed values" };
9639
9640
  vErrors === null ? vErrors = [err43] : vErrors.push(err43), errors++;
9640
9641
  }
9641
9642
  }
@@ -9654,7 +9655,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9654
9655
  vErrors === null ? vErrors = [err45] : vErrors.push(err45), errors++;
9655
9656
  }
9656
9657
  if (!(data17 === "underline" || data17 === "overline" || data17 === "strikethrough")) {
9657
- let err46 = { instancePath: instancePath + "/smuflStyle/decorations/" + i3, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema381.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9658
+ let err46 = { instancePath: instancePath + "/smuflStyle/decorations/" + i3, schemaPath: "#/$defs/text-run-style/properties/decorations/items/enum", keyword: "enum", params: { allowedValues: schema382.properties.decorations.items.enum }, message: "must be equal to one of the allowed values" };
9658
9659
  vErrors === null ? vErrors = [err46] : vErrors.push(err46), errors++;
9659
9660
  }
9660
9661
  }
@@ -9686,7 +9687,7 @@ function validate406(data, { instancePath = "", parentData, parentDataProperty,
9686
9687
  vErrors === null ? vErrors = [err49] : vErrors.push(err49), errors++;
9687
9688
  }
9688
9689
  if (!(data18 === "box" || data18 === "circle")) {
9689
- let err50 = { instancePath: instancePath + "/smuflStyle/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema381.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9690
+ let err50 = { instancePath: instancePath + "/smuflStyle/enclosure", schemaPath: "#/$defs/text-run-style/properties/enclosure/enum", keyword: "enum", params: { allowedValues: schema382.properties.enclosure.enum }, message: "must be equal to one of the allowed values" };
9690
9691
  vErrors === null ? vErrors = [err50] : vErrors.push(err50), errors++;
9691
9692
  }
9692
9693
  }
@@ -9745,6 +9746,354 @@ function validate403(data, { instancePath = "", parentData, parentDataProperty,
9745
9746
  validate403.evaluated = { items: !0, dynamicProps: !1, dynamicItems: !1 };
9746
9747
  function validate402(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9747
9748
  let vErrors = null, errors = 0, evaluated0 = validate402.evaluated;
9749
+ evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0);
9750
+ let _errs1 = errors, valid0 = !1, passing0 = null, _errs2 = errors;
9751
+ if (data && typeof data == "object" && !Array.isArray(data)) {
9752
+ if (data.bpm === void 0) {
9753
+ let err0 = { instancePath, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "bpm" }, message: "must have required property 'bpm'" };
9754
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
9755
+ }
9756
+ if (data.value === void 0) {
9757
+ let err1 = { instancePath, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "value" }, message: "must have required property 'value'" };
9758
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
9759
+ }
9760
+ }
9761
+ var _valid0 = _errs2 === errors;
9762
+ _valid0 && (valid0 = !0, passing0 = 0);
9763
+ let _errs3 = errors, _errs4 = errors, _errs5 = errors, _errs6 = errors, valid2 = !1, _errs7 = errors;
9764
+ if (data && typeof data == "object" && !Array.isArray(data)) {
9765
+ let missing0;
9766
+ if (data.bpm === void 0 && (missing0 = "bpm")) {
9767
+ let err2 = {};
9768
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9769
+ }
9770
+ }
9771
+ var _valid1 = _errs7 === errors;
9772
+ valid2 = valid2 || _valid1;
9773
+ let _errs8 = errors;
9774
+ if (data && typeof data == "object" && !Array.isArray(data)) {
9775
+ let missing1;
9776
+ if (data.value === void 0 && (missing1 = "value")) {
9777
+ let err3 = {};
9778
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
9779
+ }
9780
+ }
9781
+ var _valid1 = _errs8 === errors;
9782
+ if (valid2 = valid2 || _valid1, valid2)
9783
+ errors = _errs6, vErrors !== null && (_errs6 ? vErrors.length = _errs6 : vErrors = null);
9784
+ else {
9785
+ let err4 = {};
9786
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9787
+ }
9788
+ var valid1 = _errs5 === errors;
9789
+ if (valid1) {
9790
+ let err5 = { instancePath, schemaPath: "#/oneOf/1/not", keyword: "not", params: {}, message: "must NOT be valid" };
9791
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
9792
+ } else
9793
+ errors = _errs4, vErrors !== null && (_errs4 ? vErrors.length = _errs4 : vErrors = null);
9794
+ if (data && typeof data == "object" && !Array.isArray(data) && data.swing === void 0) {
9795
+ let err6 = { instancePath, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "swing" }, message: "must have required property 'swing'" };
9796
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
9797
+ }
9798
+ var _valid0 = _errs3 === errors;
9799
+ if (_valid0 && valid0 ? (valid0 = !1, passing0 = [passing0, 1]) : _valid0 && (valid0 = !0, passing0 = 1), valid0)
9800
+ errors = _errs1, vErrors !== null && (_errs1 ? vErrors.length = _errs1 : vErrors = null);
9801
+ else {
9802
+ let err7 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
9803
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
9804
+ }
9805
+ if (data && typeof data == "object" && !Array.isArray(data)) {
9806
+ for (let key0 in data)
9807
+ if (!func1.call(schema378.properties, key0)) {
9808
+ let err8 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
9809
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
9810
+ }
9811
+ if (data.bpm !== void 0) {
9812
+ let data0 = data.bpm;
9813
+ if (typeof data0 == "number") {
9814
+ if (data0 <= 0 || isNaN(data0)) {
9815
+ let err9 = { instancePath: instancePath + "/bpm", schemaPath: "#/properties/bpm/exclusiveMinimum", keyword: "exclusiveMinimum", params: { comparison: ">", limit: 0 }, message: "must be > 0" };
9816
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
9817
+ }
9818
+ } else {
9819
+ let err10 = { instancePath: instancePath + "/bpm", schemaPath: "#/properties/bpm/type", keyword: "type", params: { type: "number" }, message: "must be number" };
9820
+ vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
9821
+ }
9822
+ }
9823
+ if (data.value !== void 0) {
9824
+ let data1 = data.value;
9825
+ if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
9826
+ if (data1.base === void 0) {
9827
+ let err11 = { instancePath: instancePath + "/value", schemaPath: "#/properties/value/required", keyword: "required", params: { missingProperty: "base" }, message: "must have required property 'base'" };
9828
+ vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
9829
+ }
9830
+ for (let key1 in data1)
9831
+ if (!(key1 === "base" || key1 === "dots")) {
9832
+ let err12 = { instancePath: instancePath + "/value", schemaPath: "#/properties/value/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
9833
+ vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
9834
+ }
9835
+ if (data1.base !== void 0) {
9836
+ let data2 = data1.base;
9837
+ if (typeof data2 != "string") {
9838
+ let err13 = { instancePath: instancePath + "/value/base", schemaPath: "#/properties/value/properties/base/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9839
+ vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
9840
+ }
9841
+ if (!(data2 === "duplexMaxima" || data2 === "maxima" || data2 === "longa" || data2 === "breve" || data2 === "whole" || data2 === "half" || data2 === "quarter" || data2 === "eighth" || data2 === "16th" || data2 === "32nd" || data2 === "64th" || data2 === "128th" || data2 === "256th" || data2 === "512th" || data2 === "1024th" || data2 === "2048th" || data2 === "4096th")) {
9842
+ let err14 = { instancePath: instancePath + "/value/base", schemaPath: "#/properties/value/properties/base/enum", keyword: "enum", params: { allowedValues: schema378.properties.value.properties.base.enum }, message: "must be equal to one of the allowed values" };
9843
+ vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
9844
+ }
9845
+ }
9846
+ if (data1.dots !== void 0) {
9847
+ let data3 = data1.dots;
9848
+ if (!(typeof data3 == "number" && !(data3 % 1) && !isNaN(data3))) {
9849
+ let err15 = { instancePath: instancePath + "/value/dots", schemaPath: "#/properties/value/properties/dots/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9850
+ vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
9851
+ }
9852
+ if (typeof data3 == "number" && (data3 < 0 || isNaN(data3))) {
9853
+ let err16 = { instancePath: instancePath + "/value/dots", schemaPath: "#/properties/value/properties/dots/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
9854
+ vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9855
+ }
9856
+ }
9857
+ } else {
9858
+ let err17 = { instancePath: instancePath + "/value", schemaPath: "#/properties/value/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9859
+ vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
9860
+ }
9861
+ }
9862
+ if (data.location !== void 0) {
9863
+ let data4 = data.location;
9864
+ if (data4 && typeof data4 == "object" && !Array.isArray(data4)) {
9865
+ if (data4.fraction === void 0) {
9866
+ let err18 = { instancePath: instancePath + "/location", schemaPath: "#/properties/location/required", keyword: "required", params: { missingProperty: "fraction" }, message: "must have required property 'fraction'" };
9867
+ vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
9868
+ }
9869
+ for (let key2 in data4)
9870
+ if (key2 !== "fraction") {
9871
+ let err19 = { instancePath: instancePath + "/location", schemaPath: "#/properties/location/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" };
9872
+ vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
9873
+ }
9874
+ if (data4.fraction !== void 0) {
9875
+ let data5 = data4.fraction;
9876
+ if (Array.isArray(data5)) {
9877
+ if (data5.length > 2) {
9878
+ let err20 = { instancePath: instancePath + "/location/fraction", schemaPath: "#/properties/location/properties/fraction/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
9879
+ vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
9880
+ }
9881
+ if (data5.length < 2) {
9882
+ let err21 = { instancePath: instancePath + "/location/fraction", schemaPath: "#/properties/location/properties/fraction/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
9883
+ vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
9884
+ }
9885
+ let len0 = data5.length;
9886
+ if (len0 > 0) {
9887
+ let data6 = data5[0];
9888
+ if (!(typeof data6 == "number" && !(data6 % 1) && !isNaN(data6))) {
9889
+ let err22 = { instancePath: instancePath + "/location/fraction/0", schemaPath: "#/properties/location/properties/fraction/prefixItems/0/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9890
+ vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
9891
+ }
9892
+ if (typeof data6 == "number") {
9893
+ if (data6 > 9007199254740991 || isNaN(data6)) {
9894
+ let err23 = { instancePath: instancePath + "/location/fraction/0", schemaPath: "#/properties/location/properties/fraction/prefixItems/0/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9007199254740991 }, message: "must be <= 9007199254740991" };
9895
+ vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
9896
+ }
9897
+ if (data6 < 0 || isNaN(data6)) {
9898
+ let err24 = { instancePath: instancePath + "/location/fraction/0", schemaPath: "#/properties/location/properties/fraction/prefixItems/0/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
9899
+ vErrors === null ? vErrors = [err24] : vErrors.push(err24), errors++;
9900
+ }
9901
+ }
9902
+ }
9903
+ if (len0 > 1) {
9904
+ let data7 = data5[1];
9905
+ if (!(typeof data7 == "number" && !(data7 % 1) && !isNaN(data7))) {
9906
+ let err25 = { instancePath: instancePath + "/location/fraction/1", schemaPath: "#/properties/location/properties/fraction/prefixItems/1/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
9907
+ vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
9908
+ }
9909
+ if (typeof data7 == "number") {
9910
+ if (data7 > 9007199254740991 || isNaN(data7)) {
9911
+ let err26 = { instancePath: instancePath + "/location/fraction/1", schemaPath: "#/properties/location/properties/fraction/prefixItems/1/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9007199254740991 }, message: "must be <= 9007199254740991" };
9912
+ vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
9913
+ }
9914
+ if (data7 < 1 || isNaN(data7)) {
9915
+ let err27 = { instancePath: instancePath + "/location/fraction/1", schemaPath: "#/properties/location/properties/fraction/prefixItems/1/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
9916
+ vErrors === null ? vErrors = [err27] : vErrors.push(err27), errors++;
9917
+ }
9918
+ }
9919
+ }
9920
+ if (!(data5.length <= 2)) {
9921
+ let err28 = { instancePath: instancePath + "/location/fraction", schemaPath: "#/properties/location/properties/fraction/items", keyword: "items", params: { limit: 2 }, message: "must NOT have more than 2 items" };
9922
+ vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
9923
+ }
9924
+ } else {
9925
+ let err29 = { instancePath: instancePath + "/location/fraction", schemaPath: "#/properties/location/properties/fraction/type", keyword: "type", params: { type: "array" }, message: "must be array" };
9926
+ vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
9927
+ }
9928
+ }
9929
+ } else {
9930
+ let err30 = { instancePath: instancePath + "/location", schemaPath: "#/properties/location/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9931
+ vErrors === null ? vErrors = [err30] : vErrors.push(err30), errors++;
9932
+ }
9933
+ }
9934
+ if (data.swing !== void 0) {
9935
+ let data8 = data.swing, _errs30 = errors, valid8 = !1, passing1 = null, _errs31 = errors;
9936
+ if (data8 && typeof data8 == "object" && !Array.isArray(data8)) {
9937
+ if (data8.mode === void 0) {
9938
+ let err31 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
9939
+ vErrors === null ? vErrors = [err31] : vErrors.push(err31), errors++;
9940
+ }
9941
+ for (let key3 in data8)
9942
+ if (key3 !== "mode") {
9943
+ let err32 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" };
9944
+ vErrors === null ? vErrors = [err32] : vErrors.push(err32), errors++;
9945
+ }
9946
+ if (data8.mode !== void 0) {
9947
+ let data9 = data8.mode;
9948
+ if (typeof data9 != "string") {
9949
+ let err33 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/0/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9950
+ vErrors === null ? vErrors = [err33] : vErrors.push(err33), errors++;
9951
+ }
9952
+ if (data9 !== "straight") {
9953
+ let err34 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/0/properties/mode/const", keyword: "const", params: { allowedValue: "straight" }, message: "must be equal to constant" };
9954
+ vErrors === null ? vErrors = [err34] : vErrors.push(err34), errors++;
9955
+ }
9956
+ }
9957
+ } else {
9958
+ let err35 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9959
+ vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
9960
+ }
9961
+ var _valid2 = _errs31 === errors;
9962
+ if (_valid2) {
9963
+ valid8 = !0, passing1 = 0;
9964
+ var props0 = !0;
9965
+ }
9966
+ let _errs36 = errors;
9967
+ if (data8 && typeof data8 == "object" && !Array.isArray(data8)) {
9968
+ if (data8.mode === void 0) {
9969
+ let err36 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
9970
+ vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
9971
+ }
9972
+ if (data8.subdivision === void 0) {
9973
+ let err37 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "subdivision" }, message: "must have required property 'subdivision'" };
9974
+ vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
9975
+ }
9976
+ if (data8.ratio === void 0) {
9977
+ let err38 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "ratio" }, message: "must have required property 'ratio'" };
9978
+ vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
9979
+ }
9980
+ for (let key4 in data8)
9981
+ if (!(key4 === "mode" || key4 === "subdivision" || key4 === "ratio")) {
9982
+ let err39 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key4 }, message: "must NOT have additional properties" };
9983
+ vErrors === null ? vErrors = [err39] : vErrors.push(err39), errors++;
9984
+ }
9985
+ if (data8.mode !== void 0) {
9986
+ let data10 = data8.mode;
9987
+ if (typeof data10 != "string") {
9988
+ let err40 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/1/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
9989
+ vErrors === null ? vErrors = [err40] : vErrors.push(err40), errors++;
9990
+ }
9991
+ if (data10 !== "swing") {
9992
+ let err41 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/1/properties/mode/const", keyword: "const", params: { allowedValue: "swing" }, message: "must be equal to constant" };
9993
+ vErrors === null ? vErrors = [err41] : vErrors.push(err41), errors++;
9994
+ }
9995
+ }
9996
+ if (data8.subdivision !== void 0) {
9997
+ let data11 = data8.subdivision;
9998
+ if (typeof data11 != "string") {
9999
+ let err42 = { instancePath: instancePath + "/swing/subdivision", schemaPath: "#/$defs/swing/oneOf/1/properties/subdivision/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10000
+ vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
10001
+ }
10002
+ if (!(data11 === "eighth" || data11 === "16th")) {
10003
+ let err43 = { instancePath: instancePath + "/swing/subdivision", schemaPath: "#/$defs/swing/oneOf/1/properties/subdivision/enum", keyword: "enum", params: { allowedValues: schema379.oneOf[1].properties.subdivision.enum }, message: "must be equal to one of the allowed values" };
10004
+ vErrors === null ? vErrors = [err43] : vErrors.push(err43), errors++;
10005
+ }
10006
+ }
10007
+ if (data8.ratio !== void 0) {
10008
+ let data12 = data8.ratio;
10009
+ if (Array.isArray(data12)) {
10010
+ if (data12.length > 2) {
10011
+ let err44 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
10012
+ vErrors === null ? vErrors = [err44] : vErrors.push(err44), errors++;
10013
+ }
10014
+ if (data12.length < 2) {
10015
+ let err45 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
10016
+ vErrors === null ? vErrors = [err45] : vErrors.push(err45), errors++;
10017
+ }
10018
+ let len2 = data12.length;
10019
+ for (let i0 = 0; i0 < len2; i0++) {
10020
+ let data13 = data12[i0];
10021
+ if (!(typeof data13 == "number" && !(data13 % 1) && !isNaN(data13))) {
10022
+ let err46 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
10023
+ vErrors === null ? vErrors = [err46] : vErrors.push(err46), errors++;
10024
+ }
10025
+ if (typeof data13 == "number") {
10026
+ if (data13 > 9007199254740991 || isNaN(data13)) {
10027
+ let err47 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9007199254740991 }, message: "must be <= 9007199254740991" };
10028
+ vErrors === null ? vErrors = [err47] : vErrors.push(err47), errors++;
10029
+ }
10030
+ if (data13 < 1 || isNaN(data13)) {
10031
+ let err48 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
10032
+ vErrors === null ? vErrors = [err48] : vErrors.push(err48), errors++;
10033
+ }
10034
+ }
10035
+ }
10036
+ } else {
10037
+ let err49 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10038
+ vErrors === null ? vErrors = [err49] : vErrors.push(err49), errors++;
10039
+ }
10040
+ }
10041
+ } else {
10042
+ let err50 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10043
+ vErrors === null ? vErrors = [err50] : vErrors.push(err50), errors++;
10044
+ }
10045
+ var _valid2 = _errs36 === errors;
10046
+ if (_valid2 && valid8 ? (valid8 = !1, passing1 = [passing1, 1]) : _valid2 && (valid8 = !0, passing1 = 1, props0 !== !0 && (props0 = !0)), valid8)
10047
+ errors = _errs30, vErrors !== null && (_errs30 ? vErrors.length = _errs30 : vErrors = null);
10048
+ else {
10049
+ let err51 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf", keyword: "oneOf", params: { passingSchemas: passing1 }, message: "must match exactly one schema in oneOf" };
10050
+ vErrors === null ? vErrors = [err51] : vErrors.push(err51), errors++;
10051
+ }
10052
+ }
10053
+ if (data.text !== void 0 && (validate403(data.text, { instancePath: instancePath + "/text", parentData: data, parentDataProperty: "text", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate403.errors : vErrors.concat(validate403.errors), errors = vErrors.length)), data.showMetronomeMark !== void 0 && typeof data.showMetronomeMark != "boolean") {
10054
+ let err52 = { instancePath: instancePath + "/showMetronomeMark", schemaPath: "#/properties/showMetronomeMark/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10055
+ vErrors === null ? vErrors = [err52] : vErrors.push(err52), errors++;
10056
+ }
10057
+ if (data.showText !== void 0 && typeof data.showText != "boolean") {
10058
+ let err53 = { instancePath: instancePath + "/showText", schemaPath: "#/properties/showText/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10059
+ vErrors === null ? vErrors = [err53] : vErrors.push(err53), errors++;
10060
+ }
10061
+ if (data.manualOffset !== void 0) {
10062
+ let data17 = data.manualOffset;
10063
+ if (Array.isArray(data17)) {
10064
+ if (data17.length > 2) {
10065
+ let err54 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
10066
+ vErrors === null ? vErrors = [err54] : vErrors.push(err54), errors++;
10067
+ }
10068
+ if (data17.length < 2) {
10069
+ let err55 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
10070
+ vErrors === null ? vErrors = [err55] : vErrors.push(err55), errors++;
10071
+ }
10072
+ let len3 = data17.length;
10073
+ for (let i1 = 0; i1 < len3; i1++)
10074
+ if (typeof data17[i1] != "number") {
10075
+ let err56 = { instancePath: instancePath + "/manualOffset/" + i1, schemaPath: "#/$defs/sp-delta/items/type", keyword: "type", params: { type: "number" }, message: "must be number" };
10076
+ vErrors === null ? vErrors = [err56] : vErrors.push(err56), errors++;
10077
+ }
10078
+ } else {
10079
+ let err57 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10080
+ vErrors === null ? vErrors = [err57] : vErrors.push(err57), errors++;
10081
+ }
10082
+ }
10083
+ if (data.avoidCollisions !== void 0 && typeof data.avoidCollisions != "boolean") {
10084
+ let err58 = { instancePath: instancePath + "/avoidCollisions", schemaPath: "#/properties/avoidCollisions/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10085
+ vErrors === null ? vErrors = [err58] : vErrors.push(err58), errors++;
10086
+ }
10087
+ } else {
10088
+ let err59 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10089
+ vErrors === null ? vErrors = [err59] : vErrors.push(err59), errors++;
10090
+ }
10091
+ return validate402.errors = vErrors, errors === 0;
10092
+ }
10093
+ validate402.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10094
+ var schema387 = { type: "object", description: "A rehearsal mark displayed above the staff (e.g. 'A', 'B', '1'). Typically rendered in a box or circle.", required: ["text"], properties: { text: { $ref: "#/$defs/text-content" }, style: { type: "string", enum: ["boxed", "circled", "plain"], description: "Display style. Default: 'boxed'." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp); +x right, +y up." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this mark. Default/unset: true." } }, additionalProperties: !1 };
10095
+ function validate410(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10096
+ let vErrors = null, errors = 0, evaluated0 = validate410.evaluated;
9748
10097
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9749
10098
  if (data.text === void 0) {
9750
10099
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "text" }, message: "must have required property 'text'" };
@@ -9762,7 +10111,7 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
9762
10111
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9763
10112
  }
9764
10113
  if (!(data1 === "boxed" || data1 === "circled" || data1 === "plain")) {
9765
- let err3 = { instancePath: instancePath + "/style", schemaPath: "#/properties/style/enum", keyword: "enum", params: { allowedValues: schema378.properties.style.enum }, message: "must be equal to one of the allowed values" };
10114
+ let err3 = { instancePath: instancePath + "/style", schemaPath: "#/properties/style/enum", keyword: "enum", params: { allowedValues: schema387.properties.style.enum }, message: "must be equal to one of the allowed values" };
9766
10115
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
9767
10116
  }
9768
10117
  }
@@ -9796,12 +10145,12 @@ function validate402(data, { instancePath = "", parentData, parentDataProperty,
9796
10145
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9797
10146
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
9798
10147
  }
9799
- return validate402.errors = vErrors, errors === 0;
10148
+ return validate410.errors = vErrors, errors === 0;
9800
10149
  }
9801
- validate402.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9802
- var schema387 = { type: "object", description: "Authored display text owned by one navigation marker. The owning marker remains authoritative for playback and navigation.", required: ["content", "placement"], properties: { content: { $ref: "#/$defs/text-content", description: "Ordered authored text and SMuFL glyph runs." }, placement: { type: "string", enum: ["before", "after", "replace"], description: "Whether authored content precedes, follows, or replaces the marker's generated glyph or label." } }, additionalProperties: !1 };
9803
- function validate411(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9804
- let vErrors = null, errors = 0, evaluated0 = validate411.evaluated;
10150
+ validate410.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10151
+ var schema390 = { type: "object", description: "Authored display text owned by one navigation marker. The owning marker remains authoritative for playback and navigation.", required: ["content", "placement"], properties: { content: { $ref: "#/$defs/text-content", description: "Ordered authored text and SMuFL glyph runs." }, placement: { type: "string", enum: ["before", "after", "replace"], description: "Whether authored content precedes, follows, or replaces the marker's generated glyph or label." } }, additionalProperties: !1 };
10152
+ function validate414(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10153
+ let vErrors = null, errors = 0, evaluated0 = validate414.evaluated;
9805
10154
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9806
10155
  if (data.content === void 0) {
9807
10156
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "content" }, message: "must have required property 'content'" };
@@ -9823,7 +10172,7 @@ function validate411(data, { instancePath = "", parentData, parentDataProperty,
9823
10172
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
9824
10173
  }
9825
10174
  if (!(data1 === "before" || data1 === "after" || data1 === "replace")) {
9826
- let err4 = { instancePath: instancePath + "/placement", schemaPath: "#/properties/placement/enum", keyword: "enum", params: { allowedValues: schema387.properties.placement.enum }, message: "must be equal to one of the allowed values" };
10175
+ let err4 = { instancePath: instancePath + "/placement", schemaPath: "#/properties/placement/enum", keyword: "enum", params: { allowedValues: schema390.properties.placement.enum }, message: "must be equal to one of the allowed values" };
9827
10176
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
9828
10177
  }
9829
10178
  }
@@ -9831,11 +10180,11 @@ function validate411(data, { instancePath = "", parentData, parentDataProperty,
9831
10180
  let err5 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9832
10181
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
9833
10182
  }
9834
- return validate411.errors = vErrors, errors === 0;
10183
+ return validate414.errors = vErrors, errors === 0;
9835
10184
  }
9836
- validate411.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9837
- function validate410(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9838
- let vErrors = null, errors = 0, evaluated0 = validate410.evaluated;
10185
+ validate414.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10186
+ function validate413(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10187
+ let vErrors = null, errors = 0, evaluated0 = validate413.evaluated;
9839
10188
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9840
10189
  if (Object.keys(data).length < 1) {
9841
10190
  let err0 = { instancePath, schemaPath: "#/minProperties", keyword: "minProperties", params: { limit: 1 }, message: "must NOT have fewer than 1 properties" };
@@ -9846,18 +10195,18 @@ function validate410(data, { instancePath = "", parentData, parentDataProperty,
9846
10195
  let err1 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
9847
10196
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
9848
10197
  }
9849
- data.segno !== void 0 && (validate411(data.segno, { instancePath: instancePath + "/segno", parentData: data, parentDataProperty: "segno", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate411.errors : vErrors.concat(validate411.errors), errors = vErrors.length)), data.coda !== void 0 && (validate411(data.coda, { instancePath: instancePath + "/coda", parentData: data, parentDataProperty: "coda", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate411.errors : vErrors.concat(validate411.errors), errors = vErrors.length)), data.fine !== void 0 && (validate411(data.fine, { instancePath: instancePath + "/fine", parentData: data, parentDataProperty: "fine", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate411.errors : vErrors.concat(validate411.errors), errors = vErrors.length)), data.jump !== void 0 && (validate411(data.jump, { instancePath: instancePath + "/jump", parentData: data, parentDataProperty: "jump", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate411.errors : vErrors.concat(validate411.errors), errors = vErrors.length));
10198
+ data.segno !== void 0 && (validate414(data.segno, { instancePath: instancePath + "/segno", parentData: data, parentDataProperty: "segno", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate414.errors : vErrors.concat(validate414.errors), errors = vErrors.length)), data.coda !== void 0 && (validate414(data.coda, { instancePath: instancePath + "/coda", parentData: data, parentDataProperty: "coda", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate414.errors : vErrors.concat(validate414.errors), errors = vErrors.length)), data.fine !== void 0 && (validate414(data.fine, { instancePath: instancePath + "/fine", parentData: data, parentDataProperty: "fine", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate414.errors : vErrors.concat(validate414.errors), errors = vErrors.length)), data.jump !== void 0 && (validate414(data.jump, { instancePath: instancePath + "/jump", parentData: data, parentDataProperty: "jump", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate414.errors : vErrors.concat(validate414.errors), errors = vErrors.length));
9850
10199
  } else {
9851
10200
  let err2 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
9852
10201
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
9853
10202
  }
9854
- return validate410.errors = vErrors, errors === 0;
10203
+ return validate413.errors = vErrors, errors === 0;
9855
10204
  }
9856
- validate410.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
9857
- var schema389 = { type: "object", description: "Optional shared frame presentation on staff text. No width means natural width; a staff-space width enables word wrapping. Height is automatic.", properties: { width: { type: "object", required: ["unit", "value"], properties: { unit: { const: "staffSpaces" }, value: { type: "number", exclusiveMinimum: 0 } }, additionalProperties: !1 }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"] }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"] }, padding: { type: "number", minimum: 0 }, border: { type: "string", enum: ["none", "solid"] }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." } }, additionalProperties: !1 };
9858
- var schema391 = { type: "string", enum: ["below", "above"], description: "Placement of a text expression relative to the staff. Default: 'below'." };
9859
- function validate418(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
9860
- let vErrors = null, errors = 0, evaluated0 = validate418.evaluated;
10205
+ validate413.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10206
+ var schema392 = { type: "object", description: "Optional shared frame presentation on staff text. No width means natural width; a staff-space width enables word wrapping. Height is automatic.", properties: { width: { type: "object", required: ["unit", "value"], properties: { unit: { const: "staffSpaces" }, value: { type: "number", exclusiveMinimum: 0 } }, additionalProperties: !1 }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"] }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"] }, padding: { type: "number", minimum: 0 }, border: { type: "string", enum: ["none", "solid"] }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." } }, additionalProperties: !1 };
10207
+ var schema394 = { type: "string", enum: ["below", "above"], description: "Placement of a text expression relative to the staff. Default: 'below'." };
10208
+ function validate421(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10209
+ let vErrors = null, errors = 0, evaluated0 = validate421.evaluated;
9861
10210
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
9862
10211
  if (data.id === void 0) {
9863
10212
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -9940,7 +10289,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
9940
10289
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
9941
10290
  }
9942
10291
  if (!(data6 === "left" || data6 === "center" || data6 === "right")) {
9943
- let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema389.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
10292
+ let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema392.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
9944
10293
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
9945
10294
  }
9946
10295
  }
@@ -9951,7 +10300,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
9951
10300
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
9952
10301
  }
9953
10302
  if (!(data7 === "left" || data7 === "center" || data7 === "right" || data7 === "justify")) {
9954
- let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema389.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
10303
+ let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema392.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
9955
10304
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
9956
10305
  }
9957
10306
  }
@@ -9974,7 +10323,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
9974
10323
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
9975
10324
  }
9976
10325
  if (!(data9 === "none" || data9 === "solid")) {
9977
- let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema389.properties.border.enum }, message: "must be equal to one of the allowed values" };
10326
+ let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema392.properties.border.enum }, message: "must be equal to one of the allowed values" };
9978
10327
  vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
9979
10328
  }
9980
10329
  }
@@ -10063,7 +10412,7 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
10063
10412
  vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
10064
10413
  }
10065
10414
  if (!(data17 === "below" || data17 === "above")) {
10066
- let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema391.enum }, message: "must be equal to one of the allowed values" };
10415
+ let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema394.enum }, message: "must be equal to one of the allowed values" };
10067
10416
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
10068
10417
  }
10069
10418
  }
@@ -10097,12 +10446,12 @@ function validate418(data, { instancePath = "", parentData, parentDataProperty,
10097
10446
  let err42 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10098
10447
  vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
10099
10448
  }
10100
- return validate418.errors = vErrors, errors === 0;
10449
+ return validate421.errors = vErrors, errors === 0;
10101
10450
  }
10102
- validate418.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10103
- var schema393 = { type: "object", description: "A gradual tempo change (ritardando / accelerando) playback curve. MNX has no gradual-tempo field, so Viritura models the playback ramp as a vendor extension on the global measure where it begins. The tempo ramps linearly in BPM from the tempo active at `position` (or `startBpm` if given) to `endBpm` at `end`. This is playback data only; the printed 'rit.'/'accel.' text is an ordinary text-expression.", required: ["position", "end", "endBpm"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Start position within this measure." }, end: { $ref: "#/$defs/measure-rhythmic-position", description: "End position (may reference a later measure)." }, endBpm: { type: "number", exclusiveMinimum: 0, description: "Quarter-note BPM reached at the end of the ramp." }, startBpm: { type: "number", exclusiveMinimum: 0, description: "Optional start BPM (quarter-note). Defaults to the tempo active at `position`." }, kind: { type: "string", enum: ["rit", "accel"], description: "Optional classification. Cosmetic only; the BPM direction determines the audible behavior." } }, additionalProperties: !1 };
10104
- function validate422(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10105
- let vErrors = null, errors = 0, evaluated0 = validate422.evaluated;
10451
+ validate421.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10452
+ var schema396 = { type: "object", description: "A gradual tempo change (ritardando / accelerando) playback curve. MNX has no gradual-tempo field, so Viritura models the playback ramp as a vendor extension on the global measure where it begins. The tempo ramps linearly in BPM from the tempo active at `position` (or `startBpm` if given) to `endBpm` at `end`. This is playback data only; the printed 'rit.'/'accel.' text is an ordinary text-expression.", required: ["position", "end", "endBpm"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Start position within this measure." }, end: { $ref: "#/$defs/measure-rhythmic-position", description: "End position (may reference a later measure)." }, endBpm: { type: "number", exclusiveMinimum: 0, description: "Quarter-note BPM reached at the end of the ramp." }, startBpm: { type: "number", exclusiveMinimum: 0, description: "Optional start BPM (quarter-note). Defaults to the tempo active at `position`." }, kind: { type: "string", enum: ["rit", "accel"], description: "Optional classification. Cosmetic only; the BPM direction determines the audible behavior." } }, additionalProperties: !1 };
10453
+ function validate425(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10454
+ let vErrors = null, errors = 0, evaluated0 = validate425.evaluated;
10106
10455
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10107
10456
  if (data.measure === void 0) {
10108
10457
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "measure" }, message: "must have required property 'measure'" };
@@ -10166,11 +10515,11 @@ function validate422(data, { instancePath = "", parentData, parentDataProperty,
10166
10515
  let err11 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10167
10516
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
10168
10517
  }
10169
- return validate422.errors = vErrors, errors === 0;
10518
+ return validate425.errors = vErrors, errors === 0;
10170
10519
  }
10171
- validate422.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10172
- function validate421(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10173
- let vErrors = null, errors = 0, evaluated0 = validate421.evaluated;
10520
+ validate425.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10521
+ function validate424(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10522
+ let vErrors = null, errors = 0, evaluated0 = validate424.evaluated;
10174
10523
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10175
10524
  if (data.position === void 0) {
10176
10525
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
@@ -10230,7 +10579,7 @@ function validate421(data, { instancePath = "", parentData, parentDataProperty,
10230
10579
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
10231
10580
  }
10232
10581
  }
10233
- if (data.end !== void 0 && (validate422(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate422.errors : vErrors.concat(validate422.errors), errors = vErrors.length)), data.endBpm !== void 0) {
10582
+ if (data.end !== void 0 && (validate425(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate425.errors : vErrors.concat(validate425.errors), errors = vErrors.length)), data.endBpm !== void 0) {
10234
10583
  let data4 = data.endBpm;
10235
10584
  if (typeof data4 == "number") {
10236
10585
  if (data4 <= 0 || isNaN(data4)) {
@@ -10261,7 +10610,7 @@ function validate421(data, { instancePath = "", parentData, parentDataProperty,
10261
10610
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
10262
10611
  }
10263
10612
  if (!(data6 === "rit" || data6 === "accel")) {
10264
- let err16 = { instancePath: instancePath + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: schema393.properties.kind.enum }, message: "must be equal to one of the allowed values" };
10613
+ let err16 = { instancePath: instancePath + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: schema396.properties.kind.enum }, message: "must be equal to one of the allowed values" };
10265
10614
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
10266
10615
  }
10267
10616
  }
@@ -10269,12 +10618,12 @@ function validate421(data, { instancePath = "", parentData, parentDataProperty,
10269
10618
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10270
10619
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
10271
10620
  }
10272
- return validate421.errors = vErrors, errors === 0;
10621
+ return validate424.errors = vErrors, errors === 0;
10273
10622
  }
10274
- validate421.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10275
- var schema397 = { type: "object", description: "A score-wide harmony event on a global measure. Either a structured root or authored rawText is required; rawText may preserve malformed or unrecognized symbols and no-chord (NC) declarations without inventing a root.", $comment: "The parser enforces root or rawText. The code generators cannot represent the anyOf required-property constraint while preserving both fields.", required: ["position"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, root: { $ref: "#/$defs/chord-root", description: "Structured root note, optional for raw authored symbols and no-chord declarations. When present, it must agree semantically with rawText." }, rawText: { type: "string", description: "Original authored chord text, preserved verbatim even when structured fields are available. Rootless text preserves malformed or unrecognized symbols and NC. The semantic resolver checks agreement with any structured fields." }, quality: { $ref: "#/$defs/chord-quality" }, kindText: { type: "string", description: "Authored quality spelling retained alongside the normalized quality." }, bass: { $ref: "#/$defs/chord-root", description: "Bass note for slash chords (e.g. the 'E' in 'C/E')." }, extension: { type: "integer", enum: [6, 7, 9, 11, 13], description: "Chord extension (6th, 7th, 9th, 11th, 13th)." }, textOverride: { type: "string", description: "Visual override of the computed display text, not a semantic replacement. The semantic resolver rejects parseable contradictions or unsupported non-equivalent overrides." } }, additionalProperties: !1 }, schema399 = { type: "object", description: "Root or bass note of a chord symbol.", required: ["step"], properties: { step: { type: "string", enum: ["A", "B", "C", "D", "E", "F", "G"], description: "Note letter name." }, alter: { type: "integer", description: "Chromatic alteration in semitones (-1 = flat, 1 = sharp)." } }, additionalProperties: !1 }, schema400 = { type: "string", enum: ["major", "minor", "dominant", "diminished", "augmented", "half-diminished", "minor-major", "power", "suspended2", "suspended4", "other"], description: "Harmonic quality of a chord symbol." };
10276
- function validate425(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10277
- let vErrors = null, errors = 0, evaluated0 = validate425.evaluated;
10623
+ validate424.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10624
+ var schema400 = { type: "object", description: "A score-wide harmony event on a global measure. Either a structured root or authored rawText is required; rawText may preserve malformed or unrecognized symbols and no-chord (NC) declarations without inventing a root.", $comment: "The parser enforces root or rawText. The code generators cannot represent the anyOf required-property constraint while preserving both fields.", required: ["position"], properties: { position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, root: { $ref: "#/$defs/chord-root", description: "Structured root note, optional for raw authored symbols and no-chord declarations. When present, it must agree semantically with rawText." }, rawText: { type: "string", description: "Original authored chord text, preserved verbatim even when structured fields are available. Rootless text preserves malformed or unrecognized symbols and NC. The semantic resolver checks agreement with any structured fields." }, quality: { $ref: "#/$defs/chord-quality" }, kindText: { type: "string", description: "Authored quality spelling retained alongside the normalized quality." }, bass: { $ref: "#/$defs/chord-root", description: "Bass note for slash chords (e.g. the 'E' in 'C/E')." }, extension: { type: "integer", enum: [6, 7, 9, 11, 13], description: "Chord extension (6th, 7th, 9th, 11th, 13th)." }, textOverride: { type: "string", description: "Visual override of the computed display text, not a semantic replacement. The semantic resolver rejects parseable contradictions or unsupported non-equivalent overrides." } }, additionalProperties: !1 }, schema402 = { type: "object", description: "Root or bass note of a chord symbol.", required: ["step"], properties: { step: { type: "string", enum: ["A", "B", "C", "D", "E", "F", "G"], description: "Note letter name." }, alter: { type: "integer", description: "Chromatic alteration in semitones (-1 = flat, 1 = sharp)." } }, additionalProperties: !1 }, schema403 = { type: "string", enum: ["major", "minor", "dominant", "diminished", "augmented", "half-diminished", "minor-major", "power", "suspended2", "suspended4", "other"], description: "Harmonic quality of a chord symbol." };
10625
+ function validate428(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10626
+ let vErrors = null, errors = 0, evaluated0 = validate428.evaluated;
10278
10627
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10279
10628
  if (data.position === void 0) {
10280
10629
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "position" }, message: "must have required property 'position'" };
@@ -10345,7 +10694,7 @@ function validate425(data, { instancePath = "", parentData, parentDataProperty,
10345
10694
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
10346
10695
  }
10347
10696
  if (!(data4 === "A" || data4 === "B" || data4 === "C" || data4 === "D" || data4 === "E" || data4 === "F" || data4 === "G")) {
10348
- let err12 = { instancePath: instancePath + "/root/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema399.properties.step.enum }, message: "must be equal to one of the allowed values" };
10697
+ let err12 = { instancePath: instancePath + "/root/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema402.properties.step.enum }, message: "must be equal to one of the allowed values" };
10349
10698
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
10350
10699
  }
10351
10700
  }
@@ -10372,7 +10721,7 @@ function validate425(data, { instancePath = "", parentData, parentDataProperty,
10372
10721
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
10373
10722
  }
10374
10723
  if (!(data7 === "major" || data7 === "minor" || data7 === "dominant" || data7 === "diminished" || data7 === "augmented" || data7 === "half-diminished" || data7 === "minor-major" || data7 === "power" || data7 === "suspended2" || data7 === "suspended4" || data7 === "other")) {
10375
- let err17 = { instancePath: instancePath + "/quality", schemaPath: "#/$defs/chord-quality/enum", keyword: "enum", params: { allowedValues: schema400.enum }, message: "must be equal to one of the allowed values" };
10724
+ let err17 = { instancePath: instancePath + "/quality", schemaPath: "#/$defs/chord-quality/enum", keyword: "enum", params: { allowedValues: schema403.enum }, message: "must be equal to one of the allowed values" };
10376
10725
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
10377
10726
  }
10378
10727
  }
@@ -10399,7 +10748,7 @@ function validate425(data, { instancePath = "", parentData, parentDataProperty,
10399
10748
  vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
10400
10749
  }
10401
10750
  if (!(data10 === "A" || data10 === "B" || data10 === "C" || data10 === "D" || data10 === "E" || data10 === "F" || data10 === "G")) {
10402
- let err22 = { instancePath: instancePath + "/bass/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema399.properties.step.enum }, message: "must be equal to one of the allowed values" };
10751
+ let err22 = { instancePath: instancePath + "/bass/step", schemaPath: "#/$defs/chord-root/properties/step/enum", keyword: "enum", params: { allowedValues: schema402.properties.step.enum }, message: "must be equal to one of the allowed values" };
10403
10752
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
10404
10753
  }
10405
10754
  }
@@ -10422,7 +10771,7 @@ function validate425(data, { instancePath = "", parentData, parentDataProperty,
10422
10771
  vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
10423
10772
  }
10424
10773
  if (!(data12 === 6 || data12 === 7 || data12 === 9 || data12 === 11 || data12 === 13)) {
10425
- let err26 = { instancePath: instancePath + "/extension", schemaPath: "#/properties/extension/enum", keyword: "enum", params: { allowedValues: schema397.properties.extension.enum }, message: "must be equal to one of the allowed values" };
10774
+ let err26 = { instancePath: instancePath + "/extension", schemaPath: "#/properties/extension/enum", keyword: "enum", params: { allowedValues: schema400.properties.extension.enum }, message: "must be equal to one of the allowed values" };
10426
10775
  vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
10427
10776
  }
10428
10777
  }
@@ -10434,59 +10783,74 @@ function validate425(data, { instancePath = "", parentData, parentDataProperty,
10434
10783
  let err28 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10435
10784
  vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
10436
10785
  }
10437
- return validate425.errors = vErrors, errors === 0;
10786
+ return validate428.errors = vErrors, errors === 0;
10438
10787
  }
10439
- validate425.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10788
+ validate428.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10440
10789
  function validate401(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10441
10790
  let vErrors = null, errors = 0, evaluated0 = validate401.evaluated;
10442
10791
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10443
10792
  for (let key0 in data)
10444
- if (!(key0 === "rehearsalMark" || key0 === "markerText" || key0 === "systemText" || key0 === "gradualTempo" || key0 === "chordSymbols" || key0 === "senzaMisura")) {
10793
+ if (!(key0 === "tempos" || key0 === "rehearsalMark" || key0 === "markerText" || key0 === "systemText" || key0 === "gradualTempo" || key0 === "chordSymbols" || key0 === "senzaMisura")) {
10445
10794
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10446
10795
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
10447
10796
  }
10448
- if (data.rehearsalMark !== void 0 && (validate402(data.rehearsalMark, { instancePath: instancePath + "/rehearsalMark", parentData: data, parentDataProperty: "rehearsalMark", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate402.errors : vErrors.concat(validate402.errors), errors = vErrors.length)), data.markerText !== void 0 && (validate410(data.markerText, { instancePath: instancePath + "/markerText", parentData: data, parentDataProperty: "markerText", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate410.errors : vErrors.concat(validate410.errors), errors = vErrors.length)), data.systemText !== void 0) {
10449
- let data2 = data.systemText;
10450
- if (Array.isArray(data2)) {
10451
- let len0 = data2.length;
10797
+ if (data.tempos !== void 0) {
10798
+ let data0 = data.tempos;
10799
+ if (Array.isArray(data0)) {
10800
+ if (data0.length < 1) {
10801
+ let err1 = { instancePath: instancePath + "/tempos", schemaPath: "#/properties/tempos/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" };
10802
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10803
+ }
10804
+ let len0 = data0.length;
10452
10805
  for (let i0 = 0; i0 < len0; i0++)
10453
- validate418(data2[i0], { instancePath: instancePath + "/systemText/" + i0, parentData: data2, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate418.errors : vErrors.concat(validate418.errors), errors = vErrors.length);
10806
+ validate402(data0[i0], { instancePath: instancePath + "/tempos/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate402.errors : vErrors.concat(validate402.errors), errors = vErrors.length);
10454
10807
  } else {
10455
- let err1 = { instancePath: instancePath + "/systemText", schemaPath: "#/properties/systemText/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10456
- vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10808
+ let err2 = { instancePath: instancePath + "/tempos", schemaPath: "#/properties/tempos/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10809
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10457
10810
  }
10458
10811
  }
10459
- if (data.gradualTempo !== void 0 && (validate421(data.gradualTempo, { instancePath: instancePath + "/gradualTempo", parentData: data, parentDataProperty: "gradualTempo", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate421.errors : vErrors.concat(validate421.errors), errors = vErrors.length)), data.chordSymbols !== void 0) {
10460
- let data5 = data.chordSymbols;
10461
- if (Array.isArray(data5)) {
10462
- let len1 = data5.length;
10812
+ if (data.rehearsalMark !== void 0 && (validate410(data.rehearsalMark, { instancePath: instancePath + "/rehearsalMark", parentData: data, parentDataProperty: "rehearsalMark", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate410.errors : vErrors.concat(validate410.errors), errors = vErrors.length)), data.markerText !== void 0 && (validate413(data.markerText, { instancePath: instancePath + "/markerText", parentData: data, parentDataProperty: "markerText", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate413.errors : vErrors.concat(validate413.errors), errors = vErrors.length)), data.systemText !== void 0) {
10813
+ let data4 = data.systemText;
10814
+ if (Array.isArray(data4)) {
10815
+ let len1 = data4.length;
10463
10816
  for (let i1 = 0; i1 < len1; i1++)
10464
- validate425(data5[i1], { instancePath: instancePath + "/chordSymbols/" + i1, parentData: data5, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate425.errors : vErrors.concat(validate425.errors), errors = vErrors.length);
10817
+ validate421(data4[i1], { instancePath: instancePath + "/systemText/" + i1, parentData: data4, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate421.errors : vErrors.concat(validate421.errors), errors = vErrors.length);
10465
10818
  } else {
10466
- let err2 = { instancePath: instancePath + "/chordSymbols", schemaPath: "#/properties/chordSymbols/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10467
- vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10819
+ let err3 = { instancePath: instancePath + "/systemText", schemaPath: "#/properties/systemText/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10820
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10821
+ }
10822
+ }
10823
+ if (data.gradualTempo !== void 0 && (validate424(data.gradualTempo, { instancePath: instancePath + "/gradualTempo", parentData: data, parentDataProperty: "gradualTempo", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate424.errors : vErrors.concat(validate424.errors), errors = vErrors.length)), data.chordSymbols !== void 0) {
10824
+ let data7 = data.chordSymbols;
10825
+ if (Array.isArray(data7)) {
10826
+ let len2 = data7.length;
10827
+ for (let i2 = 0; i2 < len2; i2++)
10828
+ validate428(data7[i2], { instancePath: instancePath + "/chordSymbols/" + i2, parentData: data7, parentDataProperty: i2, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate428.errors : vErrors.concat(validate428.errors), errors = vErrors.length);
10829
+ } else {
10830
+ let err4 = { instancePath: instancePath + "/chordSymbols", schemaPath: "#/properties/chordSymbols/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10831
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10468
10832
  }
10469
10833
  }
10470
10834
  if (data.senzaMisura !== void 0) {
10471
- let data7 = data.senzaMisura;
10472
- if (typeof data7 != "boolean") {
10473
- let err3 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10474
- vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10835
+ let data9 = data.senzaMisura;
10836
+ if (typeof data9 != "boolean") {
10837
+ let err5 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10838
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
10475
10839
  }
10476
- if (data7 !== !0) {
10477
- let err4 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
10478
- vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10840
+ if (data9 !== !0) {
10841
+ let err6 = { instancePath: instancePath + "/senzaMisura", schemaPath: "#/properties/senzaMisura/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
10842
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10479
10843
  }
10480
10844
  }
10481
10845
  } else {
10482
- let err5 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10483
- vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
10846
+ let err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10847
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10484
10848
  }
10485
10849
  return validate401.errors = vErrors, errors === 0;
10486
10850
  }
10487
10851
  validate401.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10488
- function validate427(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10489
- let vErrors = null, errors = 0, evaluated0 = validate427.evaluated;
10852
+ function validate430(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10853
+ let vErrors = null, errors = 0, evaluated0 = validate430.evaluated;
10490
10854
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10491
10855
  for (let key0 in data)
10492
10856
  if (!(key0 === "beatStructure" || key0 === "groupingDisplay" || key0 === "display")) {
@@ -10528,102 +10892,345 @@ function validate427(data, { instancePath = "", parentData, parentDataProperty,
10528
10892
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10529
10893
  }
10530
10894
  }
10531
- if (data.display !== void 0) {
10532
- let data3 = data.display;
10533
- if (typeof data3 != "string") {
10534
- let err7 = { instancePath: instancePath + "/display", schemaPath: "#/properties/display/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10535
- vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10536
- }
10537
- if (data3 !== "note") {
10538
- let err8 = { instancePath: instancePath + "/display", schemaPath: "#/properties/display/const", keyword: "const", params: { allowedValue: "note" }, message: "must be equal to constant" };
10539
- vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
10540
- }
10895
+ if (data.display !== void 0) {
10896
+ let data3 = data.display;
10897
+ if (typeof data3 != "string") {
10898
+ let err7 = { instancePath: instancePath + "/display", schemaPath: "#/properties/display/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10899
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10900
+ }
10901
+ if (data3 !== "note") {
10902
+ let err8 = { instancePath: instancePath + "/display", schemaPath: "#/properties/display/const", keyword: "const", params: { allowedValue: "note" }, message: "must be equal to constant" };
10903
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
10904
+ }
10905
+ }
10906
+ } else {
10907
+ let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10908
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
10909
+ }
10910
+ return validate430.errors = vErrors, errors === 0;
10911
+ }
10912
+ validate430.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10913
+ function validate431(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10914
+ let vErrors = null, errors = 0, evaluated0 = validate431.evaluated;
10915
+ if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10916
+ for (let key0 in data)
10917
+ if (key0 !== "atonal") {
10918
+ let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10919
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
10920
+ }
10921
+ if (data.atonal !== void 0) {
10922
+ let data0 = data.atonal;
10923
+ if (typeof data0 != "boolean") {
10924
+ let err1 = { instancePath: instancePath + "/atonal", schemaPath: "#/properties/atonal/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10925
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10926
+ }
10927
+ if (data0 !== !0) {
10928
+ let err2 = { instancePath: instancePath + "/atonal", schemaPath: "#/properties/atonal/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
10929
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10930
+ }
10931
+ }
10932
+ } else {
10933
+ let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10934
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10935
+ }
10936
+ return validate431.errors = vErrors, errors === 0;
10937
+ }
10938
+ validate431.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10939
+ function validate432(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10940
+ let vErrors = null, errors = 0, evaluated0 = validate432.evaluated;
10941
+ if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10942
+ for (let key0 in data)
10943
+ if (!(key0 === "swing" || key0 === "text" || key0 === "showMetronomeMark" || key0 === "showText" || key0 === "manualOffset" || key0 === "avoidCollisions")) {
10944
+ let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10945
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
10946
+ }
10947
+ if (data.swing !== void 0) {
10948
+ let data0 = data.swing, _errs4 = errors, valid2 = !1, passing0 = null, _errs5 = errors;
10949
+ if (data0 && typeof data0 == "object" && !Array.isArray(data0)) {
10950
+ if (data0.mode === void 0) {
10951
+ let err1 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
10952
+ vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10953
+ }
10954
+ for (let key1 in data0)
10955
+ if (key1 !== "mode") {
10956
+ let err2 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
10957
+ vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10958
+ }
10959
+ if (data0.mode !== void 0) {
10960
+ let data1 = data0.mode;
10961
+ if (typeof data1 != "string") {
10962
+ let err3 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/0/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10963
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
10964
+ }
10965
+ if (data1 !== "straight") {
10966
+ let err4 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/0/properties/mode/const", keyword: "const", params: { allowedValue: "straight" }, message: "must be equal to constant" };
10967
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10968
+ }
10969
+ }
10970
+ } else {
10971
+ let err5 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10972
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
10973
+ }
10974
+ var _valid0 = _errs5 === errors;
10975
+ if (_valid0) {
10976
+ valid2 = !0, passing0 = 0;
10977
+ var props0 = !0;
10978
+ }
10979
+ let _errs10 = errors;
10980
+ if (data0 && typeof data0 == "object" && !Array.isArray(data0)) {
10981
+ if (data0.mode === void 0) {
10982
+ let err6 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
10983
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10984
+ }
10985
+ if (data0.subdivision === void 0) {
10986
+ let err7 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "subdivision" }, message: "must have required property 'subdivision'" };
10987
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10988
+ }
10989
+ if (data0.ratio === void 0) {
10990
+ let err8 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/required", keyword: "required", params: { missingProperty: "ratio" }, message: "must have required property 'ratio'" };
10991
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
10992
+ }
10993
+ for (let key2 in data0)
10994
+ if (!(key2 === "mode" || key2 === "subdivision" || key2 === "ratio")) {
10995
+ let err9 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" };
10996
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
10997
+ }
10998
+ if (data0.mode !== void 0) {
10999
+ let data2 = data0.mode;
11000
+ if (typeof data2 != "string") {
11001
+ let err10 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/1/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
11002
+ vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
11003
+ }
11004
+ if (data2 !== "swing") {
11005
+ let err11 = { instancePath: instancePath + "/swing/mode", schemaPath: "#/$defs/swing/oneOf/1/properties/mode/const", keyword: "const", params: { allowedValue: "swing" }, message: "must be equal to constant" };
11006
+ vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
11007
+ }
11008
+ }
11009
+ if (data0.subdivision !== void 0) {
11010
+ let data3 = data0.subdivision;
11011
+ if (typeof data3 != "string") {
11012
+ let err12 = { instancePath: instancePath + "/swing/subdivision", schemaPath: "#/$defs/swing/oneOf/1/properties/subdivision/type", keyword: "type", params: { type: "string" }, message: "must be string" };
11013
+ vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
11014
+ }
11015
+ if (!(data3 === "eighth" || data3 === "16th")) {
11016
+ let err13 = { instancePath: instancePath + "/swing/subdivision", schemaPath: "#/$defs/swing/oneOf/1/properties/subdivision/enum", keyword: "enum", params: { allowedValues: schema379.oneOf[1].properties.subdivision.enum }, message: "must be equal to one of the allowed values" };
11017
+ vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
11018
+ }
11019
+ }
11020
+ if (data0.ratio !== void 0) {
11021
+ let data4 = data0.ratio;
11022
+ if (Array.isArray(data4)) {
11023
+ if (data4.length > 2) {
11024
+ let err14 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
11025
+ vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
11026
+ }
11027
+ if (data4.length < 2) {
11028
+ let err15 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
11029
+ vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
11030
+ }
11031
+ let len0 = data4.length;
11032
+ for (let i0 = 0; i0 < len0; i0++) {
11033
+ let data5 = data4[i0];
11034
+ if (!(typeof data5 == "number" && !(data5 % 1) && !isNaN(data5))) {
11035
+ let err16 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
11036
+ vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
11037
+ }
11038
+ if (typeof data5 == "number") {
11039
+ if (data5 > 9007199254740991 || isNaN(data5)) {
11040
+ let err17 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9007199254740991 }, message: "must be <= 9007199254740991" };
11041
+ vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11042
+ }
11043
+ if (data5 < 1 || isNaN(data5)) {
11044
+ let err18 = { instancePath: instancePath + "/swing/ratio/" + i0, schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/items/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
11045
+ vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
11046
+ }
11047
+ }
11048
+ }
11049
+ } else {
11050
+ let err19 = { instancePath: instancePath + "/swing/ratio", schemaPath: "#/$defs/swing/oneOf/1/properties/ratio/type", keyword: "type", params: { type: "array" }, message: "must be array" };
11051
+ vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
11052
+ }
11053
+ }
11054
+ } else {
11055
+ let err20 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11056
+ vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
11057
+ }
11058
+ var _valid0 = _errs10 === errors;
11059
+ if (_valid0 && valid2 ? (valid2 = !1, passing0 = [passing0, 1]) : _valid0 && (valid2 = !0, passing0 = 1, props0 !== !0 && (props0 = !0)), valid2)
11060
+ errors = _errs4, vErrors !== null && (_errs4 ? vErrors.length = _errs4 : vErrors = null);
11061
+ else {
11062
+ let err21 = { instancePath: instancePath + "/swing", schemaPath: "#/$defs/swing/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
11063
+ vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
11064
+ }
11065
+ }
11066
+ if (data.text !== void 0 && (validate403(data.text, { instancePath: instancePath + "/text", parentData: data, parentDataProperty: "text", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate403.errors : vErrors.concat(validate403.errors), errors = vErrors.length)), data.showMetronomeMark !== void 0 && typeof data.showMetronomeMark != "boolean") {
11067
+ let err22 = { instancePath: instancePath + "/showMetronomeMark", schemaPath: "#/properties/showMetronomeMark/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
11068
+ vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
11069
+ }
11070
+ if (data.showText !== void 0 && typeof data.showText != "boolean") {
11071
+ let err23 = { instancePath: instancePath + "/showText", schemaPath: "#/properties/showText/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
11072
+ vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
11073
+ }
11074
+ if (data.manualOffset !== void 0) {
11075
+ let data9 = data.manualOffset;
11076
+ if (Array.isArray(data9)) {
11077
+ if (data9.length > 2) {
11078
+ let err24 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
11079
+ vErrors === null ? vErrors = [err24] : vErrors.push(err24), errors++;
11080
+ }
11081
+ if (data9.length < 2) {
11082
+ let err25 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
11083
+ vErrors === null ? vErrors = [err25] : vErrors.push(err25), errors++;
11084
+ }
11085
+ let len1 = data9.length;
11086
+ for (let i1 = 0; i1 < len1; i1++)
11087
+ if (typeof data9[i1] != "number") {
11088
+ let err26 = { instancePath: instancePath + "/manualOffset/" + i1, schemaPath: "#/$defs/sp-delta/items/type", keyword: "type", params: { type: "number" }, message: "must be number" };
11089
+ vErrors === null ? vErrors = [err26] : vErrors.push(err26), errors++;
11090
+ }
11091
+ } else {
11092
+ let err27 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/type", keyword: "type", params: { type: "array" }, message: "must be array" };
11093
+ vErrors === null ? vErrors = [err27] : vErrors.push(err27), errors++;
11094
+ }
11095
+ }
11096
+ if (data.avoidCollisions !== void 0 && typeof data.avoidCollisions != "boolean") {
11097
+ let err28 = { instancePath: instancePath + "/avoidCollisions", schemaPath: "#/properties/avoidCollisions/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
11098
+ vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
10541
11099
  }
10542
11100
  } else {
10543
- let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10544
- vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
11101
+ let err29 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11102
+ vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
10545
11103
  }
10546
- return validate427.errors = vErrors, errors === 0;
11104
+ return validate432.errors = vErrors, errors === 0;
10547
11105
  }
10548
- validate427.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10549
- function validate428(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10550
- let vErrors = null, errors = 0, evaluated0 = validate428.evaluated;
10551
- if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11106
+ validate432.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11107
+ var swing = validate434;
11108
+ function validate434(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11109
+ let vErrors = null, errors = 0, evaluated0 = validate434.evaluated;
11110
+ evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0);
11111
+ let _errs0 = errors, valid0 = !1, passing0 = null, _errs1 = errors;
11112
+ if (data && typeof data == "object" && !Array.isArray(data)) {
11113
+ if (data.mode === void 0) {
11114
+ let err0 = { instancePath, schemaPath: "#/oneOf/0/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
11115
+ vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
11116
+ }
10552
11117
  for (let key0 in data)
10553
- if (key0 !== "atonal") {
10554
- let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10555
- vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
10556
- }
10557
- if (data.atonal !== void 0) {
10558
- let data0 = data.atonal;
10559
- if (typeof data0 != "boolean") {
10560
- let err1 = { instancePath: instancePath + "/atonal", schemaPath: "#/properties/atonal/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
11118
+ if (key0 !== "mode") {
11119
+ let err1 = { instancePath, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10561
11120
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10562
11121
  }
10563
- if (data0 !== !0) {
10564
- let err2 = { instancePath: instancePath + "/atonal", schemaPath: "#/properties/atonal/const", keyword: "const", params: { allowedValue: !0 }, message: "must be equal to constant" };
11122
+ if (data.mode !== void 0) {
11123
+ let data0 = data.mode;
11124
+ if (typeof data0 != "string") {
11125
+ let err2 = { instancePath: instancePath + "/mode", schemaPath: "#/oneOf/0/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10565
11126
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10566
11127
  }
11128
+ if (data0 !== "straight") {
11129
+ let err3 = { instancePath: instancePath + "/mode", schemaPath: "#/oneOf/0/properties/mode/const", keyword: "const", params: { allowedValue: "straight" }, message: "must be equal to constant" };
11130
+ vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11131
+ }
10567
11132
  }
10568
11133
  } else {
10569
- let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10570
- vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11134
+ let err4 = { instancePath, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11135
+ vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10571
11136
  }
10572
- return validate428.errors = vErrors, errors === 0;
10573
- }
10574
- validate428.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10575
- function validate429(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10576
- let vErrors = null, errors = 0, evaluated0 = validate429.evaluated;
10577
- if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10578
- for (let key0 in data)
10579
- if (!(key0 === "text" || key0 === "showMetronomeMark" || key0 === "showText" || key0 === "manualOffset" || key0 === "avoidCollisions")) {
10580
- let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
10581
- vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
11137
+ var _valid0 = _errs1 === errors;
11138
+ if (_valid0) {
11139
+ valid0 = !0, passing0 = 0;
11140
+ var props0 = !0;
11141
+ }
11142
+ let _errs6 = errors;
11143
+ if (data && typeof data == "object" && !Array.isArray(data)) {
11144
+ if (data.mode === void 0) {
11145
+ let err5 = { instancePath, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "mode" }, message: "must have required property 'mode'" };
11146
+ vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11147
+ }
11148
+ if (data.subdivision === void 0) {
11149
+ let err6 = { instancePath, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "subdivision" }, message: "must have required property 'subdivision'" };
11150
+ vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11151
+ }
11152
+ if (data.ratio === void 0) {
11153
+ let err7 = { instancePath, schemaPath: "#/oneOf/1/required", keyword: "required", params: { missingProperty: "ratio" }, message: "must have required property 'ratio'" };
11154
+ vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
11155
+ }
11156
+ for (let key1 in data)
11157
+ if (!(key1 === "mode" || key1 === "subdivision" || key1 === "ratio")) {
11158
+ let err8 = { instancePath, schemaPath: "#/oneOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
11159
+ vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
11160
+ }
11161
+ if (data.mode !== void 0) {
11162
+ let data1 = data.mode;
11163
+ if (typeof data1 != "string") {
11164
+ let err9 = { instancePath: instancePath + "/mode", schemaPath: "#/oneOf/1/properties/mode/type", keyword: "type", params: { type: "string" }, message: "must be string" };
11165
+ vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
11166
+ }
11167
+ if (data1 !== "swing") {
11168
+ let err10 = { instancePath: instancePath + "/mode", schemaPath: "#/oneOf/1/properties/mode/const", keyword: "const", params: { allowedValue: "swing" }, message: "must be equal to constant" };
11169
+ vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
10582
11170
  }
10583
- if (data.text !== void 0 && (validate403(data.text, { instancePath: instancePath + "/text", parentData: data, parentDataProperty: "text", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate403.errors : vErrors.concat(validate403.errors), errors = vErrors.length)), data.showMetronomeMark !== void 0 && typeof data.showMetronomeMark != "boolean") {
10584
- let err1 = { instancePath: instancePath + "/showMetronomeMark", schemaPath: "#/properties/showMetronomeMark/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10585
- vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10586
11171
  }
10587
- if (data.showText !== void 0 && typeof data.showText != "boolean") {
10588
- let err2 = { instancePath: instancePath + "/showText", schemaPath: "#/properties/showText/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10589
- vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11172
+ if (data.subdivision !== void 0) {
11173
+ let data2 = data.subdivision;
11174
+ if (typeof data2 != "string") {
11175
+ let err11 = { instancePath: instancePath + "/subdivision", schemaPath: "#/oneOf/1/properties/subdivision/type", keyword: "type", params: { type: "string" }, message: "must be string" };
11176
+ vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
11177
+ }
11178
+ if (!(data2 === "eighth" || data2 === "16th")) {
11179
+ let err12 = { instancePath: instancePath + "/subdivision", schemaPath: "#/oneOf/1/properties/subdivision/enum", keyword: "enum", params: { allowedValues: schema379.oneOf[1].properties.subdivision.enum }, message: "must be equal to one of the allowed values" };
11180
+ vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
11181
+ }
10590
11182
  }
10591
- if (data.manualOffset !== void 0) {
10592
- let data3 = data.manualOffset;
11183
+ if (data.ratio !== void 0) {
11184
+ let data3 = data.ratio;
10593
11185
  if (Array.isArray(data3)) {
10594
11186
  if (data3.length > 2) {
10595
- let err3 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
10596
- vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
11187
+ let err13 = { instancePath: instancePath + "/ratio", schemaPath: "#/oneOf/1/properties/ratio/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
11188
+ vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
10597
11189
  }
10598
11190
  if (data3.length < 2) {
10599
- let err4 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
10600
- vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
11191
+ let err14 = { instancePath: instancePath + "/ratio", schemaPath: "#/oneOf/1/properties/ratio/minItems", keyword: "minItems", params: { limit: 2 }, message: "must NOT have fewer than 2 items" };
11192
+ vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
10601
11193
  }
10602
11194
  let len0 = data3.length;
10603
- for (let i0 = 0; i0 < len0; i0++)
10604
- if (typeof data3[i0] != "number") {
10605
- let err5 = { instancePath: instancePath + "/manualOffset/" + i0, schemaPath: "#/$defs/sp-delta/items/type", keyword: "type", params: { type: "number" }, message: "must be number" };
10606
- vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
11195
+ for (let i0 = 0; i0 < len0; i0++) {
11196
+ let data4 = data3[i0];
11197
+ if (!(typeof data4 == "number" && !(data4 % 1) && !isNaN(data4))) {
11198
+ let err15 = { instancePath: instancePath + "/ratio/" + i0, schemaPath: "#/oneOf/1/properties/ratio/items/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
11199
+ vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
11200
+ }
11201
+ if (typeof data4 == "number") {
11202
+ if (data4 > 9007199254740991 || isNaN(data4)) {
11203
+ let err16 = { instancePath: instancePath + "/ratio/" + i0, schemaPath: "#/oneOf/1/properties/ratio/items/maximum", keyword: "maximum", params: { comparison: "<=", limit: 9007199254740991 }, message: "must be <= 9007199254740991" };
11204
+ vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
11205
+ }
11206
+ if (data4 < 1 || isNaN(data4)) {
11207
+ let err17 = { instancePath: instancePath + "/ratio/" + i0, schemaPath: "#/oneOf/1/properties/ratio/items/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
11208
+ vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11209
+ }
10607
11210
  }
11211
+ }
10608
11212
  } else {
10609
- let err6 = { instancePath: instancePath + "/manualOffset", schemaPath: "#/$defs/sp-delta/type", keyword: "type", params: { type: "array" }, message: "must be array" };
10610
- vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
11213
+ let err18 = { instancePath: instancePath + "/ratio", schemaPath: "#/oneOf/1/properties/ratio/type", keyword: "type", params: { type: "array" }, message: "must be array" };
11214
+ vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
10611
11215
  }
10612
11216
  }
10613
- if (data.avoidCollisions !== void 0 && typeof data.avoidCollisions != "boolean") {
10614
- let err7 = { instancePath: instancePath + "/avoidCollisions", schemaPath: "#/properties/avoidCollisions/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10615
- vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
10616
- }
10617
11217
  } else {
10618
- let err8 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10619
- vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
11218
+ let err19 = { instancePath, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11219
+ vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
11220
+ }
11221
+ var _valid0 = _errs6 === errors;
11222
+ if (_valid0 && valid0 ? (valid0 = !1, passing0 = [passing0, 1]) : _valid0 && (valid0 = !0, passing0 = 1, props0 !== !0 && (props0 = !0)), valid0)
11223
+ errors = _errs0, vErrors !== null && (_errs0 ? vErrors.length = _errs0 : vErrors = null);
11224
+ else {
11225
+ let err20 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
11226
+ vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
10620
11227
  }
10621
- return validate429.errors = vErrors, errors === 0;
11228
+ return validate434.errors = vErrors, evaluated0.props = props0, errors === 0;
10622
11229
  }
10623
- validate429.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10624
- var schema407 = { type: "object", description: "Viritura vendor extensions on an MNX part object (the `_x.viritura` dict on a part). Carries instrument identity so the editor and audio engine can resolve a part to a stable instrument without fuzzy name matching, plus its spatial-audio stage placement.", properties: { instrumentId: { type: "string", description: "MusicXML standard sound ID identifying the part's instrument (e.g. 'wind.flutes.flute', 'wind.reed.clarinet.bflat'). With `instruments`, this is the initial instrument's ID." }, instruments: { type: "object", description: "Provisional: instruments this part can switch between, keyed by a document-local key referenced by `initialInstrument` and part-measure `instrumentChanges`.", minProperties: 1, additionalProperties: { $ref: "#/$defs/instrument-definition" } }, initialInstrument: { type: "string", minLength: 1, description: "Key into `instruments` for the instrument active at the start of the part. Required when `instruments` is present." }, midiProgram: { type: "integer", minimum: 0, maximum: 127, description: "General-MIDI program (0..127). Used directly by the audio engine." }, family: { type: "string", description: "Instrument family for spatial placement / catalog routing." }, spatial: { $ref: "#/$defs/stage-position", description: "Spatial-audio stage position in concert-hall meters, persisted from Play mode so a user's instrument arrangement survives reload." }, chordSymbolVisibility: { type: "string", enum: ["auto", "show", "hide"], description: "Source-part display policy for the score-wide harmony track. Unset or auto uses automatic placement; show or hide explicitly controls this part. This is not a layout-staff or per-chord switch." } }, additionalProperties: !1 };
10625
- function validate432(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10626
- let vErrors = null, errors = 0, evaluated0 = validate432.evaluated;
11230
+ validate434.evaluated = { dynamicProps: !0, dynamicItems: !1 };
11231
+ var schema412 = { type: "object", description: "Viritura vendor extensions on an MNX part object (the `_x.viritura` dict on a part). Carries instrument identity so the editor and audio engine can resolve a part to a stable instrument without fuzzy name matching, plus its spatial-audio stage placement.", properties: { instrumentId: { type: "string", description: "MusicXML standard sound ID identifying the part's instrument (e.g. 'wind.flutes.flute', 'wind.reed.clarinet.bflat'). With `instruments`, this is the initial instrument's ID." }, instruments: { type: "object", description: "Provisional: instruments this part can switch between, keyed by a document-local key referenced by `initialInstrument` and part-measure `instrumentChanges`.", minProperties: 1, additionalProperties: { $ref: "#/$defs/instrument-definition" } }, initialInstrument: { type: "string", minLength: 1, description: "Key into `instruments` for the instrument active at the start of the part. Required when `instruments` is present." }, midiProgram: { type: "integer", minimum: 0, maximum: 127, description: "General-MIDI program (0..127). Used directly by the audio engine." }, family: { type: "string", description: "Instrument family for spatial placement / catalog routing." }, spatial: { $ref: "#/$defs/stage-position", description: "Spatial-audio stage position in concert-hall meters, persisted from Play mode so a user's instrument arrangement survives reload." }, chordSymbolVisibility: { type: "string", enum: ["auto", "show", "hide"], description: "Source-part display policy for the score-wide harmony track. Unset or auto uses automatic placement; show or hide explicitly controls this part. This is not a layout-staff or per-chord switch." } }, additionalProperties: !1 };
11232
+ function validate436(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11233
+ let vErrors = null, errors = 0, evaluated0 = validate436.evaluated;
10627
11234
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10628
11235
  if (data.instrumentId === void 0) {
10629
11236
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "instrumentId" }, message: "must have required property 'instrumentId'" };
@@ -10738,11 +11345,11 @@ function validate432(data, { instancePath = "", parentData, parentDataProperty,
10738
11345
  let err20 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10739
11346
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
10740
11347
  }
10741
- return validate432.errors = vErrors, errors === 0;
11348
+ return validate436.errors = vErrors, errors === 0;
10742
11349
  }
10743
- validate432.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10744
- function validate431(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10745
- let vErrors = null, errors = 0, evaluated0 = validate431.evaluated;
11350
+ validate436.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11351
+ function validate435(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11352
+ let vErrors = null, errors = 0, evaluated0 = validate435.evaluated;
10746
11353
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10747
11354
  for (let key0 in data)
10748
11355
  if (!(key0 === "instrumentId" || key0 === "instruments" || key0 === "initialInstrument" || key0 === "midiProgram" || key0 === "family" || key0 === "spatial" || key0 === "chordSymbolVisibility")) {
@@ -10761,7 +11368,7 @@ function validate431(data, { instancePath = "", parentData, parentDataProperty,
10761
11368
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10762
11369
  }
10763
11370
  for (let key1 in data1)
10764
- validate432(data1[key1], { instancePath: instancePath + "/instruments/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data1, parentDataProperty: key1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate432.errors : vErrors.concat(validate432.errors), errors = vErrors.length);
11371
+ validate436(data1[key1], { instancePath: instancePath + "/instruments/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data1, parentDataProperty: key1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate436.errors : vErrors.concat(validate436.errors), errors = vErrors.length);
10765
11372
  } else {
10766
11373
  let err3 = { instancePath: instancePath + "/instruments", schemaPath: "#/properties/instruments/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10767
11374
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
@@ -10836,7 +11443,7 @@ function validate431(data, { instancePath = "", parentData, parentDataProperty,
10836
11443
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
10837
11444
  }
10838
11445
  if (!(data9 === "auto" || data9 === "show" || data9 === "hide")) {
10839
- let err17 = { instancePath: instancePath + "/chordSymbolVisibility", schemaPath: "#/properties/chordSymbolVisibility/enum", keyword: "enum", params: { allowedValues: schema407.properties.chordSymbolVisibility.enum }, message: "must be equal to one of the allowed values" };
11446
+ let err17 = { instancePath: instancePath + "/chordSymbolVisibility", schemaPath: "#/properties/chordSymbolVisibility/enum", keyword: "enum", params: { allowedValues: schema412.properties.chordSymbolVisibility.enum }, message: "must be equal to one of the allowed values" };
10840
11447
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
10841
11448
  }
10842
11449
  }
@@ -10844,12 +11451,12 @@ function validate431(data, { instancePath = "", parentData, parentDataProperty,
10844
11451
  let err18 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10845
11452
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
10846
11453
  }
10847
- return validate431.errors = vErrors, errors === 0;
11454
+ return validate435.errors = vErrors, errors === 0;
10848
11455
  }
10849
- validate431.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10850
- var schema412 = { type: "string", enum: ["normal", "x", "circleX", "diamond", "slash", "triangleUp", "triangleDown"], description: "A notehead shape. MNX has no notehead field on note, kit-note or kit-component (W3C MNX issue #249); Viritura tracks it as a vendor extension on the kit-component (per-instrument) and optionally on a pitched note (per-note override)." };
10851
- function validate434(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10852
- let vErrors = null, errors = 0, evaluated0 = validate434.evaluated;
11456
+ validate435.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11457
+ var schema417 = { type: "string", enum: ["normal", "x", "circleX", "diamond", "slash", "triangleUp", "triangleDown"], description: "A notehead shape. MNX has no notehead field on note, kit-note or kit-component (W3C MNX issue #249); Viritura tracks it as a vendor extension on the kit-component (per-instrument) and optionally on a pitched note (per-note override)." };
11458
+ function validate438(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11459
+ let vErrors = null, errors = 0, evaluated0 = validate438.evaluated;
10853
11460
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10854
11461
  for (let key0 in data)
10855
11462
  if (!(key0 === "notehead" || key0 === "drumKit")) {
@@ -10863,7 +11470,7 @@ function validate434(data, { instancePath = "", parentData, parentDataProperty,
10863
11470
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
10864
11471
  }
10865
11472
  if (!(data0 === "normal" || data0 === "x" || data0 === "circleX" || data0 === "diamond" || data0 === "slash" || data0 === "triangleUp" || data0 === "triangleDown")) {
10866
- let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema412.enum }, message: "must be equal to one of the allowed values" };
11473
+ let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema417.enum }, message: "must be equal to one of the allowed values" };
10867
11474
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
10868
11475
  }
10869
11476
  }
@@ -10888,13 +11495,13 @@ function validate434(data, { instancePath = "", parentData, parentDataProperty,
10888
11495
  let err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10889
11496
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
10890
11497
  }
10891
- return validate434.errors = vErrors, errors === 0;
11498
+ return validate438.errors = vErrors, errors === 0;
10892
11499
  }
10893
- validate434.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
10894
- var schema413 = { type: "object", description: "Viritura vendor extensions on a part measure object.", properties: { pedals: { type: "array", items: { $ref: "#/$defs/pedal" }, description: "Piano pedal markings." }, expressions: { type: "array", items: { $ref: "#/$defs/text-expression" }, description: "Text expressions and performance directions." }, condensingOverride: { type: "string", enum: ["unison", "solo1", "solo2", "amalgamate", "divisi"], description: "User-specified condensing mode override for this measure." }, groupingDisplayOverrides: { type: "array", items: { $ref: "#/$defs/staff-grouping-display-override" }, description: "Per-staff grouping-display occurrence overrides, presentation-only and taking precedence over the time signature's own occurrence override and the document house style." }, staffMeters: { type: "array", items: { $ref: "#/$defs/staff-meter-change" }, description: "Per-staff synchronous local meter changes/resets, effective from this measure onward until changed or reset. Each staff either follows the global meter (the default, no entry needed) or a declared staff-local meter that still shares the global barline grid (`sharedDuration` or `fitMeasure` synchronization). Non-aligning/independent polymeter is out of scope." }, instrumentChanges: { type: "array", items: { $ref: "#/$defs/instrument-change" }, description: "Provisional mid-part instrument and/or transposition changes, effective from their position onward until the next change. Positions within one measure must be unique." } }, additionalProperties: !1 };
10895
- var schema415 = { type: "string", enum: ["sustain", "sostenuto", "una-corda"], description: "Piano pedal type." }, schema417 = { type: "string", enum: ["text", "bracket"], description: "Pedal marking display style. 'text' shows Ped/*, 'bracket' shows a horizontal line with hooks." };
10896
- function validate436(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
10897
- let vErrors = null, errors = 0, evaluated0 = validate436.evaluated;
11500
+ validate438.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11501
+ var schema418 = { type: "object", description: "Viritura vendor extensions on a part measure object.", properties: { pedals: { type: "array", items: { $ref: "#/$defs/pedal" }, description: "Piano pedal markings." }, expressions: { type: "array", items: { $ref: "#/$defs/text-expression" }, description: "Text expressions and performance directions." }, condensingOverride: { type: "string", enum: ["unison", "solo1", "solo2", "amalgamate", "divisi"], description: "User-specified condensing mode override for this measure." }, groupingDisplayOverrides: { type: "array", items: { $ref: "#/$defs/staff-grouping-display-override" }, description: "Per-staff grouping-display occurrence overrides, presentation-only and taking precedence over the time signature's own occurrence override and the document house style." }, staffMeters: { type: "array", items: { $ref: "#/$defs/staff-meter-change" }, description: "Per-staff synchronous local meter changes/resets, effective from this measure onward until changed or reset. Each staff either follows the global meter (the default, no entry needed) or a declared staff-local meter that still shares the global barline grid (`sharedDuration` or `fitMeasure` synchronization). Non-aligning/independent polymeter is out of scope." }, instrumentChanges: { type: "array", items: { $ref: "#/$defs/instrument-change" }, description: "Provisional mid-part instrument and/or transposition changes, effective from their position onward until the next change. Positions within one measure must be unique." } }, additionalProperties: !1 };
11502
+ var schema420 = { type: "string", enum: ["sustain", "sostenuto", "una-corda"], description: "Piano pedal type." }, schema422 = { type: "string", enum: ["text", "bracket"], description: "Pedal marking display style. 'text' shows Ped/*, 'bracket' shows a horizontal line with hooks." };
11503
+ function validate440(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11504
+ let vErrors = null, errors = 0, evaluated0 = validate440.evaluated;
10898
11505
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
10899
11506
  if (data.type === void 0) {
10900
11507
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "type" }, message: "must have required property 'type'" };
@@ -10920,7 +11527,7 @@ function validate436(data, { instancePath = "", parentData, parentDataProperty,
10920
11527
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
10921
11528
  }
10922
11529
  if (!(data0 === "sustain" || data0 === "sostenuto" || data0 === "una-corda")) {
10923
- let err5 = { instancePath: instancePath + "/type", schemaPath: "#/$defs/pedal-type/enum", keyword: "enum", params: { allowedValues: schema415.enum }, message: "must be equal to one of the allowed values" };
11530
+ let err5 = { instancePath: instancePath + "/type", schemaPath: "#/$defs/pedal-type/enum", keyword: "enum", params: { allowedValues: schema420.enum }, message: "must be equal to one of the allowed values" };
10924
11531
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
10925
11532
  }
10926
11533
  }
@@ -10965,14 +11572,14 @@ function validate436(data, { instancePath = "", parentData, parentDataProperty,
10965
11572
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
10966
11573
  }
10967
11574
  }
10968
- if (data.end !== void 0 && (validate422(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate422.errors : vErrors.concat(validate422.errors), errors = vErrors.length)), data.style !== void 0) {
11575
+ if (data.end !== void 0 && (validate425(data.end, { instancePath: instancePath + "/end", parentData: data, parentDataProperty: "end", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate425.errors : vErrors.concat(validate425.errors), errors = vErrors.length)), data.style !== void 0) {
10969
11576
  let data5 = data.style;
10970
11577
  if (typeof data5 != "string") {
10971
11578
  let err13 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/type", keyword: "type", params: { type: "string" }, message: "must be string" };
10972
11579
  vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
10973
11580
  }
10974
11581
  if (!(data5 === "text" || data5 === "bracket")) {
10975
- let err14 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/enum", keyword: "enum", params: { allowedValues: schema417.enum }, message: "must be equal to one of the allowed values" };
11582
+ let err14 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/pedal-line-style/enum", keyword: "enum", params: { allowedValues: schema422.enum }, message: "must be equal to one of the allowed values" };
10976
11583
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
10977
11584
  }
10978
11585
  }
@@ -10995,13 +11602,13 @@ function validate436(data, { instancePath = "", parentData, parentDataProperty,
10995
11602
  let err18 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
10996
11603
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
10997
11604
  }
10998
- return validate436.errors = vErrors, errors === 0;
11605
+ return validate440.errors = vErrors, errors === 0;
10999
11606
  }
11000
- validate436.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11001
- var schema418 = { type: "object", description: "A text expression or direction at a rhythmic position (e.g. 'dolce', 'rit.', 'a tempo'). Rendered in italic serif font.", required: ["text", "position"], properties: { text: { $ref: "#/$defs/text-content" }, frame: { $ref: "#/$defs/staff-text-frame-presentation" }, pagePosition: { $ref: "#/$defs/text-frame-page-position" }, position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, placement: { $ref: "#/$defs/expression-placement" }, staff: { type: "integer", minimum: 1, description: "Staff number (1-based)." }, voice: { type: "string", description: "Voice name." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp), applied after automatic placement." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this expression outward to clear other directions. Default (and when unset): true. Set false when the user manually places the expression (e.g. by dragging) so it stays exactly where put and others flow around it." } }, additionalProperties: !1 };
11002
- var schema422 = { type: "object", required: ["anchor", "offset"], properties: { anchor: { type: "string", enum: ["top", "right", "bottom", "left", "top-left", "top-right", "bottom-right", "bottom-left"] }, offset: { type: "object", required: ["x", "y"], properties: { x: { type: "number", description: "Horizontal offset in staff spaces; positive moves right." }, y: { type: "number", description: "Vertical offset in staff spaces; positive moves down." } }, additionalProperties: !1 } }, additionalProperties: !1 };
11003
- function validate441(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11004
- let vErrors = null, errors = 0, evaluated0 = validate441.evaluated;
11607
+ validate440.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11608
+ var schema423 = { type: "object", description: "A text expression or direction at a rhythmic position (e.g. 'dolce', 'rit.', 'a tempo'). Rendered in italic serif font.", required: ["text", "position"], properties: { text: { $ref: "#/$defs/text-content" }, frame: { $ref: "#/$defs/staff-text-frame-presentation" }, pagePosition: { $ref: "#/$defs/text-frame-page-position" }, position: { $ref: "#/$defs/rhythmic-position", description: "Rhythmic position within the measure." }, placement: { $ref: "#/$defs/expression-placement" }, staff: { type: "integer", minimum: 1, description: "Staff number (1-based)." }, voice: { type: "string", description: "Voice name." }, manualOffset: { $ref: "#/$defs/sp-delta", description: "Manual [dx, dy] offset in spatia (sp), applied after automatic placement." }, avoidCollisions: { type: "boolean", description: "Whether automatic collision avoidance may re-flow this expression outward to clear other directions. Default (and when unset): true. Set false when the user manually places the expression (e.g. by dragging) so it stays exactly where put and others flow around it." } }, additionalProperties: !1 };
11609
+ var schema427 = { type: "object", required: ["anchor", "offset"], properties: { anchor: { type: "string", enum: ["top", "right", "bottom", "left", "top-left", "top-right", "bottom-right", "bottom-left"] }, offset: { type: "object", required: ["x", "y"], properties: { x: { type: "number", description: "Horizontal offset in staff spaces; positive moves right." }, y: { type: "number", description: "Vertical offset in staff spaces; positive moves down." } }, additionalProperties: !1 } }, additionalProperties: !1 };
11610
+ function validate445(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11611
+ let vErrors = null, errors = 0, evaluated0 = validate445.evaluated;
11005
11612
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11006
11613
  if (data.id === void 0) {
11007
11614
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -11211,7 +11818,7 @@ function validate441(data, { instancePath = "", parentData, parentDataProperty,
11211
11818
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
11212
11819
  }
11213
11820
  if (!(data11 === "top" || data11 === "right" || data11 === "bottom" || data11 === "left" || data11 === "top-left" || data11 === "top-right" || data11 === "bottom-right" || data11 === "bottom-left")) {
11214
- let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema422.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
11821
+ let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema427.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
11215
11822
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
11216
11823
  }
11217
11824
  }
@@ -11382,11 +11989,11 @@ function validate441(data, { instancePath = "", parentData, parentDataProperty,
11382
11989
  let err69 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11383
11990
  vErrors === null ? vErrors = [err69] : vErrors.push(err69), errors++;
11384
11991
  }
11385
- return validate441.errors = vErrors, errors === 0;
11992
+ return validate445.errors = vErrors, errors === 0;
11386
11993
  }
11387
- validate441.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11388
- function validate439(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11389
- let vErrors = null, errors = 0, evaluated0 = validate439.evaluated;
11994
+ validate445.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11995
+ function validate443(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11996
+ let vErrors = null, errors = 0, evaluated0 = validate443.evaluated;
11390
11997
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11391
11998
  if (data.text === void 0) {
11392
11999
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "text" }, message: "must have required property 'text'" };
@@ -11397,7 +12004,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11397
12004
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
11398
12005
  }
11399
12006
  for (let key0 in data)
11400
- if (!func1.call(schema418.properties, key0)) {
12007
+ if (!func1.call(schema423.properties, key0)) {
11401
12008
  let err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
11402
12009
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
11403
12010
  }
@@ -11453,7 +12060,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11453
12060
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
11454
12061
  }
11455
12062
  if (!(data5 === "left" || data5 === "center" || data5 === "right")) {
11456
- let err12 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema389.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
12063
+ let err12 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema392.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
11457
12064
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
11458
12065
  }
11459
12066
  }
@@ -11464,7 +12071,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11464
12071
  vErrors === null ? vErrors = [err13] : vErrors.push(err13), errors++;
11465
12072
  }
11466
12073
  if (!(data6 === "left" || data6 === "center" || data6 === "right" || data6 === "justify")) {
11467
- let err14 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema389.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
12074
+ let err14 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema392.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
11468
12075
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
11469
12076
  }
11470
12077
  }
@@ -11487,7 +12094,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11487
12094
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
11488
12095
  }
11489
12096
  if (!(data8 === "none" || data8 === "solid")) {
11490
- let err18 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema389.properties.border.enum }, message: "must be equal to one of the allowed values" };
12097
+ let err18 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema392.properties.border.enum }, message: "must be equal to one of the allowed values" };
11491
12098
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
11492
12099
  }
11493
12100
  }
@@ -11500,7 +12107,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11500
12107
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
11501
12108
  }
11502
12109
  }
11503
- if (data.pagePosition !== void 0 && (validate441(data.pagePosition, { instancePath: instancePath + "/pagePosition", parentData: data, parentDataProperty: "pagePosition", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate441.errors : vErrors.concat(validate441.errors), errors = vErrors.length)), data.position !== void 0) {
12110
+ if (data.pagePosition !== void 0 && (validate445(data.pagePosition, { instancePath: instancePath + "/pagePosition", parentData: data, parentDataProperty: "pagePosition", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate445.errors : vErrors.concat(validate445.errors), errors = vErrors.length)), data.position !== void 0) {
11504
12111
  let data11 = data.position;
11505
12112
  if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
11506
12113
  if (data11.fraction === void 0) {
@@ -11548,7 +12155,7 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11548
12155
  vErrors === null ? vErrors = [err28] : vErrors.push(err28), errors++;
11549
12156
  }
11550
12157
  if (!(data14 === "below" || data14 === "above")) {
11551
- let err29 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema391.enum }, message: "must be equal to one of the allowed values" };
12158
+ let err29 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema394.enum }, message: "must be equal to one of the allowed values" };
11552
12159
  vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
11553
12160
  }
11554
12161
  }
@@ -11597,11 +12204,11 @@ function validate439(data, { instancePath = "", parentData, parentDataProperty,
11597
12204
  let err38 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11598
12205
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
11599
12206
  }
11600
- return validate439.errors = vErrors, errors === 0;
12207
+ return validate443.errors = vErrors, errors === 0;
11601
12208
  }
11602
- validate439.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11603
- function validate444(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11604
- let vErrors = null, errors = 0, evaluated0 = validate444.evaluated;
12209
+ validate443.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12210
+ function validate448(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12211
+ let vErrors = null, errors = 0, evaluated0 = validate448.evaluated;
11605
12212
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11606
12213
  if (data.staff === void 0) {
11607
12214
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "staff" }, message: "must have required property 'staff'" };
@@ -11642,12 +12249,12 @@ function validate444(data, { instancePath = "", parentData, parentDataProperty,
11642
12249
  let err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11643
12250
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
11644
12251
  }
11645
- return validate444.errors = vErrors, errors === 0;
12252
+ return validate448.errors = vErrors, errors === 0;
11646
12253
  }
11647
- validate444.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11648
- var schema432 = { type: "object", description: "A staff-local meter distinct from the global (`global.measures[].time`) meter. Semantically identical in shape to a time signature, but never engraved on other staves and never establishes the score's barline duration by itself.", required: ["count", "unit"], properties: { count: { type: "integer", minimum: 1, description: "Numerator (beats per measure) of the staff-local meter." }, unit: { type: "integer", enum: [1, 2, 4, 8, 16, 32, 64, 128], description: "Denominator (beat unit) of the staff-local meter." }, beatStructure: { type: "array", items: { type: "integer", minimum: 1 }, minItems: 1, description: "Ordered beat-group lengths in units of the staff-local meter's denominator. Values must sum to count. When omitted, Viritura resolves the conventional default structure for this count/unit, same as a global time signature." } }, additionalProperties: !1 }, schema433 = { type: "string", enum: ["sharedDuration", "fitMeasure"], description: "How a staff-local meter's measure duration relates to the global measure it shares a barline with. `sharedDuration` requires the staff-local meter's measure duration to equal the global measure's duration exactly, so ordinary written note durations already line up \u2014 no scaling. `fitMeasure` maps one complete staff-local measure onto one complete global measure by a derived exact ratio (e.g. a local 6/8 measure of two dotted-quarter pulses onto a global 2/4 measure of two quarter-note pulses), so the staff's written durations are proportionally scaled for spacing and playback while the notated meter keeps its own conventional note values." };
11649
- function validate447(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11650
- let vErrors = null, errors = 0, evaluated0 = validate447.evaluated;
12254
+ validate448.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12255
+ var schema437 = { type: "object", description: "A staff-local meter distinct from the global (`global.measures[].time`) meter. Semantically identical in shape to a time signature, but never engraved on other staves and never establishes the score's barline duration by itself.", required: ["count", "unit"], properties: { count: { type: "integer", minimum: 1, description: "Numerator (beats per measure) of the staff-local meter." }, unit: { type: "integer", enum: [1, 2, 4, 8, 16, 32, 64, 128], description: "Denominator (beat unit) of the staff-local meter." }, beatStructure: { type: "array", items: { type: "integer", minimum: 1 }, minItems: 1, description: "Ordered beat-group lengths in units of the staff-local meter's denominator. Values must sum to count. When omitted, Viritura resolves the conventional default structure for this count/unit, same as a global time signature." } }, additionalProperties: !1 }, schema438 = { type: "string", enum: ["sharedDuration", "fitMeasure"], description: "How a staff-local meter's measure duration relates to the global measure it shares a barline with. `sharedDuration` requires the staff-local meter's measure duration to equal the global measure's duration exactly, so ordinary written note durations already line up \u2014 no scaling. `fitMeasure` maps one complete staff-local measure onto one complete global measure by a derived exact ratio (e.g. a local 6/8 measure of two dotted-quarter pulses onto a global 2/4 measure of two quarter-note pulses), so the staff's written durations are proportionally scaled for spacing and playback while the notated meter keeps its own conventional note values." };
12256
+ function validate451(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12257
+ let vErrors = null, errors = 0, evaluated0 = validate451.evaluated;
11651
12258
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11652
12259
  if (data.staff === void 0) {
11653
12260
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "staff" }, message: "must have required property 'staff'" };
@@ -11711,7 +12318,7 @@ function validate447(data, { instancePath = "", parentData, parentDataProperty,
11711
12318
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
11712
12319
  }
11713
12320
  if (!(data3 === 1 || data3 === 2 || data3 === 4 || data3 === 8 || data3 === 16 || data3 === 32 || data3 === 64 || data3 === 128)) {
11714
- let err12 = { instancePath: instancePath + "/meter/unit", schemaPath: "#/$defs/staff-meter/properties/unit/enum", keyword: "enum", params: { allowedValues: schema432.properties.unit.enum }, message: "must be equal to one of the allowed values" };
12321
+ let err12 = { instancePath: instancePath + "/meter/unit", schemaPath: "#/$defs/staff-meter/properties/unit/enum", keyword: "enum", params: { allowedValues: schema437.properties.unit.enum }, message: "must be equal to one of the allowed values" };
11715
12322
  vErrors === null ? vErrors = [err12] : vErrors.push(err12), errors++;
11716
12323
  }
11717
12324
  }
@@ -11751,7 +12358,7 @@ function validate447(data, { instancePath = "", parentData, parentDataProperty,
11751
12358
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
11752
12359
  }
11753
12360
  if (!(data6 === "sharedDuration" || data6 === "fitMeasure")) {
11754
- let err19 = { instancePath: instancePath + "/synchronization", schemaPath: "#/$defs/staff-meter-synchronization/enum", keyword: "enum", params: { allowedValues: schema433.enum }, message: "must be equal to one of the allowed values" };
12361
+ let err19 = { instancePath: instancePath + "/synchronization", schemaPath: "#/$defs/staff-meter-synchronization/enum", keyword: "enum", params: { allowedValues: schema438.enum }, message: "must be equal to one of the allowed values" };
11755
12362
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
11756
12363
  }
11757
12364
  }
@@ -11759,14 +12366,14 @@ function validate447(data, { instancePath = "", parentData, parentDataProperty,
11759
12366
  let err20 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11760
12367
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
11761
12368
  }
11762
- return validate447.errors = vErrors, errors === 0;
12369
+ return validate451.errors = vErrors, errors === 0;
11763
12370
  }
11764
- validate447.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11765
- function validate446(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11766
- let vErrors = null, errors = 0, evaluated0 = validate446.evaluated;
12371
+ validate451.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12372
+ function validate450(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12373
+ let vErrors = null, errors = 0, evaluated0 = validate450.evaluated;
11767
12374
  evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0);
11768
12375
  let _errs0 = errors, valid0 = !1, passing0 = null, _errs1 = errors;
11769
- validate447(data, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate447.errors : vErrors.concat(validate447.errors), errors = vErrors.length);
12376
+ validate451(data, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate451.errors : vErrors.concat(validate451.errors), errors = vErrors.length);
11770
12377
  var _valid0 = _errs1 === errors;
11771
12378
  if (_valid0) {
11772
12379
  valid0 = !0, passing0 = 0;
@@ -11820,11 +12427,11 @@ function validate446(data, { instancePath = "", parentData, parentDataProperty,
11820
12427
  let err8 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
11821
12428
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
11822
12429
  }
11823
- return validate446.errors = vErrors, evaluated0.props = props0, errors === 0;
12430
+ return validate450.errors = vErrors, evaluated0.props = props0, errors === 0;
11824
12431
  }
11825
- validate446.evaluated = { dynamicProps: !0, dynamicItems: !1 };
11826
- function validate450(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
11827
- let vErrors = null, errors = 0, evaluated0 = validate450.evaluated;
12432
+ validate450.evaluated = { dynamicProps: !0, dynamicItems: !1 };
12433
+ function validate454(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12434
+ let vErrors = null, errors = 0, evaluated0 = validate454.evaluated;
11828
12435
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
11829
12436
  for (let key0 in data)
11830
12437
  if (!(key0 === "position" || key0 === "instrument" || key0 === "transposition" || key0 === "instruction" || key0 === "reminder")) {
@@ -11993,11 +12600,11 @@ function validate450(data, { instancePath = "", parentData, parentDataProperty,
11993
12600
  let err29 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
11994
12601
  vErrors === null ? vErrors = [err29] : vErrors.push(err29), errors++;
11995
12602
  }
11996
- return validate450.errors = vErrors, errors === 0;
12603
+ return validate454.errors = vErrors, errors === 0;
11997
12604
  }
11998
- validate450.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
11999
- function validate435(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12000
- let vErrors = null, errors = 0, evaluated0 = validate435.evaluated;
12605
+ validate454.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12606
+ function validate439(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12607
+ let vErrors = null, errors = 0, evaluated0 = validate439.evaluated;
12001
12608
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12002
12609
  for (let key0 in data)
12003
12610
  if (!(key0 === "pedals" || key0 === "expressions" || key0 === "condensingOverride" || key0 === "groupingDisplayOverrides" || key0 === "staffMeters" || key0 === "instrumentChanges")) {
@@ -12009,7 +12616,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12009
12616
  if (Array.isArray(data0)) {
12010
12617
  let len0 = data0.length;
12011
12618
  for (let i0 = 0; i0 < len0; i0++)
12012
- validate436(data0[i0], { instancePath: instancePath + "/pedals/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate436.errors : vErrors.concat(validate436.errors), errors = vErrors.length);
12619
+ validate440(data0[i0], { instancePath: instancePath + "/pedals/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate440.errors : vErrors.concat(validate440.errors), errors = vErrors.length);
12013
12620
  } else {
12014
12621
  let err1 = { instancePath: instancePath + "/pedals", schemaPath: "#/properties/pedals/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12015
12622
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -12020,7 +12627,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12020
12627
  if (Array.isArray(data2)) {
12021
12628
  let len1 = data2.length;
12022
12629
  for (let i1 = 0; i1 < len1; i1++)
12023
- validate439(data2[i1], { instancePath: instancePath + "/expressions/" + i1, parentData: data2, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate439.errors : vErrors.concat(validate439.errors), errors = vErrors.length);
12630
+ validate443(data2[i1], { instancePath: instancePath + "/expressions/" + i1, parentData: data2, parentDataProperty: i1, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate443.errors : vErrors.concat(validate443.errors), errors = vErrors.length);
12024
12631
  } else {
12025
12632
  let err2 = { instancePath: instancePath + "/expressions", schemaPath: "#/properties/expressions/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12026
12633
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
@@ -12033,7 +12640,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12033
12640
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12034
12641
  }
12035
12642
  if (!(data4 === "unison" || data4 === "solo1" || data4 === "solo2" || data4 === "amalgamate" || data4 === "divisi")) {
12036
- let err4 = { instancePath: instancePath + "/condensingOverride", schemaPath: "#/properties/condensingOverride/enum", keyword: "enum", params: { allowedValues: schema413.properties.condensingOverride.enum }, message: "must be equal to one of the allowed values" };
12643
+ let err4 = { instancePath: instancePath + "/condensingOverride", schemaPath: "#/properties/condensingOverride/enum", keyword: "enum", params: { allowedValues: schema418.properties.condensingOverride.enum }, message: "must be equal to one of the allowed values" };
12037
12644
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12038
12645
  }
12039
12646
  }
@@ -12042,7 +12649,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12042
12649
  if (Array.isArray(data5)) {
12043
12650
  let len2 = data5.length;
12044
12651
  for (let i2 = 0; i2 < len2; i2++)
12045
- validate444(data5[i2], { instancePath: instancePath + "/groupingDisplayOverrides/" + i2, parentData: data5, parentDataProperty: i2, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate444.errors : vErrors.concat(validate444.errors), errors = vErrors.length);
12652
+ validate448(data5[i2], { instancePath: instancePath + "/groupingDisplayOverrides/" + i2, parentData: data5, parentDataProperty: i2, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate448.errors : vErrors.concat(validate448.errors), errors = vErrors.length);
12046
12653
  } else {
12047
12654
  let err5 = { instancePath: instancePath + "/groupingDisplayOverrides", schemaPath: "#/properties/groupingDisplayOverrides/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12048
12655
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
@@ -12053,7 +12660,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12053
12660
  if (Array.isArray(data7)) {
12054
12661
  let len3 = data7.length;
12055
12662
  for (let i3 = 0; i3 < len3; i3++)
12056
- validate446(data7[i3], { instancePath: instancePath + "/staffMeters/" + i3, parentData: data7, parentDataProperty: i3, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate446.errors : vErrors.concat(validate446.errors), errors = vErrors.length);
12663
+ validate450(data7[i3], { instancePath: instancePath + "/staffMeters/" + i3, parentData: data7, parentDataProperty: i3, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate450.errors : vErrors.concat(validate450.errors), errors = vErrors.length);
12057
12664
  } else {
12058
12665
  let err6 = { instancePath: instancePath + "/staffMeters", schemaPath: "#/properties/staffMeters/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12059
12666
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
@@ -12064,7 +12671,7 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12064
12671
  if (Array.isArray(data9)) {
12065
12672
  let len4 = data9.length;
12066
12673
  for (let i4 = 0; i4 < len4; i4++)
12067
- validate450(data9[i4], { instancePath: instancePath + "/instrumentChanges/" + i4, parentData: data9, parentDataProperty: i4, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate450.errors : vErrors.concat(validate450.errors), errors = vErrors.length);
12674
+ validate454(data9[i4], { instancePath: instancePath + "/instrumentChanges/" + i4, parentData: data9, parentDataProperty: i4, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate454.errors : vErrors.concat(validate454.errors), errors = vErrors.length);
12068
12675
  } else {
12069
12676
  let err7 = { instancePath: instancePath + "/instrumentChanges", schemaPath: "#/properties/instrumentChanges/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12070
12677
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
@@ -12074,12 +12681,12 @@ function validate435(data, { instancePath = "", parentData, parentDataProperty,
12074
12681
  let err8 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12075
12682
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
12076
12683
  }
12077
- return validate435.errors = vErrors, errors === 0;
12684
+ return validate439.errors = vErrors, errors === 0;
12078
12685
  }
12079
- validate435.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12080
- var schema441 = { type: "object", description: "Links measure-local tuplet fragments into one logical tuplet spanning barlines. The same id and ratio must be used by contiguous fragments.", required: ["id", "type"], properties: { id: { type: "string", minLength: 1, description: "Stable identity shared by every fragment of the logical tuplet." }, type: { type: "string", enum: ["start", "continue", "stop"], description: "The fragment's position within the logical tuplet." } }, additionalProperties: !1 };
12081
- function validate452(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12082
- let vErrors = null, errors = 0, evaluated0 = validate452.evaluated;
12686
+ validate439.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12687
+ var schema446 = { type: "object", description: "Links measure-local tuplet fragments into one logical tuplet spanning barlines. The same id and ratio must be used by contiguous fragments.", required: ["id", "type"], properties: { id: { type: "string", minLength: 1, description: "Stable identity shared by every fragment of the logical tuplet." }, type: { type: "string", enum: ["start", "continue", "stop"], description: "The fragment's position within the logical tuplet." } }, additionalProperties: !1 };
12688
+ function validate456(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12689
+ let vErrors = null, errors = 0, evaluated0 = validate456.evaluated;
12083
12690
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12084
12691
  for (let key0 in data)
12085
12692
  if (key0 !== "span") {
@@ -12121,7 +12728,7 @@ function validate452(data, { instancePath = "", parentData, parentDataProperty,
12121
12728
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
12122
12729
  }
12123
12730
  if (!(data2 === "start" || data2 === "continue" || data2 === "stop")) {
12124
- let err7 = { instancePath: instancePath + "/span/type", schemaPath: "#/$defs/tuplet-span/properties/type/enum", keyword: "enum", params: { allowedValues: schema441.properties.type.enum }, message: "must be equal to one of the allowed values" };
12731
+ let err7 = { instancePath: instancePath + "/span/type", schemaPath: "#/$defs/tuplet-span/properties/type/enum", keyword: "enum", params: { allowedValues: schema446.properties.type.enum }, message: "must be equal to one of the allowed values" };
12125
12732
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
12126
12733
  }
12127
12734
  }
@@ -12134,11 +12741,11 @@ function validate452(data, { instancePath = "", parentData, parentDataProperty,
12134
12741
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12135
12742
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
12136
12743
  }
12137
- return validate452.errors = vErrors, errors === 0;
12744
+ return validate456.errors = vErrors, errors === 0;
12138
12745
  }
12139
- validate452.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12140
- function validate453(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12141
- let vErrors = null, errors = 0, evaluated0 = validate453.evaluated;
12746
+ validate456.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12747
+ function validate457(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12748
+ let vErrors = null, errors = 0, evaluated0 = validate457.evaluated;
12142
12749
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12143
12750
  for (let key0 in data)
12144
12751
  if (key0 !== "staffLineRangeRestore") {
@@ -12153,11 +12760,11 @@ function validate453(data, { instancePath = "", parentData, parentDataProperty,
12153
12760
  let err2 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12154
12761
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
12155
12762
  }
12156
- return validate453.errors = vErrors, errors === 0;
12763
+ return validate457.errors = vErrors, errors === 0;
12157
12764
  }
12158
- validate453.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12159
- function validate454(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12160
- let vErrors = null, errors = 0, evaluated0 = validate454.evaluated;
12765
+ validate457.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12766
+ function validate458(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12767
+ let vErrors = null, errors = 0, evaluated0 = validate458.evaluated;
12161
12768
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12162
12769
  for (let key0 in data)
12163
12770
  if (!(key0 === "manualOffset" || key0 === "avoidCollisions")) {
@@ -12194,12 +12801,12 @@ function validate454(data, { instancePath = "", parentData, parentDataProperty,
12194
12801
  let err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12195
12802
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
12196
12803
  }
12197
- return validate454.errors = vErrors, errors === 0;
12804
+ return validate458.errors = vErrors, errors === 0;
12198
12805
  }
12199
- validate454.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12200
- var schema447 = { type: "string", enum: ["glissando", "portamento"], description: "Semantic kind of a glissando-family line." }, schema448 = { type: "string", enum: ["straight", "wavy"], description: "Glissando/portamento line style." };
12201
- function validate456(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12202
- let vErrors = null, errors = 0, evaluated0 = validate456.evaluated;
12806
+ validate458.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12807
+ var schema452 = { type: "string", enum: ["glissando", "portamento"], description: "Semantic kind of a glissando-family line." }, schema453 = { type: "string", enum: ["straight", "wavy"], description: "Glissando/portamento line style." };
12808
+ function validate460(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12809
+ let vErrors = null, errors = 0, evaluated0 = validate460.evaluated;
12203
12810
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12204
12811
  if (data.target === void 0) {
12205
12812
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "target" }, message: "must have required property 'target'" };
@@ -12221,7 +12828,7 @@ function validate456(data, { instancePath = "", parentData, parentDataProperty,
12221
12828
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12222
12829
  }
12223
12830
  if (!(data1 === "glissando" || data1 === "portamento")) {
12224
- let err4 = { instancePath: instancePath + "/kind", schemaPath: "#/$defs/glissando-kind/enum", keyword: "enum", params: { allowedValues: schema447.enum }, message: "must be equal to one of the allowed values" };
12831
+ let err4 = { instancePath: instancePath + "/kind", schemaPath: "#/$defs/glissando-kind/enum", keyword: "enum", params: { allowedValues: schema452.enum }, message: "must be equal to one of the allowed values" };
12225
12832
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12226
12833
  }
12227
12834
  }
@@ -12232,7 +12839,7 @@ function validate456(data, { instancePath = "", parentData, parentDataProperty,
12232
12839
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
12233
12840
  }
12234
12841
  if (!(data2 === "straight" || data2 === "wavy")) {
12235
- let err6 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/glissando-style/enum", keyword: "enum", params: { allowedValues: schema448.enum }, message: "must be equal to one of the allowed values" };
12842
+ let err6 = { instancePath: instancePath + "/style", schemaPath: "#/$defs/glissando-style/enum", keyword: "enum", params: { allowedValues: schema453.enum }, message: "must be equal to one of the allowed values" };
12236
12843
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
12237
12844
  }
12238
12845
  }
@@ -12248,11 +12855,11 @@ function validate456(data, { instancePath = "", parentData, parentDataProperty,
12248
12855
  let err9 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12249
12856
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
12250
12857
  }
12251
- return validate456.errors = vErrors, errors === 0;
12858
+ return validate460.errors = vErrors, errors === 0;
12252
12859
  }
12253
- validate456.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12254
- function validate455(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12255
- let vErrors = null, errors = 0, evaluated0 = validate455.evaluated;
12860
+ validate460.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12861
+ function validate459(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12862
+ let vErrors = null, errors = 0, evaluated0 = validate459.evaluated;
12256
12863
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12257
12864
  for (let key0 in data)
12258
12865
  if (key0 !== "glissandos") {
@@ -12264,7 +12871,7 @@ function validate455(data, { instancePath = "", parentData, parentDataProperty,
12264
12871
  if (Array.isArray(data0)) {
12265
12872
  let len0 = data0.length;
12266
12873
  for (let i0 = 0; i0 < len0; i0++)
12267
- validate456(data0[i0], { instancePath: instancePath + "/glissandos/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate456.errors : vErrors.concat(validate456.errors), errors = vErrors.length);
12874
+ validate460(data0[i0], { instancePath: instancePath + "/glissandos/" + i0, parentData: data0, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate460.errors : vErrors.concat(validate460.errors), errors = vErrors.length);
12268
12875
  } else {
12269
12876
  let err1 = { instancePath: instancePath + "/glissandos", schemaPath: "#/properties/glissandos/type", keyword: "type", params: { type: "array" }, message: "must be array" };
12270
12877
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -12274,13 +12881,13 @@ function validate455(data, { instancePath = "", parentData, parentDataProperty,
12274
12881
  let err2 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12275
12882
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
12276
12883
  }
12277
- return validate455.errors = vErrors, errors === 0;
12884
+ return validate459.errors = vErrors, errors === 0;
12278
12885
  }
12279
- validate455.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12280
- var schema449 = { type: "object", description: "Viritura vendor extensions on an event-markings object.", properties: { staccatissimoWedge: { type: "object", description: "Staccatissimo wedge articulation variant (SMuFL articStaccatissimoWedge).", properties: { placement: { type: "string", enum: ["above", "below", "auto"], description: "Vertical placement relative to the staff." } }, additionalProperties: !1 }, trill: { $ref: "#/$defs/trill" }, ornaments: { type: "array", items: { $ref: "#/$defs/ornament-type" }, description: "Ornament markings (turn, mordent, etc.)." }, fingerings: { type: "array", items: { $ref: "#/$defs/fingering" }, description: "Fingering annotations." }, arpeggio: { $ref: "#/$defs/arpeggio" } }, additionalProperties: !1 }, schema452 = { type: "string", enum: ["turn", "invertedTurn", "mordent", "invertedMordent", "shortTrill", "trillMordent", "delayedTurn", "schleifer"], description: "Ornament type. Each maps to a SMuFL ornament glyph." };
12281
- var schema454 = { type: "object", description: "A rolled-chord (arpeggio) indication on a chord event: a wavy vertical line to the left of the chord. Created on MusicXML `<arpeggiate>` import and authored natively.", properties: { direction: { type: "string", enum: ["up", "down", "auto"], description: "Roll direction. Omitted means the renderer's default (upward) arpeggio." } }, additionalProperties: !1 }, schema450 = { type: "object", description: "A trill marking on a note, optionally followed by a wavy extension line.", properties: { accidental: { type: "integer", enum: [-1, 0, 1], description: "Accidental on the auxiliary note: -1 = flat, 0 = natural, 1 = sharp." }, showSymbol: { type: "boolean", description: "Whether to display the initial trill symbol. Defaults to true; set false for an extension-only line." }, extension: { $ref: "#/$defs/trill-extension" } }, additionalProperties: !1 }, schema451 = { type: "object", description: "A wavy trill-extension line from this event to a target event.", required: ["target"], properties: { target: { type: "string", description: "ID of the event where the trill-extension line ends." }, targetEdge: { type: "string", enum: ["start", "end"], description: "Which rhythmic edge of the target event ends the line. Defaults to 'start'." } }, additionalProperties: !1 };
12282
- function validate459(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12283
- let vErrors = null, errors = 0, evaluated0 = validate459.evaluated;
12886
+ validate459.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12887
+ var schema454 = { type: "object", description: "Viritura vendor extensions on an event-markings object.", properties: { staccatissimoWedge: { type: "object", description: "Staccatissimo wedge articulation variant (SMuFL articStaccatissimoWedge).", properties: { placement: { type: "string", enum: ["above", "below", "auto"], description: "Vertical placement relative to the staff." } }, additionalProperties: !1 }, trill: { $ref: "#/$defs/trill" }, ornaments: { type: "array", items: { $ref: "#/$defs/ornament-type" }, description: "Ornament markings (turn, mordent, etc.)." }, fingerings: { type: "array", items: { $ref: "#/$defs/fingering" }, description: "Fingering annotations." }, arpeggio: { $ref: "#/$defs/arpeggio" } }, additionalProperties: !1 }, schema457 = { type: "string", enum: ["turn", "invertedTurn", "mordent", "invertedMordent", "shortTrill", "trillMordent", "delayedTurn", "schleifer"], description: "Ornament type. Each maps to a SMuFL ornament glyph." };
12888
+ var schema459 = { type: "object", description: "A rolled-chord (arpeggio) indication on a chord event: a wavy vertical line to the left of the chord. Created on MusicXML `<arpeggiate>` import and authored natively.", properties: { direction: { type: "string", enum: ["up", "down", "auto"], description: "Roll direction. Omitted means the renderer's default (upward) arpeggio." } }, additionalProperties: !1 }, schema455 = { type: "object", description: "A trill marking on a note, optionally followed by a wavy extension line.", properties: { accidental: { type: "integer", enum: [-1, 0, 1], description: "Accidental on the auxiliary note: -1 = flat, 0 = natural, 1 = sharp." }, showSymbol: { type: "boolean", description: "Whether to display the initial trill symbol. Defaults to true; set false for an extension-only line." }, extension: { $ref: "#/$defs/trill-extension" } }, additionalProperties: !1 }, schema456 = { type: "object", description: "A wavy trill-extension line from this event to a target event.", required: ["target"], properties: { target: { type: "string", description: "ID of the event where the trill-extension line ends." }, targetEdge: { type: "string", enum: ["start", "end"], description: "Which rhythmic edge of the target event ends the line. Defaults to 'start'." } }, additionalProperties: !1 };
12889
+ function validate463(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12890
+ let vErrors = null, errors = 0, evaluated0 = validate463.evaluated;
12284
12891
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12285
12892
  for (let key0 in data)
12286
12893
  if (!(key0 === "accidental" || key0 === "showSymbol" || key0 === "extension")) {
@@ -12294,7 +12901,7 @@ function validate459(data, { instancePath = "", parentData, parentDataProperty,
12294
12901
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
12295
12902
  }
12296
12903
  if (!(data0 === -1 || data0 === 0 || data0 === 1)) {
12297
- let err2 = { instancePath: instancePath + "/accidental", schemaPath: "#/properties/accidental/enum", keyword: "enum", params: { allowedValues: schema450.properties.accidental.enum }, message: "must be equal to one of the allowed values" };
12904
+ let err2 = { instancePath: instancePath + "/accidental", schemaPath: "#/properties/accidental/enum", keyword: "enum", params: { allowedValues: schema455.properties.accidental.enum }, message: "must be equal to one of the allowed values" };
12298
12905
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
12299
12906
  }
12300
12907
  }
@@ -12325,7 +12932,7 @@ function validate459(data, { instancePath = "", parentData, parentDataProperty,
12325
12932
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
12326
12933
  }
12327
12934
  if (!(data4 === "start" || data4 === "end")) {
12328
- let err8 = { instancePath: instancePath + "/extension/targetEdge", schemaPath: "#/$defs/trill-extension/properties/targetEdge/enum", keyword: "enum", params: { allowedValues: schema451.properties.targetEdge.enum }, message: "must be equal to one of the allowed values" };
12935
+ let err8 = { instancePath: instancePath + "/extension/targetEdge", schemaPath: "#/$defs/trill-extension/properties/targetEdge/enum", keyword: "enum", params: { allowedValues: schema456.properties.targetEdge.enum }, message: "must be equal to one of the allowed values" };
12329
12936
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
12330
12937
  }
12331
12938
  }
@@ -12338,11 +12945,11 @@ function validate459(data, { instancePath = "", parentData, parentDataProperty,
12338
12945
  let err10 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12339
12946
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
12340
12947
  }
12341
- return validate459.errors = vErrors, errors === 0;
12948
+ return validate463.errors = vErrors, errors === 0;
12342
12949
  }
12343
- validate459.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12344
- function validate458(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12345
- let vErrors = null, errors = 0, evaluated0 = validate458.evaluated;
12950
+ validate463.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12951
+ function validate462(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12952
+ let vErrors = null, errors = 0, evaluated0 = validate462.evaluated;
12346
12953
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12347
12954
  for (let key0 in data)
12348
12955
  if (!(key0 === "staccatissimoWedge" || key0 === "trill" || key0 === "ornaments" || key0 === "fingerings" || key0 === "arpeggio")) {
@@ -12364,7 +12971,7 @@ function validate458(data, { instancePath = "", parentData, parentDataProperty,
12364
12971
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
12365
12972
  }
12366
12973
  if (!(data1 === "above" || data1 === "below" || data1 === "auto")) {
12367
- let err3 = { instancePath: instancePath + "/staccatissimoWedge/placement", schemaPath: "#/properties/staccatissimoWedge/properties/placement/enum", keyword: "enum", params: { allowedValues: schema449.properties.staccatissimoWedge.properties.placement.enum }, message: "must be equal to one of the allowed values" };
12974
+ let err3 = { instancePath: instancePath + "/staccatissimoWedge/placement", schemaPath: "#/properties/staccatissimoWedge/properties/placement/enum", keyword: "enum", params: { allowedValues: schema454.properties.staccatissimoWedge.properties.placement.enum }, message: "must be equal to one of the allowed values" };
12368
12975
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12369
12976
  }
12370
12977
  }
@@ -12373,7 +12980,7 @@ function validate458(data, { instancePath = "", parentData, parentDataProperty,
12373
12980
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12374
12981
  }
12375
12982
  }
12376
- if (data.trill !== void 0 && (validate459(data.trill, { instancePath: instancePath + "/trill", parentData: data, parentDataProperty: "trill", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate459.errors : vErrors.concat(validate459.errors), errors = vErrors.length)), data.ornaments !== void 0) {
12983
+ if (data.trill !== void 0 && (validate463(data.trill, { instancePath: instancePath + "/trill", parentData: data, parentDataProperty: "trill", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate463.errors : vErrors.concat(validate463.errors), errors = vErrors.length)), data.ornaments !== void 0) {
12377
12984
  let data3 = data.ornaments;
12378
12985
  if (Array.isArray(data3)) {
12379
12986
  let len0 = data3.length;
@@ -12384,7 +12991,7 @@ function validate458(data, { instancePath = "", parentData, parentDataProperty,
12384
12991
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
12385
12992
  }
12386
12993
  if (!(data4 === "turn" || data4 === "invertedTurn" || data4 === "mordent" || data4 === "invertedMordent" || data4 === "shortTrill" || data4 === "trillMordent" || data4 === "delayedTurn" || data4 === "schleifer")) {
12387
- let err6 = { instancePath: instancePath + "/ornaments/" + i0, schemaPath: "#/$defs/ornament-type/enum", keyword: "enum", params: { allowedValues: schema452.enum }, message: "must be equal to one of the allowed values" };
12994
+ let err6 = { instancePath: instancePath + "/ornaments/" + i0, schemaPath: "#/$defs/ornament-type/enum", keyword: "enum", params: { allowedValues: schema457.enum }, message: "must be equal to one of the allowed values" };
12388
12995
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
12389
12996
  }
12390
12997
  }
@@ -12451,7 +13058,7 @@ function validate458(data, { instancePath = "", parentData, parentDataProperty,
12451
13058
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
12452
13059
  }
12453
13060
  if (!(data9 === "up" || data9 === "down" || data9 === "auto")) {
12454
- let err17 = { instancePath: instancePath + "/arpeggio/direction", schemaPath: "#/$defs/arpeggio/properties/direction/enum", keyword: "enum", params: { allowedValues: schema454.properties.direction.enum }, message: "must be equal to one of the allowed values" };
13061
+ let err17 = { instancePath: instancePath + "/arpeggio/direction", schemaPath: "#/$defs/arpeggio/properties/direction/enum", keyword: "enum", params: { allowedValues: schema459.properties.direction.enum }, message: "must be equal to one of the allowed values" };
12455
13062
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
12456
13063
  }
12457
13064
  }
@@ -12464,11 +13071,11 @@ function validate458(data, { instancePath = "", parentData, parentDataProperty,
12464
13071
  let err19 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12465
13072
  vErrors === null ? vErrors = [err19] : vErrors.push(err19), errors++;
12466
13073
  }
12467
- return validate458.errors = vErrors, errors === 0;
13074
+ return validate462.errors = vErrors, errors === 0;
12468
13075
  }
12469
- validate458.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12470
- function validate461(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12471
- let vErrors = null, errors = 0, evaluated0 = validate461.evaluated;
13076
+ validate462.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13077
+ function validate465(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13078
+ let vErrors = null, errors = 0, evaluated0 = validate465.evaluated;
12472
13079
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12473
13080
  for (let key0 in data)
12474
13081
  if (key0 !== "notehead") {
@@ -12482,7 +13089,7 @@ function validate461(data, { instancePath = "", parentData, parentDataProperty,
12482
13089
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
12483
13090
  }
12484
13091
  if (!(data0 === "normal" || data0 === "x" || data0 === "circleX" || data0 === "diamond" || data0 === "slash" || data0 === "triangleUp" || data0 === "triangleDown")) {
12485
- let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema412.enum }, message: "must be equal to one of the allowed values" };
13092
+ let err2 = { instancePath: instancePath + "/notehead", schemaPath: "#/$defs/notehead-shape/enum", keyword: "enum", params: { allowedValues: schema417.enum }, message: "must be equal to one of the allowed values" };
12486
13093
  vErrors === null ? vErrors = [err2] : vErrors.push(err2), errors++;
12487
13094
  }
12488
13095
  }
@@ -12490,11 +13097,11 @@ function validate461(data, { instancePath = "", parentData, parentDataProperty,
12490
13097
  let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12491
13098
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12492
13099
  }
12493
- return validate461.errors = vErrors, errors === 0;
13100
+ return validate465.errors = vErrors, errors === 0;
12494
13101
  }
12495
- validate461.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12496
- function validate463(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12497
- let vErrors = null, errors = 0, evaluated0 = validate463.evaluated;
13102
+ validate465.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13103
+ function validate467(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13104
+ let vErrors = null, errors = 0, evaluated0 = validate467.evaluated;
12498
13105
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12499
13106
  for (let key0 in data)
12500
13107
  if (!(key0 === "p0" || key0 === "p1" || key0 === "p2" || key0 === "p3")) {
@@ -12593,27 +13200,27 @@ function validate463(data, { instancePath = "", parentData, parentDataProperty,
12593
13200
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12594
13201
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
12595
13202
  }
12596
- return validate463.errors = vErrors, errors === 0;
13203
+ return validate467.errors = vErrors, errors === 0;
12597
13204
  }
12598
- validate463.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12599
- function validate462(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12600
- let vErrors = null, errors = 0, evaluated0 = validate462.evaluated;
13205
+ validate467.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13206
+ function validate466(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13207
+ let vErrors = null, errors = 0, evaluated0 = validate466.evaluated;
12601
13208
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12602
13209
  for (let key0 in data)
12603
13210
  if (key0 !== "shape") {
12604
13211
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
12605
13212
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
12606
13213
  }
12607
- data.shape !== void 0 && (validate463(data.shape, { instancePath: instancePath + "/shape", parentData: data, parentDataProperty: "shape", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate463.errors : vErrors.concat(validate463.errors), errors = vErrors.length));
13214
+ data.shape !== void 0 && (validate467(data.shape, { instancePath: instancePath + "/shape", parentData: data, parentDataProperty: "shape", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate467.errors : vErrors.concat(validate467.errors), errors = vErrors.length));
12608
13215
  } else {
12609
13216
  let err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12610
13217
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
12611
13218
  }
12612
- return validate462.errors = vErrors, errors === 0;
13219
+ return validate466.errors = vErrors, errors === 0;
12613
13220
  }
12614
- validate462.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12615
- function validate465(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12616
- let vErrors = null, errors = 0, evaluated0 = validate465.evaluated;
13221
+ validate466.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13222
+ function validate469(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13223
+ let vErrors = null, errors = 0, evaluated0 = validate469.evaluated;
12617
13224
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12618
13225
  for (let key0 in data)
12619
13226
  if (key0 !== "derived") {
@@ -12635,11 +13242,11 @@ function validate465(data, { instancePath = "", parentData, parentDataProperty,
12635
13242
  let err3 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12636
13243
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12637
13244
  }
12638
- return validate465.errors = vErrors, errors === 0;
13245
+ return validate469.errors = vErrors, errors === 0;
12639
13246
  }
12640
- validate465.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12641
- function validate466(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12642
- let vErrors = null, errors = 0, evaluated0 = validate466.evaluated;
13247
+ validate469.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13248
+ function validate470(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13249
+ let vErrors = null, errors = 0, evaluated0 = validate470.evaluated;
12643
13250
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data))
12644
13251
  for (let key0 in data) {
12645
13252
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
@@ -12649,20 +13256,20 @@ function validate466(data, { instancePath = "", parentData, parentDataProperty,
12649
13256
  let err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12650
13257
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
12651
13258
  }
12652
- return validate466.errors = vErrors, errors === 0;
13259
+ return validate470.errors = vErrors, errors === 0;
12653
13260
  }
12654
- validate466.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12655
- var schema482 = { type: "object", description: "A forced system or page start within otherwise automatic score flow.", required: ["measure", "kind"], properties: { measure: { type: "string", minLength: 1 }, kind: { type: "string", enum: ["system", "page"] } }, additionalProperties: !1 }, schema466 = { type: "object", properties: { width: { type: "number", exclusiveMinimum: 0 }, height: { type: "number", exclusiveMinimum: 0 }, orientation: { type: "string", enum: ["portrait", "landscape"] }, margins: { $ref: "#/$defs/page-margins" }, spatiumMm: { type: "number", exclusiveMinimum: 0 }, pageTurns: { $ref: "#/$defs/page-turn-settings" } }, additionalProperties: !1 };
12656
- var schema468 = { type: "object", required: ["enabled"], properties: { enabled: { type: "boolean" }, preset: { type: "string", enum: ["relaxed", "professional"] }, comfortableSecs: { type: "number", minimum: 0 }, vsSecs: { type: "number", minimum: 0 }, minAcceptableSecs: { type: "number", minimum: 0 }, targetFillFraction: { type: "number", minimum: 0, maximum: 1 }, minFillFraction: { type: "number", minimum: 0, maximum: 1 }, verticalJustifyThreshold: { type: "number", minimum: 0, maximum: 1 }, allowPartialPages: { type: "boolean" }, allowIntentionalBlanks: { type: "boolean" }, titlePage: { type: "string", enum: ["auto", "always", "never"] }, firstPageRecto: { type: "boolean" }, emitVsMarks: { type: "boolean" }, defaultBpm: { type: "number", exclusiveMinimum: 0 }, weights: { $ref: "#/$defs/page-turn-weights" } }, additionalProperties: !1 };
12657
- function validate469(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12658
- let vErrors = null, errors = 0, evaluated0 = validate469.evaluated;
13261
+ validate470.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13262
+ var schema487 = { type: "object", description: "A forced system or page start within otherwise automatic score flow.", required: ["measure", "kind"], properties: { measure: { type: "string", minLength: 1 }, kind: { type: "string", enum: ["system", "page"] } }, additionalProperties: !1 }, schema471 = { type: "object", properties: { width: { type: "number", exclusiveMinimum: 0 }, height: { type: "number", exclusiveMinimum: 0 }, orientation: { type: "string", enum: ["portrait", "landscape"] }, margins: { $ref: "#/$defs/page-margins" }, spatiumMm: { type: "number", exclusiveMinimum: 0 }, pageTurns: { $ref: "#/$defs/page-turn-settings" } }, additionalProperties: !1 };
13263
+ var schema473 = { type: "object", required: ["enabled"], properties: { enabled: { type: "boolean" }, preset: { type: "string", enum: ["relaxed", "professional"] }, comfortableSecs: { type: "number", minimum: 0 }, vsSecs: { type: "number", minimum: 0 }, minAcceptableSecs: { type: "number", minimum: 0 }, targetFillFraction: { type: "number", minimum: 0, maximum: 1 }, minFillFraction: { type: "number", minimum: 0, maximum: 1 }, verticalJustifyThreshold: { type: "number", minimum: 0, maximum: 1 }, allowPartialPages: { type: "boolean" }, allowIntentionalBlanks: { type: "boolean" }, titlePage: { type: "string", enum: ["auto", "always", "never"] }, firstPageRecto: { type: "boolean" }, emitVsMarks: { type: "boolean" }, defaultBpm: { type: "number", exclusiveMinimum: 0 }, weights: { $ref: "#/$defs/page-turn-weights" } }, additionalProperties: !1 };
13264
+ function validate473(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13265
+ let vErrors = null, errors = 0, evaluated0 = validate473.evaluated;
12659
13266
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12660
13267
  if (data.enabled === void 0) {
12661
13268
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "enabled" }, message: "must have required property 'enabled'" };
12662
13269
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
12663
13270
  }
12664
13271
  for (let key0 in data)
12665
- if (!func1.call(schema468.properties, key0)) {
13272
+ if (!func1.call(schema473.properties, key0)) {
12666
13273
  let err1 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
12667
13274
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
12668
13275
  }
@@ -12677,7 +13284,7 @@ function validate469(data, { instancePath = "", parentData, parentDataProperty,
12677
13284
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
12678
13285
  }
12679
13286
  if (!(data1 === "relaxed" || data1 === "professional")) {
12680
- let err4 = { instancePath: instancePath + "/preset", schemaPath: "#/properties/preset/enum", keyword: "enum", params: { allowedValues: schema468.properties.preset.enum }, message: "must be equal to one of the allowed values" };
13287
+ let err4 = { instancePath: instancePath + "/preset", schemaPath: "#/properties/preset/enum", keyword: "enum", params: { allowedValues: schema473.properties.preset.enum }, message: "must be equal to one of the allowed values" };
12681
13288
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
12682
13289
  }
12683
13290
  }
@@ -12780,7 +13387,7 @@ function validate469(data, { instancePath = "", parentData, parentDataProperty,
12780
13387
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
12781
13388
  }
12782
13389
  if (!(data10 === "auto" || data10 === "always" || data10 === "never")) {
12783
- let err23 = { instancePath: instancePath + "/titlePage", schemaPath: "#/properties/titlePage/enum", keyword: "enum", params: { allowedValues: schema468.properties.titlePage.enum }, message: "must be equal to one of the allowed values" };
13390
+ let err23 = { instancePath: instancePath + "/titlePage", schemaPath: "#/properties/titlePage/enum", keyword: "enum", params: { allowedValues: schema473.properties.titlePage.enum }, message: "must be equal to one of the allowed values" };
12784
13391
  vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
12785
13392
  }
12786
13393
  }
@@ -12845,11 +13452,11 @@ function validate469(data, { instancePath = "", parentData, parentDataProperty,
12845
13452
  let err36 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12846
13453
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
12847
13454
  }
12848
- return validate469.errors = vErrors, errors === 0;
13455
+ return validate473.errors = vErrors, errors === 0;
12849
13456
  }
12850
- validate469.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12851
- function validate468(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12852
- let vErrors = null, errors = 0, evaluated0 = validate468.evaluated;
13457
+ validate473.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13458
+ function validate472(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13459
+ let vErrors = null, errors = 0, evaluated0 = validate472.evaluated;
12853
13460
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12854
13461
  for (let key0 in data)
12855
13462
  if (!(key0 === "width" || key0 === "height" || key0 === "orientation" || key0 === "margins" || key0 === "spatiumMm" || key0 === "pageTurns")) {
@@ -12887,7 +13494,7 @@ function validate468(data, { instancePath = "", parentData, parentDataProperty,
12887
13494
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
12888
13495
  }
12889
13496
  if (!(data2 === "portrait" || data2 === "landscape")) {
12890
- let err6 = { instancePath: instancePath + "/orientation", schemaPath: "#/properties/orientation/enum", keyword: "enum", params: { allowedValues: schema466.properties.orientation.enum }, message: "must be equal to one of the allowed values" };
13497
+ let err6 = { instancePath: instancePath + "/orientation", schemaPath: "#/properties/orientation/enum", keyword: "enum", params: { allowedValues: schema471.properties.orientation.enum }, message: "must be equal to one of the allowed values" };
12891
13498
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
12892
13499
  }
12893
13500
  }
@@ -12980,17 +13587,17 @@ function validate468(data, { instancePath = "", parentData, parentDataProperty,
12980
13587
  vErrors === null ? vErrors = [err22] : vErrors.push(err22), errors++;
12981
13588
  }
12982
13589
  }
12983
- data.pageTurns !== void 0 && (validate469(data.pageTurns, { instancePath: instancePath + "/pageTurns", parentData: data, parentDataProperty: "pageTurns", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate469.errors : vErrors.concat(validate469.errors), errors = vErrors.length));
13590
+ data.pageTurns !== void 0 && (validate473(data.pageTurns, { instancePath: instancePath + "/pageTurns", parentData: data, parentDataProperty: "pageTurns", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate473.errors : vErrors.concat(validate473.errors), errors = vErrors.length));
12984
13591
  } else {
12985
13592
  let err23 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
12986
13593
  vErrors === null ? vErrors = [err23] : vErrors.push(err23), errors++;
12987
13594
  }
12988
- return validate468.errors = vErrors, errors === 0;
13595
+ return validate472.errors = vErrors, errors === 0;
12989
13596
  }
12990
- validate468.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
12991
- var schema471 = { type: "string", enum: ["full", "short", "hidden"] };
12992
- function validate472(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
12993
- let vErrors = null, errors = 0, evaluated0 = validate472.evaluated;
13597
+ validate472.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13598
+ var schema476 = { type: "string", enum: ["full", "short", "hidden"] };
13599
+ function validate476(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13600
+ let vErrors = null, errors = 0, evaluated0 = validate476.evaluated;
12994
13601
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
12995
13602
  if (data.firstSystem === void 0) {
12996
13603
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "firstSystem" }, message: "must have required property 'firstSystem'" };
@@ -13012,7 +13619,7 @@ function validate472(data, { instancePath = "", parentData, parentDataProperty,
13012
13619
  vErrors === null ? vErrors = [err3] : vErrors.push(err3), errors++;
13013
13620
  }
13014
13621
  if (!(data0 === "full" || data0 === "short" || data0 === "hidden")) {
13015
- let err4 = { instancePath: instancePath + "/firstSystem", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema471.enum }, message: "must be equal to one of the allowed values" };
13622
+ let err4 = { instancePath: instancePath + "/firstSystem", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema476.enum }, message: "must be equal to one of the allowed values" };
13016
13623
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
13017
13624
  }
13018
13625
  }
@@ -13023,7 +13630,7 @@ function validate472(data, { instancePath = "", parentData, parentDataProperty,
13023
13630
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
13024
13631
  }
13025
13632
  if (!(data1 === "full" || data1 === "short" || data1 === "hidden")) {
13026
- let err6 = { instancePath: instancePath + "/subsequentSystems", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema471.enum }, message: "must be equal to one of the allowed values" };
13633
+ let err6 = { instancePath: instancePath + "/subsequentSystems", schemaPath: "#/$defs/instrument-name-display-policy/enum", keyword: "enum", params: { allowedValues: schema476.enum }, message: "must be equal to one of the allowed values" };
13027
13634
  vErrors === null ? vErrors = [err6] : vErrors.push(err6), errors++;
13028
13635
  }
13029
13636
  }
@@ -13031,12 +13638,12 @@ function validate472(data, { instancePath = "", parentData, parentDataProperty,
13031
13638
  let err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13032
13639
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
13033
13640
  }
13034
- return validate472.errors = vErrors, errors === 0;
13641
+ return validate476.errors = vErrors, errors === 0;
13035
13642
  }
13036
- validate472.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13037
- var schema473 = { type: "object", required: ["id", "locator", "placement", "width", "content"], properties: { id: { type: "string", minLength: 1 }, locator: { $ref: "#/$defs/text-frame-locator" }, placement: { $ref: "#/$defs/text-frame-placement" }, width: { $ref: "#/$defs/text-frame-width" }, content: { $ref: "#/$defs/text-content" }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"], description: "Horizontal alignment of the frame at its page anchor, independent of paragraph justification." }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"], description: "Paragraph line justification within the frame, independent of frame alignment." }, padding: { type: "number", minimum: 0, description: "Optional inset on all sides in staff spaces." }, border: { type: "string", enum: ["none", "solid"], description: "Optional frame border style." }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." }, sourceReference: { $ref: "#/$defs/text-frame-source-reference" }, staffAttachment: { $ref: "#/$defs/text-frame-staff-attachment" } }, additionalProperties: !1 };
13038
- function validate476(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13039
- let vErrors = null, errors = 0, evaluated0 = validate476.evaluated;
13643
+ validate476.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13644
+ var schema478 = { type: "object", required: ["id", "locator", "placement", "width", "content"], properties: { id: { type: "string", minLength: 1 }, locator: { $ref: "#/$defs/text-frame-locator" }, placement: { $ref: "#/$defs/text-frame-placement" }, width: { $ref: "#/$defs/text-frame-width" }, content: { $ref: "#/$defs/text-content" }, horizontalAlignment: { type: "string", enum: ["left", "center", "right"], description: "Horizontal alignment of the frame at its page anchor, independent of paragraph justification." }, paragraphJustification: { type: "string", enum: ["left", "center", "right", "justify"], description: "Paragraph line justification within the frame, independent of frame alignment." }, padding: { type: "number", minimum: 0, description: "Optional inset on all sides in staff spaces." }, border: { type: "string", enum: ["none", "solid"], description: "Optional frame border style." }, eraseBackground: { type: "boolean", description: "Erase underlying ink within the frame using the surface background. Omitted or false preserves underlying ink; no color is stored." }, sourceReference: { $ref: "#/$defs/text-frame-source-reference" }, staffAttachment: { $ref: "#/$defs/text-frame-staff-attachment" } }, additionalProperties: !1 };
13645
+ function validate480(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13646
+ let vErrors = null, errors = 0, evaluated0 = validate480.evaluated;
13040
13647
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13041
13648
  if (data.partId === void 0) {
13042
13649
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "partId" }, message: "must have required property 'partId'" };
@@ -13139,7 +13746,7 @@ function validate476(data, { instancePath = "", parentData, parentDataProperty,
13139
13746
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
13140
13747
  }
13141
13748
  if (!(data6 === "below" || data6 === "above")) {
13142
- let err18 = { instancePath: instancePath + "/expression/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema391.enum }, message: "must be equal to one of the allowed values" };
13749
+ let err18 = { instancePath: instancePath + "/expression/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema394.enum }, message: "must be equal to one of the allowed values" };
13143
13750
  vErrors === null ? vErrors = [err18] : vErrors.push(err18), errors++;
13144
13751
  }
13145
13752
  }
@@ -13230,11 +13837,11 @@ function validate476(data, { instancePath = "", parentData, parentDataProperty,
13230
13837
  let err35 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13231
13838
  vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
13232
13839
  }
13233
- return validate476.errors = vErrors, errors === 0;
13840
+ return validate480.errors = vErrors, errors === 0;
13234
13841
  }
13235
- validate476.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13236
- function validate474(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13237
- let vErrors = null, errors = 0, evaluated0 = validate474.evaluated;
13842
+ validate480.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13843
+ function validate478(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13844
+ let vErrors = null, errors = 0, evaluated0 = validate478.evaluated;
13238
13845
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13239
13846
  if (data.id === void 0) {
13240
13847
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -13257,7 +13864,7 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13257
13864
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
13258
13865
  }
13259
13866
  for (let key0 in data)
13260
- if (!func1.call(schema473.properties, key0)) {
13867
+ if (!func1.call(schema478.properties, key0)) {
13261
13868
  let err5 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
13262
13869
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
13263
13870
  }
@@ -13437,7 +14044,7 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13437
14044
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
13438
14045
  }
13439
14046
  if (!(data10 === "top" || data10 === "right" || data10 === "bottom" || data10 === "left" || data10 === "top-left" || data10 === "top-right" || data10 === "bottom-right" || data10 === "bottom-left")) {
13440
- let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema422.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
14047
+ let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema427.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
13441
14048
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
13442
14049
  }
13443
14050
  }
@@ -13570,7 +14177,7 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13570
14177
  vErrors === null ? vErrors = [err61] : vErrors.push(err61), errors++;
13571
14178
  }
13572
14179
  if (!(data20 === "left" || data20 === "center" || data20 === "right")) {
13573
- let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema473.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14180
+ let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema478.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
13574
14181
  vErrors === null ? vErrors = [err62] : vErrors.push(err62), errors++;
13575
14182
  }
13576
14183
  }
@@ -13581,7 +14188,7 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13581
14188
  vErrors === null ? vErrors = [err63] : vErrors.push(err63), errors++;
13582
14189
  }
13583
14190
  if (!(data21 === "left" || data21 === "center" || data21 === "right" || data21 === "justify")) {
13584
- let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema473.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14191
+ let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema478.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
13585
14192
  vErrors === null ? vErrors = [err64] : vErrors.push(err64), errors++;
13586
14193
  }
13587
14194
  }
@@ -13604,7 +14211,7 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13604
14211
  vErrors === null ? vErrors = [err67] : vErrors.push(err67), errors++;
13605
14212
  }
13606
14213
  if (!(data23 === "none" || data23 === "solid")) {
13607
- let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema473.properties.border.enum }, message: "must be equal to one of the allowed values" };
14214
+ let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema478.properties.border.enum }, message: "must be equal to one of the allowed values" };
13608
14215
  vErrors === null ? vErrors = [err68] : vErrors.push(err68), errors++;
13609
14216
  }
13610
14217
  }
@@ -13653,28 +14260,28 @@ function validate474(data, { instancePath = "", parentData, parentDataProperty,
13653
14260
  vErrors === null ? vErrors = [err76] : vErrors.push(err76), errors++;
13654
14261
  }
13655
14262
  }
13656
- data.staffAttachment !== void 0 && (validate476(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate476.errors : vErrors.concat(validate476.errors), errors = vErrors.length));
14263
+ data.staffAttachment !== void 0 && (validate480(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate480.errors : vErrors.concat(validate480.errors), errors = vErrors.length));
13657
14264
  } else {
13658
14265
  let err77 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13659
14266
  vErrors === null ? vErrors = [err77] : vErrors.push(err77), errors++;
13660
14267
  }
13661
- return validate474.errors = vErrors, errors === 0;
14268
+ return validate478.errors = vErrors, errors === 0;
13662
14269
  }
13663
- validate474.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13664
- function validate467(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13665
- let vErrors = null, errors = 0, evaluated0 = validate467.evaluated;
14270
+ validate478.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14271
+ function validate471(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14272
+ let vErrors = null, errors = 0, evaluated0 = validate471.evaluated;
13666
14273
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13667
14274
  for (let key0 in data)
13668
14275
  if (!(key0 === "pageSetup" || key0 === "instrumentNameDisplay" || key0 === "textFrames" || key0 === "layoutBreaks")) {
13669
14276
  let err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
13670
14277
  vErrors === null ? vErrors = [err0] : vErrors.push(err0), errors++;
13671
14278
  }
13672
- if (data.pageSetup !== void 0 && (validate468(data.pageSetup, { instancePath: instancePath + "/pageSetup", parentData: data, parentDataProperty: "pageSetup", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate468.errors : vErrors.concat(validate468.errors), errors = vErrors.length)), data.instrumentNameDisplay !== void 0 && (validate472(data.instrumentNameDisplay, { instancePath: instancePath + "/instrumentNameDisplay", parentData: data, parentDataProperty: "instrumentNameDisplay", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate472.errors : vErrors.concat(validate472.errors), errors = vErrors.length)), data.textFrames !== void 0) {
14279
+ if (data.pageSetup !== void 0 && (validate472(data.pageSetup, { instancePath: instancePath + "/pageSetup", parentData: data, parentDataProperty: "pageSetup", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate472.errors : vErrors.concat(validate472.errors), errors = vErrors.length)), data.instrumentNameDisplay !== void 0 && (validate476(data.instrumentNameDisplay, { instancePath: instancePath + "/instrumentNameDisplay", parentData: data, parentDataProperty: "instrumentNameDisplay", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate476.errors : vErrors.concat(validate476.errors), errors = vErrors.length)), data.textFrames !== void 0) {
13673
14280
  let data2 = data.textFrames;
13674
14281
  if (Array.isArray(data2)) {
13675
14282
  let len0 = data2.length;
13676
14283
  for (let i0 = 0; i0 < len0; i0++)
13677
- validate474(data2[i0], { instancePath: instancePath + "/textFrames/" + i0, parentData: data2, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate474.errors : vErrors.concat(validate474.errors), errors = vErrors.length);
14284
+ validate478(data2[i0], { instancePath: instancePath + "/textFrames/" + i0, parentData: data2, parentDataProperty: i0, rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate478.errors : vErrors.concat(validate478.errors), errors = vErrors.length);
13678
14285
  } else {
13679
14286
  let err1 = { instancePath: instancePath + "/textFrames", schemaPath: "#/properties/textFrames/type", keyword: "type", params: { type: "array" }, message: "must be array" };
13680
14287
  vErrors === null ? vErrors = [err1] : vErrors.push(err1), errors++;
@@ -13719,7 +14326,7 @@ function validate467(data, { instancePath = "", parentData, parentDataProperty,
13719
14326
  vErrors === null ? vErrors = [err7] : vErrors.push(err7), errors++;
13720
14327
  }
13721
14328
  if (!(data7 === "system" || data7 === "page")) {
13722
- let err8 = { instancePath: instancePath + "/layoutBreaks/" + i1 + "/kind", schemaPath: "#/$defs/layout-break/properties/kind/enum", keyword: "enum", params: { allowedValues: schema482.properties.kind.enum }, message: "must be equal to one of the allowed values" };
14329
+ let err8 = { instancePath: instancePath + "/layoutBreaks/" + i1 + "/kind", schemaPath: "#/$defs/layout-break/properties/kind/enum", keyword: "enum", params: { allowedValues: schema487.properties.kind.enum }, message: "must be equal to one of the allowed values" };
13723
14330
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
13724
14331
  }
13725
14332
  }
@@ -13737,12 +14344,12 @@ function validate467(data, { instancePath = "", parentData, parentDataProperty,
13737
14344
  let err11 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
13738
14345
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
13739
14346
  }
13740
- return validate467.errors = vErrors, errors === 0;
14347
+ return validate471.errors = vErrors, errors === 0;
13741
14348
  }
13742
- validate467.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
13743
- var textFrame = validate479;
13744
- function validate479(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
13745
- let vErrors = null, errors = 0, evaluated0 = validate479.evaluated;
14349
+ validate471.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14350
+ var textFrame = validate483;
14351
+ function validate483(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14352
+ let vErrors = null, errors = 0, evaluated0 = validate483.evaluated;
13746
14353
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
13747
14354
  if (data.id === void 0) {
13748
14355
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -13765,7 +14372,7 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
13765
14372
  vErrors === null ? vErrors = [err4] : vErrors.push(err4), errors++;
13766
14373
  }
13767
14374
  for (let key0 in data)
13768
- if (!func1.call(schema473.properties, key0)) {
14375
+ if (!func1.call(schema478.properties, key0)) {
13769
14376
  let err5 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
13770
14377
  vErrors === null ? vErrors = [err5] : vErrors.push(err5), errors++;
13771
14378
  }
@@ -13945,7 +14552,7 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
13945
14552
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
13946
14553
  }
13947
14554
  if (!(data10 === "top" || data10 === "right" || data10 === "bottom" || data10 === "left" || data10 === "top-left" || data10 === "top-right" || data10 === "bottom-right" || data10 === "bottom-left")) {
13948
- let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema422.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
14555
+ let err37 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema427.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
13949
14556
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
13950
14557
  }
13951
14558
  }
@@ -14078,7 +14685,7 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
14078
14685
  vErrors === null ? vErrors = [err61] : vErrors.push(err61), errors++;
14079
14686
  }
14080
14687
  if (!(data20 === "left" || data20 === "center" || data20 === "right")) {
14081
- let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema473.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14688
+ let err62 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema478.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14082
14689
  vErrors === null ? vErrors = [err62] : vErrors.push(err62), errors++;
14083
14690
  }
14084
14691
  }
@@ -14089,7 +14696,7 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
14089
14696
  vErrors === null ? vErrors = [err63] : vErrors.push(err63), errors++;
14090
14697
  }
14091
14698
  if (!(data21 === "left" || data21 === "center" || data21 === "right" || data21 === "justify")) {
14092
- let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema473.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14699
+ let err64 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema478.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14093
14700
  vErrors === null ? vErrors = [err64] : vErrors.push(err64), errors++;
14094
14701
  }
14095
14702
  }
@@ -14112,7 +14719,7 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
14112
14719
  vErrors === null ? vErrors = [err67] : vErrors.push(err67), errors++;
14113
14720
  }
14114
14721
  if (!(data23 === "none" || data23 === "solid")) {
14115
- let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema473.properties.border.enum }, message: "must be equal to one of the allowed values" };
14722
+ let err68 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema478.properties.border.enum }, message: "must be equal to one of the allowed values" };
14116
14723
  vErrors === null ? vErrors = [err68] : vErrors.push(err68), errors++;
14117
14724
  }
14118
14725
  }
@@ -14161,17 +14768,17 @@ function validate479(data, { instancePath = "", parentData, parentDataProperty,
14161
14768
  vErrors === null ? vErrors = [err76] : vErrors.push(err76), errors++;
14162
14769
  }
14163
14770
  }
14164
- data.staffAttachment !== void 0 && (validate476(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate476.errors : vErrors.concat(validate476.errors), errors = vErrors.length));
14771
+ data.staffAttachment !== void 0 && (validate480(data.staffAttachment, { instancePath: instancePath + "/staffAttachment", parentData: data, parentDataProperty: "staffAttachment", rootData, dynamicAnchors }) || (vErrors = vErrors === null ? validate480.errors : vErrors.concat(validate480.errors), errors = vErrors.length));
14165
14772
  } else {
14166
14773
  let err77 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
14167
14774
  vErrors === null ? vErrors = [err77] : vErrors.push(err77), errors++;
14168
14775
  }
14169
- return validate479.errors = vErrors, errors === 0;
14776
+ return validate483.errors = vErrors, errors === 0;
14170
14777
  }
14171
- validate479.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14172
- var systemText = validate482;
14173
- function validate482(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14174
- let vErrors = null, errors = 0, evaluated0 = validate482.evaluated;
14778
+ validate483.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14779
+ var systemText = validate486;
14780
+ function validate486(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14781
+ let vErrors = null, errors = 0, evaluated0 = validate486.evaluated;
14175
14782
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
14176
14783
  if (data.id === void 0) {
14177
14784
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -14254,7 +14861,7 @@ function validate482(data, { instancePath = "", parentData, parentDataProperty,
14254
14861
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
14255
14862
  }
14256
14863
  if (!(data6 === "left" || data6 === "center" || data6 === "right")) {
14257
- let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema389.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14864
+ let err15 = { instancePath: instancePath + "/frame/horizontalAlignment", schemaPath: "#/$defs/staff-text-frame-presentation/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema392.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14258
14865
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
14259
14866
  }
14260
14867
  }
@@ -14265,7 +14872,7 @@ function validate482(data, { instancePath = "", parentData, parentDataProperty,
14265
14872
  vErrors === null ? vErrors = [err16] : vErrors.push(err16), errors++;
14266
14873
  }
14267
14874
  if (!(data7 === "left" || data7 === "center" || data7 === "right" || data7 === "justify")) {
14268
- let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema389.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14875
+ let err17 = { instancePath: instancePath + "/frame/paragraphJustification", schemaPath: "#/$defs/staff-text-frame-presentation/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema392.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14269
14876
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
14270
14877
  }
14271
14878
  }
@@ -14288,7 +14895,7 @@ function validate482(data, { instancePath = "", parentData, parentDataProperty,
14288
14895
  vErrors === null ? vErrors = [err20] : vErrors.push(err20), errors++;
14289
14896
  }
14290
14897
  if (!(data9 === "none" || data9 === "solid")) {
14291
- let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema389.properties.border.enum }, message: "must be equal to one of the allowed values" };
14898
+ let err21 = { instancePath: instancePath + "/frame/border", schemaPath: "#/$defs/staff-text-frame-presentation/properties/border/enum", keyword: "enum", params: { allowedValues: schema392.properties.border.enum }, message: "must be equal to one of the allowed values" };
14292
14899
  vErrors === null ? vErrors = [err21] : vErrors.push(err21), errors++;
14293
14900
  }
14294
14901
  }
@@ -14377,7 +14984,7 @@ function validate482(data, { instancePath = "", parentData, parentDataProperty,
14377
14984
  vErrors === null ? vErrors = [err35] : vErrors.push(err35), errors++;
14378
14985
  }
14379
14986
  if (!(data17 === "below" || data17 === "above")) {
14380
- let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema391.enum }, message: "must be equal to one of the allowed values" };
14987
+ let err36 = { instancePath: instancePath + "/placement", schemaPath: "#/$defs/expression-placement/enum", keyword: "enum", params: { allowedValues: schema394.enum }, message: "must be equal to one of the allowed values" };
14381
14988
  vErrors === null ? vErrors = [err36] : vErrors.push(err36), errors++;
14382
14989
  }
14383
14990
  }
@@ -14411,12 +15018,12 @@ function validate482(data, { instancePath = "", parentData, parentDataProperty,
14411
15018
  let err42 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
14412
15019
  vErrors === null ? vErrors = [err42] : vErrors.push(err42), errors++;
14413
15020
  }
14414
- return validate482.errors = vErrors, errors === 0;
15021
+ return validate486.errors = vErrors, errors === 0;
14415
15022
  }
14416
- validate482.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14417
- var staffTextFramePresentation = validate484;
14418
- function validate484(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14419
- let vErrors = null, errors = 0, evaluated0 = validate484.evaluated;
15023
+ validate486.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
15024
+ var staffTextFramePresentation = validate488;
15025
+ function validate488(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
15026
+ let vErrors = null, errors = 0, evaluated0 = validate488.evaluated;
14420
15027
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
14421
15028
  for (let key0 in data)
14422
15029
  if (!(key0 === "width" || key0 === "horizontalAlignment" || key0 === "paragraphJustification" || key0 === "padding" || key0 === "border" || key0 === "eraseBackground")) {
@@ -14467,7 +15074,7 @@ function validate484(data, { instancePath = "", parentData, parentDataProperty,
14467
15074
  vErrors === null ? vErrors = [err8] : vErrors.push(err8), errors++;
14468
15075
  }
14469
15076
  if (!(data3 === "left" || data3 === "center" || data3 === "right")) {
14470
- let err9 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema389.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
15077
+ let err9 = { instancePath: instancePath + "/horizontalAlignment", schemaPath: "#/properties/horizontalAlignment/enum", keyword: "enum", params: { allowedValues: schema392.properties.horizontalAlignment.enum }, message: "must be equal to one of the allowed values" };
14471
15078
  vErrors === null ? vErrors = [err9] : vErrors.push(err9), errors++;
14472
15079
  }
14473
15080
  }
@@ -14478,7 +15085,7 @@ function validate484(data, { instancePath = "", parentData, parentDataProperty,
14478
15085
  vErrors === null ? vErrors = [err10] : vErrors.push(err10), errors++;
14479
15086
  }
14480
15087
  if (!(data4 === "left" || data4 === "center" || data4 === "right" || data4 === "justify")) {
14481
- let err11 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema389.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
15088
+ let err11 = { instancePath: instancePath + "/paragraphJustification", schemaPath: "#/properties/paragraphJustification/enum", keyword: "enum", params: { allowedValues: schema392.properties.paragraphJustification.enum }, message: "must be equal to one of the allowed values" };
14482
15089
  vErrors === null ? vErrors = [err11] : vErrors.push(err11), errors++;
14483
15090
  }
14484
15091
  }
@@ -14501,7 +15108,7 @@ function validate484(data, { instancePath = "", parentData, parentDataProperty,
14501
15108
  vErrors === null ? vErrors = [err14] : vErrors.push(err14), errors++;
14502
15109
  }
14503
15110
  if (!(data6 === "none" || data6 === "solid")) {
14504
- let err15 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema389.properties.border.enum }, message: "must be equal to one of the allowed values" };
15111
+ let err15 = { instancePath: instancePath + "/border", schemaPath: "#/properties/border/enum", keyword: "enum", params: { allowedValues: schema392.properties.border.enum }, message: "must be equal to one of the allowed values" };
14505
15112
  vErrors === null ? vErrors = [err15] : vErrors.push(err15), errors++;
14506
15113
  }
14507
15114
  }
@@ -14513,12 +15120,12 @@ function validate484(data, { instancePath = "", parentData, parentDataProperty,
14513
15120
  let err17 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
14514
15121
  vErrors === null ? vErrors = [err17] : vErrors.push(err17), errors++;
14515
15122
  }
14516
- return validate484.errors = vErrors, errors === 0;
15123
+ return validate488.errors = vErrors, errors === 0;
14517
15124
  }
14518
- validate484.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14519
- var textFramePagePosition = validate485;
14520
- function validate485(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
14521
- let vErrors = null, errors = 0, evaluated0 = validate485.evaluated;
15125
+ validate488.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
15126
+ var textFramePagePosition = validate489;
15127
+ function validate489(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) {
15128
+ let vErrors = null, errors = 0, evaluated0 = validate489.evaluated;
14522
15129
  if (evaluated0.dynamicProps && (evaluated0.props = void 0), evaluated0.dynamicItems && (evaluated0.items = void 0), data && typeof data == "object" && !Array.isArray(data)) {
14523
15130
  if (data.id === void 0) {
14524
15131
  let err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "id" }, message: "must have required property 'id'" };
@@ -14728,7 +15335,7 @@ function validate485(data, { instancePath = "", parentData, parentDataProperty,
14728
15335
  vErrors === null ? vErrors = [err37] : vErrors.push(err37), errors++;
14729
15336
  }
14730
15337
  if (!(data11 === "top" || data11 === "right" || data11 === "bottom" || data11 === "left" || data11 === "top-left" || data11 === "top-right" || data11 === "bottom-right" || data11 === "bottom-left")) {
14731
- let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema422.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
15338
+ let err38 = { instancePath: instancePath + "/placement/anchor", schemaPath: "#/$defs/text-frame-placement/properties/anchor/enum", keyword: "enum", params: { allowedValues: schema427.properties.anchor.enum }, message: "must be equal to one of the allowed values" };
14732
15339
  vErrors === null ? vErrors = [err38] : vErrors.push(err38), errors++;
14733
15340
  }
14734
15341
  }
@@ -14899,9 +15506,9 @@ function validate485(data, { instancePath = "", parentData, parentDataProperty,
14899
15506
  let err69 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" };
14900
15507
  vErrors === null ? vErrors = [err69] : vErrors.push(err69), errors++;
14901
15508
  }
14902
- return validate485.errors = vErrors, errors === 0;
15509
+ return validate489.errors = vErrors, errors === 0;
14903
15510
  }
14904
- validate485.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
15511
+ validate489.evaluated = { props: !0, dynamicProps: !1, dynamicItems: !1 };
14905
15512
 
14906
15513
  // packages/format/src/mnx/staffTextFrame.ts
14907
15514
  function parseTextFramePagePosition(raw) {
@@ -14978,7 +15585,7 @@ function parseGlobalMeasure(raw) {
14978
15585
  raw.id && (measure.id = raw.id), raw.number !== void 0 && (measure.number = raw.number), raw.time && (measure.time = parseTimeSignature(raw.time)), raw.key && (measure.key = parseKeySignature(raw.key)), raw.barline && (measure.barline = parseBarline(raw.barline)), raw.repeatStart !== void 0 && (measure.repeatStart = parseRepeatStart(raw.repeatStart)), raw.repeatEnd !== void 0 && (measure.repeatEnd = parseRepeatEnd(raw.repeatEnd)), raw.ending !== void 0 && (measure.ending = parseEnding(raw.ending)), raw.tempos && (measure.tempos = raw.tempos.map(parseTempo)), raw.segno && (measure.segno = parseSegno(raw.segno)), raw.fine && (measure.fine = parseFine(raw.fine)), raw.coda && (measure.coda = parseCoda(raw.coda)), raw.jump && (measure.jump = parseJump(raw.jump));
14979
15586
  let viritura = raw._x?.viritura;
14980
15587
  if (viritura) {
14981
- if (viritura.senzaMisura && measure.time && (measure.time.display = "senzaMisura"), viritura.rehearsalMark) {
15588
+ if (viritura.tempos !== void 0 && (measure.tempos = parseVendorTempos(raw, viritura)), viritura.senzaMisura && measure.time && (measure.time.display = "senzaMisura"), viritura.rehearsalMark) {
14982
15589
  let rm = viritura.rehearsalMark;
14983
15590
  measure.rehearsalMark = { text: parseTextContent(rm.text) ?? [] }, rm.style && (measure.rehearsalMark.style = rm.style), applyManualPlacement(measure.rehearsalMark, rm);
14984
15591
  }
@@ -14986,6 +15593,27 @@ function parseGlobalMeasure(raw) {
14986
15593
  }
14987
15594
  return measure;
14988
15595
  }
15596
+ function parseVendorTempos(raw, viritura) {
15597
+ if (raw.tempos?.length) throw new Error("Viritura tempos cannot coexist with standard measure tempos.");
15598
+ if (!measureGlobalExtensions(viritura)) throw new Error("Invalid Viritura tempo instructions.");
15599
+ if (!viritura.tempos) throw new Error("Viritura tempo instructions are missing.");
15600
+ return viritura.tempos.map((instruction) => {
15601
+ let presentation = {
15602
+ text: instruction.text,
15603
+ showText: instruction.showText,
15604
+ showMetronomeMark: instruction.showMetronomeMark
15605
+ };
15606
+ if (instruction.location && (presentation.location = parseRhythmicPosition(instruction.location)), applyManualPlacement(presentation, instruction), instruction.bpm !== void 0 && instruction.value !== void 0)
15607
+ return {
15608
+ ...presentation,
15609
+ bpm: instruction.bpm,
15610
+ value: parseTempoNoteValue(instruction.value),
15611
+ swing: instruction.swing === void 0 ? void 0 : parseSwing(instruction.swing)
15612
+ };
15613
+ if (!instruction.swing) throw new Error("A BPM-free tempo requires an explicit swing instruction.");
15614
+ return { ...presentation, swing: parseSwing(instruction.swing) };
15615
+ });
15616
+ }
14989
15617
  function parseRepeatStart(raw) {
14990
15618
  let r = {}, times = raw.times;
14991
15619
  return typeof times == "number" && (r.times = times), r;
@@ -15021,11 +15649,18 @@ function parseTempo(raw) {
15021
15649
  raw.location && (tempo.location = parseRhythmicPosition(raw.location));
15022
15650
  let viritura = raw._x?.viritura;
15023
15651
  if (viritura) {
15652
+ if (viritura.swing !== void 0) {
15653
+ if (!swing(viritura.swing)) throw new Error("Invalid Viritura tempo swing instruction.");
15654
+ tempo.swing = parseSwing(viritura.swing);
15655
+ }
15024
15656
  let text = parseTextContent(viritura.text);
15025
15657
  text !== void 0 && (tempo.text = text), typeof viritura.showMetronomeMark == "boolean" && (tempo.showMetronomeMark = viritura.showMetronomeMark), typeof viritura.showText == "boolean" && (tempo.showText = viritura.showText), applyManualPlacement(tempo, viritura);
15026
15658
  }
15027
15659
  return tempo;
15028
15660
  }
15661
+ function parseSwing(raw) {
15662
+ return raw.mode === "straight" ? { mode: "straight" } : { mode: "swing", subdivision: raw.subdivision, ratio: [raw.ratio[0], raw.ratio[1]] };
15663
+ }
15029
15664
  function parseTempoNoteValue(raw) {
15030
15665
  let tnv = {
15031
15666
  base: raw.base
@@ -16447,6 +17082,7 @@ function buildTempoMap(globalMeasures, holds) {
16447
17082
  let measureStartSpq = currentSpq, changes = [];
16448
17083
  if (gm.tempos && gm.tempos.length > 0) {
16449
17084
  for (let tempo of gm.tempos) {
17085
+ if (tempo.bpm === void 0) continue;
16450
17086
  let beatOffset = tempo.location ? tempo.location.fraction[0] / tempo.location.fraction[1] * mBeats : 0, qpm = effectiveQpm(tempo.bpm, tempo.value.base, tempo.value.dots);
16451
17087
  changes.push({ beatOffset, qpm });
16452
17088
  }
@@ -16482,6 +17118,7 @@ function buildTempoModel(globalMeasures, holds) {
16482
17118
  if (measureStartBeats.push(cumBeats), gm.tempos && gm.tempos.length > 0) {
16483
17119
  let sorted = [...gm.tempos].sort((a, b) => tempoBeat(a, mBeats) - tempoBeat(b, mBeats));
16484
17120
  for (let tempo of sorted) {
17121
+ if (tempo.bpm === void 0) continue;
16485
17122
  let startBeat = cumBeats + tempoBeat(tempo, mBeats), qpm = effectiveQpm(tempo.bpm, tempo.value.base, tempo.value.dots);
16486
17123
  regions.push({ startBeat, endBeat: 1 / 0, startBpm: qpm, endBpm: qpm });
16487
17124
  }