Code Monkey home page Code Monkey logo

smoosic's People

Contributors

aarondavidnewman avatar aarondnewman avatar dependabot[bot] avatar kcazthemighty avatar rkr1209 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smoosic's Issues

Playback cursor does not follow notes accurately

Currently, the playback cursor does not accurately follow the notes being played back. For example, the following image shows the cursor straddling two notes, which makes it difficult to know which note is currently playing:

Screen Shot 2022-10-19 at 12 04 30 AM

In the editor mode, you can hover over notes, and the exact note is highlighted, this is really neat:

Screen Shot 2022-10-19 at 12 05 02 AM

I wonder, how would one go about refactoring the playback cursor to highlight the exact notes being played?

Additionally, it would be really nifty for each part to have it's own color associated with it—so the bass part could have notes highlighted in blue, and the alto could have notes highlighted in green, and so-forth.

Btws, this project is looking fantastic! 🤯

Db major / Bb minor key signature

Hi Aaron,

  • typo: accidentals/icon not shown in key signature menu
    smoosic.js:41347
    icon: 'key-sig-bd',
    ->
    icon: 'key-sig-db',

  • key signature is wrong (but unfortunately I can not find where the issue is). It displays 7 sharps instead of 5 flats. I'm sure it was correct in an earlier version from mid of last year, but don't find which update has caused this. Would be great if you could check it. :-)

Best,
R

Selections should display as a single rectangle per system

Currently, a selection will select each individual note, even within the same system. The selection should show as a single rectangle for each system. There is no reason to draw all those little rectangles. This slows down operations on large selections.

Cut/paste does not transpose properly

Pasting from a part into a different part should use the target's transposition. Right now it overwrites the notes but doesn't consider the transposition

paste-xpose-bug
.

Slur - default slur direction

If the notes all go in the same direction, the slur should be on the note-head side, like this:
image

If the direction is mixed, the slur should go 'on the top', which might mean different note head side or stem side, depending on the direction of the first/last stem, like this:

image

OSX - Unhandled Promise Rejection: EncodingError: Decoding failed

Hi,

catching up to see how this great project is moving forwards, I recognized that the demo application no longer works on OSX / iOS devices using Safari.

Unhandled Promise Rejection: EncodingError: Decoding failed
(anonymous function)
rejectPromise

The error message is not really clear to me, but it seems like an issue with the audio context file?

If you find some time, it would be great if you could take a look at it.

Thanks!

Slur height above/below staff should be accounted

when there is a slur/hairpin etc. we should consider the height in the overall staff height and adjust the position of other staves accordingly. In this instance, the bottom staff should be moved down.

image

Microtone

Why did the oriental tones microtone disappear? It was something special ?

Dragging text issues

When dragging text, if the mouse up and mouse down event are received during the editing session, the end location of the text is incorrect.

slurs don't play

Notes slurred to the same note should only sound once during playback.

scroll on dialog box

When opening some dialog boxes (file), the scroll is calculated wrong and the dialog opens off the screen in multi-page scores.

accidental choice is not friendly

  1. When adding a note to a measure that already has an accidental in that measure, the editor should assume that the accidental applies to that note, and not the key-signature.
  2. If an accidental has a certain enharmonic spelling, the editor should assume it applies unless explicitly changed.

crash when undotting

{
"message": "Uncaught TypeError: Cannot read property 'x' of undefined",
"stack": "TypeError: Cannot read property 'x' of undefined\n at Function.adjustScroll (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/common/svgHelpers.js:402:41)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:532:45\n at Array.forEach ()\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:515:25\n at Array.forEach ()\n at suiTracker.mapMeasure (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:513:24)\n at suiScoreLayout._layoutMeasure (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:454:32)\n at suiScoreLayout._layoutColumn (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:232:22)\n at suiScoreLayout._layoutSystem (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:264:19)\n at suiScoreLayout.layout (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:507:18)",
"lastOperation": "measure backup for undotDuration",
"scoreString": "Could not serialize score. Cannot read property 'serialize' of undefined"
}

How do I use this in my own application?

I'm developing a metronome app in javascript, and I'm adding a way that people can create custom rhythms, or a metronome to a song (click track). I would like to use very simple editing. I only need to edit a single line, like drum music. I also don't need the full editor. I just need to be able to have one measure that can be edited. Heck, the only things I really need are the ability to add/delete/edit notes, accents, tempo, and time signature. Can anyone tell me how I can do this? (I'd also create my own ui for it).

