musicxml-io 0.2.12 → 0.3.0

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.
@@ -75,14 +75,34 @@ interface PageMargins {
75
75
  rightMargin?: number;
76
76
  topMargin?: number;
77
77
  bottomMargin?: number;
78
+ leftMarginRaw?: string;
79
+ rightMarginRaw?: string;
80
+ topMarginRaw?: string;
81
+ bottomMarginRaw?: string;
78
82
  }
79
83
  interface SystemLayout {
80
84
  systemMargins?: {
81
85
  leftMargin?: number;
82
86
  rightMargin?: number;
87
+ leftMarginRaw?: string;
88
+ rightMarginRaw?: string;
83
89
  };
84
90
  systemDistance?: number;
91
+ systemDistanceRaw?: string;
85
92
  topSystemDistance?: number;
93
+ topSystemDistanceRaw?: string;
94
+ systemDividers?: {
95
+ leftDivider?: {
96
+ printObject?: boolean;
97
+ halign?: string;
98
+ valign?: string;
99
+ };
100
+ rightDivider?: {
101
+ printObject?: boolean;
102
+ halign?: string;
103
+ valign?: string;
104
+ };
105
+ };
86
106
  }
87
107
  interface FontInfo {
88
108
  fontFamily?: string;
@@ -106,6 +126,7 @@ interface CreditWords {
106
126
  text: string;
107
127
  defaultX?: number;
108
128
  defaultY?: number;
129
+ fontFamily?: string;
109
130
  fontSize?: string;
110
131
  fontWeight?: string;
111
132
  fontStyle?: string;
@@ -237,6 +258,7 @@ interface StaffDetails {
237
258
  staffSizeScaling?: number;
238
259
  showFrets?: 'numbers' | 'letters';
239
260
  printObject?: boolean;
261
+ printSpacing?: boolean;
240
262
  }
241
263
  interface StaffTuning {
242
264
  line: number;
@@ -265,6 +287,7 @@ interface TimeSignature {
265
287
  beats: string;
266
288
  beatType: number;
267
289
  beatsList?: number[];
290
+ beatsStrList?: string[];
268
291
  beatTypeList?: number[];
269
292
  symbol?: 'common' | 'cut' | 'single-number' | 'note' | 'dotted-note' | 'normal';
270
293
  printObject?: boolean;
@@ -288,7 +311,7 @@ interface KeyOctave {
288
311
  }
289
312
  interface Clef {
290
313
  sign: 'G' | 'F' | 'C' | 'percussion' | 'TAB';
291
- line: number;
314
+ line?: number;
292
315
  staff?: number;
293
316
  clefOctaveChange?: number;
294
317
  printObject?: boolean;
@@ -306,13 +329,17 @@ interface Barline {
306
329
  repeat?: {
307
330
  direction: 'forward' | 'backward';
308
331
  times?: number;
332
+ winged?: string;
309
333
  };
310
334
  ending?: {
311
335
  number: string;
312
336
  type: 'start' | 'stop' | 'discontinue';
337
+ text?: string;
338
+ defaultY?: number;
339
+ endLength?: number;
313
340
  };
314
341
  }
315
- type MeasureEntry = NoteEntry | BackupEntry | ForwardEntry | DirectionEntry | HarmonyEntry | FiguredBassEntry | SoundEntry | AttributesEntry;
342
+ type MeasureEntry = NoteEntry | BackupEntry | ForwardEntry | DirectionEntry | HarmonyEntry | FiguredBassEntry | SoundEntry | AttributesEntry | GroupingEntry;
316
343
  interface AttributesEntry {
317
344
  _id: string;
318
345
  type: 'attributes';
@@ -328,7 +355,7 @@ interface NoteEntry {
328
355
  displayOctave?: number;
329
356
  };
330
357
  duration: number;
331
- voice: number;
358
+ voice?: number;
332
359
  staff?: number;
333
360
  chord?: boolean;
334
361
  cue?: boolean;
@@ -336,6 +363,7 @@ interface NoteEntry {
336
363
  dynamics?: number;
337
364
  printObject?: boolean;
338
365
  printSpacing?: boolean;
366
+ printDot?: boolean;
339
367
  defaultX?: number;
340
368
  defaultY?: number;
341
369
  relativeX?: number;
@@ -426,6 +454,12 @@ interface SoundEntry {
426
454
  softPedal?: boolean | 'yes' | 'no';
427
455
  sostenutoPedal?: boolean | 'yes' | 'no';
428
456
  }
457
+ interface GroupingEntry {
458
+ _id: string;
459
+ type: 'grouping';
460
+ groupingType: 'start' | 'stop' | 'single';
461
+ number?: string;
462
+ }
429
463
  interface HarmonyEntry {
430
464
  _id: string;
431
465
  type: 'harmony';
@@ -435,10 +469,13 @@ interface HarmonyEntry {
435
469
  };
436
470
  kind: string;
437
471
  kindText?: string;
472
+ kindHalign?: string;
438
473
  bass?: {
439
474
  bassStep: string;
440
475
  bassAlter?: number;
476
+ arrangement?: string;
441
477
  };
478
+ inversion?: number;
442
479
  degrees?: HarmonyDegree[];
443
480
  frame?: HarmonyFrame;
444
481
  staff?: number;
@@ -525,7 +562,7 @@ interface BeamInfo {
525
562
  number: number;
526
563
  type: 'begin' | 'continue' | 'end' | 'forward hook' | 'backward hook';
527
564
  }
528
- type Notation = ArticulationNotation | OrnamentNotation | TechnicalNotation | SlurNotation | TiedNotation | TupletNotation | DynamicsNotation | FermataNotation | ArpeggiateNotation | GlissandoNotation | SlideNotation | OtherNotation;
565
+ type Notation = ArticulationNotation | OrnamentNotation | TechnicalNotation | SlurNotation | TiedNotation | TupletNotation | DynamicsNotation | FermataNotation | ArpeggiateNotation | NonArpeggiateNotation | AccidentalMarkNotation | GlissandoNotation | SlideNotation | OtherNotation;
529
566
  interface BaseNotation {
530
567
  placement?: 'above' | 'below';
531
568
  notationsIndex?: number;
@@ -555,7 +592,7 @@ interface OrnamentNotation extends BaseNotation {
555
592
  defaultX?: number;
556
593
  defaultY?: number;
557
594
  }
558
- type OrnamentType = 'trill-mark' | 'mordent' | 'inverted-mordent' | 'turn' | 'inverted-turn' | 'delayed-turn' | 'delayed-inverted-turn' | 'vertical-turn' | 'inverted-vertical-turn' | 'shake' | 'wavy-line' | 'schleifer' | 'tremolo' | 'haydn' | 'other-ornament';
595
+ type OrnamentType = 'trill-mark' | 'mordent' | 'inverted-mordent' | 'turn' | 'inverted-turn' | 'delayed-turn' | 'delayed-inverted-turn' | 'vertical-turn' | 'inverted-vertical-turn' | 'shake' | 'wavy-line' | 'schleifer' | 'tremolo' | 'haydn' | 'other-ornament' | 'empty';
559
596
  interface TechnicalNotation extends BaseNotation {
560
597
  type: 'technical';
561
598
  technical: TechnicalType;
@@ -568,13 +605,14 @@ interface TechnicalNotation extends BaseNotation {
568
605
  bendAlter?: number;
569
606
  preBend?: boolean;
570
607
  release?: boolean;
571
- withBar?: number;
608
+ withBar?: boolean;
572
609
  harmonicNatural?: boolean;
573
610
  harmonicArtificial?: boolean;
574
611
  basePitch?: boolean;
575
612
  touchingPitch?: boolean;
576
613
  soundingPitch?: boolean;
577
614
  startStop?: 'start' | 'stop';
615
+ number?: number;
578
616
  substitution?: boolean;
579
617
  defaultX?: number;
580
618
  defaultY?: number;
@@ -634,6 +672,17 @@ interface ArpeggiateNotation extends BaseNotation {
634
672
  type: 'arpeggiate';
635
673
  direction?: 'up' | 'down';
636
674
  number?: number;
675
+ defaultX?: number;
676
+ defaultY?: number;
677
+ }
678
+ interface NonArpeggiateNotation extends BaseNotation {
679
+ type: 'non-arpeggiate';
680
+ nonArpeggiateType: 'top' | 'bottom';
681
+ number?: number;
682
+ }
683
+ interface AccidentalMarkNotation extends BaseNotation {
684
+ type: 'accidental-mark';
685
+ value: string;
637
686
  }
638
687
  interface GlissandoNotation extends BaseNotation {
639
688
  type: 'glissando';
@@ -647,6 +696,7 @@ interface SlideNotation extends BaseNotation {
647
696
  slideType: 'start' | 'stop';
648
697
  number?: number;
649
698
  lineType?: 'solid' | 'dashed' | 'dotted' | 'wavy';
699
+ text?: string;
650
700
  }
651
701
  interface OtherNotation extends BaseNotation {
652
702
  type: 'other-notation';
@@ -655,7 +705,8 @@ interface OtherNotation extends BaseNotation {
655
705
  }
656
706
  type DirectionType = {
657
707
  kind: 'dynamics';
658
- value: DynamicsValue;
708
+ value?: DynamicsValue;
709
+ otherDynamics?: string;
659
710
  defaultX?: number;
660
711
  defaultY?: number;
661
712
  relativeX?: number;
@@ -734,7 +785,8 @@ type DirectionType = {
734
785
  } | {
735
786
  kind: 'accordion-registration';
736
787
  high?: boolean;
737
- middle?: number;
788
+ middle?: number | string;
789
+ middlePresent?: boolean;
738
790
  low?: boolean;
739
791
  } | {
740
792
  kind: 'swing';
@@ -910,7 +962,8 @@ type DirectionKind = DirectionType['kind'];
910
962
  * Dynamic marking with context
911
963
  */
912
964
  interface DynamicWithContext {
913
- dynamic: DynamicsValue;
965
+ dynamic?: DynamicsValue;
966
+ otherDynamics?: string;
914
967
  direction: DirectionEntry;
915
968
  part: Part;
916
969
  partIndex: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musicxml-io",
3
- "version": "0.2.12",
3
+ "version": "0.3.0",
4
4
  "description": "Parse and serialize MusicXML (.xml/.mxl) with high round-trip fidelity",
5
5
  "author": "tan-z-tan",
6
6
  "license": "MIT",