abcjs 6.0.3 → 6.0.4
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/RELEASE.md +23 -1
- package/dist/abcjs-basic-min.js +2 -2
- package/dist/abcjs-basic.js +229 -22
- package/dist/abcjs-basic.js.map +1 -1
- package/dist/abcjs-plugin-min.js +2 -2
- package/package.json +1 -1
- package/src/parse/abc_parse.js +20 -9
- package/src/parse/abc_parse_music.js +1 -1
- package/src/synth/abc_midi_flattener.js +1 -1
- package/src/synth/create-note-map.js +4 -0
- package/src/test/abc_parser_lint.js +1 -1
- package/src/write/abc_abstract_engraver.js +12 -0
- package/src/write/abc_beam_element.js +24 -0
- package/src/write/abc_decoration.js +13 -0
- package/src/write/abc_glissando_element.js +7 -0
- package/src/write/draw/glissando.js +75 -0
- package/src/write/draw/voice.js +4 -0
- package/src/write/top-text.js +1 -1
- package/types/index.d.ts +12 -8
- package/version.js +1 -1
- package/temp.txt +0 -16
package/dist/abcjs-basic.js
CHANGED
|
@@ -3232,6 +3232,7 @@ var Parse = function Parse() {
|
|
|
3232
3232
|
|
|
3233
3233
|
var addWord = function addWord(i) {
|
|
3234
3234
|
var word = parseCommon.strip(words.substring(last_divider, i));
|
|
3235
|
+
word = word.replace(/\\([-_*|~])/g, '$1');
|
|
3235
3236
|
last_divider = i + 1;
|
|
3236
3237
|
|
|
3237
3238
|
if (word.length > 0) {
|
|
@@ -3249,15 +3250,17 @@ var Parse = function Parse() {
|
|
|
3249
3250
|
return false;
|
|
3250
3251
|
};
|
|
3251
3252
|
|
|
3253
|
+
var escNext = false;
|
|
3254
|
+
|
|
3252
3255
|
for (var i = 0; i < words.length; i++) {
|
|
3253
|
-
switch (words
|
|
3256
|
+
switch (words[i]) {
|
|
3254
3257
|
case ' ':
|
|
3255
3258
|
case '\x12':
|
|
3256
3259
|
addWord(i);
|
|
3257
3260
|
break;
|
|
3258
3261
|
|
|
3259
3262
|
case '-':
|
|
3260
|
-
if (!addWord(i) && word_list.length > 0) {
|
|
3263
|
+
if (!escNext && !addWord(i) && word_list.length > 0) {
|
|
3261
3264
|
parseCommon.last(word_list).divider = '-';
|
|
3262
3265
|
word_list.push({
|
|
3263
3266
|
skip: true,
|
|
@@ -3268,33 +3271,47 @@ var Parse = function Parse() {
|
|
|
3268
3271
|
break;
|
|
3269
3272
|
|
|
3270
3273
|
case '_':
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3274
|
+
if (!escNext) {
|
|
3275
|
+
addWord(i);
|
|
3276
|
+
word_list.push({
|
|
3277
|
+
skip: true,
|
|
3278
|
+
to: 'slur'
|
|
3279
|
+
});
|
|
3280
|
+
}
|
|
3281
|
+
|
|
3276
3282
|
break;
|
|
3277
3283
|
|
|
3278
3284
|
case '*':
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3285
|
+
if (!escNext) {
|
|
3286
|
+
addWord(i);
|
|
3287
|
+
word_list.push({
|
|
3288
|
+
skip: true,
|
|
3289
|
+
to: 'next'
|
|
3290
|
+
});
|
|
3291
|
+
}
|
|
3292
|
+
|
|
3284
3293
|
break;
|
|
3285
3294
|
|
|
3286
3295
|
case '|':
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3296
|
+
if (!escNext) {
|
|
3297
|
+
addWord(i);
|
|
3298
|
+
word_list.push({
|
|
3299
|
+
skip: true,
|
|
3300
|
+
to: 'bar'
|
|
3301
|
+
});
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3292
3304
|
break;
|
|
3293
3305
|
|
|
3294
3306
|
case '~':
|
|
3295
|
-
|
|
3307
|
+
if (!escNext) {
|
|
3308
|
+
replace = true;
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3296
3311
|
break;
|
|
3297
3312
|
}
|
|
3313
|
+
|
|
3314
|
+
escNext = words[i] === '\\';
|
|
3298
3315
|
}
|
|
3299
3316
|
|
|
3300
3317
|
var inSlur = false;
|
|
@@ -7985,7 +8002,7 @@ function durationOfMeasure(multilineVars) {
|
|
|
7985
8002
|
|
|
7986
8003
|
var legalAccents = ["trill", "lowermordent", "uppermordent", "mordent", "pralltriller", "accent", "fermata", "invertedfermata", "tenuto", "0", "1", "2", "3", "4", "5", "+", "wedge", "open", "thumb", "snap", "turn", "roll", "breath", "shortphrase", "mediumphrase", "longphrase", "segno", "coda", "D.S.", "D.C.", "fine", "beambr1", "beambr2", "slide", "marcato", "upbow", "downbow", "/", "//", "///", "////", "trem1", "trem2", "trem3", "trem4", "turnx", "invertedturn", "invertedturnx", "trill(", "trill)", "arpeggio", "xstem", "mark", "umarcato", "style=normal", "style=harmonic", "style=rhythm", "style=x", "style=triangle"];
|
|
7987
8004
|
var volumeDecorations = ["p", "pp", "f", "ff", "mf", "mp", "ppp", "pppp", "fff", "ffff", "sfz"];
|
|
7988
|
-
var dynamicDecorations = ["crescendo(", "crescendo)", "diminuendo(", "diminuendo)"];
|
|
8005
|
+
var dynamicDecorations = ["crescendo(", "crescendo)", "diminuendo(", "diminuendo)", "glissando(", "glissando)"];
|
|
7989
8006
|
var accentPseudonyms = [["<", "accent"], [">", "accent"], ["tr", "trill"], ["plus", "+"], ["emphasis", "accent"], ["^", "umarcato"], ["marcato", "umarcato"]];
|
|
7990
8007
|
var accentDynamicPseudonyms = [["<(", "crescendo("], ["<)", "crescendo)"], [">(", "diminuendo("], [">)", "diminuendo)"]];
|
|
7991
8008
|
|
|
@@ -12771,7 +12788,9 @@ var pitchesToPerc = __webpack_require__(/*! ./pitches-to-perc */ "./src/synth/pi
|
|
|
12771
12788
|
volume: velocity,
|
|
12772
12789
|
start: timeToRealTime(elem.time),
|
|
12773
12790
|
duration: durationRounded(note.duration),
|
|
12774
|
-
instrument: currentInstrument
|
|
12791
|
+
instrument: currentInstrument,
|
|
12792
|
+
startChar: elem.elem.startChar,
|
|
12793
|
+
endChar: elem.elem.endChar
|
|
12775
12794
|
};
|
|
12776
12795
|
p = adjustForMicroTone(p);
|
|
12777
12796
|
|
|
@@ -14844,6 +14863,8 @@ var createNoteMap = function createNoteMap(sequence) {
|
|
|
14844
14863
|
end: Math.round((ev.start + len - gap) * 1000000) / 1000000,
|
|
14845
14864
|
volume: ev.volume
|
|
14846
14865
|
};
|
|
14866
|
+
if (ev.startChar) obj.startChar = ev.startChar;
|
|
14867
|
+
if (ev.endChar) obj.endChar = ev.endChar;
|
|
14847
14868
|
if (ev.style) obj.style = ev.style;
|
|
14848
14869
|
if (ev.cents) obj.cents = ev.cents;
|
|
14849
14870
|
map[i].push(obj);
|
|
@@ -19354,6 +19375,15 @@ AbstractEngraver.prototype.createBeam = function (isSingleLineStaff, voice, elem
|
|
|
19354
19375
|
if (hint) beamelem.setHint();
|
|
19355
19376
|
|
|
19356
19377
|
for (var i = 0; i < elems.length; i++) {
|
|
19378
|
+
// Do a first pass to figure out the stem direction before creating the notes, so that staccatos and other decorations can be placed correctly.
|
|
19379
|
+
beamelem.runningDirection(elems[i]);
|
|
19380
|
+
}
|
|
19381
|
+
|
|
19382
|
+
beamelem.setStemDirection();
|
|
19383
|
+
var tempStemDir = this.stemdir;
|
|
19384
|
+
this.stemdir = beamelem.stemsUp ? 'up' : 'down';
|
|
19385
|
+
|
|
19386
|
+
for (i = 0; i < elems.length; i++) {
|
|
19357
19387
|
var elem = elems[i];
|
|
19358
19388
|
var abselem = this.createNote(elem, true, isSingleLineStaff, voice);
|
|
19359
19389
|
abselemset.push(abselem);
|
|
@@ -19368,6 +19398,7 @@ AbstractEngraver.prototype.createBeam = function (isSingleLineStaff, voice, elem
|
|
|
19368
19398
|
|
|
19369
19399
|
beamelem.calcDir();
|
|
19370
19400
|
voice.addBeam(beamelem);
|
|
19401
|
+
this.stemdir = tempStemDir;
|
|
19371
19402
|
return abselemset;
|
|
19372
19403
|
};
|
|
19373
19404
|
|
|
@@ -20113,6 +20144,11 @@ AbstractEngraver.prototype.createBarLine = function (voice, elem, isFirstStaff)
|
|
|
20113
20144
|
|
|
20114
20145
|
|
|
20115
20146
|
abselem.extraw -= 5;
|
|
20147
|
+
|
|
20148
|
+
if (elem.chord !== undefined) {
|
|
20149
|
+
var ret3 = addChord(this.getTextSize, abselem, elem, 0, 0, 0, false);
|
|
20150
|
+
}
|
|
20151
|
+
|
|
20116
20152
|
return abselem;
|
|
20117
20153
|
};
|
|
20118
20154
|
|
|
@@ -20171,6 +20207,15 @@ BeamElem.prototype.setHint = function () {
|
|
|
20171
20207
|
this.hint = true;
|
|
20172
20208
|
};
|
|
20173
20209
|
|
|
20210
|
+
BeamElem.prototype.runningDirection = function (abcelem) {
|
|
20211
|
+
var pitch = abcelem.averagepitch;
|
|
20212
|
+
if (pitch === undefined) return; // don't include elements like spacers in beams
|
|
20213
|
+
|
|
20214
|
+
this.total = Math.round(this.total + pitch);
|
|
20215
|
+
if (!this.count) this.count = 0;
|
|
20216
|
+
this.count++;
|
|
20217
|
+
};
|
|
20218
|
+
|
|
20174
20219
|
BeamElem.prototype.add = function (abselem) {
|
|
20175
20220
|
var pitch = abselem.abcelem.averagepitch;
|
|
20176
20221
|
if (pitch === undefined) return; // don't include elements like spacers in beams
|
|
@@ -20193,6 +20238,24 @@ BeamElem.prototype.addBeam = function (beam) {
|
|
|
20193
20238
|
this.beams.push(beam);
|
|
20194
20239
|
};
|
|
20195
20240
|
|
|
20241
|
+
BeamElem.prototype.setStemDirection = function () {
|
|
20242
|
+
// Have to figure this out before the notes are placed because placing the notes also places the decorations.
|
|
20243
|
+
this.average = calcAverage(this.total, this.count);
|
|
20244
|
+
|
|
20245
|
+
if (this.forceup) {
|
|
20246
|
+
this.stemsUp = true;
|
|
20247
|
+
} else if (this.forcedown) {
|
|
20248
|
+
this.stemsUp = false;
|
|
20249
|
+
} else {
|
|
20250
|
+
var middleLine = 6; // hardcoded 6 is B
|
|
20251
|
+
|
|
20252
|
+
this.stemsUp = this.average < middleLine; // true is up, false is down;
|
|
20253
|
+
}
|
|
20254
|
+
|
|
20255
|
+
delete this.count;
|
|
20256
|
+
this.total = 0;
|
|
20257
|
+
};
|
|
20258
|
+
|
|
20196
20259
|
BeamElem.prototype.calcDir = function () {
|
|
20197
20260
|
this.average = calcAverage(this.total, this.elems.length);
|
|
20198
20261
|
|
|
@@ -20761,6 +20824,8 @@ var DynamicDecoration = __webpack_require__(/*! ./abc_dynamic_decoration */ "./s
|
|
|
20761
20824
|
|
|
20762
20825
|
var CrescendoElem = __webpack_require__(/*! ./abc_crescendo_element */ "./src/write/abc_crescendo_element.js");
|
|
20763
20826
|
|
|
20827
|
+
var GlissandoElem = __webpack_require__(/*! ./abc_glissando_element */ "./src/write/abc_glissando_element.js");
|
|
20828
|
+
|
|
20764
20829
|
var glyphs = __webpack_require__(/*! ./abc_glyphs */ "./src/write/abc_glyphs.js");
|
|
20765
20830
|
|
|
20766
20831
|
var RelativeElement = __webpack_require__(/*! ./abc_relative_element */ "./src/write/abc_relative_element.js");
|
|
@@ -21077,6 +21142,7 @@ function leftDecoration(decoration, abselem, roomtaken) {
|
|
|
21077
21142
|
Decoration.prototype.dynamicDecoration = function (voice, decoration, abselem, positioning) {
|
|
21078
21143
|
var diminuendo;
|
|
21079
21144
|
var crescendo;
|
|
21145
|
+
var glissando;
|
|
21080
21146
|
|
|
21081
21147
|
for (var i = 0; i < decoration.length; i++) {
|
|
21082
21148
|
switch (decoration[i]) {
|
|
@@ -21105,6 +21171,19 @@ Decoration.prototype.dynamicDecoration = function (voice, decoration, abselem, p
|
|
|
21105
21171
|
};
|
|
21106
21172
|
this.startCrescendoX = undefined;
|
|
21107
21173
|
break;
|
|
21174
|
+
|
|
21175
|
+
case "glissando(":
|
|
21176
|
+
this.startGlissandoX = abselem;
|
|
21177
|
+
glissando = undefined;
|
|
21178
|
+
break;
|
|
21179
|
+
|
|
21180
|
+
case "glissando)":
|
|
21181
|
+
glissando = {
|
|
21182
|
+
start: this.startGlissandoX,
|
|
21183
|
+
stop: abselem
|
|
21184
|
+
};
|
|
21185
|
+
this.startGlissandoX = undefined;
|
|
21186
|
+
break;
|
|
21108
21187
|
}
|
|
21109
21188
|
}
|
|
21110
21189
|
|
|
@@ -21115,6 +21194,10 @@ Decoration.prototype.dynamicDecoration = function (voice, decoration, abselem, p
|
|
|
21115
21194
|
if (crescendo) {
|
|
21116
21195
|
voice.addOther(new CrescendoElem(crescendo.start, crescendo.stop, "<", positioning));
|
|
21117
21196
|
}
|
|
21197
|
+
|
|
21198
|
+
if (glissando) {
|
|
21199
|
+
voice.addOther(new GlissandoElem(glissando.start, glissando.stop));
|
|
21200
|
+
}
|
|
21118
21201
|
};
|
|
21119
21202
|
|
|
21120
21203
|
Decoration.prototype.createDecoration = function (voice, decoration, pitch, width, abselem, roomtaken, dir, minPitch, positioning, hasVocals) {
|
|
@@ -21481,6 +21564,23 @@ module.exports = EngraverController;
|
|
|
21481
21564
|
|
|
21482
21565
|
/***/ }),
|
|
21483
21566
|
|
|
21567
|
+
/***/ "./src/write/abc_glissando_element.js":
|
|
21568
|
+
/*!********************************************!*\
|
|
21569
|
+
!*** ./src/write/abc_glissando_element.js ***!
|
|
21570
|
+
\********************************************/
|
|
21571
|
+
/***/ (function(module) {
|
|
21572
|
+
|
|
21573
|
+
var GlissandoElem = function GlissandoElem(anchor1, anchor2) {
|
|
21574
|
+
this.type = "GlissandoElem";
|
|
21575
|
+
this.anchor1 = anchor1; // must have a .x and a .parent property or be null (means starts at the "beginning" of the line - after keysig)
|
|
21576
|
+
|
|
21577
|
+
this.anchor2 = anchor2; // must have a .x property or be null (means ends at the end of the line)
|
|
21578
|
+
};
|
|
21579
|
+
|
|
21580
|
+
module.exports = GlissandoElem;
|
|
21581
|
+
|
|
21582
|
+
/***/ }),
|
|
21583
|
+
|
|
21484
21584
|
/***/ "./src/write/abc_glyphs.js":
|
|
21485
21585
|
/*!*********************************!*\
|
|
21486
21586
|
!*** ./src/write/abc_glyphs.js ***!
|
|
@@ -23965,6 +24065,107 @@ module.exports = drawEnding;
|
|
|
23965
24065
|
|
|
23966
24066
|
/***/ }),
|
|
23967
24067
|
|
|
24068
|
+
/***/ "./src/write/draw/glissando.js":
|
|
24069
|
+
/*!*************************************!*\
|
|
24070
|
+
!*** ./src/write/draw/glissando.js ***!
|
|
24071
|
+
\*************************************/
|
|
24072
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
24073
|
+
|
|
24074
|
+
var sprintf = __webpack_require__(/*! ./sprintf */ "./src/write/draw/sprintf.js");
|
|
24075
|
+
|
|
24076
|
+
var printPath = __webpack_require__(/*! ./print-path */ "./src/write/draw/print-path.js");
|
|
24077
|
+
|
|
24078
|
+
var roundNumber = __webpack_require__(/*! ./round-number */ "./src/write/draw/round-number.js");
|
|
24079
|
+
|
|
24080
|
+
function drawGlissando(renderer, params, selectables) {
|
|
24081
|
+
if (!params.anchor1 || !params.anchor2 || !params.anchor1.heads || !params.anchor2.heads || params.anchor1.heads.length === 0 || params.anchor2.heads.length === 0) window.console.error("Glissando Element not set.");
|
|
24082
|
+
var margin = 4;
|
|
24083
|
+
var leftY = renderer.calcY(params.anchor1.heads[0].pitch);
|
|
24084
|
+
var rightY = renderer.calcY(params.anchor2.heads[0].pitch);
|
|
24085
|
+
var leftX = params.anchor1.x + params.anchor1.w / 2;
|
|
24086
|
+
var rightX = params.anchor2.x + params.anchor2.w / 2;
|
|
24087
|
+
var len = lineLength(leftX, leftY, rightX, rightY);
|
|
24088
|
+
var marginLeft = params.anchor1.w / 2 + margin;
|
|
24089
|
+
var marginRight = params.anchor2.w / 2 + margin;
|
|
24090
|
+
var s = slope(leftX, leftY, rightX, rightY);
|
|
24091
|
+
var leftYAdj = getY(leftY, s, marginLeft);
|
|
24092
|
+
var rightYAdj = getY(rightY, s, -marginRight);
|
|
24093
|
+
var num = numSquigglies(len - marginLeft - marginRight);
|
|
24094
|
+
var el = drawSquiggly(renderer, leftX + marginLeft, leftYAdj, num, s);
|
|
24095
|
+
selectables.wrapSvgEl({
|
|
24096
|
+
el_type: "glissando",
|
|
24097
|
+
startChar: -1,
|
|
24098
|
+
endChar: -1
|
|
24099
|
+
}, el);
|
|
24100
|
+
return [el];
|
|
24101
|
+
}
|
|
24102
|
+
|
|
24103
|
+
function lineLength(leftX, leftY, rightX, rightY) {
|
|
24104
|
+
// The length from notehead center to notehead center.
|
|
24105
|
+
var w = rightX - leftX;
|
|
24106
|
+
var h = rightY - leftY;
|
|
24107
|
+
return Math.sqrt(w * w + h * h);
|
|
24108
|
+
}
|
|
24109
|
+
|
|
24110
|
+
function slope(leftX, leftY, rightX, rightY) {
|
|
24111
|
+
return (rightY - leftY) / (rightX - leftX);
|
|
24112
|
+
}
|
|
24113
|
+
|
|
24114
|
+
function getY(y, slope, xOfs) {
|
|
24115
|
+
return roundNumber(y + xOfs * slope);
|
|
24116
|
+
}
|
|
24117
|
+
|
|
24118
|
+
function numSquigglies(length) {
|
|
24119
|
+
var endLen = 5; // The width of the end - that is, the non repeating part
|
|
24120
|
+
|
|
24121
|
+
return Math.max(2, Math.floor((length - endLen * 2) / 6));
|
|
24122
|
+
}
|
|
24123
|
+
|
|
24124
|
+
var leftStart = [[3.5, -4.8]];
|
|
24125
|
+
var right = [[1.5, -1], [.3, -.3], [-3.5, 3.8]];
|
|
24126
|
+
var leftEnd = [[-1.5, 2]];
|
|
24127
|
+
var top = [[3, 4], [3, -4]];
|
|
24128
|
+
var bottom = [[-3, 4], [-3, -4]];
|
|
24129
|
+
|
|
24130
|
+
function segment(arr, slope) {
|
|
24131
|
+
var ret = "";
|
|
24132
|
+
|
|
24133
|
+
for (var i = 0; i < arr.length; i++) {
|
|
24134
|
+
ret += 'l' + arr[i][0] + ' ' + getY(arr[i][1], slope, arr[i][0]);
|
|
24135
|
+
}
|
|
24136
|
+
|
|
24137
|
+
return ret;
|
|
24138
|
+
}
|
|
24139
|
+
|
|
24140
|
+
var drawSquiggly = function drawSquiggly(renderer, x, y, num, slope) {
|
|
24141
|
+
var p = sprintf("M %f %f", x, y);
|
|
24142
|
+
p += segment(leftStart, slope);
|
|
24143
|
+
var i;
|
|
24144
|
+
|
|
24145
|
+
for (i = 0; i < num; i++) {
|
|
24146
|
+
p += segment(top, slope);
|
|
24147
|
+
}
|
|
24148
|
+
|
|
24149
|
+
p += segment(right, slope);
|
|
24150
|
+
|
|
24151
|
+
for (i = 0; i < num; i++) {
|
|
24152
|
+
p += segment(bottom, slope);
|
|
24153
|
+
}
|
|
24154
|
+
|
|
24155
|
+
p += segment(leftEnd, slope) + 'z';
|
|
24156
|
+
return printPath(renderer, {
|
|
24157
|
+
path: p,
|
|
24158
|
+
highlight: "stroke",
|
|
24159
|
+
stroke: renderer.foregroundColor,
|
|
24160
|
+
'class': renderer.controller.classes.generate('decoration'),
|
|
24161
|
+
"data-name": "glissando"
|
|
24162
|
+
});
|
|
24163
|
+
};
|
|
24164
|
+
|
|
24165
|
+
module.exports = drawGlissando;
|
|
24166
|
+
|
|
24167
|
+
/***/ }),
|
|
24168
|
+
|
|
23968
24169
|
/***/ "./src/write/draw/group-elements.js":
|
|
23969
24170
|
/*!******************************************!*\
|
|
23970
24171
|
!*** ./src/write/draw/group-elements.js ***!
|
|
@@ -25502,6 +25703,8 @@ module.exports = drawTriplet;
|
|
|
25502
25703
|
\*********************************/
|
|
25503
25704
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
25504
25705
|
|
|
25706
|
+
var drawGlissando = __webpack_require__(/*! ./glissando */ "./src/write/draw/glissando.js");
|
|
25707
|
+
|
|
25505
25708
|
var drawCrescendo = __webpack_require__(/*! ./crescendo */ "./src/write/draw/crescendo.js");
|
|
25506
25709
|
|
|
25507
25710
|
var drawDynamics = __webpack_require__(/*! ./dynamics */ "./src/write/draw/dynamics.js");
|
|
@@ -25601,6 +25804,10 @@ function drawVoice(renderer, params, bartop, selectables, staffPos) {
|
|
|
25601
25804
|
renderer.controller.classes.incrMeasure();
|
|
25602
25805
|
} else {
|
|
25603
25806
|
switch (child.type) {
|
|
25807
|
+
case "GlissandoElem":
|
|
25808
|
+
child.elemset = drawGlissando(renderer, child, selectables);
|
|
25809
|
+
break;
|
|
25810
|
+
|
|
25604
25811
|
case "CrescendoElem":
|
|
25605
25812
|
child.elemset = drawCrescendo(renderer, child, selectables);
|
|
25606
25813
|
break;
|
|
@@ -28175,7 +28382,7 @@ function TopText(metaText, metaTextInfo, formatting, lines, width, isPrint, padd
|
|
|
28175
28382
|
font: 'infofont',
|
|
28176
28383
|
klass: 'meta-top rhythm',
|
|
28177
28384
|
absElemType: "rhythm",
|
|
28178
|
-
noMove:
|
|
28385
|
+
noMove: noMove,
|
|
28179
28386
|
info: metaTextInfo.rhythm,
|
|
28180
28387
|
name: "rhythm"
|
|
28181
28388
|
}, getTextSize);
|
|
@@ -28253,7 +28460,7 @@ module.exports = unhighlight;
|
|
|
28253
28460
|
\********************/
|
|
28254
28461
|
/***/ (function(module) {
|
|
28255
28462
|
|
|
28256
|
-
var version = '6.0.
|
|
28463
|
+
var version = '6.0.4';
|
|
28257
28464
|
module.exports = version;
|
|
28258
28465
|
|
|
28259
28466
|
/***/ })
|