abcjs 6.2.2 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +4 -0
  2. package/RELEASE.md +78 -0
  3. package/abc2xml_239/abc2xml.html +769 -0
  4. package/abc2xml_239/abc2xml.py +2248 -0
  5. package/abc2xml_239/abc2xml_changelog.html +124 -0
  6. package/abc2xml_239/lazy-river.abc +26 -0
  7. package/abc2xml_239/lazy-river.xml +3698 -0
  8. package/abc2xml_239/mean-to-me.abc +22 -0
  9. package/abc2xml_239/mean-to-me.xml +2954 -0
  10. package/abc2xml_239/pyparsing.py +3672 -0
  11. package/abc2xml_239/pyparsing.pyc +0 -0
  12. package/dist/abcjs-basic-min.js +2 -2
  13. package/dist/abcjs-basic.js +909 -485
  14. package/dist/abcjs-basic.js.map +1 -1
  15. package/dist/abcjs-plugin-min.js +2 -2
  16. package/index.js +2 -0
  17. package/package.json +1 -1
  18. package/plugin.js +1 -1
  19. package/src/api/abc_tablatures.js +51 -13
  20. package/src/api/abc_tunebook_svg.js +5 -3
  21. package/src/parse/abc_parse_directive.js +17 -16
  22. package/src/parse/abc_parse_header.js +22 -19
  23. package/src/parse/abc_parse_music.js +18 -53
  24. package/src/parse/abc_parse_settings.js +165 -0
  25. package/src/parse/abc_tokenizer.js +72 -7
  26. package/src/parse/tune-builder.js +60 -1
  27. package/src/synth/create-synth.js +4 -0
  28. package/src/synth/place-note.js +6 -0
  29. package/src/synth/play-event.js +7 -5
  30. package/src/synth/synth-controller.js +6 -2
  31. package/src/tablatures/instruments/string-patterns.js +11 -0
  32. package/src/tablatures/instruments/{guitar/guitar-patterns.js → tab-string-patterns.js} +6 -6
  33. package/src/tablatures/instruments/{violin/tab-violin.js → tab-string.js} +13 -11
  34. package/src/tablatures/tab-absolute-elements.js +19 -9
  35. package/src/tablatures/tab-renderer.js +24 -10
  36. package/src/test/abc_parser_lint.js +1 -0
  37. package/src/write/creation/abstract-engraver.js +9 -2
  38. package/src/write/creation/add-chord.js +102 -82
  39. package/src/write/creation/add-text-if.js +2 -2
  40. package/src/write/creation/decoration.js +16 -8
  41. package/src/write/creation/elements/bottom-text.js +62 -47
  42. package/src/write/creation/elements/rich-text.js +51 -0
  43. package/src/write/creation/elements/top-text.js +37 -11
  44. package/src/write/creation/glyphs.js +2 -2
  45. package/src/write/draw/absolute.js +4 -1
  46. package/src/write/draw/draw.js +13 -4
  47. package/src/write/draw/glissando.js +1 -0
  48. package/src/write/draw/non-music.js +3 -1
  49. package/src/write/draw/relative.js +1 -1
  50. package/src/write/draw/set-paper-size.js +1 -1
  51. package/src/write/draw/tempo.js +1 -1
  52. package/src/write/draw/text.js +10 -0
  53. package/src/write/draw/tie.js +9 -1
  54. package/src/write/engraver-controller.js +58 -11
  55. package/src/write/helpers/classes.js +1 -1
  56. package/src/write/helpers/get-font-and-attr.js +8 -1
  57. package/src/write/helpers/get-text-size.js +8 -1
  58. package/src/write/interactive/selection.js +6 -0
  59. package/src/write/layout/layout.js +33 -3
  60. package/src/write/svg.js +30 -0
  61. package/temp.txt +50 -0
  62. package/types/index.d.ts +74 -26
  63. package/version.js +1 -1
  64. package/.github/workflows/tests.yml +0 -29
  65. package/src/tablatures/instruments/guitar/tab-guitar.js +0 -48
  66. package/src/tablatures/instruments/violin/violin-patterns.js +0 -23