Audio playback in demo

I can hear individual notes being played in the demo, but is there any way of playing back the whole line?

Crash in staff modifier when adding measure

{
"message": "Cannot read property 'note' of null",
"stack": "TypeError: Cannot read property 'note' of null\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:227:43\n at Array.forEach ()\n at suiScoreLayout._renderModifiers (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:209:19)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:290:9\n at Array.forEach ()\n at suiScoreLayout.layout (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:289:21)\n at suiScoreLayout._render (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:265:8)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:96:10\n at new Promise ()\n at suiScoreLayout.render (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:95:19)",
"lastOperation": "add measure",
"scoreString": {
"score": {
"layout": {
"leftMargin": 30,
"rightMargin": 30,
"topMargin": 40,
"bottomMargin": 40,
"pageWidth": 816,
"pageHeight": 1056,
"orientation": 0,
"interGap": 30,
"intraGap": 10,
"svgScale": 0.7,
"zoomScale": 2,
"zoomMode": 2,
"pageSize": "letter"
},
"startIndex": 0,
"renumberingMap": {}
},
"staves": [
{
"staffId": 0,
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {
"1": "Bb",
"2": "Bb",
"3": "Bb",
"4": "Bb"
},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [
{
"startSelector": {
"staff": 0,
"measure": 1,
"voice": 0,
"tick": 0,
"pitches": []
},
"endSelector": {
"staff": 0,
"measure": 1,
"voice": 0,
"tick": 4,
"pitches": []
},
"spacing": 2,
"xOffset": 0,
"yOffset": 33,
"position": "1",
"position_end": "1",
"invert": false,
"cp1x": 0,
"cp1y": 55,
"cp2x": -1,
"cp2y": 40,
"attrs": {
"id": "auto109205",
"type": "SmoSlur"
},
"thickness": 2,
"ctor": "SmoSlur"
}
],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 40,
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0,
"staffId": 0
},
"staffWidth": 184.06,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1008",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1009",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1010",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1011",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 214.06002807617188,
"staffY": 40,
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1,
"staffId": 0
},
"staffWidth": 189.18,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 63.56,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287223",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287224",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287225",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287226",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 403.24005126953125,
"staffY": 40,
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2,
"staffId": 0
},
"staffWidth": 251.24000000000004,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "a",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto14921",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287458"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto14922",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287465"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "c",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto14923",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287474"
}
],
"numNotes": 3,
"totalTicks": 4096,
"stemTicks": 2048,
"durationMap": [
1,
1,
1
],
"bracketed": true,
"ratioed": false,
"startIndex": 0,
"location": 1,
"attrs": {
"id": "auto14924",
"type": "SmoTuplet"
}
}
],
"beamGroups": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "a",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto14921",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287458"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto14922",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287465"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "c",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto14923",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto287452",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287474"
}
],
"attrs": {
"id": "auto287452",
"type": "SmoBeamGroup"
}
},
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "e",
"accidental": "n",
"octave": 5
}
],
"clef": "treble",
"attrs": {
"id": "auto7636",
"type": "SmoNote"
},
"beam_group": {
"id": "auto287453",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287481"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "staccato",
"attrs": {
"id": "auto149672",
"type": "SmoArticulation"
}
}
],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto6452",
"type": "SmoNote"
},
"clef": "treble",
"renderId": "vf-auto287490",
"beam_group": {
"id": "auto287453",
"type": "SmoBeamGroup"
}
}
],
"attrs": {
"id": "auto287453",
"type": "SmoBeamGroup"
}
},
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "tenuto",
"attrs": {
"id": "auto207865",
"type": "SmoArticulation"
}
},
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "accent",
"attrs": {
"id": "auto245755",
"type": "SmoArticulation"
}
}
],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"clef": "treble",
"attrs": {
"id": "auto7640",
"type": "SmoNote"
},
"beam_group": {
"id": "auto287454",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287503"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "tenuto",
"attrs": {
"id": "auto207866",
"type": "SmoArticulation"
}
},
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "accent",
"attrs": {
"id": "auto245756",
"type": "SmoArticulation"
}
}
],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto6457",
"type": "SmoNote"
},
"clef": "treble",
"renderId": "vf-auto287510",
"beam_group": {
"id": "auto287454",
"type": "SmoBeamGroup"
}
}
],
"attrs": {
"id": "auto287454",
"type": "SmoBeamGroup"
}
}
],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "a",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto14921",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto14922",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1365,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "c",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"tuplet": {
"id": "auto14924",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto14923",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "e",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto7636",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto6452",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto7639",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto7640",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto6457",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 654.4801025390625,
"staffY": 40,
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 3,
"staffId": 0
},
"staffWidth": 157.1,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "tenuto",
"attrs": {
"id": "auto207868",
"type": "SmoArticulation"
}
},
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "accent",
"attrs": {
"id": "auto245758",
"type": "SmoArticulation"
}
}
],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"clef": "treble",
"attrs": {
"id": "auto7644",
"type": "SmoNote"
},
"beam_group": {
"id": "auto287864",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto287874"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "tenuto",
"attrs": {
"id": "auto207869",
"type": "SmoArticulation"
}
},
{
"ctor": "SmoArticulation",
"position": "above",
"articulation": "accent",
"attrs": {
"id": "auto245759",
"type": "SmoArticulation"
}
}
],
"endBeam": false,
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"attrs": {
"id": "auto6462",
"type": "SmoNote"
},
"clef": "treble",
"renderId": "vf-auto287881",
"beam_group": {
"id": "auto287864",
"type": "SmoBeamGroup"
}
}
],
"attrs": {
"id": "auto287864",
"type": "SmoBeamGroup"
}
}
],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto7643",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto7644",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto6462",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 3
}
],
"noteType": "n",
"attrs": {
"id": "auto1032",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1033",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 811.580078125,
"staffY": 40,
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 4,
"staffId": 0
},
"staffWidth": 130.07999999999998,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1041",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1042",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1043",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1044",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 941.6600952148438,
"staffY": 40,
"measureNumber": {
"measureNumber": 5,
"measureIndex": 5,
"systemIndex": 5,
"staffId": 0
},
"staffWidth": 130.07999999999998,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1052",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1053",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1054",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "b",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1055",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
}
]
},
{
"staffId": 1,
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {
"1": "Bb",
"2": "Bb",
"3": "Bb",
"4": "Bb"
},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0,
"staffId": 1
},
"staffWidth": 184.06,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1063",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1064",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1065",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1066",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 214.06002807617188,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1,
"staffId": 1
},
"staffWidth": 189.18,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 63.56,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287234",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287235",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287236",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto287237",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 403.24005126953125,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2,
"staffId": 1
},
"staffWidth": 136.62,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1077",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1078",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1079",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1080",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 539.8600463867188,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 3,
"staffId": 1
},
"staffWidth": 244.70000000000002,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23485",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288030"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23486",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288037"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23487",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288044"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23488",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288051"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto23489",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288058"
}
],
"numNotes": 3,
"totalTicks": 4096,
"stemTicks": 1024,
"durationMap": [
1,
1,
1,
1,
1
],
"bracketed": true,
"ratioed": false,
"startIndex": 3,
"location": 1,
"attrs": {
"id": "auto23490",
"type": "SmoTuplet"
}
}
],
"beamGroups": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23485",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288030"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23486",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288037"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23487",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288044"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"attrs": {
"id": "auto23488",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288051"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto23489",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto288006",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto288058"
}
],
"attrs": {
"id": "auto288006",
"type": "SmoBeamGroup"
}
}
],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1091",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1092",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1093",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto23485",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto23486",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto23487",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto23488",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto23490",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto23489",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 784.5599975585938,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 4,
"staffId": 1
},
"staffWidth": 136.62,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1105",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1106",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1107",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1108",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "Bb",
"staffX": 921.1799926757812,
"staffY": 118.4000015258789,
"measureNumber": {
"measureNumber": 5,
"measureIndex": 5,
"systemIndex": 5,
"staffId": 1
},
"staffWidth": 136.62,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1119",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1120",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1121",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1122",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
}
]
}
],
"scoreText": []
}
}

