@coderline/alphatab 1.8.0-alpha.1643 → 1.8.0-alpha.1645

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab v1.8.0-alpha.1643 (develop, build 1643)
2
+ * alphaTab v1.8.0-alpha.1645 (develop, build 1645)
3
3
  *
4
4
  * Copyright © 2025, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -203,9 +203,9 @@ class AlphaTabError extends Error {
203
203
  * @internal
204
204
  */
205
205
  class VersionInfo {
206
- static version = '1.8.0-alpha.1643';
207
- static date = '2025-12-13T02:07:47.380Z';
208
- static commit = '6cdd7783a14244e9d7efb9f9b9dbad7a27b11eee';
206
+ static version = '1.8.0-alpha.1645';
207
+ static date = '2025-12-15T02:24:53.193Z';
208
+ static commit = '2a0b11cc7b6660842c925dd2623b17a34ab325b7';
209
209
  static print(print) {
210
210
  print(`alphaTab ${VersionInfo.version}`);
211
211
  print(`commit: ${VersionInfo.commit}`);
@@ -8139,6 +8139,11 @@ class AlphaTex1EnumMappings {
8139
8139
  ['explicit', 1]
8140
8140
  ]);
8141
8141
  static alphaTexAccidentalModeReversed = AlphaTex1EnumMappings._reverse(AlphaTex1EnumMappings.alphaTexAccidentalMode);
8142
+ static alphaTexVoiceMode = new Map([
8143
+ ['staffwise', 0],
8144
+ ['barwise', 1]
8145
+ ]);
8146
+ static alphaTexVoiceModeReversed = AlphaTex1EnumMappings._reverse(AlphaTex1EnumMappings.alphaTexVoiceMode);
8142
8147
  static noteAccidentalMode = new Map([
8143
8148
  ['default', 0],
8144
8149
  ['forcenone', 1],
@@ -8522,513 +8527,138 @@ class AlphaTex1LanguageDefinitions {
8522
8527
  // to reduce code size, the parameter types are specified as number values and then
8523
8528
  // translated inside AlphaTex1LanguageDefinitions._signatures during runtime
8524
8529
  static scoreMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
8525
- [
8526
- 'title',
8527
- [
8528
- [
8529
- [[17, 10], 0],
8530
- [[17], 1],
8531
- [[10, 17], 1, ['left', 'center', 'right']]
8532
- ]
8533
- ]
8534
- ],
8535
- [
8536
- 'subtitle',
8537
- [
8538
- [
8539
- [[17, 10], 0],
8540
- [[17], 1],
8541
- [[10, 17], 1, ['left', 'center', 'right']]
8542
- ]
8543
- ]
8544
- ],
8545
- [
8546
- 'artist',
8547
- [
8548
- [
8549
- [[17, 10], 0],
8550
- [[17], 1],
8551
- [[10, 17], 1, ['left', 'center', 'right']]
8552
- ]
8553
- ]
8554
- ],
8555
- [
8556
- 'album',
8557
- [
8558
- [
8559
- [[17, 10], 0],
8560
- [[17], 1],
8561
- [[10, 17], 1, ['left', 'center', 'right']]
8562
- ]
8563
- ]
8564
- ],
8565
- [
8566
- 'words',
8567
- [
8568
- [
8569
- [[17, 10], 0],
8570
- [[17], 1],
8571
- [[10, 17], 1, ['left', 'center', 'right']]
8572
- ]
8573
- ]
8574
- ],
8575
- [
8576
- 'music',
8577
- [
8578
- [
8579
- [[17, 10], 0],
8580
- [[17], 1],
8581
- [[10, 17], 1, ['left', 'center', 'right']]
8582
- ]
8583
- ]
8584
- ],
8585
- [
8586
- 'wordsandmusic',
8587
- [
8588
- [
8589
- [[17], 0],
8590
- [[10, 17], 1, ['left', 'center', 'right']]
8591
- ]
8592
- ]
8593
- ],
8594
- [
8595
- 'copyright',
8596
- [
8597
- [
8598
- [[17, 10], 0],
8599
- [[17], 1],
8600
- [[10, 17], 1, ['left', 'center', 'right']]
8601
- ]
8602
- ]
8603
- ],
8604
- [
8605
- 'copyright2',
8606
- [
8607
- [
8608
- [[17], 0],
8609
- [[10, 17], 1, ['left', 'center', 'right']]
8610
- ]
8611
- ]
8612
- ],
8613
- ['instructions', [[[[17, 10], 0]]]],
8614
- ['notices', [[[[17, 10], 0]]]],
8615
- [
8616
- 'tab',
8617
- [
8618
- [
8619
- [[17, 10], 0],
8620
- [[17], 1],
8621
- [[10, 17], 1, ['left', 'center', 'right']]
8622
- ]
8623
- ]
8624
- ],
8625
- ['systemslayout', [[[[16], 5]]]],
8626
- ['defaultsystemslayout', [[[[16], 0]]]],
8627
- ['showdynamics', null],
8628
- ['hidedynamics', null],
8629
- ['usesystemsignseparator', null],
8630
- ['multibarrest', null],
8631
- ['bracketextendmode', [[[[10, 17], 0, ['nobrackets', 'groupstaves', 'groupsimilarinstruments']]]]],
8632
- ['singletracktracknamepolicy', [[[[10, 17], 0, ['hidden', 'firstsystem', 'allsystems']]]]],
8633
- ['multitracktracknamepolicy', [[[[10, 17], 0, ['hidden', 'firstsystem', 'allsystems']]]]],
8634
- ['firstsystemtracknamemode', [[[[10, 17], 0, ['fullname', 'shortname']]]]],
8635
- ['othersystemstracknamemode', [[[[10, 17], 0, ['fullname', 'shortname']]]]],
8636
- ['firstsystemtracknameorientation', [[[[10, 17], 0, ['horizontal', 'vertical']]]]],
8637
- ['othersystemstracknameorientation', [[[[10, 17], 0, ['horizontal', 'vertical']]]]],
8638
- ['extendbarlines', null]
8530
+ ["title", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8531
+ ["subtitle", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8532
+ ["artist", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8533
+ ["album", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8534
+ ["words", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8535
+ ["music", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8536
+ ["wordsandmusic", [[[[17], 0], [[10, 17], 1, ["left", "center", "right"]]]]],
8537
+ ["copyright", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8538
+ ["copyright2", [[[[17], 0], [[10, 17], 1, ["left", "center", "right"]]]]],
8539
+ ["instructions", [[[[17, 10], 0]]]],
8540
+ ["notices", [[[[17, 10], 0]]]],
8541
+ ["tab", [[[[17, 10], 0], [[17], 1], [[10, 17], 1, ["left", "center", "right"]]]]],
8542
+ ["systemslayout", [[[[16], 5]]]],
8543
+ ["defaultsystemslayout", [[[[16], 0]]]],
8544
+ ["showdynamics", null],
8545
+ ["hidedynamics", null],
8546
+ ["usesystemsignseparator", null],
8547
+ ["multibarrest", null],
8548
+ ["bracketextendmode", [[[[10, 17], 0, ["nobrackets", "groupstaves", "groupsimilarinstruments"]]]]],
8549
+ ["singletracktracknamepolicy", [[[[10, 17], 0, ["hidden", "firstsystem", "allsystems"]]]]],
8550
+ ["multitracktracknamepolicy", [[[[10, 17], 0, ["hidden", "firstsystem", "allsystems"]]]]],
8551
+ ["firstsystemtracknamemode", [[[[10, 17], 0, ["fullname", "shortname"]]]]],
8552
+ ["othersystemstracknamemode", [[[[10, 17], 0, ["fullname", "shortname"]]]]],
8553
+ ["firstsystemtracknameorientation", [[[[10, 17], 0, ["horizontal", "vertical"]]]]],
8554
+ ["othersystemstracknameorientation", [[[[10, 17], 0, ["horizontal", "vertical"]]]]],
8555
+ ["extendbarlines", null]
8639
8556
  ]);
8640
8557
  static staffMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
8641
- ['tuning', [[[[10, 17], 0, ['piano', 'none', 'voice']]], [[[10, 17], 5]]]],
8642
- [
8643
- 'chord',
8644
- [
8645
- [
8646
- [[17, 10], 0],
8647
- [[10, 17, 16], 5]
8648
- ]
8649
- ]
8650
- ],
8651
- ['capo', [[[[16], 0]]]],
8652
- [
8653
- 'lyrics',
8654
- [
8655
- [[[17], 0]],
8656
- [
8657
- [[16], 0],
8658
- [[17], 0]
8659
- ]
8660
- ]
8661
- ],
8662
- [
8663
- 'articulation',
8664
- [
8665
- [[[10], 0, ['defaults']]],
8666
- [
8667
- [[17, 10], 0],
8668
- [[16], 0]
8669
- ]
8670
- ]
8671
- ],
8672
- ['displaytranspose', [[[[16], 0]]]],
8673
- ['transpose', [[[[16], 0]]]],
8674
- ['instrument', [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ['percussion']]]]]
8558
+ ["tuning", [[[[10, 17], 0, ["piano", "none", "voice"]]], [[[10, 17], 5]]]],
8559
+ ["chord", [[[[17, 10], 0], [[10, 17, 16], 5]]]],
8560
+ ["capo", [[[[16], 0]]]],
8561
+ ["lyrics", [[[[17], 0]], [[[16], 0], [[17], 0]]]],
8562
+ ["articulation", [[[[10], 0, ["defaults"]]], [[[17, 10], 0], [[16], 0]]]],
8563
+ ["displaytranspose", [[[[16], 0]]]],
8564
+ ["transpose", [[[[16], 0]]]],
8565
+ ["instrument", [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ["percussion"]]]]]
8675
8566
  ]);
8676
8567
  static structuralMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
8677
- [
8678
- 'track',
8679
- [
8680
- [
8681
- [[17], 1],
8682
- [[17], 1]
8683
- ]
8684
- ]
8685
- ],
8686
- ['staff', null],
8687
- ['voice', null]
8568
+ ["track", [[[[17], 1], [[17], 1]]]],
8569
+ ["staff", null],
8570
+ ["voice", null]
8688
8571
  ]);
8689
8572
  static barMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
8690
- [
8691
- 'ts',
8692
- [
8693
- [[[10, 17], 0, ['common']]],
8694
- [
8695
- [[16], 0],
8696
- [[16], 0]
8697
- ]
8698
- ]
8699
- ],
8700
- ['ro', null],
8701
- ['rc', [[[[16], 0]]]],
8702
- ['ae', [[[[16, 13], 4]]]],
8703
- [
8704
- 'ks',
8705
- [
8706
- [
8707
- [
8708
- [10, 17],
8709
- 0,
8710
- [
8711
- 'cb',
8712
- 'gb',
8713
- 'db',
8714
- 'ab',
8715
- 'eb',
8716
- 'bb',
8717
- 'f',
8718
- 'c',
8719
- 'g',
8720
- 'd',
8721
- 'a',
8722
- 'e',
8723
- 'b',
8724
- 'f#',
8725
- 'c#',
8726
- 'cbmajor',
8727
- 'abminor',
8728
- 'gbmajor',
8729
- 'ebminor',
8730
- 'dbmajor',
8731
- 'bbminor',
8732
- 'abmajor',
8733
- 'fminor',
8734
- 'ebmajor',
8735
- 'cminor',
8736
- 'bbmajor',
8737
- 'gminor',
8738
- 'fmajor',
8739
- 'dminor',
8740
- 'cmajor',
8741
- 'aminor',
8742
- 'gmajor',
8743
- 'eminor',
8744
- 'dmajor',
8745
- 'bminor',
8746
- 'amajor',
8747
- 'f#minor',
8748
- 'emajor',
8749
- 'c#minor',
8750
- 'bmajor',
8751
- 'g#minor',
8752
- 'f#major',
8753
- 'd#minor',
8754
- 'f#',
8755
- 'c#major',
8756
- 'a#minor',
8757
- 'c#'
8758
- ]
8759
- ]
8760
- ]
8761
- ]
8762
- ],
8763
- ['clef', [[[[10, 16, 17], 0, ['neutral', 'c3', 'c4', 'f4', 'g2', 'n', 'alto', 'tenor', 'bass', 'treble']]]]],
8764
- ['ottava', [[[[10, 17], 0, ['15ma', '8va', 'regular', '8vb', '15mb', '15ma', '8va', '8vb', '15mb']]]]],
8765
- [
8766
- 'tempo',
8767
- [
8768
- [
8769
- [[16], 2],
8770
- [[17], 1]
8771
- ],
8772
- [null, [[16], 2], [[17], 0], [[16], 1], [[10], 1, ['hide']]]
8773
- ]
8774
- ],
8775
- [
8776
- 'tf',
8777
- [
8778
- [
8779
- [
8780
- [10, 16, 17],
8781
- 0,
8782
- [
8783
- 'none',
8784
- 'triplet16th',
8785
- 'triplet8th',
8786
- 'dotted16th',
8787
- 'dotted8th',
8788
- 'scottish16th',
8789
- 'scottish8th',
8790
- 'none',
8791
- 'no',
8792
- 'notripletfeel',
8793
- 't16',
8794
- 'triplet-16th',
8795
- 't8',
8796
- 'triplet-8th',
8797
- 'd16',
8798
- 'dotted-16th',
8799
- 'd8',
8800
- 'dotted-8th',
8801
- 's16',
8802
- 'scottish-16th',
8803
- 's8',
8804
- 'scottish-8th'
8805
- ]
8806
- ]
8807
- ]
8808
- ]
8809
- ],
8810
- ['ac', null],
8811
- [
8812
- 'section',
8813
- [
8814
- [[[17, 10], 0]],
8815
- [
8816
- [[17, 10], 0],
8817
- [[17, 10], 0, null, ['x', '-', 'r']]
8818
- ]
8819
- ]
8820
- ],
8821
- [
8822
- 'jump',
8823
- [
8824
- [
8825
- [
8826
- [10, 17],
8827
- 0,
8828
- [
8829
- 'fine',
8830
- 'segno',
8831
- 'segnosegno',
8832
- 'coda',
8833
- 'doublecoda',
8834
- 'dacapo',
8835
- 'dacapoalcoda',
8836
- 'dacapoaldoublecoda',
8837
- 'dacapoalfine',
8838
- 'dalsegno',
8839
- 'dalsegnoalcoda',
8840
- 'dalsegnoaldoublecoda',
8841
- 'dalsegnoalfine',
8842
- 'dalsegnosegno',
8843
- 'dalsegnosegnoalcoda',
8844
- 'dalsegnosegnoaldoublecoda',
8845
- 'dalsegnosegnoalfine',
8846
- 'dacoda',
8847
- 'dadoublecoda'
8848
- ]
8849
- ]
8850
- ]
8851
- ]
8852
- ],
8853
- ['ft', null],
8854
- ['simile', [[[[10, 17], 0, ['none', 'simple', 'firstofdouble', 'secondofdouble']]]]],
8855
- [
8856
- 'barlineleft',
8857
- [
8858
- [
8859
- [
8860
- [10, 17],
8861
- 0,
8862
- [
8863
- 'automatic',
8864
- 'dashed',
8865
- 'dotted',
8866
- 'heavy',
8867
- 'heavyheavy',
8868
- 'heavylight',
8869
- 'lightheavy',
8870
- 'lightlight',
8871
- 'none',
8872
- 'regular',
8873
- 'short',
8874
- 'tick'
8875
- ]
8876
- ]
8877
- ]
8878
- ]
8879
- ],
8880
- [
8881
- 'barlineright',
8882
- [
8883
- [
8884
- [
8885
- [10, 17],
8886
- 0,
8887
- [
8888
- 'automatic',
8889
- 'dashed',
8890
- 'dotted',
8891
- 'heavy',
8892
- 'heavyheavy',
8893
- 'heavylight',
8894
- 'lightheavy',
8895
- 'lightlight',
8896
- 'none',
8897
- 'regular',
8898
- 'short',
8899
- 'tick'
8900
- ]
8901
- ]
8902
- ]
8903
- ]
8904
- ],
8905
- ['scale', [[[[16], 2]]]],
8906
- ['width', [[[[16], 2]]]],
8907
- [
8908
- 'sync',
8909
- [
8910
- [
8911
- [[16], 0],
8912
- [[16], 0],
8913
- [[16], 0],
8914
- [[16], 3]
8915
- ]
8916
- ]
8917
- ],
8918
- ['accidentals', [[[[10, 17], 0, ['auto', 'explicit']]]]],
8919
- ['spd', [[[[16], 2]]]],
8920
- ['sph', [[[[16], 2]]]],
8921
- ['spu', [[[[16], 2]]]],
8922
- ['db', null]
8573
+ ["ts", [[[[10, 17], 0, ["common"]]], [[[16], 0], [[16], 0]]]],
8574
+ ["ro", null],
8575
+ ["rc", [[[[16], 0]]]],
8576
+ ["ae", [[[[16, 13], 4]]]],
8577
+ ["ks", [[[[10, 17], 0, ["cb", "gb", "db", "ab", "eb", "bb", "f", "c", "g", "d", "a", "e", "b", "f#", "c#", "cbmajor", "abminor", "gbmajor", "ebminor", "dbmajor", "bbminor", "abmajor", "fminor", "ebmajor", "cminor", "bbmajor", "gminor", "fmajor", "dminor", "cmajor", "aminor", "gmajor", "eminor", "dmajor", "bminor", "amajor", "f#minor", "emajor", "c#minor", "bmajor", "g#minor", "f#major", "d#minor", "f#", "c#major", "a#minor", "c#"]]]]],
8578
+ ["clef", [[[[10, 16, 17], 0, ["neutral", "c3", "c4", "f4", "g2", "n", "alto", "tenor", "bass", "treble"]]]]],
8579
+ ["ottava", [[[[10, 17], 0, ["15ma", "8va", "regular", "8vb", "15mb", "15ma", "8va", "8vb", "15mb"]]]]],
8580
+ ["tempo", [[[[16], 2], [[17], 1]], [null, [[16], 2], [[17], 0], [[16], 1], [[10], 1, ["hide"]]]]],
8581
+ ["tf", [[[[10, 16, 17], 0, ["none", "triplet16th", "triplet8th", "dotted16th", "dotted8th", "scottish16th", "scottish8th", "none", "no", "notripletfeel", "t16", "triplet-16th", "t8", "triplet-8th", "d16", "dotted-16th", "d8", "dotted-8th", "s16", "scottish-16th", "s8", "scottish-8th"]]]]],
8582
+ ["ac", null],
8583
+ ["section", [[[[17, 10], 0]], [[[17, 10], 0], [[17, 10], 0, null, ["x", "-", "r"]]]]],
8584
+ ["jump", [[[[10, 17], 0, ["fine", "segno", "segnosegno", "coda", "doublecoda", "dacapo", "dacapoalcoda", "dacapoaldoublecoda", "dacapoalfine", "dalsegno", "dalsegnoalcoda", "dalsegnoaldoublecoda", "dalsegnoalfine", "dalsegnosegno", "dalsegnosegnoalcoda", "dalsegnosegnoaldoublecoda", "dalsegnosegnoalfine", "dacoda", "dadoublecoda"]]]]],
8585
+ ["ft", null],
8586
+ ["simile", [[[[10, 17], 0, ["none", "simple", "firstofdouble", "secondofdouble"]]]]],
8587
+ ["barlineleft", [[[[10, 17], 0, ["automatic", "dashed", "dotted", "heavy", "heavyheavy", "heavylight", "lightheavy", "lightlight", "none", "regular", "short", "tick"]]]]],
8588
+ ["barlineright", [[[[10, 17], 0, ["automatic", "dashed", "dotted", "heavy", "heavyheavy", "heavylight", "lightheavy", "lightlight", "none", "regular", "short", "tick"]]]]],
8589
+ ["scale", [[[[16], 2]]]],
8590
+ ["width", [[[[16], 2]]]],
8591
+ ["sync", [[[[16], 0], [[16], 0], [[16], 0], [[16], 3]]]],
8592
+ ["accidentals", [[[[10, 17], 0, ["auto", "explicit"]]]]],
8593
+ ["spd", [[[[16], 2]]]],
8594
+ ["sph", [[[[16], 2]]]],
8595
+ ["spu", [[[[16], 2]]]],
8596
+ ["db", null],
8597
+ ["voicemode", [[[[10, 17], 0, ["staffwise", "barwise"]]]]]
8923
8598
  ]);