package/README.md CHANGED
@@ -10,6 +10,10 @@ Full documentation is here: [abcjs documentation](https://paulrosen.github.io/ab
10
10
 
11
11
  There is an organization that has a collection of useful projects related to abcjs called [abcjs-music](https://github.com/abcjs-music). See some examples there. If you have a project that you think would be of general interest and would like to add it to that organization, contact me.
12
12
 
13
+ ## Announcement: version 6.3.0
14
+
15
+ Most users won't see any difference, but there was some changes to the underlying SVG structure for the top (the title, etc.) and bottom (the notes, etc.) text, so if your code depends on particular classes then this might be a breaking change. Hopefully the new structure will be clearer and will allow css to target particular parts easier.
16
+
13
17
  ## Announcement: version 6.2.2
14
18
 
15
19
  There was a major bug in Firefox 112 that causes some lines to disappear. That is supposed to be fixed in Firefox 113 but in the meantime this update will take care of the problem.
package/RELEASE.md CHANGED
@@ -1,3 +1,80 @@
1
+ # Version 6.3.0
2
+
3
+ ## Features
4
+
5
+ ### Tablature
6
+ * Add tab feature `hideTabSymbol`
7
+ * Add 5-string tab named "fiveString"
8
+
9
+ ### Synth
10
+ * change the default synth control options for "play" and "progress" to be true
11
+ * expose the MIDI creator function
12
+
13
+ ### Rich Text
14
+ * allow up to 9 custom fonts in `%%setfont`
15
+ * for rich text fields, escape two dollar signs
16
+ * allow rich text in all non-music fields
17
+ * give all non-music fields a unique class
18
+
19
+ ### Miscellaneous
20
+ * add abcjs-notehead class to note heads;
21
+ * add `accentAbove` parameter
22
+ * handle numbered tune names in the reverser
23
+ * support reversing tune names with ", a" and ", an", with a variable amount of whitespace and case-insensitive
24
+
25
+ ## Bugs
26
+ * fix placement of tab staff when there is no label
27
+ * fix font placement bugs
28
+ * remove spurious quotes in font name in svg attribute
29
+ * Fix the name of the `abcjs-tab-number` class
30
+ * Fix tab staff height when there is a label
31
+ * Fix for crash when rendering multiple tab staves
32
+ * Offset breath mark to the right
33
+ * Center text when using `expandToWidest` set true
34
+
35
+ ## Documentation
36
+ * add missing typescript types
37
+ * fix synth control types
38
+ * fixed some typescript types in the TimingCallbacks
39
+
40
+ # Version 6.2.3
41
+
42
+ ## Features
43
+
44
+ * Add expandToWidest option
45
+
46
+ * Added synonyms for glissando: ~( and ~)
47
+
48
+ * allow passing in soundfont and debug callback when playing an event directly.
49
+
50
+ * Add a `getIsRunning()` function to enable play/pause
51
+
52
+ ## Bugs
53
+
54
+ * fix placement of triangle notehead
55
+
56
+ * Guard against crash when the synth note wasn't loaded.
57
+
58
+ * fix crash when skipping a staff when creating tablature
59
+
60
+ * protect against spurious mouse click in selection
61
+
62
+ * Add paddingleft to the size of the SVG - it was cut off if the padding was larger than the default.
63
+
64
+ * various typescript fixes
65
+
66
+ * `afterParsing` now works with line wrapping.
67
+
68
+ * Put start and end char on slurs so they can be selected.
69
+
70
+ * fixed type of timing callback: TimingEvent is now NoteTimingEvent
71
+
72
+ ## Documentation
73
+
74
+ * Add tablature to typescript types
75
+
76
+ * add missing items to documentation
77
+
1
78
  # Version 6.2.2
2
79
 
3
80
  ## Features
@@ -13,6 +90,7 @@
13
90
  * Fix bug in Firefox that causes staff lines, bar lines, and stems to be missing.
14
91
 
15
92
  * Fix bug in Firefox that cuts off the last line of the SVG.
93
+
16
94
  # Version 6.2.1
17
95
 
18
96
  ## Bugs