Licensing and use

Hey Aaron,

I'm currently using the Smoosic API as a component for my MSc project, and now this university wants to consolidate my project as an (possibly licensed) academic product. I haven't been able to see what the Smoosic's licensing model looks like and to what extent it can be used for other projects. Could you please further clarify on that?

Thanks!

crash when pasting

{
"message": "Uncaught TypeError: Cannot read property 'x' of undefined",
"stack": "TypeError: Cannot read property 'x' of undefined\n at Function.adjustScroll (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/common/svgHelpers.js:402:41)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:532:45\n at Array.forEach ()\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:515:25\n at Array.forEach ()\n at suiTracker.mapMeasure (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/tracker.js:513:24)\n at suiScoreLayout._layoutMeasure (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:454:32)\n at suiScoreLayout._layoutColumn (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:232:22)\n at suiScoreLayout._layoutSystem (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:264:19)\n at suiScoreLayout.layout (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:507:18)",
"lastOperation": "measure backup for undotDuration",
"scoreString": "Could not serialize score. Cannot read property 'serialize' of undefined"
}

copy paste sometimes throws an exception when note doesn't fit

...if the remainder isn't in the table smoMusic.ticksToDuration. If this happens, the logic should divide the remainder into units of GCD of the remainder that is in the table, and then combine those units into the largest unit possible.
An example of what will cause this: pasting a dotted-whole into a measure of eighth notes in 12/8 time, at the 2nd tick position.

