abcjs icon indicating copy to clipboard operation
abcjs copied to clipboard

Crash when trying to render a note whose symbol is unknown

Open p-himik opened this issue 5 years ago • 1 comments

Example ABC:

X:1
T:
L:1/8
M:4/4
Q:1/4=120
V:1
K:C
C/23

JS console shows this:

noteSymbol: note -8 false
abc_abstract_engraver.js:720 Uncaught TypeError: Cannot read property 'c' of undefined
    at AbstractEngraver.addNoteToAbcElement (abc_abstract_engraver.js:720)
    at AbstractEngraver.createNote (abc_abstract_engraver.js:831)
    at AbstractEngraver.createABCElement (abc_abstract_engraver.js:300)
    at AbstractEngraver.createABCVoice (abc_abstract_engraver.js:249)
    at AbstractEngraver.createABCStaff (abc_abstract_engraver.js:183)
    at AbstractEngraver.createABCLine (abc_abstract_engraver.js:141)
    at global.engraveTune (abc_engraver_controller.js:194)
    at global.engraveABC (abc_engraver_controller.js:92)
    at renderOne (abc_tunebook_svg.js:47)
    at eval (abc_tunebook_svg.js:216)

It would probably make sense to either just show a message right on the SVG (just like the 'pitch is undefinedmessage when you enter a note likeA1000`) or at least throw something meaningful.

p-himik avatar Mar 03 '20 06:03 p-himik

Yeah, I'll improve the message - I guess it makes sense to put it on the music like the pitch message.

paulrosen avatar Mar 04 '20 20:03 paulrosen