abcjs 6.0.0-beta.33 → 6.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/README.md +20 -9
- package/RELEASE.md +108 -0
- package/dist/abcjs-basic-min.js +2 -2
- package/dist/abcjs-basic-min.js.LICENSE +2 -2
- package/dist/abcjs-basic.js +3493 -841
- package/dist/abcjs-basic.js.map +1 -1
- package/dist/abcjs-plugin-min.js +2 -2
- package/dist/abcjs-plugin-min.js.LICENSE +2 -2
- package/dist/report-basic.html +37 -0
- package/dist/report-before-glyph-compress.html +37 -0
- package/dist/report-brown-ts-target-es5.html +37 -0
- package/dist/{report.html → report-dev-orig-no-babel.html} +2 -2
- package/dist/report-synth.html +37 -0
- package/docker-build.sh +1 -0
- package/glyphs.json +1 -0
- package/index.js +23 -1
- package/license.js +1 -1
- package/package.json +9 -9
- package/plugin.js +23 -1
- package/src/api/abc_tablatures.js +144 -0
- package/src/api/abc_timing_callbacks.js +34 -31
- package/src/api/abc_tunebook.js +10 -1
- package/src/api/abc_tunebook_svg.js +23 -27
- package/src/data/abc_tune.js +68 -24
- package/src/edit/abc_editor.js +33 -11
- package/src/midi/abc_midi_create.js +6 -2
- package/src/parse/abc_parse.js +7 -6
- package/src/parse/abc_parse_directive.js +19 -12
- package/src/parse/abc_parse_header.js +12 -12
- package/src/parse/abc_parse_music.js +14 -4
- package/src/parse/tune-builder.js +22 -29
- package/src/synth/abc_midi_sequencer.js +10 -0
- package/src/synth/create-synth.js +56 -13
- package/src/synth/load-note.js +31 -65
- package/src/synth/place-note.js +59 -60
- package/src/synth/register-audio-context.js +4 -1
- package/src/synth/supports-audio.js +9 -8
- package/src/tablatures/instruments/guitar/guitar-fonts.js +19 -0
- package/src/tablatures/instruments/guitar/guitar-patterns.js +23 -0
- package/src/tablatures/instruments/guitar/tab-guitar.js +50 -0
- package/src/tablatures/instruments/string-patterns.js +277 -0
- package/src/tablatures/instruments/string-tablature.js +56 -0
- package/src/tablatures/instruments/tab-note.js +282 -0
- package/src/tablatures/instruments/tab-notes.js +41 -0
- package/src/tablatures/instruments/violin/tab-violin.js +47 -0
- package/src/tablatures/instruments/violin/violin-fonts.js +19 -0
- package/src/tablatures/instruments/violin/violin-patterns.js +23 -0
- package/src/tablatures/tab-absolute-elements.js +310 -0
- package/src/tablatures/tab-common.js +29 -0
- package/src/tablatures/tab-renderer.js +243 -0
- package/src/tablatures/transposer.js +110 -0
- package/src/test/abc_parser_lint.js +62 -6
- package/src/write/abc_absolute_element.js +2 -2
- package/src/write/abc_abstract_engraver.js +9 -7
- package/src/write/abc_create_key_signature.js +1 -0
- package/src/write/abc_create_note_head.js +1 -1
- package/src/write/abc_engraver_controller.js +26 -13
- package/src/write/abc_glyphs.js +5 -2
- package/src/write/abc_relative_element.js +11 -3
- package/src/write/abc_renderer.js +5 -1
- package/src/write/add-chord.js +5 -2
- package/src/write/add-text-if.js +33 -0
- package/src/write/bottom-text.js +8 -29
- package/src/write/draw/absolute.js +12 -14
- package/src/write/draw/brace.js +3 -3
- package/src/write/draw/crescendo.js +1 -1
- package/src/write/draw/draw.js +5 -6
- package/src/write/draw/dynamics.js +8 -1
- package/src/write/draw/ending.js +4 -3
- package/src/write/draw/group-elements.js +10 -8
- package/src/write/draw/non-music.js +11 -6
- package/src/write/draw/print-line.js +24 -0
- package/src/write/draw/print-stem.js +12 -11
- package/src/write/draw/print-symbol.js +11 -10
- package/src/write/draw/relative.js +33 -13
- package/src/write/draw/selectables.js +9 -6
- package/src/write/draw/staff-group.js +45 -9
- package/src/write/draw/staff-line.js +3 -17
- package/src/write/draw/staff.js +15 -2
- package/src/write/draw/tab-line.js +40 -0
- package/src/write/draw/tempo.js +7 -7
- package/src/write/draw/text.js +11 -4
- package/src/write/draw/tie.js +2 -2
- package/src/write/draw/triplet.js +3 -3
- package/src/write/draw/voice.js +10 -2
- package/src/write/format-jazz-chord.js +15 -0
- package/src/write/free-text.js +20 -12
- package/src/write/layout/VoiceElements.js +33 -1
- package/src/write/layout/beam.js +2 -0
- package/src/write/layout/staffGroup.js +37 -2
- package/src/write/layout/voice.js +2 -1
- package/src/write/selection.js +15 -5
- package/src/write/separator.js +1 -1
- package/src/write/subtitle.js +3 -3
- package/src/write/svg.js +41 -14
- package/src/write/top-text.js +19 -25
- package/test.js +23 -0
- package/types/index.d.ts +1007 -39
- package/version.js +1 -1
- package/docker-start.sh +0 -1
package/LICENSE.md
CHANGED
package/README.md
CHANGED
|
@@ -8,13 +8,17 @@ This library makes it easy to incorporate **sheet music** into your **websites**
|
|
|
8
8
|
|
|
9
9
|
Full documentation is here: [abcjs documentation](https://paulrosen.github.io/abcjs/)
|
|
10
10
|
|
|
11
|
+
## Major New Feature! 6.0.0-beta.36
|
|
12
|
+
|
|
13
|
+
String tablature is now available by adding an option to the `renderAbc` parameters. See [tablature documentation](https://paulrosen.github.io/abcjs/visual/tablature.html)
|
|
14
|
+
|
|
11
15
|
## Fix to audio in octave clefs 6.0.0-beta.31
|
|
12
16
|
|
|
13
17
|
If you are using an octave clef (for instance `K:C clef=treble-8`) it will now sound an octave different. The octave calculation was happening twice.
|
|
14
18
|
|
|
15
19
|
## Last version supporting midi.js is 6.0.0-beta.28
|
|
16
20
|
|
|
17
|
-
The file [abcjs version supporting midi.js](https://
|
|
21
|
+
The file [abcjs version supporting midi.js](https://github.com/paulrosen/historical-abcjs-versions/blob/main/version-6/abcjs_midi-min.js) is the last version of the old style of sound production that will receive updates.
|
|
18
22
|
|
|
19
23
|
## Rename the default branch to `main`
|
|
20
24
|
|
|
@@ -64,17 +68,24 @@ The last version in each major version number is still available in the active b
|
|
|
64
68
|
In this beta the default soundfont was changed to https://paulrosen.github.io/midi-js-soundfonts/abcjs/ Hopefully you will find that sounds better. If you set the soundfont directly then you won't notice any change. If you prefer the old soundfont, use the `soundFontUrl: "https://paulrosen.github.io/midi-js-soundfonts/FluidR3_GM/"` option when calling the synth functions.
|
|
65
69
|
|
|
66
70
|
## Informal roadmap
|
|
67
|
-
I'm
|
|
71
|
+
I'm getting close to taking version 6.0.0 out of beta.
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
These are the changes that are planned:
|
|
74
|
+
* Test and improve the sound of the soundfont.
|
|
75
|
+
* Add all the typescript definitions.
|
|
76
|
+
* Bug fixes.
|
|
70
77
|
|
|
71
|
-
|
|
72
|
-
1) Break apart the paths in the SVG so that parts of the note can be targeted. (For instance, just the flag, or one note in a chord.)
|
|
73
|
-
2) Be able to set the minimum spacing for notes when there are lots of notes on a line.
|
|
78
|
+
If you have a particular issue that is impeding your usage of this library, please mention it in the issue.
|
|
74
79
|
|
|
75
|
-
|
|
80
|
+
After the 6.0.0 release, I'll be working on some more architecture changes which will go in a 7.0.0 release:
|
|
76
81
|
|
|
77
|
-
|
|
82
|
+
* Improve the API for controlling the synth. That is, make the parameters less confusing.
|
|
83
|
+
* Create a plugin architecture so that large features that are not widely used can be added without bloating this library.
|
|
84
|
+
* Change the build to use typescript while still maintaining legacy browser capability.
|
|
85
|
+
* Reduce the size of the library by optimizing code.
|
|
86
|
+
* Control the spacing of the elements on the line better: support equal size measures, and support allowing control of the spacing between notes.
|
|
87
|
+
* Improved documentation, particularly for synth.
|
|
88
|
+
* Bug fixes.
|
|
78
89
|
|
|
79
90
|
Thanks, Paul
|
|
80
91
|
|
|
@@ -94,4 +105,4 @@ And I would love some help on this project, including documentation, bug fixes,
|
|
|
94
105
|
## Supported by BrowserStack
|
|
95
106
|
If you aren't using the same browser and machine that I use, you can thank [BrowserStack](https://browserstack.com/) for their support of this open-source project.
|
|
96
107
|
|
|
97
|
-

|
package/RELEASE.md
CHANGED
|
@@ -1,3 +1,111 @@
|
|
|
1
|
+
# Version 6.0.0-beta.37
|
|
2
|
+
|
|
3
|
+
* Keep the correct line count when generating one svg per line. (Fixes analysis of the tune for playback and timing)
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
*
|
|
7
|
+
* Change the default soundfont to the improved Fluid one; add the anticipations on the abcjs soundfont.
|
|
8
|
+
|
|
9
|
+
## Bugs
|
|
10
|
+
|
|
11
|
+
# Version 6.0.0-beta.36
|
|
12
|
+
|
|
13
|
+
## Bugs
|
|
14
|
+
|
|
15
|
+
* Fix some typescript definitions.
|
|
16
|
+
|
|
17
|
+
* When stopping synth, return the position that it stopped at.
|
|
18
|
+
|
|
19
|
+
* Implement a fix for race conditions during note loading
|
|
20
|
+
|
|
21
|
+
* Don't call debugger when setting an annotation on an invisible note.
|
|
22
|
+
|
|
23
|
+
* Put try/catch in editor when creating music so there isn't an unhandled exception if there is an abcjs bug.
|
|
24
|
+
|
|
25
|
+
* Don't crash when creating audio and there is a suppressed blank line
|
|
26
|
+
|
|
27
|
+
* When suppressing blank lines, consider a line with only chords as not blank.
|
|
28
|
+
|
|
29
|
+
* Don't add too much spacing on chord symbols when placing them.
|
|
30
|
+
|
|
31
|
+
* Don't lose element's scrolling position when rendering music.
|
|
32
|
+
|
|
33
|
+
* Fix crash when creating timing array and there is a suppressed line because it is empty.
|
|
34
|
+
|
|
35
|
+
* Allow soundFontVolumeMultiplier to be set to zero.
|
|
36
|
+
|
|
37
|
+
## Features
|
|
38
|
+
|
|
39
|
+
* Add string tablature
|
|
40
|
+
|
|
41
|
+
* Implement %%jazzchord directive
|
|
42
|
+
|
|
43
|
+
## Documentation
|
|
44
|
+
|
|
45
|
+
* Add example page using multiple synths with program switcher
|
|
46
|
+
|
|
47
|
+
* Add jazzchords to example generator
|
|
48
|
+
|
|
49
|
+
# Version 6.0.0-beta.35
|
|
50
|
+
|
|
51
|
+
## Bugs
|
|
52
|
+
|
|
53
|
+
* Fix regression on creating oneSvgPerLine
|
|
54
|
+
|
|
55
|
+
* Fix notes that are one step apart from colliding.
|
|
56
|
+
|
|
57
|
+
* Fix crash on bad notelength
|
|
58
|
+
|
|
59
|
+
* Fix note durations in triplets where p != r
|
|
60
|
+
|
|
61
|
+
* Don't crash if a browser doesn't contain AudioContext
|
|
62
|
+
|
|
63
|
+
* Don't swallow warning after wrapping.
|
|
64
|
+
|
|
65
|
+
* Fix some regressions with placing and styling text.
|
|
66
|
+
|
|
67
|
+
* Fix font on relatively positioned annotations.
|
|
68
|
+
|
|
69
|
+
* Protect the editor from crashing when synth is attempted and the browser doesn't support AudioContext.
|
|
70
|
+
|
|
71
|
+
## Features
|
|
72
|
+
|
|
73
|
+
* Create parameter `jazzchords`
|
|
74
|
+
|
|
75
|
+
* Add many types to the typescript definitions.
|
|
76
|
+
|
|
77
|
+
* Add `units` to TimingCallback.start
|
|
78
|
+
|
|
79
|
+
* Add staccato to midi creation.
|
|
80
|
+
|
|
81
|
+
* Add classes to dynamics elements.
|
|
82
|
+
|
|
83
|
+
* Add more info to the click handler
|
|
84
|
+
|
|
85
|
+
* Limit the size of the warning message if there is a long string.
|
|
86
|
+
|
|
87
|
+
* Add initialClef option
|
|
88
|
+
|
|
89
|
+
* Keep and pass back current time from the timer callbacks.
|
|
90
|
+
|
|
91
|
+
## Documentation
|
|
92
|
+
|
|
93
|
+
* Fix path for favicon in docs
|
|
94
|
+
|
|
95
|
+
* Tweak to printing example
|
|
96
|
+
|
|
97
|
+
* Move examples to github pages.
|
|
98
|
+
|
|
99
|
+
* Add MIDI download example.
|
|
100
|
+
|
|
101
|
+
* Fixes to doc building from the vuepress upgrade.
|
|
102
|
+
|
|
103
|
+
* Add mention of a CDN to load library from.
|
|
104
|
+
|
|
105
|
+
* Add a couple of errors to analysis demo to show the warning data.
|
|
106
|
+
|
|
107
|
+
* Option to only render the clef on the first line.
|
|
108
|
+
|
|
1
109
|
# Version 6.0.0-beta.33
|
|
2
110
|
|
|
3
111
|
## Bugs
|