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