8924
8599
  static metaDataProperties = AlphaTex1LanguageDefinitions._metaProps([
8925
- [
8926
- 'track',
8927
- [
8928
- ['color', [[[[17], 0]]]],
8929
- ['systemslayout', [[[[16], 5]]]],
8930
- ['defaultsystemslayout', [[[[16], 0]]]],
8931
- ['solo', null],
8932
- ['mute', null],
8933
- ['volume', [[[[16], 0]]]],
8934
- ['balance', [[[[16], 0]]]],
8935
- ['instrument', [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ['percussion']]]]],
8936
- ['bank', [[[[16], 0]]]],
8937
- ['multibarrest', null]
8938
- ]
8939
- ],
8940
- [
8941
- 'staff',
8942
- [
8943
- ['score', [[[[16], 1]]]],
8944
- ['tabs', null],
8945
- ['slash', null],
8946
- ['numbered', null]
8947
- ]
8948
- ],
8949
- ['voice', null],
8950
- ['title', null],
8951
- ['subtitle', null],
8952
- ['artist', null],
8953
- ['album', null],
8954
- ['words', null],
8955
- ['music', null],
8956
- ['wordsandmusic', null],
8957
- ['copyright', null],
8958
- ['copyright2', null],
8959
- ['instructions', null],
8960
- ['notices', null],
8961
- ['tab', null],
8962
- ['systemslayout', null],
8963
- ['defaultsystemslayout', null],
8964
- ['showdynamics', null],
8965
- ['hidedynamics', null],
8966
- ['usesystemsignseparator', null],
8967
- ['multibarrest', null],
8968
- ['bracketextendmode', null],
8969
- ['singletracktracknamepolicy', null],
8970
- ['multitracktracknamepolicy', null],
8971
- ['firstsystemtracknamemode', null],
8972
- ['othersystemstracknamemode', null],
8973
- ['firstsystemtracknameorientation', null],
8974
- ['othersystemstracknameorientation', null],
8975
- ['extendbarlines', null],
8976
- [
8977
- 'tuning',
8978
- [
8979
- ['hide', null],
8980
- ['label', [[[[17], 0]]]]
8981
- ]
8982
- ],
8983
- [
8984
- 'chord',
8985
- [
8986
- ['firstfret', [[[[16], 0]]]],
8987
- ['barre', [[[[16], 5]]]],
8988
- [
8989
- 'showdiagram',
8990
- [[], [[[17], 0, ['true', 'false']]], [[[10], 0, ['true', 'false']]], [[[16], 0, ['1', '0']]]]
8991
- ],
8992
- [
8993
- 'showfingering',
8994
- [[], [[[17], 0, ['true', 'false']]], [[[10], 0, ['true', 'false']]], [[[16], 0, ['1', '0']]]]
8995
- ],
8996
- [
8997
- 'showname',
8998
- [[], [[[17], 0, ['true', 'false']]], [[[10], 0, ['true', 'false']]], [[[16], 0, ['1', '0']]]]
8999
- ]
9000
- ]
9001
- ],
9002
- ['capo', null],
9003
- ['lyrics', null],
9004
- ['articulation', null],
9005
- ['displaytranspose', null],
9006
- ['transpose', null],
9007
- ['instrument', null],
9008
- ['ts', null],
9009
- ['ro', null],
9010
- ['rc', null],
9011
- ['ae', null],
9012
- ['ks', null],
9013
- ['clef', null],
9014
- ['ottava', null],
9015
- ['tempo', null],
9016
- ['tf', null],
9017
- ['ac', null],
9018
- ['section', null],
9019
- ['jump', null],
9020
- ['ft', null],
9021
- ['simile', null],
9022
- ['barlineleft', null],
9023
- ['barlineright', null],
9024
- ['scale', null],
9025
- ['width', null],
9026
- ['sync', null],
9027
- ['accidentals', null],
9028
- ['spd', null],
9029
- ['sph', null],
9030
- ['spu', null],
9031
- ['db', null]
8600
+ ["track", [["color", [[[[17], 0]]]], ["systemslayout", [[[[16], 5]]]], ["defaultsystemslayout", [[[[16], 0]]]], ["solo", null], ["mute", null], ["volume", [[[[16], 0]]]], ["balance", [[[[16], 0]]]], ["instrument", [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ["percussion"]]]]], ["bank", [[[[16], 0]]]], ["multibarrest", null]]],
8601
+ ["staff", [["score", [[[[16], 1]]]], ["tabs", null], ["slash", null], ["numbered", null]]],
8602
+ ["voice", null],
8603
+ ["title", null],
8604
+ ["subtitle", null],
8605
+ ["artist", null],
8606
+ ["album", null],
8607
+ ["words", null],
8608
+ ["music", null],
8609
+ ["wordsandmusic", null],
8610
+ ["copyright", null],
8611
+ ["copyright2", null],
8612
+ ["instructions", null],
8613
+ ["notices", null],
8614
+ ["tab", null],
8615
+ ["systemslayout", null],
8616
+ ["defaultsystemslayout", null],
8617
+ ["showdynamics", null],
8618
+ ["hidedynamics", null],
8619
+ ["usesystemsignseparator", null],
8620
+ ["multibarrest", null],
8621
+ ["bracketextendmode", null],
8622
+ ["singletracktracknamepolicy", null],
8623
+ ["multitracktracknamepolicy", null],
8624
+ ["firstsystemtracknamemode", null],
8625
+ ["othersystemstracknamemode", null],
8626
+ ["firstsystemtracknameorientation", null],
8627
+ ["othersystemstracknameorientation", null],
8628
+ ["extendbarlines", null],
8629
+ ["tuning", [["hide", null], ["label", [[[[17], 0]]]]]],
8630
+ ["chord", [["firstfret", [[[[16], 0]]]], ["barre", [[[[16], 5]]]], ["showdiagram", [[], [[[17], 0, ["true", "false"]]], [[[10], 0, ["true", "false"]]], [[[16], 0, ["1", "0"]]]]], ["showfingering", [[], [[[17], 0, ["true", "false"]]], [[[10], 0, ["true", "false"]]], [[[16], 0, ["1", "0"]]]]], ["showname", [[], [[[17], 0, ["true", "false"]]], [[[10], 0, ["true", "false"]]], [[[16], 0, ["1", "0"]]]]]]],
8631
+ ["capo", null],
8632
+ ["lyrics", null],
8633
+ ["articulation", null],
8634
+ ["displaytranspose", null],
8635
+ ["transpose", null],
8636
+ ["instrument", null],
8637
+ ["ts", null],
8638
+ ["ro", null],
8639
+ ["rc", null],
8640
+ ["ae", null],
8641
+ ["ks", null],
8642
+ ["clef", null],
8643
+ ["ottava", null],
8644
+ ["tempo", null],
8645
+ ["tf", null],
8646
+ ["ac", null],
8647
+ ["section", null],
8648
+ ["jump", null],
8649
+ ["ft", null],
8650
+ ["simile", null],
8651
+ ["barlineleft", null],
8652
+ ["barlineright", null],
8653
+ ["scale", null],
8654
+ ["width", null],
8655
+ ["sync", null],
8656
+ ["accidentals", null],
8657
+ ["spd", null],
8658
+ ["sph", null],
8659
+ ["spu", null],
8660
+ ["db", null],
8661
+ ["voicemode", null]
9032
8662
  ]);
