@coderline/alphatab 1.9.0-alpha.1852 → 1.9.0-alpha.1855
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.core.min.mjs +2 -2
- package/dist/alphaTab.core.mjs +357 -299
- package/dist/alphaTab.d.ts +26 -19
- package/dist/alphaTab.js +357 -299
- package/dist/alphaTab.min.js +2 -2
- package/dist/alphaTab.min.mjs +1 -1
- package/dist/alphaTab.mjs +1 -1
- package/dist/alphaTab.worker.min.mjs +1 -1
- package/dist/alphaTab.worker.mjs +1 -1
- package/dist/alphaTab.worklet.min.mjs +1 -1
- package/dist/alphaTab.worklet.mjs +1 -1
- package/package.json +1 -1
package/dist/alphaTab.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* alphaTab v1.9.0-alpha.
|
|
2
|
+
* alphaTab v1.9.0-alpha.1855 (develop, build 1855)
|
|
3
3
|
*
|
|
4
4
|
* Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
|
|
5
5
|
*
|
|
@@ -190,9 +190,9 @@
|
|
|
190
190
|
* @internal
|
|
191
191
|
*/
|
|
192
192
|
var VersionInfo = class VersionInfo {
|
|
193
|
-
static version = "1.9.0-alpha.
|
|
194
|
-
static date = "2026-07-
|
|
195
|
-
static commit = "
|
|
193
|
+
static version = "1.9.0-alpha.1855";
|
|
194
|
+
static date = "2026-07-06T04:23:13.862Z";
|
|
195
|
+
static commit = "acae7e9eafc26b0209712e3c3d0c2f8564e25148";
|
|
196
196
|
static print(print) {
|
|
197
197
|
print(`alphaTab ${VersionInfo.version}`);
|
|
198
198
|
print(`commit: ${VersionInfo.commit}`);
|
|
@@ -5769,7 +5769,7 @@
|
|
|
5769
5769
|
for (const a of PercussionMapper.instrumentArticulations.values()) if (!articulationsByOutputNumber.has(a.outputMidiNumber)) articulationsByOutputNumber.set(a.outputMidiNumber, a);
|
|
5770
5770
|
PercussionMapper._articulationsByOutputNumber = articulationsByOutputNumber;
|
|
5771
5771
|
}
|
|
5772
|
-
return articulationsByOutputNumber.has(articulation.outputMidiNumber) ? articulationsByOutputNumber.get(articulation.outputMidiNumber).id :
|
|
5772
|
+
return articulationsByOutputNumber.has(articulation.outputMidiNumber) ? articulationsByOutputNumber.get(articulation.outputMidiNumber).id : NaN;
|
|
5773
5773
|
}
|
|
5774
5774
|
static _instrumentArticulationsByUniqueId;
|
|
5775
5775
|
static getInstrumentArticulationByUniqueId(uniqueId) {
|
|
@@ -5951,36 +5951,36 @@
|
|
|
5951
5951
|
return this.bendPoints !== null && this.bendType !== BendType.None;
|
|
5952
5952
|
}
|
|
5953
5953
|
get isStringed() {
|
|
5954
|
-
return this.string
|
|
5954
|
+
return !Number.isNaN(this.string) && !Number.isNaN(this.fret);
|
|
5955
5955
|
}
|
|
5956
5956
|
/**
|
|
5957
5957
|
* Gets or sets the fret on which this note is played on the instrument.
|
|
5958
5958
|
* 0 is the nut.
|
|
5959
5959
|
*/
|
|
5960
|
-
fret =
|
|
5960
|
+
fret = NaN;
|
|
5961
5961
|
/**
|
|
5962
5962
|
* Gets or sets the string number where the note is placed.
|
|
5963
5963
|
* 1 is the lowest string on the guitar and the bottom line on the tablature.
|
|
5964
5964
|
* It then increases the the number of strings on available on the track.
|
|
5965
5965
|
*/
|
|
5966
|
-
string =
|
|
5966
|
+
string = NaN;
|
|
5967
5967
|
/**
|
|
5968
5968
|
* Gets or sets whether the string number for this note should be shown.
|
|
5969
5969
|
*/
|
|
5970
5970
|
showStringNumber = false;
|
|
5971
5971
|
get isPiano() {
|
|
5972
|
-
return !this.isStringed && this.octave
|
|
5972
|
+
return !this.isStringed && !Number.isNaN(this.octave) && !Number.isNaN(this.tone);
|
|
5973
5973
|
}
|
|
5974
5974
|
/**
|
|
5975
5975
|
* Gets or sets the octave on which this note is played.
|
|
5976
5976
|
*/
|
|
5977
|
-
octave =
|
|
5977
|
+
octave = NaN;
|
|
5978
5978
|
/**
|
|
5979
5979
|
* Gets or sets the tone of this note within the octave.
|
|
5980
5980
|
*/
|
|
5981
|
-
tone =
|
|
5981
|
+
tone = NaN;
|
|
5982
5982
|
get isPercussion() {
|
|
5983
|
-
return !
|
|
5983
|
+
return !Number.isNaN(this.percussionArticulation);
|
|
5984
5984
|
}
|
|
5985
5985
|
/**
|
|
5986
5986
|
* Gets or sets the percusson element.
|
|
@@ -6095,7 +6095,7 @@
|
|
|
6095
6095
|
* - 126 Ride (middle)
|
|
6096
6096
|
* - 127 Ride (bell)
|
|
6097
6097
|
*/
|
|
6098
|
-
percussionArticulation =
|
|
6098
|
+
percussionArticulation = NaN;
|
|
6099
6099
|
/**
|
|
6100
6100
|
* Gets or sets whether this note is visible on the music sheet.
|
|
6101
6101
|
*/
|
|
@@ -6320,7 +6320,7 @@
|
|
|
6320
6320
|
return this.beat.voice.bar.staff.capo + Note.getStringTuning(this.beat.voice.bar.staff, this.string);
|
|
6321
6321
|
}
|
|
6322
6322
|
static getStringTuning(staff, noteString) {
|
|
6323
|
-
if (staff.tuning.length > 0) return staff.tuning[staff.tuning.length - (noteString - 1) - 1];
|
|
6323
|
+
if (staff.tuning.length > 0 && noteString >= 0) return staff.tuning[staff.tuning.length - (noteString - 1) - 1];
|
|
6324
6324
|
return 0;
|
|
6325
6325
|
}
|
|
6326
6326
|
get realValue() {
|
|
@@ -6634,7 +6634,7 @@
|
|
|
6634
6634
|
if (note.isStringed) {
|
|
6635
6635
|
const noteOnString = previousBeat.getNoteOnString(note.string);
|
|
6636
6636
|
if (noteOnString) return noteOnString;
|
|
6637
|
-
} else if (note.octave
|
|
6637
|
+
} else if (Number.isNaN(note.octave) && Number.isNaN(note.tone)) {
|
|
6638
6638
|
if (note.index < previousBeat.notes.length) return previousBeat.notes[note.index];
|
|
6639
6639
|
} else {
|
|
6640
6640
|
const noteWithValue = previousBeat.getNoteWithRealValue(note.realValue);
|
|
@@ -7356,14 +7356,14 @@
|
|
|
7356
7356
|
deadSlapped = false;
|
|
7357
7357
|
/**
|
|
7358
7358
|
* Gets or sets the chromatic tone value (0–11) of the pitch at which this rest should be displayed.
|
|
7359
|
-
* A value of
|
|
7359
|
+
* A value of NaN means use the default position formula.
|
|
7360
7360
|
*/
|
|
7361
|
-
restDisplayTone =
|
|
7361
|
+
restDisplayTone = NaN;
|
|
7362
7362
|
/**
|
|
7363
7363
|
* Gets or sets the octave at which this rest should be displayed.
|
|
7364
|
-
* Only relevant when {@link restDisplayTone} is set.
|
|
7364
|
+
* Only relevant when {@link restDisplayTone} is set. NaN means use the default position formula.
|
|
7365
7365
|
*/
|
|
7366
|
-
restDisplayOctave =
|
|
7366
|
+
restDisplayOctave = NaN;
|
|
7367
7367
|
/**
|
|
7368
7368
|
* Gets or sets the brush type applied to the notes of this beat.
|
|
7369
7369
|
*/
|
|
@@ -7664,13 +7664,13 @@
|
|
|
7664
7664
|
note.beat = this;
|
|
7665
7665
|
note.index = this.notes.length;
|
|
7666
7666
|
this.notes.push(note);
|
|
7667
|
-
if (note.
|
|
7667
|
+
if (note.string >= 0) this.noteStringLookup.set(note.string, note);
|
|
7668
7668
|
}
|
|
7669
7669
|
removeNote(note) {
|
|
7670
7670
|
const index = this.notes.indexOf(note);
|
|
7671
7671
|
if (index >= 0) {
|
|
7672
7672
|
this.notes.splice(index, 1);
|
|
7673
|
-
if (note.
|
|
7673
|
+
if (note.string >= 0) this.noteStringLookup.delete(note.string);
|
|
7674
7674
|
}
|
|
7675
7675
|
}
|
|
7676
7676
|
getAutomation(type) {
|
|
@@ -8538,10 +8538,10 @@
|
|
|
8538
8538
|
}
|
|
8539
8539
|
static scoreMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
|
|
8540
8540
|
["title", [[
|
|
8541
|
-
[[
|
|
8542
|
-
[[
|
|
8541
|
+
[[107, 100], 0],
|
|
8542
|
+
[[107], 1],
|
|
8543
8543
|
[
|
|
8544
|
-
[
|
|
8544
|
+
[100, 107],
|
|
8545
8545
|
1,
|
|
8546
8546
|
[
|
|
8547
8547
|
"left",
|
|
@@ -8551,10 +8551,10 @@
|
|
|
8551
8551
|
]
|
|
8552
8552
|
]]],
|
|
8553
8553
|
["subtitle", [[
|
|
8554
|
-
[[
|
|
8555
|
-
[[
|
|
8554
|
+
[[107, 100], 0],
|
|
8555
|
+
[[107], 1],
|
|
8556
8556
|
[
|
|
8557
|
-
[
|
|
8557
|
+
[100, 107],
|
|
8558
8558
|
1,
|
|
8559
8559
|
[
|
|
8560
8560
|
"left",
|
|
@@ -8564,10 +8564,10 @@
|
|
|
8564
8564
|
]
|
|
8565
8565
|
]]],
|
|
8566
8566
|
["artist", [[
|
|
8567
|
-
[[
|
|
8568
|
-
[[
|
|
8567
|
+
[[107, 100], 0],
|
|
8568
|
+
[[107], 1],
|
|
8569
8569
|
[
|
|
8570
|
-
[
|
|
8570
|
+
[100, 107],
|
|
8571
8571
|
1,
|
|
8572
8572
|
[
|
|
8573
8573
|
"left",
|
|
@@ -8577,10 +8577,10 @@
|
|
|
8577
8577
|
]
|
|
8578
8578
|
]]],
|
|
8579
8579
|
["album", [[
|
|
8580
|
-
[[
|
|
8581
|
-
[[
|
|
8580
|
+
[[107, 100], 0],
|
|
8581
|
+
[[107], 1],
|
|
8582
8582
|
[
|
|
8583
|
-
[
|
|
8583
|
+
[100, 107],
|
|
8584
8584
|
1,
|
|
8585
8585
|
[
|
|
8586
8586
|
"left",
|
|
@@ -8590,10 +8590,10 @@
|
|
|
8590
8590
|
]
|
|
8591
8591
|
]]],
|
|
8592
8592
|
["words", [[
|
|
8593
|
-
[[
|
|
8594
|
-
[[
|
|
8593
|
+
[[107, 100], 0],
|
|
8594
|
+
[[107], 1],
|
|
8595
8595
|
[
|
|
8596
|
-
[
|
|
8596
|
+
[100, 107],
|
|
8597
8597
|
1,
|
|
8598
8598
|
[
|
|
8599
8599
|
"left",
|
|
@@ -8603,10 +8603,10 @@
|
|
|
8603
8603
|
]
|
|
8604
8604
|
]]],
|
|
8605
8605
|
["music", [[
|
|
8606
|
-
[[
|
|
8607
|
-
[[
|
|
8606
|
+
[[107, 100], 0],
|
|
8607
|
+
[[107], 1],
|
|
8608
8608
|
[
|
|
8609
|
-
[
|
|
8609
|
+
[100, 107],
|
|
8610
8610
|
1,
|
|
8611
8611
|
[
|
|
8612
8612
|
"left",
|
|
@@ -8615,8 +8615,8 @@
|
|
|
8615
8615
|
]
|
|
8616
8616
|
]
|
|
8617
8617
|
]]],
|
|
8618
|
-
["wordsandmusic", [[[[
|
|
8619
|
-
[
|
|
8618
|
+
["wordsandmusic", [[[[107], 0], [
|
|
8619
|
+
[100, 107],
|
|
8620
8620
|
1,
|
|
8621
8621
|
[
|
|
8622
8622
|
"left",
|
|
@@ -8625,10 +8625,10 @@
|
|
|
8625
8625
|
]
|
|
8626
8626
|
]]]],
|
|
8627
8627
|
["copyright", [[
|
|
8628
|
-
[[
|
|
8629
|
-
[[
|
|
8628
|
+
[[107, 100], 0],
|
|
8629
|
+
[[107], 1],
|
|
8630
8630
|
[
|
|
8631
|
-
[
|
|
8631
|
+
[100, 107],
|
|
8632
8632
|
1,
|
|
8633
8633
|
[
|
|
8634
8634
|
"left",
|
|
@@ -8637,8 +8637,8 @@
|
|
|
8637
8637
|
]
|
|
8638
8638
|
]
|
|
8639
8639
|
]]],
|
|
8640
|
-
["copyright2", [[[[
|
|
8641
|
-
[
|
|
8640
|
+
["copyright2", [[[[107], 0], [
|
|
8641
|
+
[100, 107],
|
|
8642
8642
|
1,
|
|
8643
8643
|
[
|
|
8644
8644
|
"left",
|
|
@@ -8646,13 +8646,13 @@
|
|
|
8646
8646
|
"right"
|
|
8647
8647
|
]
|
|
8648
8648
|
]]]],
|
|
8649
|
-
["instructions", [[[[
|
|
8650
|
-
["notices", [[[[
|
|
8649
|
+
["instructions", [[[[107, 100], 0]]]],
|
|
8650
|
+
["notices", [[[[107, 100], 0]]]],
|
|
8651
8651
|
["tab", [[
|
|
8652
|
-
[[
|
|
8653
|
-
[[
|
|
8652
|
+
[[107, 100], 0],
|
|
8653
|
+
[[107], 1],
|
|
8654
8654
|
[
|
|
8655
|
-
[
|
|
8655
|
+
[100, 107],
|
|
8656
8656
|
1,
|
|
8657
8657
|
[
|
|
8658
8658
|
"left",
|
|
@@ -8661,19 +8661,19 @@
|
|
|
8661
8661
|
]
|
|
8662
8662
|
]
|
|
8663
8663
|
]]],
|
|
8664
|
-
["systemslayout", [[[[
|
|
8665
|
-
["defaultsystemslayout", [[[[
|
|
8664
|
+
["systemslayout", [[[[106], 5]]]],
|
|
8665
|
+
["defaultsystemslayout", [[[[106], 0]]]],
|
|
8666
8666
|
["showdynamics", null],
|
|
8667
8667
|
["hidedynamics", null],
|
|
8668
8668
|
["usesystemsignseparator", null],
|
|
8669
8669
|
["tuningdisplaymode", [[[
|
|
8670
|
-
[
|
|
8670
|
+
[100, 107],
|
|
8671
8671
|
0,
|
|
8672
8672
|
["score", "staff"]
|
|
8673
8673
|
]]]],
|
|
8674
8674
|
["multibarrest", null],
|
|
8675
8675
|
["bracketextendmode", [[[
|
|
8676
|
-
[
|
|
8676
|
+
[100, 107],
|
|
8677
8677
|
0,
|
|
8678
8678
|
[
|
|
8679
8679
|
"nobrackets",
|
|
@@ -8682,7 +8682,7 @@
|
|
|
8682
8682
|
]
|
|
8683
8683
|
]]]],
|
|
8684
8684
|
["singletracktracknamepolicy", [[[
|
|
8685
|
-
[
|
|
8685
|
+
[100, 107],
|
|
8686
8686
|
0,
|
|
8687
8687
|
[
|
|
8688
8688
|
"hidden",
|
|
@@ -8691,7 +8691,7 @@
|
|
|
8691
8691
|
]
|
|
8692
8692
|
]]]],
|
|
8693
8693
|
["multitracktracknamepolicy", [[[
|
|
8694
|
-
[
|
|
8694
|
+
[100, 107],
|
|
8695
8695
|
0,
|
|
8696
8696
|
[
|
|
8697
8697
|
"hidden",
|
|
@@ -8700,28 +8700,28 @@
|
|
|
8700
8700
|
]
|
|
8701
8701
|
]]]],
|
|
8702
8702
|
["firstsystemtracknamemode", [[[
|
|
8703
|
-
[
|
|
8703
|
+
[100, 107],
|
|
8704
8704
|
0,
|
|
8705
8705
|
["fullname", "shortname"]
|
|
8706
8706
|
]]]],
|
|
8707
8707
|
["othersystemstracknamemode", [[[
|
|
8708
|
-
[
|
|
8708
|
+
[100, 107],
|
|
8709
8709
|
0,
|
|
8710
8710
|
["fullname", "shortname"]
|
|
8711
8711
|
]]]],
|
|
8712
8712
|
["firstsystemtracknameorientation", [[[
|
|
8713
|
-
[
|
|
8713
|
+
[100, 107],
|
|
8714
8714
|
0,
|
|
8715
8715
|
["horizontal", "vertical"]
|
|
8716
8716
|
]]]],
|
|
8717
8717
|
["othersystemstracknameorientation", [[[
|
|
8718
|
-
[
|
|
8718
|
+
[100, 107],
|
|
8719
8719
|
0,
|
|
8720
8720
|
["horizontal", "vertical"]
|
|
8721
8721
|
]]]],
|
|
8722
8722
|
["extendbarlines", null],
|
|
8723
8723
|
["chorddiagramsinscore", [[[
|
|
8724
|
-
[
|
|
8724
|
+
[100],
|
|
8725
8725
|
1,
|
|
8726
8726
|
["true", "false"]
|
|
8727
8727
|
]]]],
|
|
@@ -8729,7 +8729,7 @@
|
|
|
8729
8729
|
["hideemptystavesinfirstsystem", null],
|
|
8730
8730
|
["showsinglestaffbrackets", null],
|
|
8731
8731
|
["defaultbarnumberdisplay", [[[
|
|
8732
|
-
[
|
|
8732
|
+
[100, 107],
|
|
8733
8733
|
0,
|
|
8734
8734
|
[
|
|
8735
8735
|
"allbars",
|
|
@@ -8740,54 +8740,54 @@
|
|
|
8740
8740
|
]);
|
|
8741
8741
|
static staffMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
|
|
8742
8742
|
["tuning", [[[
|
|
8743
|
-
[
|
|
8743
|
+
[100, 107],
|
|
8744
8744
|
0,
|
|
8745
8745
|
[
|
|
8746
8746
|
"piano",
|
|
8747
8747
|
"none",
|
|
8748
8748
|
"voice"
|
|
8749
8749
|
]
|
|
8750
|
-
]], [[[
|
|
8751
|
-
["chord", [[[[
|
|
8752
|
-
|
|
8753
|
-
|
|
8754
|
-
|
|
8750
|
+
]], [[[100, 107], 5]]]],
|
|
8751
|
+
["chord", [[[[107, 100], 0], [[
|
|
8752
|
+
100,
|
|
8753
|
+
107,
|
|
8754
|
+
106
|
|
8755
8755
|
], 5]]]],
|
|
8756
|
-
["capo", [[[[
|
|
8757
|
-
["lyrics", [[[[
|
|
8756
|
+
["capo", [[[[106], 0]]]],
|
|
8757
|
+
["lyrics", [[[[107], 0]], [[[106], 0], [[107], 0]]]],
|
|
8758
8758
|
["articulation", [[[
|
|
8759
|
-
[
|
|
8759
|
+
[100],
|
|
8760
8760
|
0,
|
|
8761
8761
|
["defaults"]
|
|
8762
|
-
]], [[[
|
|
8763
|
-
["displaytranspose", [[[[
|
|
8764
|
-
["transpose", [[[[
|
|
8762
|
+
]], [[[107, 100], 0], [[106], 0]]]],
|
|
8763
|
+
["displaytranspose", [[[[106], 0]]]],
|
|
8764
|
+
["transpose", [[[[106], 0]]]],
|
|
8765
8765
|
["instrument", [
|
|
8766
|
-
[[[
|
|
8767
|
-
[[[
|
|
8766
|
+
[[[106], 0]],
|
|
8767
|
+
[[[107, 100], 0]],
|
|
8768
8768
|
[[
|
|
8769
|
-
[
|
|
8769
|
+
[100],
|
|
8770
8770
|
0,
|
|
8771
8771
|
["percussion"]
|
|
8772
8772
|
]]
|
|
8773
8773
|
]]
|
|
8774
8774
|
]);
|
|
8775
8775
|
static structuralMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
|
|
8776
|
-
["track", [[[[
|
|
8776
|
+
["track", [[[[107], 1], [[107], 1]]]],
|
|
8777
8777
|
["staff", null],
|
|
8778
8778
|
["voice", null]
|
|
8779
8779
|
]);
|
|
8780
8780
|
static barMetaDataSignatures = AlphaTex1LanguageDefinitions._signatures([
|
|
8781
8781
|
["ts", [[[
|
|
8782
|
-
[
|
|
8782
|
+
[100, 107],
|
|
8783
8783
|
0,
|
|
8784
8784
|
["common"]
|
|
8785
|
-
]], [[[
|
|
8785
|
+
]], [[[106], 0], [[106], 0]]]],
|
|
8786
8786
|
["ro", null],
|
|
8787
|
-
["rc", [[[[
|
|
8788
|
-
["ae", [[[[
|
|
8787
|
+
["rc", [[[[106], 0]]]],
|
|
8788
|
+
["ae", [[[[106, 103], 4]]]],
|
|
8789
8789
|
["ks", [[[
|
|
8790
|
-
[
|
|
8790
|
+
[100, 107],
|
|
8791
8791
|
0,
|
|
8792
8792
|
[
|
|
8793
8793
|
"cb",
|
|
@@ -8841,9 +8841,9 @@
|
|
|
8841
8841
|
]]]],
|
|
8842
8842
|
["clef", [[[
|
|
8843
8843
|
[
|
|
8844
|
-
|
|
8845
|
-
|
|
8846
|
-
|
|
8844
|
+
100,
|
|
8845
|
+
106,
|
|
8846
|
+
107
|
|
8847
8847
|
],
|
|
8848
8848
|
0,
|
|
8849
8849
|
[
|
|
@@ -8860,7 +8860,7 @@
|
|
|
8860
8860
|
]
|
|
8861
8861
|
]]]],
|
|
8862
8862
|
["ottava", [[[
|
|
8863
|
-
[
|
|
8863
|
+
[100, 107],
|
|
8864
8864
|
0,
|
|
8865
8865
|
[
|
|
8866
8866
|
"15ma",
|
|
@@ -8874,22 +8874,22 @@
|
|
|
8874
8874
|
"15mb"
|
|
8875
8875
|
]
|
|
8876
8876
|
]]]],
|
|
8877
|
-
["tempo", [[[[
|
|
8877
|
+
["tempo", [[[[106], 2], [[107], 1]], [
|
|
8878
8878
|
null,
|
|
8879
|
-
[[
|
|
8880
|
-
[[
|
|
8881
|
-
[[
|
|
8879
|
+
[[106], 2],
|
|
8880
|
+
[[107], 0],
|
|
8881
|
+
[[106], 1],
|
|
8882
8882
|
[
|
|
8883
|
-
[
|
|
8883
|
+
[100],
|
|
8884
8884
|
1,
|
|
8885
8885
|
["hide"]
|
|
8886
8886
|
]
|
|
8887
8887
|
]]],
|
|
8888
8888
|
["tf", [[[
|
|
8889
8889
|
[
|
|
8890
|
-
|
|
8891
|
-
|
|
8892
|
-
|
|
8890
|
+
100,
|
|
8891
|
+
106,
|
|
8892
|
+
107
|
|
8893
8893
|
],
|
|
8894
8894
|
0,
|
|
8895
8895
|
[
|
|
@@ -8918,8 +8918,8 @@
|
|
|
8918
8918
|
]
|
|
8919
8919
|
]]]],
|
|
8920
8920
|
["ac", null],
|
|
8921
|
-
["section", [[[[
|
|
8922
|
-
[
|
|
8921
|
+
["section", [[[[107, 100], 0]], [[[107, 100], 0], [
|
|
8922
|
+
[107, 100],
|
|
8923
8923
|
0,
|
|
8924
8924
|
null,
|
|
8925
8925
|
[
|
|
@@ -8929,7 +8929,7 @@
|
|
|
8929
8929
|
]
|
|
8930
8930
|
]]]],
|
|
8931
8931
|
["jump", [[[
|
|
8932
|
-
[
|
|
8932
|
+
[100, 107],
|
|
8933
8933
|
0,
|
|
8934
8934
|
[
|
|
8935
8935
|
"fine",
|
|
@@ -8955,7 +8955,7 @@
|
|
|
8955
8955
|
]]]],
|
|
8956
8956
|
["ft", null],
|
|
8957
8957
|
["simile", [[[
|
|
8958
|
-
[
|
|
8958
|
+
[100, 107],
|
|
8959
8959
|
0,
|
|
8960
8960
|
[
|
|
8961
8961
|
"none",
|
|
@@ -8965,7 +8965,7 @@
|
|
|
8965
8965
|
]
|
|
8966
8966
|
]]]],
|
|
8967
8967
|
["barlineleft", [[[
|
|
8968
|
-
[
|
|
8968
|
+
[100, 107],
|
|
8969
8969
|
0,
|
|
8970
8970
|
[
|
|
8971
8971
|
"automatic",
|
|
@@ -8983,7 +8983,7 @@
|
|
|
8983
8983
|
]
|
|
8984
8984
|
]]]],
|
|
8985
8985
|
["barlineright", [[[
|
|
8986
|
-
[
|
|
8986
|
+
[100, 107],
|
|
8987
8987
|
0,
|
|
8988
8988
|
[
|
|
8989
8989
|
"automatic",
|
|
@@ -9000,30 +9000,30 @@
|
|
|
9000
9000
|
"tick"
|
|
9001
9001
|
]
|
|
9002
9002
|
]]]],
|
|
9003
|
-
["scale", [[[[
|
|
9004
|
-
["width", [[[[
|
|
9003
|
+
["scale", [[[[106], 2]]]],
|
|
9004
|
+
["width", [[[[106], 2]]]],
|
|
9005
9005
|
["sync", [[
|
|
9006
|
-
[[
|
|
9007
|
-
[[
|
|
9008
|
-
[[
|
|
9009
|
-
[[
|
|
9006
|
+
[[106], 0],
|
|
9007
|
+
[[106], 0],
|
|
9008
|
+
[[106], 0],
|
|
9009
|
+
[[106], 3]
|
|
9010
9010
|
]]],
|
|
9011
9011
|
["accidentals", [[[
|
|
9012
|
-
[
|
|
9012
|
+
[100, 107],
|
|
9013
9013
|
0,
|
|
9014
9014
|
["auto", "explicit"]
|
|
9015
9015
|
]]]],
|
|
9016
|
-
["spd", [[[[
|
|
9017
|
-
["sph", [[[[
|
|
9018
|
-
["spu", [[[[
|
|
9016
|
+
["spd", [[[[106], 2]]]],
|
|
9017
|
+
["sph", [[[[106], 2]]]],
|
|
9018
|
+
["spu", [[[[106], 2]]]],
|
|
9019
9019
|
["db", null],
|
|
9020
9020
|
["voicemode", [[[
|
|
9021
|
-
[
|
|
9021
|
+
[100, 107],
|
|
9022
9022
|
0,
|
|
9023
9023
|
["staffwise", "barwise"]
|
|
9024
9024
|
]]]],
|
|
9025
9025
|
["barnumberdisplay", [[[
|
|
9026
|
-
[
|
|
9026
|
+
[100, 107],
|
|
9027
9027
|
0,
|
|
9028
9028
|
[
|
|
9029
9029
|
"allbars",
|
|
@@ -9031,31 +9031,31 @@
|
|
|
9031
9031
|
"hide"
|
|
9032
9032
|
]
|
|
9033
9033
|
]]]],
|
|
9034
|
-
["beaming", [[[[
|
|
9034
|
+
["beaming", [[[[106], 0], [[106], 5]]]]
|
|
9035
9035
|
]);
|
|
9036
9036
|
static metaDataProperties = AlphaTex1LanguageDefinitions._metaProps([
|
|
9037
9037
|
["track", [
|
|
9038
|
-
["color", [[[[
|
|
9039
|
-
["systemslayout", [[[[
|
|
9040
|
-
["defaultsystemslayout", [[[[
|
|
9038
|
+
["color", [[[[107], 0]]]],
|
|
9039
|
+
["systemslayout", [[[[106], 5]]]],
|
|
9040
|
+
["defaultsystemslayout", [[[[106], 0]]]],
|
|
9041
9041
|
["solo", null],
|
|
9042
9042
|
["mute", null],
|
|
9043
|
-
["volume", [[[[
|
|
9044
|
-
["balance", [[[[
|
|
9043
|
+
["volume", [[[[106], 0]]]],
|
|
9044
|
+
["balance", [[[[106], 0]]]],
|
|
9045
9045
|
["instrument", [
|
|
9046
|
-
[[[
|
|
9047
|
-
[[[
|
|
9046
|
+
[[[106], 0]],
|
|
9047
|
+
[[[107, 100], 0]],
|
|
9048
9048
|
[[
|
|
9049
|
-
[
|
|
9049
|
+
[100],
|
|
9050
9050
|
0,
|
|
9051
9051
|
["percussion"]
|
|
9052
9052
|
]]
|
|
9053
9053
|
]],
|
|
9054
|
-
["bank", [[[[
|
|
9054
|
+
["bank", [[[[106], 0]]]],
|
|
9055
9055
|
["multibarrest", null]
|
|
9056
9056
|
]],
|
|
9057
9057
|
["staff", [
|
|
9058
|
-
["score", [[[[
|
|
9058
|
+
["score", [[[[106], 1]]]],
|
|
9059
9059
|
["tabs", null],
|
|
9060
9060
|
["slash", null],
|
|
9061
9061
|
["numbered", null]
|
|
@@ -9093,24 +9093,24 @@
|
|
|
9093
9093
|
["hideemptystavesinfirstsystem", null],
|
|
9094
9094
|
["showsinglestaffbrackets", null],
|
|
9095
9095
|
["defaultbarnumberdisplay", null],
|
|
9096
|
-
["tuning", [["hide", null], ["label", [[[[
|
|
9096
|
+
["tuning", [["hide", null], ["label", [[[[107], 0]]]]]],
|
|
9097
9097
|
["chord", [
|
|
9098
|
-
["firstfret", [[[[
|
|
9099
|
-
["barre", [[[[
|
|
9098
|
+
["firstfret", [[[[106], 0]]]],
|
|
9099
|
+
["barre", [[[[106], 5]]]],
|
|
9100
9100
|
["showdiagram", [
|
|
9101
9101
|
[],
|
|
9102
9102
|
[[
|
|
9103
|
-
[
|
|
9103
|
+
[107],
|
|
9104
9104
|
0,
|
|
9105
9105
|
["true", "false"]
|
|
9106
9106
|
]],
|
|
9107
9107
|
[[
|
|
9108
|
-
[
|
|
9108
|
+
[100],
|
|
9109
9109
|
0,
|
|
9110
9110
|
["true", "false"]
|
|
9111
9111
|
]],
|
|
9112
9112
|
[[
|
|
9113
|
-
[
|
|
9113
|
+
[106],
|
|
9114
9114
|
0,
|
|
9115
9115
|
["1", "0"]
|
|
9116
9116
|
]]
|
|
@@ -9118,17 +9118,17 @@
|
|
|
9118
9118
|
["showfingering", [
|
|
9119
9119
|
[],
|
|
9120
9120
|
[[
|
|
9121
|
-
[
|
|
9121
|
+
[107],
|
|
9122
9122
|
0,
|
|
9123
9123
|
["true", "false"]
|
|
9124
9124
|
]],
|
|
9125
9125
|
[[
|
|
9126
|
-
[
|
|
9126
|
+
[100],
|
|
9127
9127
|
0,
|
|
9128
9128
|
["true", "false"]
|
|
9129
9129
|
]],
|
|
9130
9130
|
[[
|
|
9131
|
-
[
|
|
9131
|
+
[106],
|
|
9132
9132
|
0,
|
|
9133
9133
|
["1", "0"]
|
|
9134
9134
|
]]
|
|
@@ -9136,17 +9136,17 @@
|
|
|
9136
9136
|
["showname", [
|
|
9137
9137
|
[],
|
|
9138
9138
|
[[
|
|
9139
|
-
[
|
|
9139
|
+
[107],
|
|
9140
9140
|
0,
|
|
9141
9141
|
["true", "false"]
|
|
9142
9142
|
]],
|
|
9143
9143
|
[[
|
|
9144
|
-
[
|
|
9144
|
+
[100],
|
|
9145
9145
|
0,
|
|
9146
9146
|
["true", "false"]
|
|
9147
9147
|
]],
|
|
9148
9148
|
[[
|
|
9149
|
-
[
|
|
9149
|
+
[106],
|
|
9150
9150
|
0,
|
|
9151
9151
|
["1", "0"]
|
|
9152
9152
|
]]
|
|
@@ -9193,7 +9193,7 @@
|
|
|
9193
9193
|
AlphaTex1LanguageDefinitions.barMetaDataSignatures
|
|
9194
9194
|
];
|
|
9195
9195
|
static durationChangeProperties = AlphaTex1LanguageDefinitions._props([["tu", [[[
|
|
9196
|
-
[
|
|
9196
|
+
[106],
|
|
9197
9197
|
0,
|
|
9198
9198
|
[
|
|
9199
9199
|
"3",
|
|
@@ -9204,7 +9204,7 @@
|
|
|
9204
9204
|
"10",
|
|
9205
9205
|
"12"
|
|
9206
9206
|
]
|
|
9207
|
-
]], [[[
|
|
9207
|
+
]], [[[106], 0], [[106], 0]]]]]);
|
|
9208
9208
|
static beatProperties = AlphaTex1LanguageDefinitions._props([
|
|
9209
9209
|
["f", null],
|
|
9210
9210
|
["fo", null],
|
|
@@ -9233,7 +9233,7 @@
|
|
|
9233
9233
|
["legatoorigin", null],
|
|
9234
9234
|
["timer", null],
|
|
9235
9235
|
["tu", [[[
|
|
9236
|
-
[
|
|
9236
|
+
[106],
|
|
9237
9237
|
0,
|
|
9238
9238
|
[
|
|
9239
9239
|
"3",
|
|
@@ -9244,14 +9244,13 @@
|
|
|
9244
9244
|
"10",
|
|
9245
9245
|
"12"
|
|
9246
9246
|
]
|
|
9247
|
-
]], [[[
|
|
9248
|
-
["txt", [[[[
|
|
9249
|
-
["
|
|
9250
|
-
["lyrics", [[[[17], 0]], [[[16], 0], [[17], 0]]]],
|
|
9247
|
+
]], [[[106], 0], [[106], 0]]]],
|
|
9248
|
+
["txt", [[[[107, 100], 0]]]],
|
|
9249
|
+
["lyrics", [[[[107], 0]], [[[106], 0], [[107], 0]]]],
|
|
9251
9250
|
["tb", [
|
|
9252
|
-
[[[
|
|
9251
|
+
[[[106], 5]],
|
|
9253
9252
|
[[
|
|
9254
|
-
[
|
|
9253
|
+
[100, 107],
|
|
9255
9254
|
0,
|
|
9256
9255
|
[
|
|
9257
9256
|
"custom",
|
|
@@ -9261,19 +9260,19 @@
|
|
|
9261
9260
|
"predive",
|
|
9262
9261
|
"predivedive"
|
|
9263
9262
|
]
|
|
9264
|
-
], [[
|
|
9263
|
+
], [[106], 5]],
|
|
9265
9264
|
[[
|
|
9266
|
-
[
|
|
9265
|
+
[100, 107],
|
|
9267
9266
|
0,
|
|
9268
9267
|
[
|
|
9269
9268
|
"default",
|
|
9270
9269
|
"gradual",
|
|
9271
9270
|
"fast"
|
|
9272
9271
|
]
|
|
9273
|
-
], [[
|
|
9272
|
+
], [[106], 5]],
|
|
9274
9273
|
[
|
|
9275
9274
|
[
|
|
9276
|
-
[
|
|
9275
|
+
[100, 107],
|
|
9277
9276
|
0,
|
|
9278
9277
|
[
|
|
9279
9278
|
"custom",
|
|
@@ -9285,7 +9284,7 @@
|
|
|
9285
9284
|
]
|
|
9286
9285
|
],
|
|
9287
9286
|
[
|
|
9288
|
-
[
|
|
9287
|
+
[100, 107],
|
|
9289
9288
|
0,
|
|
9290
9289
|
[
|
|
9291
9290
|
"default",
|
|
@@ -9293,13 +9292,13 @@
|
|
|
9293
9292
|
"fast"
|
|
9294
9293
|
]
|
|
9295
9294
|
],
|
|
9296
|
-
[[
|
|
9295
|
+
[[106], 5]
|
|
9297
9296
|
]
|
|
9298
9297
|
]],
|
|
9299
9298
|
["tbe", [
|
|
9300
|
-
[[[
|
|
9299
|
+
[[[106], 5]],
|
|
9301
9300
|
[[
|
|
9302
|
-
[
|
|
9301
|
+
[100, 107],
|
|
9303
9302
|
0,
|
|
9304
9303
|
[
|
|
9305
9304
|
"custom",
|
|
@@ -9309,19 +9308,19 @@
|
|
|
9309
9308
|
"predive",
|
|
9310
9309
|
"predivedive"
|
|
9311
9310
|
]
|
|
9312
|
-
], [[
|
|
9311
|
+
], [[106], 5]],
|
|
9313
9312
|
[[
|
|
9314
|
-
[
|
|
9313
|
+
[100, 107],
|
|
9315
9314
|
0,
|
|
9316
9315
|
[
|
|
9317
9316
|
"default",
|
|
9318
9317
|
"gradual",
|
|
9319
9318
|
"fast"
|
|
9320
9319
|
]
|
|
9321
|
-
], [[
|
|
9320
|
+
], [[106], 5]],
|
|
9322
9321
|
[
|
|
9323
9322
|
[
|
|
9324
|
-
[
|
|
9323
|
+
[100, 107],
|
|
9325
9324
|
0,
|
|
9326
9325
|
[
|
|
9327
9326
|
"custom",
|
|
@@ -9333,7 +9332,7 @@
|
|
|
9333
9332
|
]
|
|
9334
9333
|
],
|
|
9335
9334
|
[
|
|
9336
|
-
[
|
|
9335
|
+
[100, 107],
|
|
9337
9336
|
0,
|
|
9338
9337
|
[
|
|
9339
9338
|
"default",
|
|
@@ -9341,16 +9340,16 @@
|
|
|
9341
9340
|
"fast"
|
|
9342
9341
|
]
|
|
9343
9342
|
],
|
|
9344
|
-
[[
|
|
9343
|
+
[[106], 5]
|
|
9345
9344
|
]
|
|
9346
9345
|
]],
|
|
9347
|
-
["bu", [[[[
|
|
9348
|
-
["bd", [[[[
|
|
9349
|
-
["au", [[[[
|
|
9350
|
-
["ad", [[[[
|
|
9351
|
-
["ch", [[[[
|
|
9346
|
+
["bu", [[[[106], 1]]]],
|
|
9347
|
+
["bd", [[[[106], 1]]]],
|
|
9348
|
+
["au", [[[[106], 1]]]],
|
|
9349
|
+
["ad", [[[[106], 1]]]],
|
|
9350
|
+
["ch", [[[[107, 100], 0]]]],
|
|
9352
9351
|
["gr", [[[
|
|
9353
|
-
[
|
|
9352
|
+
[100, 107],
|
|
9354
9353
|
1,
|
|
9355
9354
|
[
|
|
9356
9355
|
"onbeat",
|
|
@@ -9362,7 +9361,7 @@
|
|
|
9362
9361
|
]
|
|
9363
9362
|
]]]],
|
|
9364
9363
|
["dy", [[[
|
|
9365
|
-
[
|
|
9364
|
+
[100, 107],
|
|
9366
9365
|
0,
|
|
9367
9366
|
[
|
|
9368
9367
|
"ppp",
|
|
@@ -9393,33 +9392,33 @@
|
|
|
9393
9392
|
"sfzp"
|
|
9394
9393
|
]
|
|
9395
9394
|
]]]],
|
|
9396
|
-
["tempo", [[[[
|
|
9397
|
-
[
|
|
9395
|
+
["tempo", [[[[106], 0], [
|
|
9396
|
+
[100],
|
|
9398
9397
|
1,
|
|
9399
9398
|
["hide"]
|
|
9400
9399
|
]], [
|
|
9401
|
-
[[
|
|
9402
|
-
[[
|
|
9400
|
+
[[106], 0],
|
|
9401
|
+
[[107], 0],
|
|
9403
9402
|
[
|
|
9404
|
-
[
|
|
9403
|
+
[100],
|
|
9405
9404
|
1,
|
|
9406
9405
|
["hide"]
|
|
9407
9406
|
]
|
|
9408
9407
|
]]],
|
|
9409
|
-
["volume", [[[[
|
|
9410
|
-
["balance", [[[[
|
|
9411
|
-
["tp", [[[[
|
|
9412
|
-
[
|
|
9408
|
+
["volume", [[[[106], 0]]]],
|
|
9409
|
+
["balance", [[[[106], 0]]]],
|
|
9410
|
+
["tp", [[[[106], 0], [
|
|
9411
|
+
[100, 107],
|
|
9413
9412
|
1,
|
|
9414
9413
|
["default", "buzzroll"]
|
|
9415
9414
|
]]]],
|
|
9416
|
-
["barre", [[[[
|
|
9417
|
-
[
|
|
9415
|
+
["barre", [[[[106], 0], [
|
|
9416
|
+
[100, 107],
|
|
9418
9417
|
1,
|
|
9419
9418
|
["full", "half"]
|
|
9420
9419
|
]]]],
|
|
9421
9420
|
["rasg", [[[
|
|
9422
|
-
[
|
|
9421
|
+
[100, 107],
|
|
9423
9422
|
0,
|
|
9424
9423
|
[
|
|
9425
9424
|
"ii",
|
|
@@ -9443,7 +9442,7 @@
|
|
|
9443
9442
|
]
|
|
9444
9443
|
]]]],
|
|
9445
9444
|
["ot", [[[
|
|
9446
|
-
[
|
|
9445
|
+
[100, 107],
|
|
9447
9446
|
0,
|
|
9448
9447
|
[
|
|
9449
9448
|
"15ma",
|
|
@@ -9458,26 +9457,26 @@
|
|
|
9458
9457
|
]
|
|
9459
9458
|
]]]],
|
|
9460
9459
|
["instrument", [
|
|
9461
|
-
[[[
|
|
9462
|
-
[[[
|
|
9460
|
+
[[[106], 0]],
|
|
9461
|
+
[[[107, 100], 0]],
|
|
9463
9462
|
[[
|
|
9464
|
-
[
|
|
9463
|
+
[100],
|
|
9465
9464
|
0,
|
|
9466
9465
|
["percussion"]
|
|
9467
9466
|
]]
|
|
9468
9467
|
]],
|
|
9469
|
-
["bank", [[[[
|
|
9468
|
+
["bank", [[[[106], 0]]]],
|
|
9470
9469
|
["fermata", [[[
|
|
9471
|
-
[
|
|
9470
|
+
[100, 107],
|
|
9472
9471
|
0,
|
|
9473
9472
|
[
|
|
9474
9473
|
"short",
|
|
9475
9474
|
"medium",
|
|
9476
9475
|
"long"
|
|
9477
9476
|
]
|
|
9478
|
-
], [[
|
|
9477
|
+
], [[106], 3]]]],
|
|
9479
9478
|
["beam", [[[
|
|
9480
|
-
[
|
|
9479
|
+
[100, 107],
|
|
9481
9480
|
0,
|
|
9482
9481
|
[
|
|
9483
9482
|
"invert",
|
|
@@ -9488,15 +9487,16 @@
|
|
|
9488
9487
|
"merge",
|
|
9489
9488
|
"splitsecondary"
|
|
9490
9489
|
]
|
|
9491
|
-
]]]]
|
|
9490
|
+
]]]],
|
|
9491
|
+
["restdisplaypitch", [[[[100], 0]]]]
|
|
9492
9492
|
]);
|
|
9493
9493
|
static noteProperties = AlphaTex1LanguageDefinitions._props([
|
|
9494
9494
|
["nh", null],
|
|
9495
|
-
["ah", [[[[
|
|
9496
|
-
["th", [[[[
|
|
9497
|
-
["ph", [[[[
|
|
9498
|
-
["sh", [[[[
|
|
9499
|
-
["fh", [[[[
|
|
9495
|
+
["ah", [[[[106], 1]]]],
|
|
9496
|
+
["th", [[[[106], 1]]]],
|
|
9497
|
+
["ph", [[[[106], 1]]]],
|
|
9498
|
+
["sh", [[[[106], 1]]]],
|
|
9499
|
+
["fh", [[[[106], 1]]]],
|
|
9500
9500
|
["v", null],
|
|
9501
9501
|
["vw", null],
|
|
9502
9502
|
["sl", null],
|
|
@@ -9513,8 +9513,8 @@
|
|
|
9513
9513
|
["ac", null],
|
|
9514
9514
|
["hac", null],
|
|
9515
9515
|
["ten", null],
|
|
9516
|
-
["tr", [[[[
|
|
9517
|
-
[
|
|
9516
|
+
["tr", [[[[106], 0], [
|
|
9517
|
+
[106],
|
|
9518
9518
|
1,
|
|
9519
9519
|
[
|
|
9520
9520
|
"16",
|
|
@@ -9534,9 +9534,9 @@
|
|
|
9534
9534
|
["string", null],
|
|
9535
9535
|
["hide", null],
|
|
9536
9536
|
["b", [
|
|
9537
|
-
[[[
|
|
9537
|
+
[[[106], 5]],
|
|
9538
9538
|
[[
|
|
9539
|
-
[
|
|
9539
|
+
[100, 107],
|
|
9540
9540
|
0,
|
|
9541
9541
|
[
|
|
9542
9542
|
"custom",
|
|
@@ -9548,19 +9548,19 @@
|
|
|
9548
9548
|
"prebendbend",
|
|
9549
9549
|
"prebendrelease"
|
|
9550
9550
|
]
|
|
9551
|
-
], [[
|
|
9551
|
+
], [[106], 5]],
|
|
9552
9552
|
[[
|
|
9553
|
-
[
|
|
9553
|
+
[100, 107],
|
|
9554
9554
|
0,
|
|
9555
9555
|
[
|
|
9556
9556
|
"default",
|
|
9557
9557
|
"gradual",
|
|
9558
9558
|
"fast"
|
|
9559
9559
|
]
|
|
9560
|
-
], [[
|
|
9560
|
+
], [[106], 5]],
|
|
9561
9561
|
[
|
|
9562
9562
|
[
|
|
9563
|
-
[
|
|
9563
|
+
[100, 107],
|
|
9564
9564
|
0,
|
|
9565
9565
|
[
|
|
9566
9566
|
"custom",
|
|
@@ -9574,7 +9574,7 @@
|
|
|
9574
9574
|
]
|
|
9575
9575
|
],
|
|
9576
9576
|
[
|
|
9577
|
-
[
|
|
9577
|
+
[100, 107],
|
|
9578
9578
|
0,
|
|
9579
9579
|
[
|
|
9580
9580
|
"default",
|
|
@@ -9582,13 +9582,13 @@
|
|
|
9582
9582
|
"fast"
|
|
9583
9583
|
]
|
|
9584
9584
|
],
|
|
9585
|
-
[[
|
|
9585
|
+
[[106], 5]
|
|
9586
9586
|
]
|
|
9587
9587
|
]],
|
|
9588
9588
|
["be", [
|
|
9589
|
-
[[[
|
|
9589
|
+
[[[106], 5]],
|
|
9590
9590
|
[[
|
|
9591
|
-
[
|
|
9591
|
+
[100, 107],
|
|
9592
9592
|
0,
|
|
9593
9593
|
[
|
|
9594
9594
|
"custom",
|
|
@@ -9600,19 +9600,19 @@
|
|
|
9600
9600
|
"prebendbend",
|
|
9601
9601
|
"prebendrelease"
|
|
9602
9602
|
]
|
|
9603
|
-
], [[
|
|
9603
|
+
], [[106], 5]],
|
|
9604
9604
|
[[
|
|
9605
|
-
[
|
|
9605
|
+
[100, 107],
|
|
9606
9606
|
0,
|
|
9607
9607
|
[
|
|
9608
9608
|
"default",
|
|
9609
9609
|
"gradual",
|
|
9610
9610
|
"fast"
|
|
9611
9611
|
]
|
|
9612
|
-
], [[
|
|
9612
|
+
], [[106], 5]],
|
|
9613
9613
|
[
|
|
9614
9614
|
[
|
|
9615
|
-
[
|
|
9615
|
+
[100, 107],
|
|
9616
9616
|
0,
|
|
9617
9617
|
[
|
|
9618
9618
|
"custom",
|
|
@@ -9626,7 +9626,7 @@
|
|
|
9626
9626
|
]
|
|
9627
9627
|
],
|
|
9628
9628
|
[
|
|
9629
|
-
[
|
|
9629
|
+
[100, 107],
|
|
9630
9630
|
0,
|
|
9631
9631
|
[
|
|
9632
9632
|
"default",
|
|
@@ -9634,11 +9634,11 @@
|
|
|
9634
9634
|
"fast"
|
|
9635
9635
|
]
|
|
9636
9636
|
],
|
|
9637
|
-
[[
|
|
9637
|
+
[[106], 5]
|
|
9638
9638
|
]
|
|
9639
9639
|
]],
|
|
9640
9640
|
["lf", [[[
|
|
9641
|
-
[
|
|
9641
|
+
[106],
|
|
9642
9642
|
0,
|
|
9643
9643
|
[
|
|
9644
9644
|
"1",
|
|
@@ -9649,7 +9649,7 @@
|
|
|
9649
9649
|
]
|
|
9650
9650
|
]]]],
|
|
9651
9651
|
["rf", [[[
|
|
9652
|
-
[
|
|
9652
|
+
[106],
|
|
9653
9653
|
0,
|
|
9654
9654
|
[
|
|
9655
9655
|
"1",
|
|
@@ -9660,7 +9660,7 @@
|
|
|
9660
9660
|
]
|
|
9661
9661
|
]]]],
|
|
9662
9662
|
["acc", [[[
|
|
9663
|
-
[
|
|
9663
|
+
[100, 107],
|
|
9664
9664
|
0,
|
|
9665
9665
|
[
|
|
9666
9666
|
"default",
|
|
@@ -9680,7 +9680,7 @@
|
|
|
9680
9680
|
"bb"
|
|
9681
9681
|
]
|
|
9682
9682
|
]]]],
|
|
9683
|
-
["slur", [[[[
|
|
9683
|
+
["slur", [[[[107], 0]], [[[100], 0]]]],
|
|
9684
9684
|
["-", null]
|
|
9685
9685
|
]);
|
|
9686
9686
|
};
|
|
@@ -9701,20 +9701,21 @@
|
|
|
9701
9701
|
AlphaTexNodeType[AlphaTexNodeType["RParen"] = 7] = "RParen";
|
|
9702
9702
|
AlphaTexNodeType[AlphaTexNodeType["Colon"] = 8] = "Colon";
|
|
9703
9703
|
AlphaTexNodeType[AlphaTexNodeType["Asterisk"] = 9] = "Asterisk";
|
|
9704
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9705
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9706
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9707
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9708
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9709
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9710
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9711
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9712
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9713
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9714
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9715
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9716
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9717
|
-
AlphaTexNodeType[AlphaTexNodeType["
|
|
9704
|
+
AlphaTexNodeType[AlphaTexNodeType["At"] = 10] = "At";
|
|
9705
|
+
AlphaTexNodeType[AlphaTexNodeType["Ident"] = 100] = "Ident";
|
|
9706
|
+
AlphaTexNodeType[AlphaTexNodeType["Tag"] = 101] = "Tag";
|
|
9707
|
+
AlphaTexNodeType[AlphaTexNodeType["Meta"] = 102] = "Meta";
|
|
9708
|
+
AlphaTexNodeType[AlphaTexNodeType["Arguments"] = 103] = "Arguments";
|
|
9709
|
+
AlphaTexNodeType[AlphaTexNodeType["Props"] = 104] = "Props";
|
|
9710
|
+
AlphaTexNodeType[AlphaTexNodeType["Prop"] = 105] = "Prop";
|
|
9711
|
+
AlphaTexNodeType[AlphaTexNodeType["Number"] = 106] = "Number";
|
|
9712
|
+
AlphaTexNodeType[AlphaTexNodeType["String"] = 107] = "String";
|
|
9713
|
+
AlphaTexNodeType[AlphaTexNodeType["Score"] = 200] = "Score";
|
|
9714
|
+
AlphaTexNodeType[AlphaTexNodeType["Bar"] = 201] = "Bar";
|
|
9715
|
+
AlphaTexNodeType[AlphaTexNodeType["Beat"] = 202] = "Beat";
|
|
9716
|
+
AlphaTexNodeType[AlphaTexNodeType["Duration"] = 203] = "Duration";
|
|
9717
|
+
AlphaTexNodeType[AlphaTexNodeType["NoteList"] = 204] = "NoteList";
|
|
9718
|
+
AlphaTexNodeType[AlphaTexNodeType["Note"] = 205] = "Note";
|
|
9718
9719
|
return AlphaTexNodeType;
|
|
9719
9720
|
}({});
|
|
9720
9721
|
//#endregion
|
|
@@ -10335,6 +10336,7 @@
|
|
|
10335
10336
|
[125, (l) => l._token({ nodeType: AlphaTexNodeType.RBrace })],
|
|
10336
10337
|
[124, (l) => l._token({ nodeType: AlphaTexNodeType.Pipe })],
|
|
10337
10338
|
[42, (l) => l._token({ nodeType: AlphaTexNodeType.Asterisk })],
|
|
10339
|
+
[64, (l) => l._token({ nodeType: AlphaTexNodeType.At })],
|
|
10338
10340
|
[92, (l) => l._metaCommand()],
|
|
10339
10341
|
[9, (l) => l._whitespace()],
|
|
10340
10342
|
[10, (l) => l._whitespace()],
|
|
@@ -10905,12 +10907,12 @@
|
|
|
10905
10907
|
start: noteValue.start
|
|
10906
10908
|
};
|
|
10907
10909
|
try {
|
|
10908
|
-
let
|
|
10910
|
+
let canHaveStringDot = false;
|
|
10909
10911
|
switch (noteValue.nodeType) {
|
|
10910
10912
|
case AlphaTexNodeType.Number:
|
|
10911
10913
|
note.noteValue = noteValue;
|
|
10912
10914
|
this.lexer.advance();
|
|
10913
|
-
|
|
10915
|
+
canHaveStringDot = true;
|
|
10914
10916
|
break;
|
|
10915
10917
|
case AlphaTexNodeType.String:
|
|
10916
10918
|
note.noteValue = noteValue;
|
|
@@ -10918,7 +10920,7 @@
|
|
|
10918
10920
|
switch (note.noteValue.text) {
|
|
10919
10921
|
case "x":
|
|
10920
10922
|
case "-":
|
|
10921
|
-
|
|
10923
|
+
canHaveStringDot = true;
|
|
10922
10924
|
break;
|
|
10923
10925
|
}
|
|
10924
10926
|
break;
|
|
@@ -10928,7 +10930,7 @@
|
|
|
10928
10930
|
switch (note.noteValue.text) {
|
|
10929
10931
|
case "x":
|
|
10930
10932
|
case "-":
|
|
10931
|
-
|
|
10933
|
+
canHaveStringDot = true;
|
|
10932
10934
|
break;
|
|
10933
10935
|
}
|
|
10934
10936
|
break;
|
|
@@ -10940,25 +10942,23 @@
|
|
|
10940
10942
|
], true);
|
|
10941
10943
|
return;
|
|
10942
10944
|
}
|
|
10943
|
-
|
|
10944
|
-
|
|
10945
|
-
|
|
10946
|
-
|
|
10945
|
+
const separator = this.lexer.peekToken();
|
|
10946
|
+
if (canHaveStringDot && separator?.nodeType === AlphaTexNodeType.Dot || separator?.nodeType === AlphaTexNodeType.At) {
|
|
10947
|
+
const noteStringSeparator = separator;
|
|
10948
|
+
this.lexer.advance();
|
|
10949
|
+
const noteString = this.lexer.peekToken();
|
|
10950
|
+
if (!noteString) {
|
|
10951
|
+
this.unexpectedToken(noteString, [AlphaTexNodeType.Number], true);
|
|
10952
|
+
return;
|
|
10953
|
+
}
|
|
10954
|
+
if (noteString.nodeType === AlphaTexNodeType.Tag) return note;
|
|
10955
|
+
else if (noteString.nodeType === AlphaTexNodeType.Number) {
|
|
10956
|
+
note.noteStringSeparator = noteStringSeparator;
|
|
10957
|
+
note.noteString = noteString;
|
|
10947
10958
|
this.lexer.advance();
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
return;
|
|
10952
|
-
}
|
|
10953
|
-
if (noteString.nodeType === AlphaTexNodeType.Tag) return note;
|
|
10954
|
-
else if (noteString.nodeType === AlphaTexNodeType.Number) {
|
|
10955
|
-
note.noteStringDot = noteStringDot;
|
|
10956
|
-
note.noteString = noteString;
|
|
10957
|
-
this.lexer.advance();
|
|
10958
|
-
} else {
|
|
10959
|
-
this.unexpectedToken(noteString, [AlphaTexNodeType.Number], true);
|
|
10960
|
-
return;
|
|
10961
|
-
}
|
|
10959
|
+
} else {
|
|
10960
|
+
this.unexpectedToken(noteString, [AlphaTexNodeType.Number], true);
|
|
10961
|
+
return;
|
|
10962
10962
|
}
|
|
10963
10963
|
}
|
|
10964
10964
|
note.noteEffects = this._properties((property) => this._metaDataReader.readNotePropertyArguments(this, property));
|
|
@@ -12682,12 +12682,18 @@
|
|
|
12682
12682
|
return this._filledVoices;
|
|
12683
12683
|
}
|
|
12684
12684
|
finish(settings, sharedDataBag = null) {
|
|
12685
|
+
this.stringTuning.finish();
|
|
12685
12686
|
if (this.isPercussion) {
|
|
12686
|
-
this.stringTuning.tunings = [];
|
|
12687
|
-
this.showTablature = false;
|
|
12688
12687
|
this.displayTranspositionPitch = 0;
|
|
12688
|
+
this.stringTuning.tunings = [
|
|
12689
|
+
0,
|
|
12690
|
+
0,
|
|
12691
|
+
0,
|
|
12692
|
+
0,
|
|
12693
|
+
0,
|
|
12694
|
+
0
|
|
12695
|
+
];
|
|
12689
12696
|
}
|
|
12690
|
-
this.stringTuning.finish();
|
|
12691
12697
|
if (this.stringTuning.tunings.length === 0) this.showTablature = false;
|
|
12692
12698
|
for (let i = 0, j = this.bars.length; i < j; i++) {
|
|
12693
12699
|
this.bars[i].finish(settings, sharedDataBag);
|
|
@@ -13677,7 +13683,10 @@
|
|
|
13677
13683
|
case AlphaTexNodeType.String:
|
|
13678
13684
|
const instrumentName = args.arguments[0].text.toLowerCase();
|
|
13679
13685
|
if (instrumentName === "percussion") {
|
|
13680
|
-
for (const staff of track.staves)
|
|
13686
|
+
for (const staff of track.staves) {
|
|
13687
|
+
staff.showTablature = false;
|
|
13688
|
+
importer.applyStaffNoteKind(staff, AlphaTexStaffNoteKind.Articulation);
|
|
13689
|
+
}
|
|
13681
13690
|
track.playbackInfo.primaryChannel = SynthConstants.PercussionChannel;
|
|
13682
13691
|
track.playbackInfo.secondaryChannel = SynthConstants.PercussionChannel;
|
|
13683
13692
|
} else track.playbackInfo.program = GeneralMidi.getValue(instrumentName);
|
|
@@ -15608,10 +15617,10 @@
|
|
|
15608
15617
|
_note(beat, node) {
|
|
15609
15618
|
let isDead = false;
|
|
15610
15619
|
let isTie = false;
|
|
15611
|
-
let numericValue =
|
|
15620
|
+
let numericValue = NaN;
|
|
15612
15621
|
let articulationValue = "";
|
|
15613
|
-
let octave =
|
|
15614
|
-
let tone =
|
|
15622
|
+
let octave = NaN;
|
|
15623
|
+
let tone = NaN;
|
|
15615
15624
|
let accidentalMode = NoteAccidentalMode.Default;
|
|
15616
15625
|
const noteValue = node.noteValue;
|
|
15617
15626
|
let detectedNoteKind = void 0;
|
|
@@ -15629,7 +15638,7 @@
|
|
|
15629
15638
|
isTie = str === "-";
|
|
15630
15639
|
if (isTie || isDead) {
|
|
15631
15640
|
numericValue = 0;
|
|
15632
|
-
if (node.
|
|
15641
|
+
if (node.noteStringSeparator && node.noteString) detectedNoteKind = AlphaTexStaffNoteKind.Fretted;
|
|
15633
15642
|
else detectedNoteKind = void 0;
|
|
15634
15643
|
} else {
|
|
15635
15644
|
const tuning = ModelUtils.parseTuning(str);
|
|
@@ -15697,18 +15706,18 @@
|
|
|
15697
15706
|
});
|
|
15698
15707
|
return;
|
|
15699
15708
|
}
|
|
15700
|
-
const
|
|
15701
|
-
if (
|
|
15709
|
+
const frettedNoteString = node.noteString.value;
|
|
15710
|
+
if (frettedNoteString < 1 || frettedNoteString > this._state.currentStaff.tuning.length) {
|
|
15702
15711
|
this.addSemanticDiagnostic({
|
|
15703
15712
|
code: AlphaTexDiagnosticCode.AT208,
|
|
15704
15713
|
message: `Note string is out of range. Available range: 1-${this._state.currentStaff.tuning.length}`,
|
|
15705
15714
|
severity: AlphaTexDiagnosticsSeverity.Error,
|
|
15706
|
-
start:
|
|
15707
|
-
end:
|
|
15715
|
+
start: node.noteString.start,
|
|
15716
|
+
end: node.noteString.end
|
|
15708
15717
|
});
|
|
15709
15718
|
return;
|
|
15710
15719
|
}
|
|
15711
|
-
note.string = this._state.currentStaff.tuning.length - (
|
|
15720
|
+
note.string = this._state.currentStaff.tuning.length - (frettedNoteString - 1);
|
|
15712
15721
|
if (!isTie) note.fret = numericValue;
|
|
15713
15722
|
break;
|
|
15714
15723
|
case AlphaTexStaffNoteKind.Articulation:
|
|
@@ -15735,6 +15744,29 @@
|
|
|
15735
15744
|
this._state.articulationUniqueIdToIndex.set(articulationValue, articulationIndex);
|
|
15736
15745
|
}
|
|
15737
15746
|
note.percussionArticulation = articulationIndex;
|
|
15747
|
+
if (node.noteString) {
|
|
15748
|
+
const percussionNoteString = node.noteString.value;
|
|
15749
|
+
if (percussionNoteString < 1 || percussionNoteString > this._state.currentStaff.tuning.length) {
|
|
15750
|
+
this.addSemanticDiagnostic({
|
|
15751
|
+
code: AlphaTexDiagnosticCode.AT208,
|
|
15752
|
+
message: `Note string is out of range. Available range: 1-${this._state.currentStaff.tuning.length}`,
|
|
15753
|
+
severity: AlphaTexDiagnosticsSeverity.Error,
|
|
15754
|
+
start: node.noteString.start,
|
|
15755
|
+
end: node.noteString.end
|
|
15756
|
+
});
|
|
15757
|
+
return;
|
|
15758
|
+
}
|
|
15759
|
+
note.string = this._state.currentStaff.tuning.length - (percussionNoteString - 1);
|
|
15760
|
+
} else {
|
|
15761
|
+
for (let i = 0; i < this._state.currentStaff.tuning.length; i++) {
|
|
15762
|
+
const s = this._state.currentStaff.tuning.length - i;
|
|
15763
|
+
if (!beat.noteStringLookup.has(s)) {
|
|
15764
|
+
note.string = s;
|
|
15765
|
+
break;
|
|
15766
|
+
}
|
|
15767
|
+
}
|
|
15768
|
+
if (Number.isNaN(note.string)) note.string = this._state.currentStaff.tuning.length;
|
|
15769
|
+
}
|
|
15738
15770
|
break;
|
|
15739
15771
|
}
|
|
15740
15772
|
beat.addNote(note);
|
|
@@ -15752,6 +15784,7 @@
|
|
|
15752
15784
|
switch (staffNoteKind) {
|
|
15753
15785
|
case AlphaTexStaffNoteKind.Pitched:
|
|
15754
15786
|
staff.isPercussion = false;
|
|
15787
|
+
staff.showTablature = false;
|
|
15755
15788
|
staff.stringTuning.reset();
|
|
15756
15789
|
if (!this._state.staffHasExplicitDisplayTransposition.has(staff)) staff.displayTranspositionPitch = 0;
|
|
15757
15790
|
break;
|
|
@@ -15763,6 +15796,14 @@
|
|
|
15763
15796
|
case AlphaTexStaffNoteKind.Articulation:
|
|
15764
15797
|
staff.isPercussion = true;
|
|
15765
15798
|
staff.stringTuning.reset();
|
|
15799
|
+
staff.stringTuning.tunings = [
|
|
15800
|
+
0,
|
|
15801
|
+
0,
|
|
15802
|
+
0,
|
|
15803
|
+
0,
|
|
15804
|
+
0,
|
|
15805
|
+
0
|
|
15806
|
+
];
|
|
15766
15807
|
if (!this._state.staffHasExplicitDisplayTransposition.has(staff)) staff.displayTranspositionPitch = 0;
|
|
15767
15808
|
break;
|
|
15768
15809
|
}
|
|
@@ -15799,7 +15840,15 @@
|
|
|
15799
15840
|
const program = staff.track.playbackInfo.program;
|
|
15800
15841
|
if (!this._state.staffTuningApplied.has(staff) && !this._state.staffHasExplicitTuning.has(staff)) {
|
|
15801
15842
|
staff.stringTuning.reset();
|
|
15802
|
-
if (
|
|
15843
|
+
if (staff.isPercussion) staff.stringTuning.tunings = [
|
|
15844
|
+
0,
|
|
15845
|
+
0,
|
|
15846
|
+
0,
|
|
15847
|
+
0,
|
|
15848
|
+
0,
|
|
15849
|
+
0
|
|
15850
|
+
];
|
|
15851
|
+
else if (program === 15) staff.stringTuning.tunings = Tuning.getDefaultTuningFor(6).tunings;
|
|
15803
15852
|
else if (program >= 24 && program <= 31) staff.stringTuning.tunings = Tuning.getDefaultTuningFor(6).tunings;
|
|
15804
15853
|
else if (program >= 32 && program <= 39) {
|
|
15805
15854
|
staff.stringTuning.tunings = [
|
|
@@ -15991,7 +16040,6 @@
|
|
|
15991
16040
|
}
|
|
15992
16041
|
applyPercussionStaff(staff) {
|
|
15993
16042
|
staff.isPercussion = true;
|
|
15994
|
-
staff.showTablature = false;
|
|
15995
16043
|
staff.track.playbackInfo.program = 0;
|
|
15996
16044
|
}
|
|
15997
16045
|
startNewTrack() {
|
|
@@ -18821,8 +18869,7 @@
|
|
|
18821
18869
|
if ((flags & 8) !== 0) this.readNoteEffects(track, voice, beat, newNote);
|
|
18822
18870
|
if (bar.staff.isPercussion) {
|
|
18823
18871
|
newNote.percussionArticulation = Gp3To5Importer._gp5PercussionInstrumentMap.has(newNote.fret) ? Gp3To5Importer._gp5PercussionInstrumentMap.get(newNote.fret) : newNote.fret;
|
|
18824
|
-
newNote.
|
|
18825
|
-
newNote.fret = -1;
|
|
18872
|
+
newNote.fret = NaN;
|
|
18826
18873
|
}
|
|
18827
18874
|
if (swapAccidentals) {
|
|
18828
18875
|
const accidental = ModelUtils.computeAccidental(bar.keySignature, NoteAccidentalMode.Default, newNote.realValueWithoutHarmonic, false);
|
|
@@ -20027,8 +20074,6 @@
|
|
|
20027
20074
|
this._articulationByName = /* @__PURE__ */ new Map();
|
|
20028
20075
|
const track = new Track();
|
|
20029
20076
|
track.ensureStaveCount(1);
|
|
20030
|
-
const staff = track.staves[0];
|
|
20031
|
-
staff.showStandardNotation = true;
|
|
20032
20077
|
const trackId = node.getAttribute("id");
|
|
20033
20078
|
for (const c of node.childElements()) switch (c.localName) {
|
|
20034
20079
|
case "Name":
|
|
@@ -20291,7 +20336,6 @@
|
|
|
20291
20336
|
staff.stringTuning.name = c.innerText;
|
|
20292
20337
|
break;
|
|
20293
20338
|
}
|
|
20294
|
-
if (!staff.isPercussion) staff.showTablature = true;
|
|
20295
20339
|
break;
|
|
20296
20340
|
case "DiagramCollection":
|
|
20297
20341
|
case "ChordCollection":
|
|
@@ -20425,11 +20469,7 @@
|
|
|
20425
20469
|
const tuningParts = GpifParser._splitSafe(node.findChildElement("Pitches")?.innerText);
|
|
20426
20470
|
const tuning = new Array(tuningParts.length);
|
|
20427
20471
|
for (let i = 0; i < tuning.length; i++) tuning[tuning.length - 1 - i] = GpifParser._parseIntSafe(tuningParts[i], 0);
|
|
20428
|
-
for (const staff of track.staves)
|
|
20429
|
-
staff.stringTuning.tunings = tuning;
|
|
20430
|
-
staff.showStandardNotation = true;
|
|
20431
|
-
staff.showTablature = true;
|
|
20432
|
-
}
|
|
20472
|
+
for (const staff of track.staves) staff.stringTuning.tunings = tuning;
|
|
20433
20473
|
break;
|
|
20434
20474
|
case "DiagramCollection":
|
|
20435
20475
|
case "ChordCollection":
|
|
@@ -21449,7 +21489,7 @@
|
|
|
21449
21489
|
break;
|
|
21450
21490
|
case "Octave":
|
|
21451
21491
|
note.octave = GpifParser._parseIntSafe(c.findChildElement("Number")?.innerText, 0);
|
|
21452
|
-
if (note.tone
|
|
21492
|
+
if (Number.isNaN(note.tone)) note.tone = 0;
|
|
21453
21493
|
break;
|
|
21454
21494
|
case "Tone":
|
|
21455
21495
|
note.tone = GpifParser._parseIntSafe(c.findChildElement("Step")?.innerText, 0);
|
|
@@ -21665,10 +21705,8 @@
|
|
|
21665
21705
|
if (this._notesOfBeat.has(beatId)) {
|
|
21666
21706
|
for (const noteId of this._notesOfBeat.get(beatId)) if (noteId !== GpifParser._invalidId) {
|
|
21667
21707
|
const note = NoteCloner.clone(this._noteById.get(noteId));
|
|
21668
|
-
if (staff.isPercussion)
|
|
21669
|
-
|
|
21670
|
-
note.string = -1;
|
|
21671
|
-
} else note.percussionArticulation = -1;
|
|
21708
|
+
if (staff.isPercussion) note.fret = NaN;
|
|
21709
|
+
else note.percussionArticulation = NaN;
|
|
21672
21710
|
beat.addNote(note);
|
|
21673
21711
|
if (this._tappedNotes.has(noteId)) beat.tap = true;
|
|
21674
21712
|
}
|
|
@@ -21768,7 +21806,7 @@
|
|
|
21768
21806
|
if (trackIndex < score.tracks.length) {
|
|
21769
21807
|
const track = score.tracks[trackIndex];
|
|
21770
21808
|
for (const staff of track.staves) {
|
|
21771
|
-
|
|
21809
|
+
staff.showTablature = trackConfig.showTablature;
|
|
21772
21810
|
staff.showStandardNotation = trackConfig.showStandardNotation;
|
|
21773
21811
|
staff.showSlash = trackConfig.showSlash;
|
|
21774
21812
|
staff.showNumbered = trackConfig.showNumbered;
|
|
@@ -23732,7 +23770,10 @@
|
|
|
23732
23770
|
break;
|
|
23733
23771
|
case "percussion":
|
|
23734
23772
|
bar.clef = Clef.Neutral;
|
|
23735
|
-
if (bar.index === 0)
|
|
23773
|
+
if (bar.index === 0) {
|
|
23774
|
+
bar.staff.isPercussion = true;
|
|
23775
|
+
bar.staff.showTablature = false;
|
|
23776
|
+
}
|
|
23736
23777
|
break;
|
|
23737
23778
|
case "tab":
|
|
23738
23779
|
bar.clef = Clef.G2;
|
|
@@ -42468,6 +42509,7 @@
|
|
|
42468
42509
|
play() {
|
|
42469
42510
|
super.play();
|
|
42470
42511
|
const ctx = this.context;
|
|
42512
|
+
if (this._pendingEvents) this._pendingEvents = void 0;
|
|
42471
42513
|
BrowserUiFacade.createAlphaSynthAudioWorklet(ctx, this._settings).then(() => {
|
|
42472
42514
|
this._worklet = new AudioWorkletNode(ctx, "alphatab", {
|
|
42473
42515
|
numberOfOutputs: 1,
|
|
@@ -44231,8 +44273,8 @@
|
|
|
44231
44273
|
}
|
|
44232
44274
|
const interval = MidiUtils.toTicks(initialDuration);
|
|
44233
44275
|
if (audioDuration !== interval) return null;
|
|
44234
|
-
if (beatStart % interval !== 0) return null;
|
|
44235
|
-
if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.playbackDuration !== interval) return null;
|
|
44276
|
+
if (beatStart % (interval * 2) !== 0) return null;
|
|
44277
|
+
if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.nextBeat.playbackDuration !== interval || beat.nextBeat.playbackStart !== beatStart + interval) return null;
|
|
44236
44278
|
const durations = new TripletFeelDurations();
|
|
44237
44279
|
switch (beat.voice.bar.masterBar.tripletFeel) {
|
|
44238
44280
|
case TripletFeel.Triplet8th:
|
|
@@ -58831,8 +58873,15 @@
|
|
|
58831
58873
|
}
|
|
58832
58874
|
doLayout() {
|
|
58833
58875
|
const n = this._note;
|
|
58834
|
-
let fret
|
|
58835
|
-
if (n.
|
|
58876
|
+
let fret;
|
|
58877
|
+
if (n.isStringed) {
|
|
58878
|
+
fret = n.fret - n.beat.voice.bar.staff.transpositionPitch;
|
|
58879
|
+
if (n.harmonicType === HarmonicType.Natural && n.harmonicValue !== 0) fret = n.harmonicValue - n.beat.voice.bar.staff.transpositionPitch;
|
|
58880
|
+
} else {
|
|
58881
|
+
const articulation = PercussionMapper.getArticulation(n);
|
|
58882
|
+
if (articulation) fret = articulation.id;
|
|
58883
|
+
else fret = n.percussionArticulation;
|
|
58884
|
+
}
|
|
58836
58885
|
if (!n.isTieDestination) {
|
|
58837
58886
|
this._noteString = n.isDead ? "x" : fret.toString();
|
|
58838
58887
|
if (n.isGhost) this._noteString = `(${this._noteString})`;
|
|
@@ -65768,7 +65817,7 @@
|
|
|
65768
65817
|
const beat = this.container.beat;
|
|
65769
65818
|
const lineCount = this.renderer.bar.staff.standardNotationLineCount;
|
|
65770
65819
|
let steps;
|
|
65771
|
-
if (beat.restDisplayTone
|
|
65820
|
+
if (!Number.isNaN(beat.restDisplayTone) && !Number.isNaN(beat.restDisplayOctave)) steps = AccidentalHelper.calculateRestDisplaySteps(sr.bar, beat.restDisplayTone, beat.restDisplayOctave);
|
|
65772
65821
|
else {
|
|
65773
65822
|
steps = Math.ceil((lineCount - 1) / 2) * 2;
|
|
65774
65823
|
if (beat.duration === Duration.Whole && lineCount !== 1 && lineCount !== 3) steps -= 2;
|
|
@@ -67511,10 +67560,6 @@
|
|
|
67511
67560
|
get cascadePriority() {
|
|
67512
67561
|
return 1;
|
|
67513
67562
|
}
|
|
67514
|
-
constructor(effectBands) {
|
|
67515
|
-
super(effectBands);
|
|
67516
|
-
this.hideOnPercussionTrack = true;
|
|
67517
|
-
}
|
|
67518
67563
|
canCreate(track, staff) {
|
|
67519
67564
|
return staff.showTablature && staff.tuning.length > 0 && super.canCreate(track, staff);
|
|
67520
67565
|
}
|
|
@@ -68587,7 +68632,7 @@
|
|
|
68587
68632
|
_writeNote(n) {
|
|
68588
68633
|
this._writeComments(n.leadingComments);
|
|
68589
68634
|
this._writeValue(n.noteValue);
|
|
68590
|
-
this._writeToken(n.
|
|
68635
|
+
this._writeToken(n.noteStringSeparator, false);
|
|
68591
68636
|
this._writeValue(n.noteString);
|
|
68592
68637
|
if (n.noteEffects) this._writeProperties(n.noteEffects, false);
|
|
68593
68638
|
this._writeComments(n.trailingComments);
|
|
@@ -68731,6 +68776,9 @@
|
|
|
68731
68776
|
case AlphaTexNodeType.Dot:
|
|
68732
68777
|
this._writer.write(".");
|
|
68733
68778
|
break;
|
|
68779
|
+
case AlphaTexNodeType.At:
|
|
68780
|
+
this._writer.write("@");
|
|
68781
|
+
break;
|
|
68734
68782
|
case AlphaTexNodeType.Backslash:
|
|
68735
68783
|
this._writer.write("\\");
|
|
68736
68784
|
break;
|
|
@@ -68916,11 +68964,20 @@
|
|
|
68916
68964
|
text: ""
|
|
68917
68965
|
}
|
|
68918
68966
|
};
|
|
68919
|
-
if (data.isPercussion)
|
|
68920
|
-
|
|
68921
|
-
|
|
68922
|
-
|
|
68923
|
-
|
|
68967
|
+
if (data.isPercussion) {
|
|
68968
|
+
note.noteValue = {
|
|
68969
|
+
nodeType: AlphaTexNodeType.String,
|
|
68970
|
+
text: PercussionMapper.getArticulationName(data)
|
|
68971
|
+
};
|
|
68972
|
+
if (!Number.isNaN(data.string)) {
|
|
68973
|
+
note.noteStringSeparator = { nodeType: AlphaTexNodeType.At };
|
|
68974
|
+
const stringNumber = data.beat.voice.bar.staff.tuning.length - data.string + 1;
|
|
68975
|
+
note.noteString = {
|
|
68976
|
+
nodeType: AlphaTexNodeType.Number,
|
|
68977
|
+
value: stringNumber
|
|
68978
|
+
};
|
|
68979
|
+
}
|
|
68980
|
+
} else if (data.isPiano) note.noteValue = {
|
|
68924
68981
|
nodeType: AlphaTexNodeType.Ident,
|
|
68925
68982
|
text: Tuning.getTextForTuning(data.realValueWithoutHarmonic, true)
|
|
68926
68983
|
};
|
|
@@ -68929,7 +68986,7 @@
|
|
|
68929
68986
|
nodeType: AlphaTexNodeType.Number,
|
|
68930
68987
|
value: data.fret
|
|
68931
68988
|
};
|
|
68932
|
-
note.
|
|
68989
|
+
note.noteStringSeparator = { nodeType: AlphaTexNodeType.Dot };
|
|
68933
68990
|
const stringNumber = data.beat.voice.bar.staff.tuning.length - data.string + 1;
|
|
68934
68991
|
note.noteString = {
|
|
68935
68992
|
nodeType: AlphaTexNodeType.Number,
|
|
@@ -69501,6 +69558,7 @@
|
|
|
69501
69558
|
this._writeSimplePropertyNode(properties, "Midi", "Number", note.realValue.toString());
|
|
69502
69559
|
if (note.showStringNumber) this._writeSimplePropertyNode(properties, "ShowStringNumber", "Enable", null);
|
|
69503
69560
|
}
|
|
69561
|
+
if (note.isPercussion) this._writeSimplePropertyNode(properties, "String", "String", (note.string - 1).toString());
|
|
69504
69562
|
if (note.isPiano) {
|
|
69505
69563
|
this._writeSimplePropertyNode(properties, "Octave", "Number", note.octave.toString());
|
|
69506
69564
|
this._writeSimplePropertyNode(properties, "Tone", "Step", note.tone.toString());
|