crash in 2nd paste

Cut over 2 measures and paste. Then paste the same buffer again. There is an exception:

In general, pasting has never worked after the first time. You should be able to paste the same buffer as many times as you want.

{ "message": "Cannot read property 'notes' of undefined", "stack": "TypeError: Cannot read property 'notes' of undefined\n at PasteBuffer.pasteSelections (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:14826:14)\n at SuiScoreViewOperations.paste (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:5471:22)\n at SuiKeyCommands.paste (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:33781:15)\n at suiController.evKey (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:24038:45)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:28808:35\n at Array.forEach (<anonymous>)\n at browserEventSource.evKey (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/build/smoosic.js:28807:26)", "lastOperation": "paste", "scoreString": { "a": { "b": { "c": 30, "d": 30, "e": 40, "f": 40, "g": 816, "h": 1056, "i": 0, "j": 30, "k": 10, "l": 1, "m": 2.107843137254902, "n": 0, "o": 1 }, "q": 0, "r": {}, "me": [ { "ne": "engraving", "oe": 1, "xb": "Bravura", "wb": 1, "pe": false }, { "ne": "score", "oe": 2, "xb": "Merriweather", "wb": 14, "pe": false }, { "ne": "chords", "oe": 3, "xb": "Roboto Slab", "wb": 14, "pe": false }, { "ne": "lyrics", "oe": 4, "xb": "Merriweather", "wb": 12, "pe": false } ], "hf": { "if": true, "jf": true, "kf": 4096, "lf": 6144 }, "mf": { "ne": "Smoosical", "nf": 1 } }, "s": [ { "t": 0, "u": 10, "v": 40, "w": 0, "x": 1600, "y": 90, "q": 0, "r": {}, "z": {}, "aa": { "ba": "Treble Instrument", "ca": "0", "da": "treble" }, "ea": [], "va": [ { "ya": { "ya": 0, "za": 0, "ab": 0, "t": 0 }, "bb": 59.980000000000004, "cb": [], "db": [ { "eb": [ { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" }, { "ka": [ { "jb": "a", "lb": "n", "kb": 4 } ], "da": "treble" }, { "ka": [ { "jb": "a", "lb": "n", "kb": 4 } ], "da": "treble" }, { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "da": "treble" } ] } ], "ea": [] }, { "ya": { "ya": 1, "za": 1, "ab": 1, "t": 0 }, "bb": 6, "cb": [], "db": [ { "eb": [ { "ka": [ { "jb": "c", "lb": "n", "kb": 5 } ], "da": "treble" }, { "ka": [ { "jb": "d", "lb": "n", "kb": 5 } ], "da": "treble" }, { "ka": [ { "jb": "e", "lb": "n", "kb": 5 } ], "da": "treble" }, { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" } ] } ], "ea": [] }, { "ya": { "ya": 2, "za": 2, "ab": 2, "t": 0 }, "bb": 6, "cb": [], "db": [ { "eb": [ { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" }, { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" }, { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" }, { "ka": [ { "jb": "b", "lb": "n", "kb": 4 } ], "oc": "r", "da": "treble" } ] } ], "ea": [] } ] } ], "yc": [], "ge": [], "yd": [], "ee": { "wa": { "0": "4/4" }, "xa": { "0": "c" }, "fe": { "0": { "sa": "SmoTempoText", "pa": { "qa": "auto46672", "ra": "SmoTempoText" }, "id": "duration", "nb": 120, "ob": false, "pb": 4096, "jd": "Allegro", "ta": 0 } } }, "dictionary": { "a": "score", "b": "layout", "c": "leftMargin", "d": "rightMargin", "e": "topMargin", "f": "bottomMargin", "g": "pageWidth", "h": "pageHeight", "i": "orientation", "j": "interGap", "k": "intraGap", "l": "svgScale", "m": "zoomScale", "n": "zoomMode", "o": "pages", "p": "pageSize", "q": "startIndex", "r": "renumberingMap", "s": "staves", "t": "staffId", "u": "staffX", "v": "staffY", "w": "adjY", "x": "staffWidth", "y": "staffHeight", "z": "keySignatureMap", "aa": "instrumentInfo", "ba": "instrumentName", "ca": "keyOffset", "da": "clef", "ea": "modifiers", "fa": "startSelector", "ga": "staff", "ha": "measure", "ia": "voice", "ja": "tick", "ka": "pitches", "la": "endSelector", "ma": "xOffset", "na": "cp1y", "oa": "cp2y", "pa": "attrs", "qa": "id", "ra": "type", "sa": "ctor", "ta": "yOffset", "ua": "position", "va": "measures", "wa": "timeSignature", "xa": "keySignature", "ya": "measureNumber", "za": "measureIndex", "ab": "systemIndex", "bb": "adjX", "cb": "tuplets", "db": "voices", "eb": "notes", "fb": "ticks", "gb": "numerator", "hb": "denominator", "ib": "remainder", "jb": "letter", "kb": "octave", "lb": "accidental", "mb": "symbol", "nb": "bpm", "ob": "display", "pb": "beatDuration", "qb": "beamBeats", "rb": "endBeam", "sb": "textModifiers", "tb": "text", "ub": "endChar", "vb": "fontInfo", "wb": "size", "xb": "family", "yb": "style", "zb": "weight", "ac": "classes", "bc": "verse", "cc": "fill", "dc": "scaleX", "ec": "scaleY", "fc": "translateX", "gc": "translateY", "hc": "selector", "ic": "renderedBox", "jc": "x", "kc": "y", "lc": "width", "mc": "height", "nc": "logicalBox", "oc": "noteType", "pc": "cautionary", "qc": "articulations", "rc": "articulation", "sc": "activeVoice", "tc": "flagState", "uc": "invert", "vc": "fontSize", "wc": "yOffsetLine", "xc": "yOffsetPixels", "yc": "scoreText", "zc": "backup", "ad": "edited", "bd": "pagination", "cd": "boxModel", "dd": "justification", "ed": "autoLayout", "fd": "ornaments", "gd": "offset", "hd": "ornament", "id": "tempoMode", "jd": "tempoText", "kd": "barline", "ld": "systemBreak", "md": "graceNotes", "nd": "tones", "od": "tuplet", "pd": "beam_group", "qd": "renderId", "rd": "numNotes", "sd": "totalTicks", "td": "stemTicks", "ud": "durationMap", "vd": "bracketed", "wd": "ratioed", "xd": "location", "yd": "systemGroups", "zd": "leftConnector", "ae": "padLeft", "be": "customStretch", "ce": "engravingFont", "de": "customProportion", "ee": "columnAttributeMap", "fe": "tempo", "ge": "textGroups", "he": "textBlocks", "ie": "backupBlocks", "je": "blocks", "ke": "_text", "le": "parser", "me": "fonts", "ne": "name", "oe": "purpose", "pe": "custom", "qe": "transposeIndex", "re": "noteHead", "se": "slash", "te": "pointSize", "ue": "spacing", "ve": "relativePosition", "we": "activeText", "xe": "attachToSelector", "ye": "musicXOffset", "ze": "musicYOffset", "af": "formattingIterations", "bf": "startBar", "cf": "endBar", "df": "endingId", "ef": "autoJustify", "ff": "thickness", "gf": "number", "hf": "preferences", "if": "autoPlay", "jf": "autoAdvance", "kf": "defaultDupleDuration", "lf": "defaultTripleDuration", "mf": "scoreInfo", "nf": "version" } } }

Module parse failed: Unexpected token (39:8) You may need an appropriate loader to handle this file type

Which loader should I use for solve this error?

Module parse failed: Unexpected token (39:8)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { SuiHelp } from '../ui/help';
| 
> declare var $: any;
| 
| interface pairType { [key: string]: string }

Import trace for requested module:
./node_modules/smoosic/src/application/application.ts

Multi Voice; Dynamics

reproduce issue:

  • add notes to V1 and V2 (or more voices)
  • editing V1 notes and try to add dynamics (e.g. p, pp, mp,...)

issue does not appear when adding dynamics to V2 (or lowest voice)

{
 "message": "TypeError: undefined is not an object (evaluating 'this.noteToVexMap[smoNote.attrs.id].getAbsoluteX')",
 "stack": "_renderNoteGlyph@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:12723:46\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:12747:30\nforEach@[native code]\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:12746:20\nforEach@[native code]\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:12742:32\nforEach@[native code]\nrenderDynamics@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:12740:33\nrender@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:13023:28\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:13352:20\nforEach@[native code]\nrenderMeasure@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:13350:30\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:15936:29\nforEach@[native code]\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:15935:25\nforEach@[native code]\n_replaceMeasures@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:15931:26\nrender@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:15963:34\nrender@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:16361:21\nhandleRedrawTimer@https://aarondavidnewman.github.io/Smoosic/release/smoosic.js:16334:18\nhttps://aarondavidnewman.github.io/Smoosic/release/smoosic.js:16351:26",
 "lastOperation": "add dynamic",
 "scoreString": "Could not serialize score. undefined is not an object (evaluating 'this.score.serialize')"
}

beams flicker

When changing a note in a beam group, the beams tend to break and re-constitute when the whole score is re-rendered

new tools

Is it possible to develop the program to support eastern Arab voices ... where there are signs and keys for oriental music, if added, it will be something special

exception in copy/paste

Copied 5 notes, paste to beat 2. crash

{
"message": "Uncaught TypeError: Cannot read property 'notes' of undefined",
"stack": "TypeError: Cannot read property 'notes' of undefined\n at PasteBuffer.pasteSelections (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/smo/xform/copypaste.js:315:20)\n at Function.pasteBuffer (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/smo/xform/undo.js:238:21)\n at suiEditor.paste (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/ui/editor.js:76:15)\n at suiController.handleKeydown (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/ui/controller.js:269:40)",
"lastOperation": "measure backup for paste",
"scoreString": {
"score": {
"staffX": 30,
"staffY": 40,
"staffWidth": 1600,
"startIndex": 0,
"interGap": 30,
"renumberingMap": {}
},
"staves": [
{
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0
},
"staffWidth": 200.0000457763672,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 3.0000076293945312,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "a",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1002",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1003",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "c",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto1004",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "d",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto1005",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1
},
"staffWidth": 200,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 2.999969482421875,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "e",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto4796",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto4797",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "a",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto4798",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto4799",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2
},
"staffWidth": 200.00006103515625,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 2.999969482421875,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "c",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto4800",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "d",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto4801",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "e",
"accidental": "n",
"octave": 5
}
],
"noteType": "n",
"attrs": {
"id": "auto4802",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto4803",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 3
},
"staffWidth": 200,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 3,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1017",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1018",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1019",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1020",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 4
},
"staffWidth": 200.0001220703125,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 3.00006103515625,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1022",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1023",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1024",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1025",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
}
]
},
{
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0
},
"staffWidth": 200.0000457763672,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 3.0000343322753906,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1027",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1028",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1029",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1030",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1
},
"staffWidth": 200,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 2.999969482421875,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1032",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1033",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1034",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1035",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2
},
"staffWidth": 200.00009155273438,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 2.999908447265625,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1037",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1038",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1039",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1040",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 3
},
"staffWidth": 200,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 3,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1042",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1043",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1044",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1045",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 10,
"staffY": 40,
"customModifiers": [],
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 4
},
"staffWidth": 200.0001220703125,
"modifierOptions": {},
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 3.00006103515625,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1047",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1048",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1049",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1050",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
]
}
]
}
]
}
}