9033
8663
  static metaDataSignatures = [
9034
8664
  AlphaTex1LanguageDefinitions.scoreMetaDataSignatures,
@@ -9037,348 +8667,101 @@ class AlphaTex1LanguageDefinitions {
9037
8667
  AlphaTex1LanguageDefinitions.barMetaDataSignatures
9038
8668
  ];
9039
8669
  static durationChangeProperties = AlphaTex1LanguageDefinitions._props([
9040
- [
9041
- 'tu',
9042
- [
9043
- [[[16], 0, ['3', '5', '6', '7', '9', '10', '12']]],
9044
- [
9045
- [[16], 0],
9046
- [[16], 0]
9047
- ]
9048
- ]
9049
- ]
8670
+ ["tu", [[[[16], 0, ["3", "5", "6", "7", "9", "10", "12"]]], [[[16], 0], [[16], 0]]]]
9050
8671
  ]);
9051
8672
  static beatProperties = AlphaTex1LanguageDefinitions._props([
9052
- ['f', null],
9053
- ['fo', null],
9054
- ['vs', null],
9055
- ['v', null],
9056
- ['vw', null],
9057
- ['s', null],
9058
- ['p', null],
9059
- ['tt', null],
9060
- ['d', null],
9061
- ['dd', null],
9062
- ['su', null],
9063
- ['sd', null],
9064
- ['cre', null],
9065
- ['dec', null],
9066
- ['spd', null],
9067
- ['sph', null],
9068
- ['spu', null],
9069
- ['spe', null],
9070
- ['slashed', null],
9071
- ['ds', null],
9072
- ['glpf', null],
9073
- ['glpt', null],
9074
- ['waho', null],
9075
- ['wahc', null],
9076
- ['legatoorigin', null],
9077
- ['timer', null],
9078
- [
9079
- 'tu',
9080
- [
9081
- [[[16], 0, ['3', '5', '6', '7', '9', '10', '12']]],
9082
- [
9083
- [[16], 0],
9084
- [[16], 0]
9085
- ]
9086
- ]
9087
- ],
9088
- ['txt', [[[[17, 10], 0]]]],
9089
- [
9090
- 'lyrics',
9091
- [
9092
- [[[17], 0]],
9093
- [
9094
- [[16], 0],
9095
- [[17], 0]
9096
- ]
9097
- ]
9098
- ],
9099
- [
9100
- 'tb',
9101
- [
9102
- [[[16], 5]],
9103
- [
9104
- [[10, 17], 0, ['custom', 'dive', 'dip', 'hold', 'predive', 'predivedive']],
9105
- [[16], 5]
9106
- ],
9107
- [
9108
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9109
- [[16], 5]
9110
- ],
9111
- [
9112
- [[10, 17], 0, ['custom', 'dive', 'dip', 'hold', 'predive', 'predivedive']],
9113
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9114
- [[16], 5]
9115
- ]
9116
- ]
9117
- ],
9118
- [
9119
- 'tbe',
9120
- [
9121
- [[[16], 5]],
9122
- [
9123
- [[10, 17], 0, ['custom', 'dive', 'dip', 'hold', 'predive', 'predivedive']],
9124
- [[16], 5]
9125
- ],
9126
- [
9127
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9128
- [[16], 5]
9129
- ],
9130
- [
9131
- [[10, 17], 0, ['custom', 'dive', 'dip', 'hold', 'predive', 'predivedive']],
9132
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9133
- [[16], 5]
9134
- ]
9135
- ]
9136
- ],
9137
- ['bu', [[[[16], 1]]]],
9138
- ['bd', [[[[16], 1]]]],
9139
- ['au', [[[[16], 1]]]],
9140
- ['ad', [[[[16], 1]]]],
9141
- ['ch', [[[[17, 10], 0]]]],
9142
- ['gr', [[[[10, 17], 1, ['onbeat', 'beforebeat', 'bendgrace', 'ob', 'bb', 'b']]]]],
9143
- [
9144
- 'dy',
9145
- [
9146
- [
9147
- [
9148
- [10, 17],
9149
- 0,
9150
- [
9151
- 'ppp',
9152
- 'pp',
9153
- 'p',
9154
- 'mp',
9155
- 'mf',
9156
- 'f',
9157
- 'ff',
9158
- 'fff',
9159
- 'pppp',
9160
- 'ppppp',
9161
- 'pppppp',
9162
- 'ffff',
9163
- 'fffff',
9164
- 'ffffff',
9165
- 'sf',
9166
- 'sfp',
9167
- 'sfpp',
9168
- 'fp',
9169
- 'rf',
9170
- 'rfz',
9171
- 'sfz',
9172
- 'sffz',
9173
- 'fz',
9174
- 'n',
9175
- 'pf',
9176
- 'sfzp'
9177
- ]
9178
- ]
9179
- ]
9180
- ]
9181
- ],
9182
- [
9183
- 'tempo',
9184
- [
9185
- [
9186
- [[16], 0],
9187
- [[10], 1, ['hide']]
9188
- ],
9189
- [
9190
- [[16], 0],
9191
- [[17], 0],
9192
- [[10], 1, ['hide']]
9193
- ]
9194
- ]
9195
- ],
9196
- ['volume', [[[[16], 0]]]],
9197
- ['balance', [[[[16], 0]]]],
9198
- ['tp', [[[[16], 0, ['8', '16', '32']]]]],
9199
- [
9200
- 'barre',
9201
- [
9202
- [
9203
- [[16], 0],
9204
- [[10, 17], 1, ['full', 'half']]
9205
- ]
9206
- ]
9207
- ],
9208
- [
9209
- 'rasg',
9210
- [
9211
- [
9212
- [
9213
- [10, 17],
9214
- 0,
9215
- [
9216
- 'ii',
9217
- 'mi',
9218
- 'miitriplet',
9219
- 'miianapaest',
9220
- 'pmptriplet',
9221
- 'pmpanapaest',
9222
- 'peitriplet',
9223
- 'peianapaest',
9224
- 'paitriplet',
9225
- 'paianapaest',
9226
- 'amitriplet',
9227
- 'amianapaest',
9228
- 'ppp',
9229
- 'amii',
9230
- 'amip',
9231
- 'eami',
9232
- 'eamii',
9233
- 'peami'
9234
- ]
9235
- ]
9236
- ]
9237
- ]
9238
- ],
9239
- ['ot', [[[[10, 17], 0, ['15ma', '8va', 'regular', '8vb', '15mb', '15ma', '8va', '8vb', '15mb']]]]],
9240
- ['instrument', [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ['percussion']]]]],
9241
- ['bank', [[[[16], 0]]]],
9242
- [
9243
- 'fermata',
9244
- [
9245
- [
9246
- [[10, 17], 0, ['short', 'medium', 'long']],
9247
- [[16], 3]
9248
- ]
9249
- ]
9250
- ],
9251
- ['beam', [[[[10, 17], 0, ['invert', 'up', 'down', 'auto', 'split', 'merge', 'splitsecondary']]]]]
8673
+ ["f", null],
8674
+ ["fo", null],
8675
+ ["vs", null],
8676
+ ["v", null],
8677
+ ["vw", null],
8678
+ ["s", null],
8679
+ ["p", null],
8680
+ ["tt", null],
8681
+ ["d", null],
8682
+ ["dd", null],
8683
+ ["su", null],
8684
+ ["sd", null],
8685
+ ["cre", null],
8686
+ ["dec", null],
8687
+ ["spd", null],
8688
+ ["sph", null],
8689
+ ["spu", null],
8690
+ ["spe", null],
8691
+ ["slashed", null],
8692
+ ["ds", null],
8693
+ ["glpf", null],
8694
+ ["glpt", null],
8695
+ ["waho", null],
8696
+ ["wahc", null],
8697
+ ["legatoorigin", null],
8698
+ ["timer", null],
8699
+ ["tu", [[[[16], 0, ["3", "5", "6", "7", "9", "10", "12"]]], [[[16], 0], [[16], 0]]]],
8700
+ ["txt", [[[[17, 10], 0]]]],
8701
+ ["lyrics", [[[[17], 0]], [[[16], 0], [[17], 0]]]],
8702
+ ["tb", [[[[16], 5]], [[[10, 17], 0, ["custom", "dive", "dip", "hold", "predive", "predivedive"]], [[16], 5]], [[[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]], [[[10, 17], 0, ["custom", "dive", "dip", "hold", "predive", "predivedive"]], [[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]]]],
8703
+ ["tbe", [[[[16], 5]], [[[10, 17], 0, ["custom", "dive", "dip", "hold", "predive", "predivedive"]], [[16], 5]], [[[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]], [[[10, 17], 0, ["custom", "dive", "dip", "hold", "predive", "predivedive"]], [[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]]]],
8704
+ ["bu", [[[[16], 1]]]],
8705
+ ["bd", [[[[16], 1]]]],
8706
+ ["au", [[[[16], 1]]]],
8707
+ ["ad", [[[[16], 1]]]],
8708
+ ["ch", [[[[17, 10], 0]]]],
8709
+ ["gr", [[[[10, 17], 1, ["onbeat", "beforebeat", "bendgrace", "ob", "bb", "b"]]]]],
8710
+ ["dy", [[[[10, 17], 0, ["ppp", "pp", "p", "mp", "mf", "f", "ff", "fff", "pppp", "ppppp", "pppppp", "ffff", "fffff", "ffffff", "sf", "sfp", "sfpp", "fp", "rf", "rfz", "sfz", "sffz", "fz", "n", "pf", "sfzp"]]]]],
8711
+ ["tempo", [[[[16], 0], [[10], 1, ["hide"]]], [[[16], 0], [[17], 0], [[10], 1, ["hide"]]]]],
8712
+ ["volume", [[[[16], 0]]]],
8713
+ ["balance", [[[[16], 0]]]],
8714
+ ["tp", [[[[16], 0, ["8", "16", "32"]]]]],
8715
+ ["barre", [[[[16], 0], [[10, 17], 1, ["full", "half"]]]]],
8716
+ ["rasg", [[[[10, 17], 0, ["ii", "mi", "miitriplet", "miianapaest", "pmptriplet", "pmpanapaest", "peitriplet", "peianapaest", "paitriplet", "paianapaest", "amitriplet", "amianapaest", "ppp", "amii", "amip", "eami", "eamii", "peami"]]]]],
8717
+ ["ot", [[[[10, 17], 0, ["15ma", "8va", "regular", "8vb", "15mb", "15ma", "8va", "8vb", "15mb"]]]]],
8718
+ ["instrument", [[[[16], 0]], [[[17, 10], 0]], [[[10], 0, ["percussion"]]]]],
8719
+ ["bank", [[[[16], 0]]]],
8720
+ ["fermata", [[[[10, 17], 0, ["short", "medium", "long"]], [[16], 3]]]],
8721
+ ["beam", [[[[10, 17], 0, ["invert", "up", "down", "auto", "split", "merge", "splitsecondary"]]]]]
9252
8722
  ]);
9253
8723
  static noteProperties = AlphaTex1LanguageDefinitions._props([
9254
- ['nh', null],
9255
- ['ah', [[[[16], 1]]]],
9256
- ['th', [[[[16], 1]]]],
9257
- ['ph', [[[[16], 1]]]],
9258
- ['sh', [[[[16], 1]]]],
9259
- ['fh', [[[[16], 1]]]],
9260
- ['v', null],
9261
- ['vw', null],
9262
- ['sl', null],
9263
- ['ss', null],
9264
- ['sib', null],
9265
- ['sia', null],
9266
- ['sou', null],
9267
- ['sod', null],
9268
- ['psu', null],
9269
- ['psd', null],
9270
- ['h', null],
9271
- ['lht', null],
9272
- ['g', null],
9273
- ['ac', null],
9274
- ['hac', null],
9275
- ['ten', null],
9276
- [
9277
- 'tr',
9278
- [
9279
- [
9280
- [[16], 0],
9281
- [[16], 1, ['16', '32', '64']]
9282
- ]
9283
- ]
9284
- ],
9285
- ['pm', null],
9286
- ['st', null],
9287
- ['lr', null],
9288
- ['x', null],
9289
- ['t', null],
9290
- ['turn', null],
9291
- ['iturn', null],
9292
- ['umordent', null],
9293
- ['lmordent', null],
9294
- ['string', null],
9295
- ['hide', null],
9296
- [
9297
- 'b',
9298
- [
9299
- [[[16], 5]],
9300
- [
9301
- [
9302
- [10, 17],
9303
- 0,
9304
- ['custom', 'bend', 'release', 'bendrelease', 'hold', 'prebend', 'prebendbend', 'prebendrelease']
9305
- ],
9306
- [[16], 5]
9307
- ],
9308
- [
9309
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9310
- [[16], 5]
9311
- ],
9312
- [
9313
- [
9314
- [10, 17],
9315
- 0,
9316
- ['custom', 'bend', 'release', 'bendrelease', 'hold', 'prebend', 'prebendbend', 'prebendrelease']
9317
- ],
9318
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9319
- [[16], 5]
9320
- ]
9321
- ]
9322
- ],
9323
- [
9324
- 'be',
9325
- [
9326
- [[[16], 5]],
9327
- [
9328
- [
9329
- [10, 17],
9330
- 0,
9331
- ['custom', 'bend', 'release', 'bendrelease', 'hold', 'prebend', 'prebendbend', 'prebendrelease']
9332
- ],
9333
- [[16], 5]
9334
- ],
9335
- [
9336
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9337
- [[16], 5]
9338
- ],
9339
- [
9340
- [
9341
- [10, 17],
9342
- 0,
9343
- ['custom', 'bend', 'release', 'bendrelease', 'hold', 'prebend', 'prebendbend', 'prebendrelease']
9344
- ],
9345
- [[10, 17], 0, ['default', 'gradual', 'fast']],
9346
- [[16], 5]
9347
- ]
9348
- ]
9349
- ],
9350
- ['lf', [[[[16], 0, ['1', '2', '3', '4', '5']]]]],
9351
- ['rf', [[[[16], 0, ['1', '2', '3', '4', '5']]]]],
9352
- [
9353
- 'acc',
9354
- [
9355
- [
9356
- [
9357
- [10, 17],
9358
- 0,
9359
- [
9360
- 'default',
9361
- 'forcenone',
9362
- 'forcenatural',
9363
- 'forcesharp',
9364
- 'forcedoublesharp',
9365
- 'forceflat',
9366
- 'forcedoubleflat',
9367
- 'd',
9368
- '-',
9369
- 'n',
9370
- '#',
9371
- '##',
9372
- 'x',
9373
- 'b',
9374
- 'bb'
9375
- ]
9376
- ]
9377
- ]
9378
- ]
9379
- ],
9380
- ['slur', [[[[17], 0]], [[[10], 0]]]],
9381
- ['-', null]
8724
+ ["nh", null],
8725
+ ["ah", [[[[16], 1]]]],
8726
+ ["th", [[[[16], 1]]]],
8727
+ ["ph", [[[[16], 1]]]],
8728
+ ["sh", [[[[16], 1]]]],
8729
+ ["fh", [[[[16], 1]]]],
8730
+ ["v", null],
8731
+ ["vw", null],
8732
+ ["sl", null],
8733
+ ["ss", null],
8734
+ ["sib", null],
8735
+ ["sia", null],
8736
+ ["sou", null],
8737
+ ["sod", null],
8738
+ ["psu", null],
8739
+ ["psd", null],
8740
+ ["h", null],
8741
+ ["lht", null],
8742
+ ["g", null],
8743
+ ["ac", null],
8744
+ ["hac", null],
8745
+ ["ten", null],
8746
+ ["tr", [[[[16], 0], [[16], 1, ["16", "32", "64"]]]]],
8747
+ ["pm", null],
8748
+ ["st", null],
8749
+ ["lr", null],
8750
+ ["x", null],
8751
+ ["t", null],
8752
+ ["turn", null],
8753
+ ["iturn", null],
8754
+ ["umordent", null],
8755
+ ["lmordent", null],
8756
+ ["string", null],
8757
+ ["hide", null],
8758
+ ["b", [[[[16], 5]], [[[10, 17], 0, ["custom", "bend", "release", "bendrelease", "hold", "prebend", "prebendbend", "prebendrelease"]], [[16], 5]], [[[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]], [[[10, 17], 0, ["custom", "bend", "release", "bendrelease", "hold", "prebend", "prebendbend", "prebendrelease"]], [[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]]]],
8759
+ ["be", [[[[16], 5]], [[[10, 17], 0, ["custom", "bend", "release", "bendrelease", "hold", "prebend", "prebendbend", "prebendrelease"]], [[16], 5]], [[[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]], [[[10, 17], 0, ["custom", "bend", "release", "bendrelease", "hold", "prebend", "prebendbend", "prebendrelease"]], [[10, 17], 0, ["default", "gradual", "fast"]], [[16], 5]]]],
8760
+ ["lf", [[[[16], 0, ["1", "2", "3", "4", "5"]]]]],
8761
+ ["rf", [[[[16], 0, ["1", "2", "3", "4", "5"]]]]],
8762
+ ["acc", [[[[10, 17], 0, ["default", "forcenone", "forcenatural", "forcesharp", "forcedoublesharp", "forceflat", "forcedoubleflat", "d", "-", "n", "#", "##", "x", "b", "bb"]]]]],
8763
+ ["slur", [[[[17], 0]], [[[10], 0]]]],
8764
+ ["-", null]
9382
8765
  ]);
9383
8766
  }
9384
8767
 
@@ -9608,6 +8991,14 @@ var AlphaTexAccidentalMode;
9608
8991
  AlphaTexAccidentalMode[AlphaTexAccidentalMode["Auto"] = 0] = "Auto";
9609
8992
  AlphaTexAccidentalMode[AlphaTexAccidentalMode["Explicit"] = 1] = "Explicit";
9610
8993
  })(AlphaTexAccidentalMode || (AlphaTexAccidentalMode = {}));
8994
+ /**
8995
+ * @public
8996
+ */
8997
+ var AlphaTexVoiceMode;
8998
+ (function (AlphaTexVoiceMode) {
8999
+ AlphaTexVoiceMode[AlphaTexVoiceMode["StaffWise"] = 0] = "StaffWise";
9000
+ AlphaTexVoiceMode[AlphaTexVoiceMode["BarWise"] = 1] = "BarWise";
9001
+ })(AlphaTexVoiceMode || (AlphaTexVoiceMode = {}));
9611
9002
  /**
9612
9003
  * Lists the note kinds we can detect
9613
9004
  * @public
@@ -14245,6 +13636,8 @@ class AlphaTex1LanguageHandler {
14245
13636
  return ApplyNodeResult.Applied;
14246
13637
  case 'accidentals':
14247
13638
  return AlphaTex1LanguageHandler._handleAccidentalMode(importer, metaData.arguments);
13639
+ case 'voicemode':
13640
+ return AlphaTex1LanguageHandler._handleVoiceMode(importer, metaData.arguments);
14248
13641
  case 'jump':
14249
13642
  const direction = AlphaTex1LanguageHandler._parseEnumValue(importer, metaData.arguments, 'direction', AlphaTex1EnumMappings.direction);
14250
13643
  if (direction === undefined) {
@@ -14317,6 +13710,14 @@ class AlphaTex1LanguageHandler {
14317
13710
  importer.state.accidentalMode = accidentalMode;
14318
13711
  return ApplyNodeResult.Applied;
14319
13712
  }
13713
+ static _handleVoiceMode(importer, args) {
13714
+ const voiceMode = AlphaTex1LanguageHandler._parseEnumValue(importer, args, 'voice mode', AlphaTex1EnumMappings.alphaTexVoiceMode);
13715
+ if (voiceMode === undefined) {
13716
+ return ApplyNodeResult.NotAppliedSemanticError;
13717
+ }
13718
+ importer.state.voiceMode = voiceMode;
13719
+ return ApplyNodeResult.Applied;
13720
+ }
14320
13721
  static _getChordId(currentStaff, chordName) {
14321
13722
  return chordName.toLowerCase() + currentStaff.index + currentStaff.track.index;
14322
13723
  }
@@ -16571,6 +15972,7 @@ class AlphaTexImportState {
16571
15972
  syncPoints = [];
16572
15973
  currentDynamics = DynamicValue.F;
16573
15974
  accidentalMode = AlphaTexAccidentalMode.Explicit;
15975
+ voiceMode = AlphaTexVoiceMode.StaffWise;
16574
15976
  currentTupletNumerator = -1;
16575
15977
  currentTupletDenominator = -1;
16576
15978
  scoreNode;
@@ -16711,18 +16113,37 @@ class AlphaTexImporter extends ScoreImporter {
16711
16113
  }
16712
16114
  _bars(node) {
16713
16115
  if (node.bars.length > 0) {
16116
+ let previousBarCompleted = false;
16714
16117
  for (const b of node.bars) {
16715
- this._bar(b);
16118
+ this._bar(b, previousBarCompleted);
16119
+ switch (this.state.voiceMode) {
16120
+ case AlphaTexVoiceMode.StaffWise:
16121
+ // if voices are staff-wise, we definitly have a new bar here
16122
+ this._state.barIndex++;
16123
+ previousBarCompleted = true;
16124
+ break;
16125
+ case AlphaTexVoiceMode.BarWise:
16126
+ // if voices are bar-wise, the next bar might be another voice in the same bar
16127
+ // (barIndex increment is handled inside _barMeta)
16128
+ // if we have an explicit bar end, we can increase already
16129
+ if (b.pipe) {
16130
+ this._state.barIndex++;
16131
+ this._state.voiceIndex = 0;
16132
+ this._state.ignoredInitialVoice = false;
16133
+ previousBarCompleted = true;
16134
+ }
16135
+ break;
16136
+ }
16716
16137
  }
16717
16138
  }
16718
16139
  else {
16719
- this._newBar(this._state.currentStaff);
16140
+ this._getBar(this._state.currentStaff);
16720
16141
  this._detectTuningForStaff(this._state.currentStaff);
16721
16142
  this._handleTransposition(this._state.currentStaff);
16722
16143
  }
16723
16144
  }
16724
- _bar(node) {
16725
- const bar = this._barMeta(node);
16145
+ _bar(node, previousBarCompleted) {
16146
+ const bar = this._barMeta(node, previousBarCompleted);
16726
16147
  this._detectTuningForStaff(this._state.currentStaff);
16727
16148
  this._handleTransposition(this._state.currentStaff);
16728
16149
  if (bar.index === 0 && this._state.staffInitialClef.has(this._state.currentStaff)) {
@@ -17172,7 +16593,7 @@ class AlphaTexImporter extends ScoreImporter {
17172
16593
  this._state.staffTuningApplied.add(staff);
17173
16594
  }
17174
16595
  }
17175
- _barMeta(node) {
16596
+ _barMeta(node, previousBarCompleted) {
17176
16597
  // it might be a bit an edge case but a valid one:
17177
16598
  // one might repeat multiple structural metadata
17178
16599
  // in one bar starting multiple tracks/staves/voices which are
@@ -17187,6 +16608,7 @@ class AlphaTexImporter extends ScoreImporter {
17187
16608
  let previousStaff = this._state.currentStaff;
17188
16609
  let hadNewTrack = false;
17189
16610
  let hadNewStaff = false;
16611
+ let hadNewVoice = false;
17190
16612
  let applyInitialBarMetaToPreviousStaff = false;
17191
16613
  const resetInitialBarMeta = () => {
17192
16614
  // reset state
@@ -17197,10 +16619,16 @@ class AlphaTexImporter extends ScoreImporter {
17197
16619
  previousStaff = this._state.currentStaff;
17198
16620
  hadNewTrack = false;
17199
16621
  hadNewStaff = false;
16622
+ hadNewVoice = false;
17200
16623
  applyInitialBarMetaToPreviousStaff = false;
17201
16624
  };
17202
16625
  const bar = new Lazy(() => {
17203
- const b = this._newBar(this._state.currentStaff);
16626
+ // had a \voice in this bar -> barIndex and voice were updated already
16627
+ // if not, we start a new bar here
16628
+ if (!hadNewVoice && !previousBarCompleted) {
16629
+ this._state.barIndex++;
16630
+ }
16631
+ const b = this._getBar(this._state.currentStaff);
17204
16632
  if (initialBarMeta) {
17205
16633
  for (const initial of initialBarMeta) {
17206
16634
  this._handler.applyBarMetaData(this, b, initial);
@@ -17242,6 +16670,9 @@ class AlphaTexImporter extends ScoreImporter {
17242
16670
  // new bar needed on new structural level
17243
16671
  bar.reset();
17244
16672
  break;
16673
+ case ApplyStructuralMetaDataResult.AppliedNewVoice:
16674
+ hadNewVoice = true;
16675
+ break;
17245
16676
  }
17246
16677
  if (initialBarMeta) {
17247
16678
  if (applyInitialBarMetaToPreviousStaff) {
@@ -17301,14 +16732,13 @@ class AlphaTexImporter extends ScoreImporter {
17301
16732
  }
17302
16733
  return bar.value;
17303
16734
  }
17304
- _newBar(staff) {
16735
+ _getBar(staff) {
17305
16736
  // existing bar? -> e.g. in multi-voice setups where we fill empty voices later
17306
16737
  if (this._state.barIndex < staff.bars.length) {
17307
16738
  const bar = staff.bars[this._state.barIndex];
17308
- this._state.barIndex++;
17309
16739
  return bar;
17310
16740
  }
17311
- const voiceCount = staff.bars.length === 0 ? 1 : staff.bars[0].voices.length;
16741
+ const voiceCount = staff.bars.length === 0 ? this._state.voiceIndex + 1 : staff.bars[0].voices.length;
17312
16742
  // need new bar
17313
16743
  const newBar = new Bar();
17314
16744
  staff.addBar(newBar);
@@ -17318,7 +16748,7 @@ class AlphaTexImporter extends ScoreImporter {
17318
16748
  newBar.keySignature = newBar.previousBar.keySignature;
17319
16749
  newBar.keySignatureType = newBar.previousBar.keySignatureType;
17320
16750
  }
17321
- this._state.barIndex++;
16751
+ this._state.barIndex = newBar.index;
17322
16752
  if (newBar.index > 0) {
17323
16753
  newBar.clef = newBar.previousBar.clef;
17324
16754
  }
@@ -17372,26 +16802,62 @@ class AlphaTexImporter extends ScoreImporter {
17372
16802
  return this._state.currentTrack;
17373
16803
  }
17374
16804
  startNewVoice() {
17375
- if (this._state.voiceIndex === 0 &&
17376
- (this._state.currentStaff.bars.length === 0 ||
17377
- (this._state.currentStaff.bars.length === 1 &&
17378
- this._state.currentStaff.bars[0].isEmpty &&
17379
- !this._state.ignoredInitialVoice))) {
17380
- // voice marker on the begining of the first voice without any bar yet?
17381
- // -> ignore
16805
+ // only if we're on the first voice we might skip the initial \voice meta
16806
+ let shouldIgnoreInitialVoice = this._state.voiceIndex === 0 && !this._state.ignoredInitialVoice;
16807
+ // this logic is expanded for readability
16808
+ if (shouldIgnoreInitialVoice) {
16809
+ // if we have no bars created yet, we stay on the initial voice
16810
+ if (this._state.currentStaff.bars.length === 0) {
16811
+ shouldIgnoreInitialVoice = true;
16812
+ }
16813
+ else {
16814
+ switch (this._state.voiceMode) {
16815
+ case AlphaTexVoiceMode.StaffWise:
16816
+ // on staffwise voices, we can only ignore the "initial" voice if the
16817
+ // first bar we have is completely empty
16818
+ shouldIgnoreInitialVoice =
16819
+ this._state.currentStaff.bars.length === 1 && this._state.currentStaff.bars[0].isEmpty;
16820
+ break;
16821
+ case AlphaTexVoiceMode.BarWise:
16822
+ // on barwise voices, we ignore the bar count but check only the first voice of the current bar
16823
+ // to find out if it is the initial empty one
16824
+ if (this._state.barIndex < this._state.currentStaff.bars.length) {
16825
+ // bar exists -> check if empty
16826
+ const bar = this._state.currentStaff.bars[this._state.barIndex];
16827
+ shouldIgnoreInitialVoice = bar.voices[0].isEmpty;
16828
+ }
16829
+ else {
16830
+ // bar doesn't exist yet
16831
+ shouldIgnoreInitialVoice = true;
16832
+ }
16833
+ break;
16834
+ }
16835
+ }
16836
+ }
16837
+ if (shouldIgnoreInitialVoice) {
17382
16838
  this._state.ignoredInitialVoice = true;
17383
16839
  return;
17384
16840
  }
17385
- // create directly a new empty voice for all bars
16841
+ switch (this._state.voiceMode) {
16842
+ case AlphaTexVoiceMode.StaffWise:
16843
+ // start using the new voice (see newBar for details on matching)
16844
+ this._state.voiceIndex++;
16845
+ this._state.barIndex = 0;
16846
+ this._state.currentTupletDenominator = -1;
16847
+ this._state.currentTupletNumerator = -1;
16848
+ break;
16849
+ case AlphaTexVoiceMode.BarWise:
16850
+ this._state.voiceIndex++;
16851
+ this._state.currentTupletDenominator = -1;
16852
+ this._state.currentTupletNumerator = -1;
16853
+ break;
16854
+ }
16855
+ // create all missing voices
17386
16856
  for (const b of this._state.currentStaff.bars) {
17387
- const v = new Voice$1();
17388
- b.addVoice(v);
16857
+ while (b.voices.length <= this._state.voiceIndex) {
16858
+ b.addVoice(new Voice$1());
16859
+ }
17389
16860
  }
17390
- // start using the new voice (see newBar for details on matching)
17391
- this._state.voiceIndex++;
17392
- this._state.barIndex = 0;
17393
- this._state.currentTupletDenominator = -1;
17394
- this._state.currentTupletNumerator = -1;
17395
16861
  }
17396
16862
  }
17397
16863
 
@@ -73255,6 +72721,7 @@ const _barrel$7 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
73255
72721
  get AlphaTexParseMode () { return AlphaTexParseMode; },
73256
72722
  AlphaTexParser,
73257
72723
  get AlphaTexStaffNoteKind () { return AlphaTexStaffNoteKind; },
72724
+ get AlphaTexVoiceMode () { return AlphaTexVoiceMode; },
73258
72725
  get ArgumentListParseTypesMode () { return ArgumentListParseTypesMode; }
73259
72726
  }, Symbol.toStringTag, { value: 'Module' }));
73260
72727