xmlns for SVG missing?

Hi @AaronDavidNewman !

could it be possible that xmlns="http://www.w3.org/2000/svg" is missing?

Smoosic/build/smoosic.js

Lines 4673 to 4681 in 242dd11

// ### svgViewport
// set `svg` element to `width`,`height` and viewport `scale`
static svgViewport(svg, xOffset,yOffset,width, height, scale) {
svg.setAttributeNS('', 'width', '' + width);
svg.setAttributeNS('', 'height', '' + height);
svg.setAttributeNS('', 'viewBox', ''+xOffset + ' ' + yOffset + ' ' + Math.round(width / scale) + ' ' +
Math.round(height / scale));
}

Would need this for saving SVG and displaying them again in browser. Chrome for example doesn't display inline SVG without the xmlns attribute.

svg.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'http://www.w3.org/2000/svg');

Best

crash when splitting dotted values

Splitting dotted values shouldn't be allowed

{
"message": "Cannot read property 'split' of undefined",
"stack": "TypeError: Cannot read property 'split' of undefined\n at SmoNote.get dots [as dots] (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/smo/data/note.js:37:28)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/adjuster.js:13:51\n at Array.forEach ()\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/adjuster.js:11:16\n at Array.forEach ()\n at Function.estimateMusicWidth (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/adjuster.js:9:21)\n at Function.estimateMeasureWidth (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/adjuster.js:79:42)\n at suiScoreLayout.layout (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/scoreLayout.js:204:24)\n at suiScoreLayout._render (file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:272:8)\n at file:///C:/Users/Daddy/Documents/GitHub/VexflowEditor/src/render/sui/layout.js:96:10",
"lastOperation": "measure backup for dotDuration",
"scoreString": {
"score": {
"layout": {
"leftMargin": 30,
"rightMargin": 30,
"topMargin": 40,
"bottomMargin": 40,
"pageWidth": 816,
"pageHeight": 1056,
"orientation": 0,
"interGap": 30,
"intraGap": 10,
"svgScale": 1,
"zoomScale": 2,
"zoomMode": 2
},
"startIndex": 0,
"renumberingMap": {}
},
"staves": [
{
"staffId": 0,
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [
{
"startSelector": {
"staff": 0,
"measure": 1,
"voice": 0,
"tick": 1,
"pitches": []
},
"endSelector": {
"staff": 0,
"measure": 2,
"voice": 0,
"tick": 1,
"pitches": []
},
"spacing": 2,
"xOffset": 0,
"yOffset": 10,
"position": 4,
"position_end": 1,
"invert": false,
"cp1x": 0,
"cp1y": 40,
"cp2x": 0,
"cp2y": 40,
"attrs": {
"id": "auto4261",
"type": "SmoSlur"
},
"thickness": 2,
"ctor": "SmoSlur"
}
],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 61.234344482421875,
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0,
"staffId": 0
},
"staffWidth": 184.06,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18418",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18419",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18420",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18421",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 234.05999755859375,
"staffY": 61.234344482421875,
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1,
"staffId": 0
},
"staffWidth": 259.1400146484375,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto66008",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1792,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto115949",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1280,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto115950",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1536,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto109241",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 1536,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto109242",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 2048,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto84956",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto82542",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 493.20001220703125,
"staffY": 61.234344482421875,
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2,
"staffId": 0
},
"staffWidth": 260.15643310546875,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5311",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114943"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5312",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114950"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5313",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114957"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5314",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114964"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5315",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114971"
}
],
"numNotes": 3,
"totalTicks": 4096,
"stemTicks": 1024,
"durationMap": [
1,
1,
1,
1,
1
],
"bracketed": true,
"ratioed": false,
"startIndex": 1,
"location": 1,
"attrs": {
"id": "auto5316",
"type": "SmoTuplet"
}
}
],
"beamGroups": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5311",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114943"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5312",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114950"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5313",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114957"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5314",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114964"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto5315",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto114933",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto114971"
}
],
"attrs": {
"id": "auto114933",
"type": "SmoBeamGroup"
}
}
],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1019",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto5311",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto5312",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto5313",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto5314",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto5316",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto5315",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1021",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1022",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 249.83433532714844,
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 0,
"staffId": 0
},
"staffWidth": 294.1365051269531,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1030",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1031",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1032",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1033",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 324.1365051269531,
"staffY": 249.83433532714844,
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 1,
"staffId": 0
},
"staffWidth": 130.07998657226562,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1041",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1042",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1043",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1044",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 454.21649169921875,
"staffY": 249.83433532714844,
"measureNumber": {
"measureNumber": 5,
"measureIndex": 5,
"systemIndex": 2,
"staffId": 0
},
"staffWidth": 130.08001708984375,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": 0,
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1052",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1053",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1054",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1055",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
}
]
},
{
"staffId": 1,
"staffX": 10,
"staffY": 40,
"adjY": 0,
"staffWidth": 1600,
"staffHeight": 90,
"startIndex": 0,
"renumberingMap": {},
"keySignatureMap": {},
"instrumentInfo": {
"instrumentName": "Treble Instrument",
"keyOffset": "0",
"clef": "treble"
},
"modifiers": [],
"measures": [
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 141.43434143066406,
"measureNumber": {
"measureNumber": 0,
"measureIndex": 0,
"systemIndex": 0,
"staffId": 1
},
"staffWidth": 184.06,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18429",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18430",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18431",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto18432",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 234.05999755859375,
"staffY": 141.43434143066406,
"measureNumber": {
"measureNumber": 1,
"measureIndex": 1,
"systemIndex": 1,
"staffId": 1
},
"staffWidth": 259.1400146484375,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1063",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1064",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1065",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1066",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 493.20001220703125,
"staffY": 141.43434143066406,
"measureNumber": {
"measureNumber": 2,
"measureIndex": 2,
"systemIndex": 2,
"staffId": 1
},
"staffWidth": 260.15643310546875,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1077",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1078",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1079",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1080",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 30,
"staffY": 336.26869201660156,
"measureNumber": {
"measureNumber": 3,
"measureIndex": 3,
"systemIndex": 0,
"staffId": 1
},
"staffWidth": 294.1365051269531,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 64.98,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10524",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115374"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10525",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115381"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10526",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115388"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10527",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115395"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10528",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115402"
}
],
"numNotes": 3,
"totalTicks": 4096,
"stemTicks": 1024,
"durationMap": [
1,
1,
1,
1,
1
],
"bracketed": true,
"ratioed": false,
"startIndex": 1,
"location": 1,
"attrs": {
"id": "auto10529",
"type": "SmoTuplet"
}
}
],
"beamGroups": [
{
"notes": [
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10524",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115374"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10525",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115381"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10526",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115388"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10527",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115395"
},
{
"noteType": "n",
"textModifiers": [],
"articulations": [],
"endBeam": false,
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"attrs": {
"id": "auto10528",
"type": "SmoNote"
},
"clef": "treble",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"beam_group": {
"id": "auto115358",
"type": "SmoBeamGroup"
},
"renderId": "vf-auto115402"
}
],
"attrs": {
"id": "auto115358",
"type": "SmoBeamGroup"
}
}
],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1091",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 1
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto10524",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto10525",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto10526",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto10527",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 819,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"tuplet": {
"id": "auto10529",
"type": "SmoTuplet"
},
"attrs": {
"id": "auto10528",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1093",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1094",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 324.1365051269531,
"staffY": 336.26869201660156,
"measureNumber": {
"measureNumber": 4,
"measureIndex": 4,
"systemIndex": 1,
"staffId": 1
},
"staffWidth": 130.07998657226562,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1105",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1106",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1107",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1108",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
},
{
"timeSignature": "4/4",
"keySignature": "C",
"staffX": 454.21649169921875,
"staffY": 336.26869201660156,
"measureNumber": {
"measureNumber": 5,
"measureIndex": 5,
"systemIndex": 2,
"staffId": 1
},
"staffWidth": 130.08001708984375,
"activeVoice": 0,
"clef": "treble",
"transposeIndex": "0",
"adjX": 11,
"adjRight": 11,
"padRight": 10,
"rightMargin": 2,
"tuplets": [],
"beamGroups": [],
"voices": [
{
"notes": [
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1119",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1120",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1121",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
},
{
"ticks": {
"numerator": 4096,
"denominator": 1,
"remainder": 0
},
"pitches": [
{
"letter": "b",
"accidental": "n",
"octave": 4
}
],
"noteType": "n",
"attrs": {
"id": "auto1122",
"type": "SmoNote"
},
"clef": "treble",
"endBeam": false,
"noteModifiers": []
}
]
}
],
"modifiers": [
{
"position": 0,
"barline": 0,
"ctor": "SmoBarline"
},
{
"position": 1,
"barline": 0,
"ctor": "SmoBarline"
},
{
"symbol": 0,
"xOffset": 0,
"yOffset": 30,
"position": 0,
"ctor": "SmoRepeatSymbol"
}
]
}
]
}
],
"scoreText": []
}
}

Automate update of helpfile from wiki

Help files are produced from smoosic wiki. It would be good to automate this. I picture a json/javascript file like:

const helpfiles = [
  { language: 'en', url: 'https://github.com/AaronDavidNewman/Smoosic/wiki/Quick-Start', variable 'quickHelp' },...
];

and then grunt-markdown would create the language-specific monolith for all the help files like:

var quickHelpHtmlEn = `
    <h3 id="quick-start-guide">Quick start guide</h3>
<p>If you don&#39;t like to read instructions, this cook&#39;s tour of Smoosic was made for you.</p>
<ul>... `

So part of this is we should move the help html out of language_en.js and into something like help_en.js.

Grace note problems

Grace notes are really hard to work with.

There is no UI way to select grace notes
grace note selections are not preserved when tracker map is updated
grace notes don't honor accidentals and courtesy accidentals in the same way as normal notes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.