chordsheetjs 6.1.0 → 6.2.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.
- package/README.md +423 -571
- package/lib/bundle.js +15353 -0
- package/lib/index.js +6253 -216
- package/lib/index.js.map +1 -0
- package/lib/main.d.ts +1062 -0
- package/lib/main.d.ts.map +1 -0
- package/package.json +43 -21
- package/.husky/pre-commit +0 -5
- package/lib/chord.js +0 -496
- package/lib/chord_sheet/chord_lyrics_pair.js +0 -80
- package/lib/chord_sheet/chord_pro/composite.js +0 -54
- package/lib/chord_sheet/chord_pro/evaluation_error.js +0 -58
- package/lib/chord_sheet/chord_pro/literal.js +0 -42
- package/lib/chord_sheet/chord_pro/ternary.js +0 -126
- package/lib/chord_sheet/comment.js +0 -55
- package/lib/chord_sheet/line.js +0 -207
- package/lib/chord_sheet/metadata.js +0 -216
- package/lib/chord_sheet/paragraph.js +0 -88
- package/lib/chord_sheet/song.js +0 -531
- package/lib/chord_sheet/tag.js +0 -359
- package/lib/chord_sheet_serializer.js +0 -278
- package/lib/constants.js +0 -54
- package/lib/formatter/chord_pro_formatter.js +0 -184
- package/lib/formatter/html_div_formatter.js +0 -130
- package/lib/formatter/html_formatter.js +0 -44
- package/lib/formatter/html_table_formatter.js +0 -154
- package/lib/formatter/templates/html_div_formatter.js +0 -544
- package/lib/formatter/templates/html_table_formatter.js +0 -731
- package/lib/formatter/text_formatter.js +0 -184
- package/lib/helpers.js +0 -56
- package/lib/key.js +0 -386
- package/lib/normalize_mappings/enharmonic-normalize.js +0 -124
- package/lib/normalize_mappings/generate-suffix-normalize-mapping.js +0 -36
- package/lib/normalize_mappings/suffix-normalize-mapping.js +0 -914
- package/lib/note.js +0 -264
- package/lib/parser/chord_pro_parser.js +0 -64
- package/lib/parser/chord_pro_peg_parser.js +0 -2069
- package/lib/parser/chord_sheet_parser.js +0 -175
- package/lib/parser/parser_warning.js +0 -62
- package/lib/parser/ultimate_guitar_parser.js +0 -154
- package/lib/template_helpers.js +0 -98
- package/lib/utilities.js +0 -110
package/README.md
CHANGED
|
@@ -29,6 +29,19 @@ or `require()`:
|
|
|
29
29
|
var ChordSheetJS = require('chordsheetjs').default;
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
### Standalone bundle file
|
|
33
|
+
|
|
34
|
+
If you're not using a build tool, you can download and use the `bundle.js` from the
|
|
35
|
+
[latest release](https://github.com/martijnversluis/ChordSheetJS/releases/latest):
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<script src="bundle.js"></script>
|
|
39
|
+
<script>
|
|
40
|
+
// ChordSheetJS is available in global namespace now
|
|
41
|
+
const parser = new ChordSheetJS.ChordProParser();
|
|
42
|
+
</script>
|
|
43
|
+
```
|
|
44
|
+
|
|
32
45
|
## How to ...?
|
|
33
46
|
|
|
34
47
|
### Parse chord sheet
|
|
@@ -343,174 +356,132 @@ subject to breaking changes between major versions.
|
|
|
343
356
|
|
|
344
357
|
<dl>
|
|
345
358
|
<dt><a href="#ChordLyricsPair">ChordLyricsPair</a></dt>
|
|
346
|
-
<dd><p>Represents a chord with the corresponding (partial) lyrics</p>
|
|
347
|
-
</dd>
|
|
359
|
+
<dd><p>Represents a chord with the corresponding (partial) lyrics</p></dd>
|
|
348
360
|
<dt><a href="#Comment">Comment</a></dt>
|
|
349
|
-
<dd><p>Represents a comment. See
|
|
350
|
-
</dd>
|
|
351
|
-
<dt><a href="#Line">Line</a></dt>
|
|
352
|
-
<dd><p>Represents a line in a chord sheet, consisting of items of type ChordLyricsPair or Tag</p>
|
|
353
|
-
</dd>
|
|
361
|
+
<dd><p>Represents a comment. See https://www.chordpro.org/chordpro/chordpro-file-format-specification/#overview</p></dd>
|
|
354
362
|
<dt><a href="#Metadata">Metadata</a></dt>
|
|
355
363
|
<dd><p>Stores song metadata. Properties can be accessed using the get() method:</p>
|
|
356
|
-
<p>const metadata = new Metadata({ author:
|
|
357
|
-
metadata.get(
|
|
358
|
-
<p>See
|
|
359
|
-
</dd>
|
|
364
|
+
<p>const metadata = new Metadata({ author: 'John' });
|
|
365
|
+
metadata.get('author') // => 'John'</p>
|
|
366
|
+
<p>See [get](#Metadata+get)</p></dd>
|
|
360
367
|
<dt><a href="#Paragraph">Paragraph</a></dt>
|
|
361
|
-
<dd><p>Represents a paragraph of lines in a chord sheet</p>
|
|
362
|
-
</dd>
|
|
368
|
+
<dd><p>Represents a paragraph of lines in a chord sheet</p></dd>
|
|
363
369
|
<dt><a href="#Song">Song</a></dt>
|
|
364
|
-
<dd><p>Represents a song in a chord sheet. Currently a chord sheet can only have one song.</p>
|
|
365
|
-
</dd>
|
|
370
|
+
<dd><p>Represents a song in a chord sheet. Currently a chord sheet can only have one song.</p></dd>
|
|
366
371
|
<dt><a href="#Tag">Tag</a></dt>
|
|
367
|
-
<dd><p>Represents a tag/directive. See
|
|
368
|
-
</dd>
|
|
372
|
+
<dd><p>Represents a tag/directive. See https://www.chordpro.org/chordpro/chordpro-directives/</p></dd>
|
|
369
373
|
<dt><a href="#ChordProFormatter">ChordProFormatter</a></dt>
|
|
370
|
-
<dd><p>Formats a song into a ChordPro chord sheet</p>
|
|
371
|
-
</
|
|
374
|
+
<dd><p>Formats a song into a ChordPro chord sheet</p></dd>
|
|
375
|
+
<dt><a href="#Formatter">Formatter</a></dt>
|
|
376
|
+
<dd><p>Base class for all formatters, taking care of receiving a configuration wrapping that inside a Configuration object</p></dd>
|
|
372
377
|
<dt><a href="#HtmlDivFormatter">HtmlDivFormatter</a></dt>
|
|
373
|
-
<dd><p>Formats a song into HTML. It uses DIVs to align lyrics with chords, which makes it useful for responsive web pages.</p>
|
|
374
|
-
</dd>
|
|
378
|
+
<dd><p>Formats a song into HTML. It uses DIVs to align lyrics with chords, which makes it useful for responsive web pages.</p></dd>
|
|
375
379
|
<dt><a href="#HtmlFormatter">HtmlFormatter</a></dt>
|
|
376
|
-
<dd><p>Acts as a base class for HTML formatters, taking care of whitelisting prototype property access.</p>
|
|
377
|
-
</dd>
|
|
380
|
+
<dd><p>Acts as a base class for HTML formatters, taking care of whitelisting prototype property access.</p></dd>
|
|
378
381
|
<dt><a href="#HtmlTableFormatter">HtmlTableFormatter</a></dt>
|
|
379
382
|
<dd><p>Formats a song into HTML. It uses TABLEs to align lyrics with chords, which makes the HTML for things like
|
|
380
|
-
PDF conversion.</p>
|
|
381
|
-
</dd>
|
|
383
|
+
PDF conversion.</p></dd>
|
|
382
384
|
<dt><a href="#TextFormatter">TextFormatter</a></dt>
|
|
383
|
-
<dd><p>Formats a song into a plain text chord sheet</p>
|
|
384
|
-
</dd>
|
|
385
|
+
<dd><p>Formats a song into a plain text chord sheet</p></dd>
|
|
385
386
|
<dt><a href="#ChordProParser">ChordProParser</a></dt>
|
|
386
|
-
<dd><p>Parses a ChordPro chord sheet</p>
|
|
387
|
-
</dd>
|
|
387
|
+
<dd><p>Parses a ChordPro chord sheet</p></dd>
|
|
388
388
|
<dt><a href="#ChordSheetParser">ChordSheetParser</a></dt>
|
|
389
|
-
<dd><p>Parses a normal chord sheet</p>
|
|
390
|
-
</dd>
|
|
389
|
+
<dd><p>Parses a normal chord sheet</p></dd>
|
|
391
390
|
<dt><a href="#ParserWarning">ParserWarning</a></dt>
|
|
392
|
-
<dd><p>Represents a parser warning, currently only used by ChordProParser.</p>
|
|
393
|
-
</dd>
|
|
391
|
+
<dd><p>Represents a parser warning, currently only used by ChordProParser.</p></dd>
|
|
394
392
|
<dt><a href="#UltimateGuitarParser">UltimateGuitarParser</a></dt>
|
|
395
393
|
<dd><p>Parses an Ultimate Guitar chord sheet with metadata
|
|
396
|
-
Inherits from
|
|
397
|
-
</dd>
|
|
394
|
+
Inherits from [ChordSheetParser](#ChordSheetParser)</p></dd>
|
|
398
395
|
<dt><a href="#Chord">Chord</a></dt>
|
|
399
|
-
<dd><p>Represents a Chord, consisting of a root, suffix (quality) and bass</p>
|
|
400
|
-
</dd>
|
|
396
|
+
<dd><p>Represents a Chord, consisting of a root, suffix (quality) and bass</p></dd>
|
|
401
397
|
<dt><a href="#ChordSheetSerializer">ChordSheetSerializer</a></dt>
|
|
402
|
-
<dd><p>Serializes a song into een plain object, and deserializes the serialized object back into a
|
|
403
|
-
</dd>
|
|
398
|
+
<dd><p>Serializes a song into een plain object, and deserializes the serialized object back into a [Song](#Song)</p></dd>
|
|
404
399
|
</dl>
|
|
405
400
|
|
|
406
|
-
##
|
|
401
|
+
## Members
|
|
407
402
|
|
|
408
403
|
<dl>
|
|
409
404
|
<dt><a href="#ALBUM">ALBUM</a> : <code>string</code></dt>
|
|
410
|
-
<dd><p>
|
|
411
|
-
</dd>
|
|
405
|
+
<dd><p>Artist meta directive. See https://www.chordpro.org/chordpro/directives-artist/</p></dd>
|
|
412
406
|
<dt><a href="#ARTIST">ARTIST</a> : <code>string</code></dt>
|
|
413
|
-
<dd><p>
|
|
414
|
-
</dd>
|
|
407
|
+
<dd><p>Capo meta directive. See https://www.chordpro.org/chordpro/directives-capo/</p></dd>
|
|
415
408
|
<dt><a href="#CAPO">CAPO</a> : <code>string</code></dt>
|
|
416
|
-
<dd><p>
|
|
417
|
-
</dd>
|
|
409
|
+
<dd><p>Comment directive. See https://www.chordpro.org/chordpro/directives-comment/</p></dd>
|
|
418
410
|
<dt><a href="#COMMENT">COMMENT</a> : <code>string</code></dt>
|
|
419
|
-
<dd><p>
|
|
420
|
-
</dd>
|
|
411
|
+
<dd><p>Composer meta directive. See https://www.chordpro.org/chordpro/directives-composer/</p></dd>
|
|
421
412
|
<dt><a href="#COMPOSER">COMPOSER</a> : <code>string</code></dt>
|
|
422
|
-
<dd><p>
|
|
423
|
-
</dd>
|
|
413
|
+
<dd><p>Copyright meta directive. See https://www.chordpro.org/chordpro/directives-copyright/</p></dd>
|
|
424
414
|
<dt><a href="#COPYRIGHT">COPYRIGHT</a> : <code>string</code></dt>
|
|
425
|
-
<dd><p>
|
|
426
|
-
</dd>
|
|
415
|
+
<dd><p>Duration meta directive. See https://www.chordpro.org/chordpro/directives-duration/</p></dd>
|
|
427
416
|
<dt><a href="#DURATION">DURATION</a> : <code>string</code></dt>
|
|
428
|
-
<dd><p>
|
|
429
|
-
</dd>
|
|
417
|
+
<dd><p>End of chorus directive. See https://www.chordpro.org/chordpro/directives-env_chorus/</p></dd>
|
|
430
418
|
<dt><a href="#END_OF_CHORUS">END_OF_CHORUS</a> : <code>string</code></dt>
|
|
431
|
-
<dd><p>End of
|
|
432
|
-
</dd>
|
|
419
|
+
<dd><p>End of tab directive. See https://www.chordpro.org/chordpro/directives-env_tab/</p></dd>
|
|
433
420
|
<dt><a href="#END_OF_TAB">END_OF_TAB</a> : <code>string</code></dt>
|
|
434
|
-
<dd><p>End of
|
|
435
|
-
</dd>
|
|
421
|
+
<dd><p>End of verse directive. See https://www.chordpro.org/chordpro/directives-env_verse/</p></dd>
|
|
436
422
|
<dt><a href="#END_OF_VERSE">END_OF_VERSE</a> : <code>string</code></dt>
|
|
437
|
-
<dd><p>
|
|
438
|
-
</dd>
|
|
423
|
+
<dd><p>Key meta directive. See https://www.chordpro.org/chordpro/directives-key/</p></dd>
|
|
439
424
|
<dt><a href="#KEY">KEY</a> : <code>string</code></dt>
|
|
440
|
-
<dd><p>Key meta directive. See
|
|
441
|
-
</dd>
|
|
425
|
+
<dd><p>Key meta directive. See https://www.chordpro.org/chordpro/directives-key/</p></dd>
|
|
442
426
|
<dt><a href="#_KEY">_KEY</a> : <code>string</code></dt>
|
|
443
|
-
<dd><p>
|
|
444
|
-
</dd>
|
|
427
|
+
<dd><p>Lyricist meta directive. See https://www.chordpro.org/chordpro/directives-lyricist/</p></dd>
|
|
445
428
|
<dt><a href="#LYRICIST">LYRICIST</a> : <code>string</code></dt>
|
|
446
|
-
<dd><p>
|
|
447
|
-
</dd>
|
|
429
|
+
<dd><p>Start of chorus directive. See https://www.chordpro.org/chordpro/directives-env_chorus/</p></dd>
|
|
448
430
|
<dt><a href="#START_OF_CHORUS">START_OF_CHORUS</a> : <code>string</code></dt>
|
|
449
|
-
<dd><p>Start of
|
|
450
|
-
</dd>
|
|
431
|
+
<dd><p>Start of tab directive. See https://www.chordpro.org/chordpro/directives-env_tab/</p></dd>
|
|
451
432
|
<dt><a href="#START_OF_TAB">START_OF_TAB</a> : <code>string</code></dt>
|
|
452
|
-
<dd><p>Start of
|
|
453
|
-
</dd>
|
|
433
|
+
<dd><p>Start of verse directive. See https://www.chordpro.org/chordpro/directives-env_verse/</p></dd>
|
|
454
434
|
<dt><a href="#START_OF_VERSE">START_OF_VERSE</a> : <code>string</code></dt>
|
|
455
|
-
<dd><p>
|
|
456
|
-
</dd>
|
|
435
|
+
<dd><p>Subtitle meta directive. See https://www.chordpro.org/chordpro/directives-subtitle/</p></dd>
|
|
457
436
|
<dt><a href="#SUBTITLE">SUBTITLE</a> : <code>string</code></dt>
|
|
458
|
-
<dd><p>
|
|
459
|
-
</dd>
|
|
437
|
+
<dd><p>Tempo meta directive. See https://www.chordpro.org/chordpro/directives-tempo/</p></dd>
|
|
460
438
|
<dt><a href="#TEMPO">TEMPO</a> : <code>string</code></dt>
|
|
461
|
-
<dd><p>
|
|
462
|
-
</dd>
|
|
439
|
+
<dd><p>Time meta directive. See https://www.chordpro.org/chordpro/directives-time/</p></dd>
|
|
463
440
|
<dt><a href="#TIME">TIME</a> : <code>string</code></dt>
|
|
464
|
-
<dd><p>
|
|
465
|
-
</dd>
|
|
441
|
+
<dd><p>Title meta directive. See https://www.chordpro.org/chordpro/directives-title/</p></dd>
|
|
466
442
|
<dt><a href="#TITLE">TITLE</a> : <code>string</code></dt>
|
|
467
|
-
<dd><p>
|
|
468
|
-
</dd>
|
|
443
|
+
<dd><p>Transpose meta directive. See: https://www.chordpro.org/chordpro/directives-transpose/</p></dd>
|
|
469
444
|
<dt><a href="#TRANSPOSE">TRANSPOSE</a> : <code>string</code></dt>
|
|
470
|
-
<dd><p>
|
|
471
|
-
</dd>
|
|
445
|
+
<dd><p>New Key meta directive. See: https://github.com/PraiseCharts/ChordChartJS/issues/53</p></dd>
|
|
472
446
|
<dt><a href="#NEW_KEY">NEW_KEY</a> : <code>string</code></dt>
|
|
473
|
-
<dd><p>
|
|
474
|
-
</
|
|
475
|
-
<
|
|
476
|
-
|
|
477
|
-
|
|
447
|
+
<dd><p>Year meta directive. See https://www.chordpro.org/chordpro/directives-year/</p></dd>
|
|
448
|
+
<dt><a href="#defaultCss">defaultCss</a> ⇒ <code>string</code></dt>
|
|
449
|
+
<dd><p>Generates basic CSS, scoped within the provided selector, to use with output generated by [HtmlTableFormatter](#HtmlTableFormatter)</p></dd>
|
|
450
|
+
</dl>
|
|
451
|
+
|
|
452
|
+
## Constants
|
|
453
|
+
|
|
454
|
+
<dl>
|
|
478
455
|
<dt><a href="#defaultCss">defaultCss</a> : <code>Object.<string, Object.<string, string>></code></dt>
|
|
479
456
|
<dd><p>Basic CSS, in object style à la useStyles, to use with output generated by {@link }HtmlTableFormatter}
|
|
480
|
-
For a CSS string see
|
|
481
|
-
</
|
|
457
|
+
For a CSS string see [scopedCss](scopedCss)</p></dd>
|
|
458
|
+
<dt><a href="#VERSE">VERSE</a> : <code>string</code></dt>
|
|
459
|
+
<dd><p>Used to mark a paragraph as verse</p></dd>
|
|
482
460
|
<dt><a href="#VERSE">VERSE</a> : <code>string</code></dt>
|
|
483
|
-
<dd><p>Used to mark a paragraph as
|
|
484
|
-
</dd>
|
|
461
|
+
<dd><p>Used to mark a paragraph as chorus</p></dd>
|
|
485
462
|
<dt><a href="#CHORUS">CHORUS</a> : <code>string</code></dt>
|
|
486
|
-
<dd><p>Used to mark a paragraph as
|
|
487
|
-
</dd>
|
|
463
|
+
<dd><p>Used to mark a paragraph as not containing a line marked with a type</p></dd>
|
|
488
464
|
<dt><a href="#NONE">NONE</a> : <code>string</code></dt>
|
|
489
|
-
<dd><p>Used to mark a paragraph as
|
|
490
|
-
</dd>
|
|
465
|
+
<dd><p>Used to mark a paragraph as containing lines with both verse and chorus type</p></dd>
|
|
491
466
|
<dt><a href="#INDETERMINATE">INDETERMINATE</a> : <code>string</code></dt>
|
|
492
|
-
<dd><p>Used to mark a paragraph as
|
|
493
|
-
</dd>
|
|
494
|
-
<dt><a href="#TAB">TAB</a> : <code>string</code></dt>
|
|
495
|
-
<dd><p>Used to mark a paragraph as tab</p>
|
|
496
|
-
</dd>
|
|
467
|
+
<dd><p>Used to mark a paragraph as tab</p></dd>
|
|
497
468
|
</dl>
|
|
498
469
|
|
|
499
470
|
## Functions
|
|
500
471
|
|
|
501
472
|
<dl>
|
|
502
|
-
<dt><a href="#scopedCss">scopedCss(scope)</a> ⇒ <code>string</code></dt>
|
|
503
|
-
<dd><p>Generates basic CSS, scoped within the provided selector, to use with output generated by <a href="#HtmlTableFormatter">HtmlTableFormatter</a></p>
|
|
504
|
-
</dd>
|
|
505
473
|
<dt><del><a href="#parseChord">parseChord(chordString)</a> ⇒ <code>null</code> | <code><a href="#Chord">Chord</a></code></del></dt>
|
|
506
|
-
<dd><p>Tries to parse a chord string into a chord</p>
|
|
507
|
-
</
|
|
474
|
+
<dd><p>Tries to parse a chord string into a chord</p></dd>
|
|
475
|
+
<dt><a href="#getCapos">getCapos(key)</a> ⇒ <code>Object.<string, string></code></dt>
|
|
476
|
+
<dd><p>Returns applicable capos for the provided key</p></dd>
|
|
477
|
+
<dt><a href="#getKeys">getKeys(key)</a> ⇒ <code>Array.<string></code></dt>
|
|
478
|
+
<dd><p>Returns applicable keys to transpose to from the provided key</p></dd>
|
|
508
479
|
</dl>
|
|
509
480
|
|
|
510
481
|
<a name="ChordLyricsPair"></a>
|
|
511
482
|
|
|
512
483
|
## ChordLyricsPair
|
|
513
|
-
Represents a chord with the corresponding (partial) lyrics
|
|
484
|
+
<p>Represents a chord with the corresponding (partial) lyrics</p>
|
|
514
485
|
|
|
515
486
|
**Kind**: global class
|
|
516
487
|
|
|
@@ -524,42 +495,42 @@ Represents a chord with the corresponding (partial) lyrics
|
|
|
524
495
|
<a name="new_ChordLyricsPair_new"></a>
|
|
525
496
|
|
|
526
497
|
### new ChordLyricsPair(chords, lyrics)
|
|
527
|
-
Initialises a ChordLyricsPair
|
|
498
|
+
<p>Initialises a ChordLyricsPair</p>
|
|
528
499
|
|
|
529
500
|
|
|
530
501
|
| Param | Type | Description |
|
|
531
502
|
| --- | --- | --- |
|
|
532
|
-
| chords | <code>string</code> | The chords |
|
|
533
|
-
| lyrics | <code>string</code> | The lyrics |
|
|
503
|
+
| chords | <code>string</code> | <p>The chords</p> |
|
|
504
|
+
| lyrics | <code>string</code> | <p>The lyrics</p> |
|
|
534
505
|
|
|
535
506
|
<a name="ChordLyricsPair+chords"></a>
|
|
536
507
|
|
|
537
508
|
### chordLyricsPair.chords : <code>string</code>
|
|
538
|
-
The chords
|
|
509
|
+
<p>The chords</p>
|
|
539
510
|
|
|
540
511
|
**Kind**: instance property of [<code>ChordLyricsPair</code>](#ChordLyricsPair)
|
|
541
512
|
<a name="ChordLyricsPair+lyrics"></a>
|
|
542
513
|
|
|
543
514
|
### chordLyricsPair.lyrics : <code>string</code>
|
|
544
|
-
The lyrics
|
|
515
|
+
<p>The lyrics</p>
|
|
545
516
|
|
|
546
517
|
**Kind**: instance property of [<code>ChordLyricsPair</code>](#ChordLyricsPair)
|
|
547
518
|
<a name="ChordLyricsPair+isRenderable"></a>
|
|
548
519
|
|
|
549
520
|
### chordLyricsPair.isRenderable() ⇒ <code>boolean</code>
|
|
550
|
-
Indicates whether a ChordLyricsPair should be visible in a formatted chord sheet (except for ChordPro sheets)
|
|
521
|
+
<p>Indicates whether a ChordLyricsPair should be visible in a formatted chord sheet (except for ChordPro sheets)</p>
|
|
551
522
|
|
|
552
523
|
**Kind**: instance method of [<code>ChordLyricsPair</code>](#ChordLyricsPair)
|
|
553
524
|
<a name="ChordLyricsPair+clone"></a>
|
|
554
525
|
|
|
555
526
|
### chordLyricsPair.clone() ⇒ [<code>ChordLyricsPair</code>](#ChordLyricsPair)
|
|
556
|
-
Returns a deep copy of the ChordLyricsPair, useful when programmatically transforming a song
|
|
527
|
+
<p>Returns a deep copy of the ChordLyricsPair, useful when programmatically transforming a song</p>
|
|
557
528
|
|
|
558
529
|
**Kind**: instance method of [<code>ChordLyricsPair</code>](#ChordLyricsPair)
|
|
559
530
|
<a name="Comment"></a>
|
|
560
531
|
|
|
561
532
|
## Comment
|
|
562
|
-
Represents a comment. See https://www.chordpro.org/chordpro/chordpro-file-format-specification/#overview
|
|
533
|
+
<p>Represents a comment. See https://www.chordpro.org/chordpro/chordpro-file-format-specification/#overview</p>
|
|
563
534
|
|
|
564
535
|
**Kind**: global class
|
|
565
536
|
|
|
@@ -570,104 +541,22 @@ Represents a comment. See https://www.chordpro.org/chordpro/chordpro-file-format
|
|
|
570
541
|
<a name="Comment+isRenderable"></a>
|
|
571
542
|
|
|
572
543
|
### comment.isRenderable() ⇒ <code>boolean</code>
|
|
573
|
-
Indicates whether a Comment should be visible in a formatted chord sheet (except for ChordPro sheets)
|
|
544
|
+
<p>Indicates whether a Comment should be visible in a formatted chord sheet (except for ChordPro sheets)</p>
|
|
574
545
|
|
|
575
546
|
**Kind**: instance method of [<code>Comment</code>](#Comment)
|
|
576
547
|
<a name="Comment+clone"></a>
|
|
577
548
|
|
|
578
549
|
### comment.clone() ⇒ [<code>Comment</code>](#Comment)
|
|
579
|
-
Returns a deep copy of the Comment, useful when programmatically transforming a song
|
|
550
|
+
<p>Returns a deep copy of the Comment, useful when programmatically transforming a song</p>
|
|
580
551
|
|
|
581
552
|
**Kind**: instance method of [<code>Comment</code>](#Comment)
|
|
582
|
-
<a name="Line"></a>
|
|
583
|
-
|
|
584
|
-
## Line
|
|
585
|
-
Represents a line in a chord sheet, consisting of items of type ChordLyricsPair or Tag
|
|
586
|
-
|
|
587
|
-
**Kind**: global class
|
|
588
|
-
|
|
589
|
-
* [Line](#Line)
|
|
590
|
-
* [.items](#Line+items) : <code>Array.<(ChordLyricsPair\|Tag\|Comment)></code>
|
|
591
|
-
* [.type](#Line+type) : <code>string</code>
|
|
592
|
-
* [.isEmpty()](#Line+isEmpty) ⇒ <code>boolean</code>
|
|
593
|
-
* [.addItem(item)](#Line+addItem)
|
|
594
|
-
* [.hasRenderableItems()](#Line+hasRenderableItems) ⇒ <code>boolean</code>
|
|
595
|
-
* [.clone()](#Line+clone) ⇒ [<code>Line</code>](#Line)
|
|
596
|
-
* [.isVerse()](#Line+isVerse) ⇒ <code>boolean</code>
|
|
597
|
-
* [.isChorus()](#Line+isChorus) ⇒ <code>boolean</code>
|
|
598
|
-
* ~~[.hasContent()](#Line+hasContent) ⇒ <code>boolean</code>~~
|
|
599
|
-
|
|
600
|
-
<a name="Line+items"></a>
|
|
601
|
-
|
|
602
|
-
### line.items : <code>Array.<(ChordLyricsPair\|Tag\|Comment)></code>
|
|
603
|
-
The items ([ChordLyricsPair](#ChordLyricsPair) or [Tag](#Tag) or [Comment](#Comment)) of which the line consists
|
|
604
|
-
|
|
605
|
-
**Kind**: instance property of [<code>Line</code>](#Line)
|
|
606
|
-
<a name="Line+type"></a>
|
|
607
|
-
|
|
608
|
-
### line.type : <code>string</code>
|
|
609
|
-
The line type, This is set by the ChordProParser when it read tags like {start_of_chorus} or {start_of_verse}
|
|
610
|
-
Values can be [VERSE](#VERSE), [CHORUS](#CHORUS) or [NONE](#NONE)
|
|
611
|
-
|
|
612
|
-
**Kind**: instance property of [<code>Line</code>](#Line)
|
|
613
|
-
<a name="Line+isEmpty"></a>
|
|
614
|
-
|
|
615
|
-
### line.isEmpty() ⇒ <code>boolean</code>
|
|
616
|
-
Indicates whether the line contains any items
|
|
617
|
-
|
|
618
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
619
|
-
<a name="Line+addItem"></a>
|
|
620
|
-
|
|
621
|
-
### line.addItem(item)
|
|
622
|
-
Adds an item ([ChordLyricsPair](#ChordLyricsPair) or [Tag](#Tag)) to the line
|
|
623
|
-
|
|
624
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
625
|
-
|
|
626
|
-
| Param | Type | Description |
|
|
627
|
-
| --- | --- | --- |
|
|
628
|
-
| item | [<code>ChordLyricsPair</code>](#ChordLyricsPair) \| [<code>Tag</code>](#Tag) | The item to be added |
|
|
629
|
-
|
|
630
|
-
<a name="Line+hasRenderableItems"></a>
|
|
631
|
-
|
|
632
|
-
### line.hasRenderableItems() ⇒ <code>boolean</code>
|
|
633
|
-
Indicates whether the line contains items that are renderable
|
|
634
|
-
|
|
635
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
636
|
-
<a name="Line+clone"></a>
|
|
637
|
-
|
|
638
|
-
### line.clone() ⇒ [<code>Line</code>](#Line)
|
|
639
|
-
Returns a deep copy of the line and all of its items
|
|
640
|
-
|
|
641
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
642
|
-
<a name="Line+isVerse"></a>
|
|
643
|
-
|
|
644
|
-
### line.isVerse() ⇒ <code>boolean</code>
|
|
645
|
-
Indicates whether the line type is [VERSE](#VERSE)
|
|
646
|
-
|
|
647
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
648
|
-
<a name="Line+isChorus"></a>
|
|
649
|
-
|
|
650
|
-
### line.isChorus() ⇒ <code>boolean</code>
|
|
651
|
-
Indicates whether the line type is [CHORUS](#CHORUS)
|
|
652
|
-
|
|
653
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
654
|
-
<a name="Line+hasContent"></a>
|
|
655
|
-
|
|
656
|
-
### ~~line.hasContent() ⇒ <code>boolean</code>~~
|
|
657
|
-
***Deprecated***
|
|
658
|
-
|
|
659
|
-
Indicates whether the line contains items that are renderable. Please use [hasRenderableItems](hasRenderableItems)
|
|
660
|
-
|
|
661
|
-
**Kind**: instance method of [<code>Line</code>](#Line)
|
|
662
553
|
<a name="Metadata"></a>
|
|
663
554
|
|
|
664
555
|
## Metadata
|
|
665
|
-
Stores song metadata. Properties can be accessed using the get() method
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
See [get](#Metadata+get)
|
|
556
|
+
<p>Stores song metadata. Properties can be accessed using the get() method:</p>
|
|
557
|
+
<p>const metadata = new Metadata({ author: 'John' });
|
|
558
|
+
metadata.get('author') // => 'John'</p>
|
|
559
|
+
<p>See [get](#Metadata+get)</p>
|
|
671
560
|
|
|
672
561
|
**Kind**: global class
|
|
673
562
|
|
|
@@ -678,84 +567,69 @@ See [get](#Metadata+get)
|
|
|
678
567
|
<a name="Metadata+get"></a>
|
|
679
568
|
|
|
680
569
|
### metadata.get(prop) ⇒ <code>Array.<String></code> \| <code>String</code>
|
|
681
|
-
Reads a metadata value by key. This method supports simple value lookup, as fetching single array values
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
metadata.get('
|
|
689
|
-
|
|
690
|
-
metadata
|
|
691
|
-
metadata.get('author
|
|
692
|
-
|
|
693
|
-
Using a negative index will start counting at the end of the list:
|
|
694
|
-
|
|
695
|
-
const metadata = new Metadata({ lyricist: 'Pete', author: ['John', 'Mary'] });
|
|
696
|
-
metadata.get('author.-1') // => 'Mary'
|
|
697
|
-
metadata.get('author.-2') // => 'John'
|
|
570
|
+
<p>Reads a metadata value by key. This method supports simple value lookup, as fetching single array values.</p>
|
|
571
|
+
<p>This method deprecates direct property access, eg: metadata['author']</p>
|
|
572
|
+
<p>Examples:</p>
|
|
573
|
+
<p>const metadata = new Metadata({ lyricist: 'Pete', author: ['John', 'Mary'] });
|
|
574
|
+
metadata.get('lyricist') // => 'Pete'
|
|
575
|
+
metadata.get('author') // => ['John', 'Mary']
|
|
576
|
+
metadata.get('author.1') // => 'John'
|
|
577
|
+
metadata.get('author.2') // => 'Mary'</p>
|
|
578
|
+
<p>Using a negative index will start counting at the end of the list:</p>
|
|
579
|
+
<p>const metadata = new Metadata({ lyricist: 'Pete', author: ['John', 'Mary'] });
|
|
580
|
+
metadata.get('author.-1') // => 'Mary'
|
|
581
|
+
metadata.get('author.-2') // => 'John'</p>
|
|
698
582
|
|
|
699
583
|
**Kind**: instance method of [<code>Metadata</code>](#Metadata)
|
|
700
|
-
**Returns**: <code>Array.<String></code> \| <code>String</code> - the metadata value(s). If there is only one value, it will return a String,
|
|
701
|
-
else it returns an array of strings
|
|
584
|
+
**Returns**: <code>Array.<String></code> \| <code>String</code> - <p>the metadata value(s). If there is only one value, it will return a String,
|
|
585
|
+
else it returns an array of strings.</p>
|
|
702
586
|
|
|
703
587
|
| Param | Description |
|
|
704
588
|
| --- | --- |
|
|
705
|
-
| prop | the property name |
|
|
589
|
+
| prop | <p>the property name</p> |
|
|
706
590
|
|
|
707
591
|
<a name="Metadata+clone"></a>
|
|
708
592
|
|
|
709
593
|
### metadata.clone() ⇒ [<code>Metadata</code>](#Metadata)
|
|
710
|
-
Returns a deep clone of this Metadata object
|
|
594
|
+
<p>Returns a deep clone of this Metadata object</p>
|
|
711
595
|
|
|
712
596
|
**Kind**: instance method of [<code>Metadata</code>](#Metadata)
|
|
713
|
-
**Returns**: [<code>Metadata</code>](#Metadata) - the cloned Metadata object
|
|
597
|
+
**Returns**: [<code>Metadata</code>](#Metadata) - <p>the cloned Metadata object</p>
|
|
714
598
|
<a name="Paragraph"></a>
|
|
715
599
|
|
|
716
600
|
## Paragraph
|
|
717
|
-
Represents a paragraph of lines in a chord sheet
|
|
601
|
+
<p>Represents a paragraph of lines in a chord sheet</p>
|
|
718
602
|
|
|
719
603
|
**Kind**: global class
|
|
720
604
|
|
|
721
605
|
* [Paragraph](#Paragraph)
|
|
722
|
-
* [.lines](#Paragraph+lines) : [<code>Array.<Line></code>](#Line)
|
|
723
606
|
* [.type](#Paragraph+type) ⇒ <code>string</code>
|
|
724
607
|
* [.hasRenderableItems()](#Paragraph+hasRenderableItems) ⇒ <code>boolean</code>
|
|
725
608
|
|
|
726
|
-
<a name="Paragraph+lines"></a>
|
|
727
|
-
|
|
728
|
-
### paragraph.lines : [<code>Array.<Line></code>](#Line)
|
|
729
|
-
The [Line](#Line) items of which the paragraph consists
|
|
730
|
-
|
|
731
|
-
**Kind**: instance property of [<code>Paragraph</code>](#Paragraph)
|
|
732
609
|
<a name="Paragraph+type"></a>
|
|
733
610
|
|
|
734
611
|
### paragraph.type ⇒ <code>string</code>
|
|
735
|
-
Tries to determine the common type for all lines. If the types for all lines are equal, it returns that type.
|
|
736
|
-
If not, it returns [INDETERMINATE](#INDETERMINATE)
|
|
612
|
+
<p>Tries to determine the common type for all lines. If the types for all lines are equal, it returns that type.
|
|
613
|
+
If not, it returns [INDETERMINATE](#INDETERMINATE)</p>
|
|
737
614
|
|
|
738
615
|
**Kind**: instance property of [<code>Paragraph</code>](#Paragraph)
|
|
739
616
|
<a name="Paragraph+hasRenderableItems"></a>
|
|
740
617
|
|
|
741
618
|
### paragraph.hasRenderableItems() ⇒ <code>boolean</code>
|
|
742
|
-
Indicates whether the paragraph contains lines with renderable items
|
|
619
|
+
<p>Indicates whether the paragraph contains lines with renderable items.</p>
|
|
743
620
|
|
|
744
621
|
**Kind**: instance method of [<code>Paragraph</code>](#Paragraph)
|
|
745
622
|
**See**: [Line.hasRenderableItems](Line.hasRenderableItems)
|
|
746
623
|
<a name="Song"></a>
|
|
747
624
|
|
|
748
625
|
## Song
|
|
749
|
-
Represents a song in a chord sheet. Currently a chord sheet can only have one song
|
|
626
|
+
<p>Represents a song in a chord sheet. Currently a chord sheet can only have one song.</p>
|
|
750
627
|
|
|
751
628
|
**Kind**: global class
|
|
752
629
|
|
|
753
630
|
* [Song](#Song)
|
|
754
631
|
* [new Song(metadata)](#new_Song_new)
|
|
755
|
-
* [.
|
|
756
|
-
* [.paragraphs](#Song+paragraphs) : [<code>Array.<Paragraph></code>](#Paragraph)
|
|
757
|
-
* [.metadata](#Song+metadata) : [<code>Metadata</code>](#Metadata)
|
|
758
|
-
* [.bodyLines](#Song+bodyLines) ⇒ [<code>Array.<Line></code>](#Line)
|
|
632
|
+
* [.bodyLines](#Song+bodyLines) ⇒ <code>Array.<Line></code>
|
|
759
633
|
* [.bodyParagraphs](#Song+bodyParagraphs) ⇒ [<code>Array.<Paragraph></code>](#Paragraph)
|
|
760
634
|
* ~~[.metaData](#Song+metaData) ⇒~~
|
|
761
635
|
* [.clone()](#Song+clone) ⇒ [<code>Song</code>](#Song)
|
|
@@ -765,45 +639,26 @@ Represents a song in a chord sheet. Currently a chord sheet can only have one so
|
|
|
765
639
|
<a name="new_Song_new"></a>
|
|
766
640
|
|
|
767
641
|
### new Song(metadata)
|
|
768
|
-
Creates a new {Song} instance
|
|
642
|
+
<p>Creates a new {Song} instance</p>
|
|
769
643
|
|
|
770
644
|
|
|
771
645
|
| Param | Type | Description |
|
|
772
646
|
| --- | --- | --- |
|
|
773
|
-
| metadata | <code>Object</code> \| [<code>Metadata</code>](#Metadata) | predefined metadata |
|
|
774
|
-
|
|
775
|
-
<a name="Song+lines"></a>
|
|
776
|
-
|
|
777
|
-
### song.lines : [<code>Array.<Line></code>](#Line)
|
|
778
|
-
The [Line](#Line) items of which the song consists
|
|
779
|
-
|
|
780
|
-
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
781
|
-
<a name="Song+paragraphs"></a>
|
|
782
|
-
|
|
783
|
-
### song.paragraphs : [<code>Array.<Paragraph></code>](#Paragraph)
|
|
784
|
-
The [Paragraph](#Paragraph) items of which the song consists
|
|
785
|
-
|
|
786
|
-
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
787
|
-
<a name="Song+metadata"></a>
|
|
788
|
-
|
|
789
|
-
### song.metadata : [<code>Metadata</code>](#Metadata)
|
|
790
|
-
The song's metadata. When there is only one value for an entry, the value is a string. Else, the value is
|
|
791
|
-
an array containing all unique values for the entry.
|
|
647
|
+
| metadata | <code>Object</code> \| [<code>Metadata</code>](#Metadata) | <p>predefined metadata</p> |
|
|
792
648
|
|
|
793
|
-
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
794
649
|
<a name="Song+bodyLines"></a>
|
|
795
650
|
|
|
796
|
-
### song.bodyLines ⇒
|
|
797
|
-
Returns the song lines, skipping the leading empty lines (empty as in not rendering any content). This is useful
|
|
798
|
-
if you want to skip the
|
|
651
|
+
### song.bodyLines ⇒ <code>Array.<Line></code>
|
|
652
|
+
<p>Returns the song lines, skipping the leading empty lines (empty as in not rendering any content). This is useful
|
|
653
|
+
if you want to skip the "header lines": the lines that only contain meta data.</p>
|
|
799
654
|
|
|
800
655
|
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
801
|
-
**Returns**:
|
|
656
|
+
**Returns**: <code>Array.<Line></code> - <p>The song body lines</p>
|
|
802
657
|
<a name="Song+bodyParagraphs"></a>
|
|
803
658
|
|
|
804
659
|
### song.bodyParagraphs ⇒ [<code>Array.<Paragraph></code>](#Paragraph)
|
|
805
|
-
Returns the song paragraphs, skipping the paragraphs that only contain empty lines
|
|
806
|
-
(empty as in not rendering any content)
|
|
660
|
+
<p>Returns the song paragraphs, skipping the paragraphs that only contain empty lines
|
|
661
|
+
(empty as in not rendering any content)</p>
|
|
807
662
|
|
|
808
663
|
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
809
664
|
**See**: [bodyLines](bodyLines)
|
|
@@ -812,50 +667,54 @@ Returns the song paragraphs, skipping the paragraphs that only contain empty lin
|
|
|
812
667
|
### ~~song.metaData ⇒~~
|
|
813
668
|
***Deprecated***
|
|
814
669
|
|
|
815
|
-
The song's metadata. Please use [metadata](metadata) instead
|
|
670
|
+
<p>The song's metadata. Please use [metadata](metadata) instead.</p>
|
|
816
671
|
|
|
817
672
|
**Kind**: instance property of [<code>Song</code>](#Song)
|
|
818
|
-
**Returns**: [Metadata](#Metadata) The metadata
|
|
673
|
+
**Returns**: <p>[Metadata](#Metadata) The metadata</p>
|
|
819
674
|
<a name="Song+clone"></a>
|
|
820
675
|
|
|
821
676
|
### song.clone() ⇒ [<code>Song</code>](#Song)
|
|
822
|
-
Returns a deep clone of the song
|
|
677
|
+
<p>Returns a deep clone of the song</p>
|
|
823
678
|
|
|
824
679
|
**Kind**: instance method of [<code>Song</code>](#Song)
|
|
825
|
-
**Returns**: [<code>Song</code>](#Song) - The cloned song
|
|
680
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The cloned song</p>
|
|
826
681
|
<a name="Song+setCapo"></a>
|
|
827
682
|
|
|
828
683
|
### song.setCapo(capo) ⇒ [<code>Song</code>](#Song)
|
|
829
|
-
Returns a copy of the song with the capo value set to the specified capo. It changes
|
|
830
|
-
|
|
831
|
-
|
|
684
|
+
<p>Returns a copy of the song with the capo value set to the specified capo. It changes:</p>
|
|
685
|
+
<ul>
|
|
686
|
+
<li>the value for <code>capo</code> in the <code>metadata</code> set</li>
|
|
687
|
+
<li>any existing <code>capo</code> directive)</li>
|
|
688
|
+
</ul>
|
|
832
689
|
|
|
833
690
|
**Kind**: instance method of [<code>Song</code>](#Song)
|
|
834
|
-
**Returns**: [<code>Song</code>](#Song) - The changed song
|
|
691
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The changed song</p>
|
|
835
692
|
|
|
836
693
|
| Param | Type | Description |
|
|
837
694
|
| --- | --- | --- |
|
|
838
|
-
| capo | <code>number</code> \| <code>null</code> | the capo. Passing
|
|
695
|
+
| capo | <code>number</code> \| <code>null</code> | <p>the capo. Passing <code>null</code> will:</p> <ul> <li>remove the current key from <code>metadata</code></li> <li>remove any <code>capo</code> directive</li> </ul> |
|
|
839
696
|
|
|
840
697
|
<a name="Song+setKey"></a>
|
|
841
698
|
|
|
842
699
|
### song.setKey(key) ⇒ [<code>Song</code>](#Song)
|
|
843
|
-
Returns a copy of the song with the key set to the specified key. It changes
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
700
|
+
<p>Returns a copy of the song with the key set to the specified key. It changes:</p>
|
|
701
|
+
<ul>
|
|
702
|
+
<li>the value for <code>key</code> in the <code>metadata</code> set</li>
|
|
703
|
+
<li>any existing <code>key</code> directive</li>
|
|
704
|
+
<li>all chords, those are transposed according to the distance between the current and the new key</li>
|
|
705
|
+
</ul>
|
|
847
706
|
|
|
848
707
|
**Kind**: instance method of [<code>Song</code>](#Song)
|
|
849
|
-
**Returns**: [<code>Song</code>](#Song) - The changed song
|
|
708
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The changed song</p>
|
|
850
709
|
|
|
851
710
|
| Param | Type | Description |
|
|
852
711
|
| --- | --- | --- |
|
|
853
|
-
| key | <code>string</code> | The new key
|
|
712
|
+
| key | <code>string</code> | <p>The new key.</p> |
|
|
854
713
|
|
|
855
714
|
<a name="Tag"></a>
|
|
856
715
|
|
|
857
716
|
## Tag
|
|
858
|
-
Represents a tag/directive. See https://www.chordpro.org/chordpro/chordpro-directives
|
|
717
|
+
<p>Represents a tag/directive. See https://www.chordpro.org/chordpro/chordpro-directives/</p>
|
|
859
718
|
|
|
860
719
|
**Kind**: global class
|
|
861
720
|
|
|
@@ -871,84 +730,87 @@ Represents a tag/directive. See https://www.chordpro.org/chordpro/chordpro-direc
|
|
|
871
730
|
<a name="Tag+name"></a>
|
|
872
731
|
|
|
873
732
|
### tag.name : <code>string</code>
|
|
874
|
-
The tag full name. When the original tag used the short name,
|
|
733
|
+
<p>The tag full name. When the original tag used the short name, <code>name</code> will return the full name.</p>
|
|
875
734
|
|
|
876
735
|
**Kind**: instance property of [<code>Tag</code>](#Tag)
|
|
877
736
|
<a name="Tag+originalName"></a>
|
|
878
737
|
|
|
879
738
|
### tag.originalName : <code>string</code>
|
|
880
|
-
The original tag name that was used to construct the tag
|
|
739
|
+
<p>The original tag name that was used to construct the tag.</p>
|
|
881
740
|
|
|
882
741
|
**Kind**: instance property of [<code>Tag</code>](#Tag)
|
|
883
742
|
<a name="Tag+value"></a>
|
|
884
743
|
|
|
885
744
|
### tag.value : <code>string</code> \| <code>null</code>
|
|
886
|
-
The tag value
|
|
745
|
+
<p>The tag value</p>
|
|
887
746
|
|
|
888
747
|
**Kind**: instance property of [<code>Tag</code>](#Tag)
|
|
889
748
|
<a name="Tag+hasValue"></a>
|
|
890
749
|
|
|
891
750
|
### tag.hasValue() ⇒ <code>boolean</code>
|
|
892
|
-
Checks whether the tag value is a non-empty string
|
|
751
|
+
<p>Checks whether the tag value is a non-empty string.</p>
|
|
893
752
|
|
|
894
753
|
**Kind**: instance method of [<code>Tag</code>](#Tag)
|
|
895
754
|
<a name="Tag+isRenderable"></a>
|
|
896
755
|
|
|
897
756
|
### tag.isRenderable() ⇒ <code>boolean</code>
|
|
898
|
-
Checks whether the tag is usually rendered inline. It currently only applies to comment tags
|
|
757
|
+
<p>Checks whether the tag is usually rendered inline. It currently only applies to comment tags.</p>
|
|
899
758
|
|
|
900
759
|
**Kind**: instance method of [<code>Tag</code>](#Tag)
|
|
901
760
|
<a name="Tag+isMetaTag"></a>
|
|
902
761
|
|
|
903
762
|
### tag.isMetaTag() ⇒ <code>boolean</code>
|
|
904
|
-
Checks whether the tag is either a standard meta tag or a custom meta directive (
|
|
763
|
+
<p>Checks whether the tag is either a standard meta tag or a custom meta directive (<code>{x_some_name}</code>)</p>
|
|
905
764
|
|
|
906
765
|
**Kind**: instance method of [<code>Tag</code>](#Tag)
|
|
907
766
|
<a name="Tag+clone"></a>
|
|
908
767
|
|
|
909
768
|
### tag.clone() ⇒ [<code>Tag</code>](#Tag)
|
|
910
|
-
Returns a clone of the tag
|
|
769
|
+
<p>Returns a clone of the tag.</p>
|
|
911
770
|
|
|
912
771
|
**Kind**: instance method of [<code>Tag</code>](#Tag)
|
|
913
|
-
**Returns**: [<code>Tag</code>](#Tag) - The cloned tag
|
|
772
|
+
**Returns**: [<code>Tag</code>](#Tag) - <p>The cloned tag</p>
|
|
914
773
|
<a name="ChordProFormatter"></a>
|
|
915
774
|
|
|
916
775
|
## ChordProFormatter
|
|
917
|
-
Formats a song into a ChordPro chord sheet
|
|
776
|
+
<p>Formats a song into a ChordPro chord sheet</p>
|
|
918
777
|
|
|
919
778
|
**Kind**: global class
|
|
779
|
+
<a name="ChordProFormatter+format"></a>
|
|
920
780
|
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
* [.format(song)](#ChordProFormatter+format) ⇒ <code>string</code>
|
|
924
|
-
|
|
925
|
-
<a name="new_ChordProFormatter_new"></a>
|
|
926
|
-
|
|
927
|
-
### new ChordProFormatter(options)
|
|
928
|
-
Instantiate
|
|
781
|
+
### chordProFormatter.format(song) ⇒ <code>string</code>
|
|
782
|
+
<p>Formats a song into a ChordPro chord sheet.</p>
|
|
929
783
|
|
|
784
|
+
**Kind**: instance method of [<code>ChordProFormatter</code>](#ChordProFormatter)
|
|
785
|
+
**Returns**: <code>string</code> - <p>The ChordPro string</p>
|
|
930
786
|
|
|
931
787
|
| Param | Type | Description |
|
|
932
788
|
| --- | --- | --- |
|
|
933
|
-
|
|
|
934
|
-
| options.evaluate | <code>boolean</code> | Whether or not to evaluate meta expressions. For more info about meta expression, see: https://bit.ly/2SC9c2u |
|
|
789
|
+
| song | [<code>Song</code>](#Song) | <p>The song to be formatted</p> |
|
|
935
790
|
|
|
936
|
-
<a name="
|
|
791
|
+
<a name="Formatter"></a>
|
|
937
792
|
|
|
938
|
-
|
|
939
|
-
|
|
793
|
+
## Formatter
|
|
794
|
+
<p>Base class for all formatters, taking care of receiving a configuration wrapping that inside a Configuration object</p>
|
|
940
795
|
|
|
941
|
-
**Kind**:
|
|
942
|
-
|
|
796
|
+
**Kind**: global class
|
|
797
|
+
<a name="new_Formatter_new"></a>
|
|
943
798
|
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
799
|
+
### new Formatter([configuration])
|
|
800
|
+
<p>Instantiate</p>
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
| Param | Type | Default | Description |
|
|
804
|
+
| --- | --- | --- | --- |
|
|
805
|
+
| [configuration] | <code>Object</code> | <code>{}</code> | <p>options</p> |
|
|
806
|
+
| [configuration.evaluate] | <code>boolean</code> | <code>false</code> | <p>Whether or not to evaluate meta expressions. For more info about meta expressions, see: https://bit.ly/2SC9c2u</p> |
|
|
807
|
+
| [configuration.metadata] | <code>object</code> | <code>{}</code> | |
|
|
808
|
+
| [configuration.metadata.separator] | <code>string</code> | <code>"\", \""</code> | <p>The separator to be used when rendering a metadata value that has multiple values. See: https://bit.ly/2SC9c2u</p> |
|
|
947
809
|
|
|
948
810
|
<a name="HtmlDivFormatter"></a>
|
|
949
811
|
|
|
950
812
|
## HtmlDivFormatter
|
|
951
|
-
Formats a song into HTML. It uses DIVs to align lyrics with chords, which makes it useful for responsive web pages
|
|
813
|
+
<p>Formats a song into HTML. It uses DIVs to align lyrics with chords, which makes it useful for responsive web pages.</p>
|
|
952
814
|
|
|
953
815
|
**Kind**: global class
|
|
954
816
|
|
|
@@ -962,60 +824,57 @@ Formats a song into HTML. It uses DIVs to align lyrics with chords, which makes
|
|
|
962
824
|
<a name="HtmlDivFormatter+format"></a>
|
|
963
825
|
|
|
964
826
|
### htmlDivFormatter.format(song) ⇒ <code>string</code>
|
|
965
|
-
Formats a song into HTML
|
|
827
|
+
<p>Formats a song into HTML.</p>
|
|
966
828
|
|
|
967
829
|
**Kind**: instance method of [<code>HtmlDivFormatter</code>](#HtmlDivFormatter)
|
|
968
|
-
**Returns**: <code>string</code> - The HTML string
|
|
830
|
+
**Returns**: <code>string</code> - <p>The HTML string</p>
|
|
969
831
|
|
|
970
832
|
| Param | Type | Description |
|
|
971
833
|
| --- | --- | --- |
|
|
972
|
-
| song | [<code>Song</code>](#Song) | The song to be formatted |
|
|
834
|
+
| song | [<code>Song</code>](#Song) | <p>The song to be formatted</p> |
|
|
973
835
|
|
|
974
836
|
<a name="HtmlDivFormatter.cssString"></a>
|
|
975
837
|
|
|
976
838
|
### HtmlDivFormatter.cssString(scope) ⇒ <code>string</code>
|
|
977
|
-
Generates basic CSS, optionally scoped within the provided selector, to use with output generated by
|
|
978
|
-
[HtmlDivFormatter](#HtmlDivFormatter)
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
}
|
|
839
|
+
<p>Generates basic CSS, optionally scoped within the provided selector, to use with output generated by
|
|
840
|
+
[HtmlDivFormatter](#HtmlDivFormatter)</p>
|
|
841
|
+
<p>For example, execute cssString('.chordSheetViewer') will result in CSS like:</p>
|
|
842
|
+
<pre><code>.chordSheetViewer .paragraph {
|
|
843
|
+
margin-bottom: 1em;
|
|
844
|
+
}
|
|
845
|
+
</code></pre>
|
|
985
846
|
|
|
986
847
|
**Kind**: static method of [<code>HtmlDivFormatter</code>](#HtmlDivFormatter)
|
|
987
|
-
**Returns**: <code>string</code> - the CSS string
|
|
848
|
+
**Returns**: <code>string</code> - <p>the CSS string</p>
|
|
988
849
|
|
|
989
850
|
| Param | Description |
|
|
990
851
|
| --- | --- |
|
|
991
|
-
| scope | the CSS scope to use, for example
|
|
852
|
+
| scope | <p>the CSS scope to use, for example <code>.chordSheetViewer</code></p> |
|
|
992
853
|
|
|
993
854
|
<a name="HtmlDivFormatter.cssObject"></a>
|
|
994
855
|
|
|
995
856
|
### HtmlDivFormatter.cssObject() ⇒ <code>Object.<string, Object.<string, string>></code>
|
|
996
|
-
Basic CSS, in object style à la useStyles, to use with output generated by [HtmlDivFormatter](#HtmlDivFormatter)
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
For a CSS string see [cssString](cssString)
|
|
857
|
+
<p>Basic CSS, in object style à la useStyles, to use with output generated by [HtmlDivFormatter](#HtmlDivFormatter)</p>
|
|
858
|
+
<p>Example:</p>
|
|
859
|
+
<pre><code>'.paragraph': {
|
|
860
|
+
marginBottom: '1em'
|
|
861
|
+
}
|
|
862
|
+
</code></pre>
|
|
863
|
+
<p>For a CSS string see [cssString](cssString)</p>
|
|
1005
864
|
|
|
1006
865
|
**Kind**: static method of [<code>HtmlDivFormatter</code>](#HtmlDivFormatter)
|
|
1007
|
-
**Returns**: <code>Object.<string, Object.<string, string>></code> - the CSS object
|
|
866
|
+
**Returns**: <code>Object.<string, Object.<string, string>></code> - <p>the CSS object</p>
|
|
1008
867
|
<a name="HtmlFormatter"></a>
|
|
1009
868
|
|
|
1010
869
|
## HtmlFormatter
|
|
1011
|
-
Acts as a base class for HTML formatters, taking care of whitelisting prototype property access
|
|
870
|
+
<p>Acts as a base class for HTML formatters, taking care of whitelisting prototype property access.</p>
|
|
1012
871
|
|
|
1013
872
|
**Kind**: global class
|
|
1014
873
|
<a name="HtmlTableFormatter"></a>
|
|
1015
874
|
|
|
1016
875
|
## HtmlTableFormatter
|
|
1017
|
-
Formats a song into HTML. It uses TABLEs to align lyrics with chords, which makes the HTML for things like
|
|
1018
|
-
PDF conversion
|
|
876
|
+
<p>Formats a song into HTML. It uses TABLEs to align lyrics with chords, which makes the HTML for things like
|
|
877
|
+
PDF conversion.</p>
|
|
1019
878
|
|
|
1020
879
|
**Kind**: global class
|
|
1021
880
|
|
|
@@ -1029,70 +888,68 @@ PDF conversion.
|
|
|
1029
888
|
<a name="HtmlTableFormatter+format"></a>
|
|
1030
889
|
|
|
1031
890
|
### htmlTableFormatter.format(song) ⇒ <code>string</code>
|
|
1032
|
-
Formats a song into HTML
|
|
891
|
+
<p>Formats a song into HTML.</p>
|
|
1033
892
|
|
|
1034
893
|
**Kind**: instance method of [<code>HtmlTableFormatter</code>](#HtmlTableFormatter)
|
|
1035
|
-
**Returns**: <code>string</code> - The HTML string
|
|
894
|
+
**Returns**: <code>string</code> - <p>The HTML string</p>
|
|
1036
895
|
|
|
1037
896
|
| Param | Type | Description |
|
|
1038
897
|
| --- | --- | --- |
|
|
1039
|
-
| song | [<code>Song</code>](#Song) | The song to be formatted |
|
|
898
|
+
| song | [<code>Song</code>](#Song) | <p>The song to be formatted</p> |
|
|
1040
899
|
|
|
1041
900
|
<a name="HtmlTableFormatter.cssString"></a>
|
|
1042
901
|
|
|
1043
902
|
### HtmlTableFormatter.cssString(scope) ⇒ <code>string</code>
|
|
1044
|
-
Generates basic CSS, optionally scoped within the provided selector, to use with output generated by
|
|
1045
|
-
[HtmlTableFormatter](#HtmlTableFormatter)
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
}
|
|
903
|
+
<p>Generates basic CSS, optionally scoped within the provided selector, to use with output generated by
|
|
904
|
+
[HtmlTableFormatter](#HtmlTableFormatter)</p>
|
|
905
|
+
<p>For example, execute cssString('.chordSheetViewer') will result in CSS like:</p>
|
|
906
|
+
<pre><code>.chordSheetViewer .paragraph {
|
|
907
|
+
margin-bottom: 1em;
|
|
908
|
+
}
|
|
909
|
+
</code></pre>
|
|
1052
910
|
|
|
1053
911
|
**Kind**: static method of [<code>HtmlTableFormatter</code>](#HtmlTableFormatter)
|
|
1054
|
-
**Returns**: <code>string</code> - the CSS string
|
|
912
|
+
**Returns**: <code>string</code> - <p>the CSS string</p>
|
|
1055
913
|
|
|
1056
914
|
| Param | Description |
|
|
1057
915
|
| --- | --- |
|
|
1058
|
-
| scope | the CSS scope to use, for example
|
|
916
|
+
| scope | <p>the CSS scope to use, for example <code>.chordSheetViewer</code></p> |
|
|
1059
917
|
|
|
1060
918
|
<a name="HtmlTableFormatter.cssObject"></a>
|
|
1061
919
|
|
|
1062
920
|
### HtmlTableFormatter.cssObject() ⇒ <code>Object.<string, Object.<string, string>></code>
|
|
1063
|
-
Basic CSS, in object style à la useStyles, to use with output generated by [HtmlTableFormatter](#HtmlTableFormatter)
|
|
1064
|
-
For a CSS string see [cssString](cssString)
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
}
|
|
921
|
+
<p>Basic CSS, in object style à la useStyles, to use with output generated by [HtmlTableFormatter](#HtmlTableFormatter)
|
|
922
|
+
For a CSS string see [cssString](cssString)</p>
|
|
923
|
+
<p>Example:</p>
|
|
924
|
+
<pre><code>'.paragraph': {
|
|
925
|
+
marginBottom: '1em'
|
|
926
|
+
}
|
|
927
|
+
</code></pre>
|
|
1071
928
|
|
|
1072
929
|
**Kind**: static method of [<code>HtmlTableFormatter</code>](#HtmlTableFormatter)
|
|
1073
|
-
**Returns**: <code>Object.<string, Object.<string, string>></code> - the CSS object
|
|
930
|
+
**Returns**: <code>Object.<string, Object.<string, string>></code> - <p>the CSS object</p>
|
|
1074
931
|
<a name="TextFormatter"></a>
|
|
1075
932
|
|
|
1076
933
|
## TextFormatter
|
|
1077
|
-
Formats a song into a plain text chord sheet
|
|
934
|
+
<p>Formats a song into a plain text chord sheet</p>
|
|
1078
935
|
|
|
1079
936
|
**Kind**: global class
|
|
1080
937
|
<a name="TextFormatter+format"></a>
|
|
1081
938
|
|
|
1082
939
|
### textFormatter.format(song) ⇒ <code>string</code>
|
|
1083
|
-
Formats a song into a plain text chord sheet
|
|
940
|
+
<p>Formats a song into a plain text chord sheet</p>
|
|
1084
941
|
|
|
1085
942
|
**Kind**: instance method of [<code>TextFormatter</code>](#TextFormatter)
|
|
1086
|
-
**Returns**: <code>string</code> - the chord sheet
|
|
943
|
+
**Returns**: <code>string</code> - <p>the chord sheet</p>
|
|
1087
944
|
|
|
1088
945
|
| Param | Type | Description |
|
|
1089
946
|
| --- | --- | --- |
|
|
1090
|
-
| song | [<code>Song</code>](#Song) | The song to be formatted |
|
|
947
|
+
| song | [<code>Song</code>](#Song) | <p>The song to be formatted</p> |
|
|
1091
948
|
|
|
1092
949
|
<a name="ChordProParser"></a>
|
|
1093
950
|
|
|
1094
951
|
## ChordProParser
|
|
1095
|
-
Parses a ChordPro chord sheet
|
|
952
|
+
<p>Parses a ChordPro chord sheet</p>
|
|
1096
953
|
|
|
1097
954
|
**Kind**: global class
|
|
1098
955
|
|
|
@@ -1103,120 +960,95 @@ Parses a ChordPro chord sheet
|
|
|
1103
960
|
<a name="ChordProParser+warnings"></a>
|
|
1104
961
|
|
|
1105
962
|
### chordProParser.warnings : [<code>Array.<ParserWarning></code>](#ParserWarning)
|
|
1106
|
-
All warnings raised during parsing the ChordPro chord sheet
|
|
963
|
+
<p>All warnings raised during parsing the ChordPro chord sheet</p>
|
|
1107
964
|
|
|
1108
965
|
**Kind**: instance property of [<code>ChordProParser</code>](#ChordProParser)
|
|
1109
966
|
<a name="ChordProParser+parse"></a>
|
|
1110
967
|
|
|
1111
968
|
### chordProParser.parse(chordProChordSheet) ⇒ [<code>Song</code>](#Song)
|
|
1112
|
-
Parses a ChordPro chord sheet into a song
|
|
969
|
+
<p>Parses a ChordPro chord sheet into a song</p>
|
|
1113
970
|
|
|
1114
971
|
**Kind**: instance method of [<code>ChordProParser</code>](#ChordProParser)
|
|
1115
|
-
**Returns**: [<code>Song</code>](#Song) - The parsed song
|
|
972
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The parsed song</p>
|
|
1116
973
|
|
|
1117
974
|
| Param | Type | Description |
|
|
1118
975
|
| --- | --- | --- |
|
|
1119
|
-
| chordProChordSheet | <code>string</code> | the ChordPro chord sheet |
|
|
976
|
+
| chordProChordSheet | <code>string</code> | <p>the ChordPro chord sheet</p> |
|
|
1120
977
|
|
|
1121
978
|
<a name="ChordSheetParser"></a>
|
|
1122
979
|
|
|
1123
980
|
## ChordSheetParser
|
|
1124
|
-
Parses a normal chord sheet
|
|
981
|
+
<p>Parses a normal chord sheet</p>
|
|
1125
982
|
|
|
1126
983
|
**Kind**: global class
|
|
1127
984
|
|
|
1128
985
|
* [ChordSheetParser](#ChordSheetParser)
|
|
1129
|
-
* [new ChordSheetParser(options)](#new_ChordSheetParser_new)
|
|
1130
|
-
* [.parse(chordSheet, options)](#ChordSheetParser+parse) ⇒ [<code>Song</code>](#Song)
|
|
986
|
+
* [new ChordSheetParser([options])](#new_ChordSheetParser_new)
|
|
987
|
+
* [.parse(chordSheet, [options])](#ChordSheetParser+parse) ⇒ [<code>Song</code>](#Song)
|
|
1131
988
|
|
|
1132
989
|
<a name="new_ChordSheetParser_new"></a>
|
|
1133
990
|
|
|
1134
|
-
### new ChordSheetParser(options)
|
|
1135
|
-
Instantiate a chord sheet parser
|
|
991
|
+
### new ChordSheetParser([options])
|
|
992
|
+
<p>Instantiate a chord sheet parser</p>
|
|
1136
993
|
|
|
1137
994
|
|
|
1138
|
-
| Param | Type | Description |
|
|
1139
|
-
| --- | --- | --- |
|
|
1140
|
-
| options | <code>Object</code> | options |
|
|
1141
|
-
| options.preserveWhitespace | <code>boolean</code> | whether to preserve trailing whitespace for chords |
|
|
995
|
+
| Param | Type | Default | Description |
|
|
996
|
+
| --- | --- | --- | --- |
|
|
997
|
+
| [options] | <code>Object</code> | <code>{}</code> | <p>options</p> |
|
|
998
|
+
| [options.preserveWhitespace] | <code>boolean</code> | <code>true</code> | <p>whether to preserve trailing whitespace for chords</p> |
|
|
1142
999
|
|
|
1143
1000
|
<a name="ChordSheetParser+parse"></a>
|
|
1144
1001
|
|
|
1145
|
-
### chordSheetParser.parse(chordSheet, options) ⇒ [<code>Song</code>](#Song)
|
|
1146
|
-
Parses a chord sheet into a song
|
|
1002
|
+
### chordSheetParser.parse(chordSheet, [options]) ⇒ [<code>Song</code>](#Song)
|
|
1003
|
+
<p>Parses a chord sheet into a song</p>
|
|
1147
1004
|
|
|
1148
1005
|
**Kind**: instance method of [<code>ChordSheetParser</code>](#ChordSheetParser)
|
|
1149
|
-
**Returns**: [<code>Song</code>](#Song) - The parsed song
|
|
1006
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The parsed song</p>
|
|
1150
1007
|
|
|
1151
|
-
| Param | Type | Description |
|
|
1152
|
-
| --- | --- | --- |
|
|
1153
|
-
| chordSheet | <code>string</code> | The ChordPro chord sheet |
|
|
1154
|
-
| options | <code>Object</code> | Optional parser options |
|
|
1155
|
-
| options.song | [<code>Song</code>](#Song) | The [Song](#Song) to store the song data in |
|
|
1008
|
+
| Param | Type | Default | Description |
|
|
1009
|
+
| --- | --- | --- | --- |
|
|
1010
|
+
| chordSheet | <code>string</code> | | <p>The ChordPro chord sheet</p> |
|
|
1011
|
+
| [options] | <code>Object</code> | <code>{}</code> | <p>Optional parser options</p> |
|
|
1012
|
+
| [options.song] | [<code>Song</code>](#Song) | <code></code> | <p>The [Song](#Song) to store the song data in</p> |
|
|
1156
1013
|
|
|
1157
1014
|
<a name="ParserWarning"></a>
|
|
1158
1015
|
|
|
1159
1016
|
## ParserWarning
|
|
1160
|
-
Represents a parser warning, currently only used by ChordProParser
|
|
1017
|
+
<p>Represents a parser warning, currently only used by ChordProParser.</p>
|
|
1161
1018
|
|
|
1162
1019
|
**Kind**: global class
|
|
1163
|
-
|
|
1164
|
-
* [ParserWarning](#ParserWarning)
|
|
1165
|
-
* [.message](#ParserWarning+message) : <code>string</code>
|
|
1166
|
-
* [.lineNumber](#ParserWarning+lineNumber) : <code>number</code>
|
|
1167
|
-
* [.column](#ParserWarning+column) : <code>number</code>
|
|
1168
|
-
* [.toString()](#ParserWarning+toString) ⇒ <code>string</code>
|
|
1169
|
-
|
|
1170
|
-
<a name="ParserWarning+message"></a>
|
|
1171
|
-
|
|
1172
|
-
### parserWarning.message : <code>string</code>
|
|
1173
|
-
The warning message
|
|
1174
|
-
|
|
1175
|
-
**Kind**: instance property of [<code>ParserWarning</code>](#ParserWarning)
|
|
1176
|
-
<a name="ParserWarning+lineNumber"></a>
|
|
1177
|
-
|
|
1178
|
-
### parserWarning.lineNumber : <code>number</code>
|
|
1179
|
-
The chord sheet line number on which the warning occurred
|
|
1180
|
-
|
|
1181
|
-
**Kind**: instance property of [<code>ParserWarning</code>](#ParserWarning)
|
|
1182
|
-
<a name="ParserWarning+column"></a>
|
|
1183
|
-
|
|
1184
|
-
### parserWarning.column : <code>number</code>
|
|
1185
|
-
The chord sheet column on which the warning occurred
|
|
1186
|
-
|
|
1187
|
-
**Kind**: instance property of [<code>ParserWarning</code>](#ParserWarning)
|
|
1188
1020
|
<a name="ParserWarning+toString"></a>
|
|
1189
1021
|
|
|
1190
1022
|
### parserWarning.toString() ⇒ <code>string</code>
|
|
1191
|
-
Returns a stringified version of the warning
|
|
1023
|
+
<p>Returns a stringified version of the warning</p>
|
|
1192
1024
|
|
|
1193
1025
|
**Kind**: instance method of [<code>ParserWarning</code>](#ParserWarning)
|
|
1194
|
-
**Returns**: <code>string</code> - The string warning
|
|
1026
|
+
**Returns**: <code>string</code> - <p>The string warning</p>
|
|
1195
1027
|
<a name="UltimateGuitarParser"></a>
|
|
1196
1028
|
|
|
1197
1029
|
## UltimateGuitarParser
|
|
1198
|
-
Parses an Ultimate Guitar chord sheet with metadata
|
|
1199
|
-
Inherits from [ChordSheetParser](#ChordSheetParser)
|
|
1030
|
+
<p>Parses an Ultimate Guitar chord sheet with metadata
|
|
1031
|
+
Inherits from [ChordSheetParser](#ChordSheetParser)</p>
|
|
1200
1032
|
|
|
1201
1033
|
**Kind**: global class
|
|
1202
1034
|
<a name="Chord"></a>
|
|
1203
1035
|
|
|
1204
1036
|
## Chord
|
|
1205
|
-
Represents a Chord, consisting of a root, suffix (quality) and bass
|
|
1037
|
+
<p>Represents a Chord, consisting of a root, suffix (quality) and bass</p>
|
|
1206
1038
|
|
|
1207
1039
|
**Kind**: global class
|
|
1208
1040
|
|
|
1209
1041
|
* [Chord](#Chord)
|
|
1210
1042
|
* _instance_
|
|
1211
1043
|
* [.clone()](#Chord+clone) ⇒ [<code>Chord</code>](#Chord)
|
|
1212
|
-
* [.toChordSymbol(key)](#Chord+toChordSymbol) ⇒ [<code>Chord</code>](#Chord)
|
|
1213
|
-
* [.toChordSymbolString(key)](#Chord+toChordSymbolString) ⇒ <code>string</code>
|
|
1044
|
+
* [.toChordSymbol([key])](#Chord+toChordSymbol) ⇒ [<code>Chord</code>](#Chord)
|
|
1045
|
+
* [.toChordSymbolString([key])](#Chord+toChordSymbolString) ⇒ <code>string</code>
|
|
1214
1046
|
* [.isChordSymbol()](#Chord+isChordSymbol) ⇒ <code>boolean</code>
|
|
1215
|
-
* [.toNumeric(key)](#Chord+toNumeric) ⇒ [<code>Chord</code>](#Chord)
|
|
1047
|
+
* [.toNumeric([key])](#Chord+toNumeric) ⇒ [<code>Chord</code>](#Chord)
|
|
1216
1048
|
* [.toNumeral(key)](#Chord+toNumeral) ⇒ [<code>Chord</code>](#Chord)
|
|
1217
|
-
* [.toNumeralString(key)](#Chord+toNumeralString) ⇒ <code>string</code>
|
|
1049
|
+
* [.toNumeralString([key])](#Chord+toNumeralString) ⇒ <code>string</code>
|
|
1218
1050
|
* [.isNumeric()](#Chord+isNumeric) ⇒ <code>boolean</code>
|
|
1219
|
-
* [.toNumericString(key)](#Chord+toNumericString) ⇒ <code>string</code>
|
|
1051
|
+
* [.toNumericString([key])](#Chord+toNumericString) ⇒ <code>string</code>
|
|
1220
1052
|
* [.isNumeral()](#Chord+isNumeral) ⇒ <code>boolean</code>
|
|
1221
1053
|
* [.toString()](#Chord+toString) ⇒ <code>string</code>
|
|
1222
1054
|
* [.normalize()](#Chord+normalize) ⇒ [<code>Chord</code>](#Chord)
|
|
@@ -1230,188 +1062,189 @@ Represents a Chord, consisting of a root, suffix (quality) and bass
|
|
|
1230
1062
|
<a name="Chord+clone"></a>
|
|
1231
1063
|
|
|
1232
1064
|
### chord.clone() ⇒ [<code>Chord</code>](#Chord)
|
|
1233
|
-
Returns a deep copy of the chord
|
|
1065
|
+
<p>Returns a deep copy of the chord</p>
|
|
1234
1066
|
|
|
1235
1067
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1236
1068
|
<a name="Chord+toChordSymbol"></a>
|
|
1237
1069
|
|
|
1238
|
-
### chord.toChordSymbol(key) ⇒ [<code>Chord</code>](#Chord)
|
|
1239
|
-
Converts the chord to a chord symbol, using the supplied key as a reference.
|
|
1240
|
-
For example, a numeric chord
|
|
1241
|
-
When the chord is already a chord symbol, it will return a clone of the object
|
|
1070
|
+
### chord.toChordSymbol([key]) ⇒ [<code>Chord</code>](#Chord)
|
|
1071
|
+
<p>Converts the chord to a chord symbol, using the supplied key as a reference.
|
|
1072
|
+
For example, a numeric chord <code>#4</code> with reference key <code>E</code> will return the chord symbol <code>A#</code>.
|
|
1073
|
+
When the chord is already a chord symbol, it will return a clone of the object.</p>
|
|
1242
1074
|
|
|
1243
1075
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1244
|
-
**Returns**: [<code>Chord</code>](#Chord) - the chord symbol
|
|
1076
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the chord symbol</p>
|
|
1245
1077
|
|
|
1246
|
-
| Param | Type | Description |
|
|
1247
|
-
| --- | --- | --- |
|
|
1248
|
-
| key | <code>Key</code> \| <code>string</code> | the reference key |
|
|
1078
|
+
| Param | Type | Default | Description |
|
|
1079
|
+
| --- | --- | --- | --- |
|
|
1080
|
+
| [key] | <code>Key</code> \| <code>string</code> | <code></code> | <p>the reference key</p> |
|
|
1249
1081
|
|
|
1250
1082
|
<a name="Chord+toChordSymbolString"></a>
|
|
1251
1083
|
|
|
1252
|
-
### chord.toChordSymbolString(key) ⇒ <code>string</code>
|
|
1253
|
-
Converts the chord to a chord symbol string, using the supplied key as a reference.
|
|
1254
|
-
For example, a numeric chord
|
|
1255
|
-
When the chord is already a chord symbol, it will return a string version of the chord
|
|
1084
|
+
### chord.toChordSymbolString([key]) ⇒ <code>string</code>
|
|
1085
|
+
<p>Converts the chord to a chord symbol string, using the supplied key as a reference.
|
|
1086
|
+
For example, a numeric chord <code>#4</code> with reference key <code>E</code> will return the chord symbol <code>A#</code>.
|
|
1087
|
+
When the chord is already a chord symbol, it will return a string version of the chord.</p>
|
|
1256
1088
|
|
|
1257
1089
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1258
|
-
**Returns**: <code>string</code> - the chord symbol string
|
|
1090
|
+
**Returns**: <code>string</code> - <p>the chord symbol string</p>
|
|
1259
1091
|
**See**: {toChordSymbol}
|
|
1260
1092
|
|
|
1261
|
-
| Param | Type | Description |
|
|
1262
|
-
| --- | --- | --- |
|
|
1263
|
-
| key | <code>Key</code> \| <code>string</code> | the reference key |
|
|
1093
|
+
| Param | Type | Default | Description |
|
|
1094
|
+
| --- | --- | --- | --- |
|
|
1095
|
+
| [key] | <code>Key</code> \| <code>string</code> | <code></code> | <p>the reference key</p> |
|
|
1264
1096
|
|
|
1265
1097
|
<a name="Chord+isChordSymbol"></a>
|
|
1266
1098
|
|
|
1267
1099
|
### chord.isChordSymbol() ⇒ <code>boolean</code>
|
|
1268
|
-
Determines whether the chord is a chord symbol
|
|
1100
|
+
<p>Determines whether the chord is a chord symbol</p>
|
|
1269
1101
|
|
|
1270
1102
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1271
1103
|
<a name="Chord+toNumeric"></a>
|
|
1272
1104
|
|
|
1273
|
-
### chord.toNumeric(key) ⇒ [<code>Chord</code>](#Chord)
|
|
1274
|
-
Converts the chord to a numeric chord, using the supplied key as a reference.
|
|
1275
|
-
For example, a chord symbol A# with reference key E will return the numeric chord #4
|
|
1105
|
+
### chord.toNumeric([key]) ⇒ [<code>Chord</code>](#Chord)
|
|
1106
|
+
<p>Converts the chord to a numeric chord, using the supplied key as a reference.
|
|
1107
|
+
For example, a chord symbol A# with reference key E will return the numeric chord #4.</p>
|
|
1276
1108
|
|
|
1277
1109
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1278
|
-
**Returns**: [<code>Chord</code>](#Chord) - the numeric chord
|
|
1110
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the numeric chord</p>
|
|
1279
1111
|
|
|
1280
|
-
| Param | Type | Description |
|
|
1281
|
-
| --- | --- | --- |
|
|
1282
|
-
| key | <code>Key</code> \| <code>string</code> | the reference key |
|
|
1112
|
+
| Param | Type | Default | Description |
|
|
1113
|
+
| --- | --- | --- | --- |
|
|
1114
|
+
| [key] | <code>Key</code> \| <code>string</code> | <code></code> | <p>the reference key</p> |
|
|
1283
1115
|
|
|
1284
1116
|
<a name="Chord+toNumeral"></a>
|
|
1285
1117
|
|
|
1286
1118
|
### chord.toNumeral(key) ⇒ [<code>Chord</code>](#Chord)
|
|
1287
|
-
Converts the chord to a numeral chord, using the supplied key as a reference.
|
|
1288
|
-
For example, a chord symbol A# with reference key E will return the numeral chord #IV
|
|
1119
|
+
<p>Converts the chord to a numeral chord, using the supplied key as a reference.
|
|
1120
|
+
For example, a chord symbol A# with reference key E will return the numeral chord #IV.</p>
|
|
1289
1121
|
|
|
1290
1122
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1291
|
-
**Returns**: [<code>Chord</code>](#Chord) - the numeral chord
|
|
1123
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the numeral chord</p>
|
|
1292
1124
|
|
|
1293
1125
|
| Param | Type | Default | Description |
|
|
1294
1126
|
| --- | --- | --- | --- |
|
|
1295
|
-
| key | <code>Key</code> \| <code>string</code> \| <code>null</code> | <code></code> | the reference key. The key is required when converting a chord symbol |
|
|
1127
|
+
| key | <code>Key</code> \| <code>string</code> \| <code>null</code> | <code></code> | <p>the reference key. The key is required when converting a chord symbol</p> |
|
|
1296
1128
|
|
|
1297
1129
|
<a name="Chord+toNumeralString"></a>
|
|
1298
1130
|
|
|
1299
|
-
### chord.toNumeralString(key) ⇒ <code>string</code>
|
|
1300
|
-
Converts the chord to a numeral chord string, using the supplied kye as a reference.
|
|
1301
|
-
For example, a chord symbol A# with reference key E will return the numeral chord #4
|
|
1131
|
+
### chord.toNumeralString([key]) ⇒ <code>string</code>
|
|
1132
|
+
<p>Converts the chord to a numeral chord string, using the supplied kye as a reference.
|
|
1133
|
+
For example, a chord symbol A# with reference key E will return the numeral chord #4.</p>
|
|
1302
1134
|
|
|
1303
1135
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1304
|
-
**Returns**: <code>string</code> - the numeral chord string
|
|
1136
|
+
**Returns**: <code>string</code> - <p>the numeral chord string</p>
|
|
1305
1137
|
**See**: {toNumeral}
|
|
1306
1138
|
|
|
1307
|
-
| Param | Type | Description |
|
|
1308
|
-
| --- | --- | --- |
|
|
1309
|
-
| key | <code>Key</code> \| <code>string</code> | the reference key |
|
|
1139
|
+
| Param | Type | Default | Description |
|
|
1140
|
+
| --- | --- | --- | --- |
|
|
1141
|
+
| [key] | <code>Key</code> \| <code>string</code> | <code></code> | <p>the reference key</p> |
|
|
1310
1142
|
|
|
1311
1143
|
<a name="Chord+isNumeric"></a>
|
|
1312
1144
|
|
|
1313
1145
|
### chord.isNumeric() ⇒ <code>boolean</code>
|
|
1314
|
-
Determines whether the chord is numeric
|
|
1146
|
+
<p>Determines whether the chord is numeric</p>
|
|
1315
1147
|
|
|
1316
1148
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1317
1149
|
<a name="Chord+toNumericString"></a>
|
|
1318
1150
|
|
|
1319
|
-
### chord.toNumericString(key) ⇒ <code>string</code>
|
|
1320
|
-
Converts the chord to a numeric chord string, using the supplied kye as a reference.
|
|
1321
|
-
For example, a chord symbol A# with reference key E will return the numeric chord #4
|
|
1151
|
+
### chord.toNumericString([key]) ⇒ <code>string</code>
|
|
1152
|
+
<p>Converts the chord to a numeric chord string, using the supplied kye as a reference.
|
|
1153
|
+
For example, a chord symbol A# with reference key E will return the numeric chord #4.</p>
|
|
1322
1154
|
|
|
1323
1155
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1324
|
-
**Returns**: <code>string</code> - the numeric chord string
|
|
1156
|
+
**Returns**: <code>string</code> - <p>the numeric chord string</p>
|
|
1325
1157
|
**See**: {toNumeric}
|
|
1326
1158
|
|
|
1327
|
-
| Param | Type | Description |
|
|
1328
|
-
| --- | --- | --- |
|
|
1329
|
-
| key | <code>Key</code> \| <code>string</code> | the reference key |
|
|
1159
|
+
| Param | Type | Default | Description |
|
|
1160
|
+
| --- | --- | --- | --- |
|
|
1161
|
+
| [key] | <code>Key</code> \| <code>string</code> | <code></code> | <p>the reference key</p> |
|
|
1330
1162
|
|
|
1331
1163
|
<a name="Chord+isNumeral"></a>
|
|
1332
1164
|
|
|
1333
1165
|
### chord.isNumeral() ⇒ <code>boolean</code>
|
|
1334
|
-
Determines whether the chord is a numeral
|
|
1166
|
+
<p>Determines whether the chord is a numeral</p>
|
|
1335
1167
|
|
|
1336
1168
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1337
1169
|
<a name="Chord+toString"></a>
|
|
1338
1170
|
|
|
1339
1171
|
### chord.toString() ⇒ <code>string</code>
|
|
1340
|
-
Converts the chord to a string, eg
|
|
1172
|
+
<p>Converts the chord to a string, eg <code>Esus4/G#</code> or <code>1sus4/#3</code></p>
|
|
1341
1173
|
|
|
1342
1174
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1343
|
-
**Returns**: <code>string</code> - the chord string
|
|
1175
|
+
**Returns**: <code>string</code> - <p>the chord string</p>
|
|
1344
1176
|
<a name="Chord+normalize"></a>
|
|
1345
1177
|
|
|
1346
1178
|
### chord.normalize() ⇒ [<code>Chord</code>](#Chord)
|
|
1347
|
-
Normalizes the chord root and bass notes
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1179
|
+
<p>Normalizes the chord root and bass notes:</p>
|
|
1180
|
+
<ul>
|
|
1181
|
+
<li>Fb becomes E</li>
|
|
1182
|
+
<li>Cb becomes B</li>
|
|
1183
|
+
<li>B# becomes C</li>
|
|
1184
|
+
<li>E# becomes F</li>
|
|
1185
|
+
<li>4b becomes 3</li>
|
|
1186
|
+
<li>1b becomes 7</li>
|
|
1187
|
+
<li>7# becomes 1</li>
|
|
1188
|
+
<li>3# becomes 4</li>
|
|
1189
|
+
</ul>
|
|
1190
|
+
<p>Besides that it normalizes the suffix. For example, <code>sus2</code> becomes <code>2</code>, <code>sus4</code> becomes <code>sus</code>.
|
|
1191
|
+
All suffix normalizations can be found in <code>src/normalize_mappings/suffix-mapping.txt</code>.</p>
|
|
1359
1192
|
|
|
1360
1193
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1361
|
-
**Returns**: [<code>Chord</code>](#Chord) - the normalized chord
|
|
1194
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the normalized chord</p>
|
|
1362
1195
|
<a name="Chord+useModifier"></a>
|
|
1363
1196
|
|
|
1364
1197
|
### chord.useModifier(newModifier) ⇒ [<code>Chord</code>](#Chord)
|
|
1365
|
-
Switches to the specified modifier
|
|
1198
|
+
<p>Switches to the specified modifier</p>
|
|
1366
1199
|
|
|
1367
1200
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1368
|
-
**Returns**: [<code>Chord</code>](#Chord) - the new, changed chord
|
|
1201
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the new, changed chord</p>
|
|
1369
1202
|
|
|
1370
1203
|
| Param | Description |
|
|
1371
1204
|
| --- | --- |
|
|
1372
|
-
| newModifier | the modifier to use:
|
|
1205
|
+
| newModifier | <p>the modifier to use: <code>'#'</code> or <code>'b'</code></p> |
|
|
1373
1206
|
|
|
1374
1207
|
<a name="Chord+transposeUp"></a>
|
|
1375
1208
|
|
|
1376
1209
|
### chord.transposeUp() ⇒ [<code>Chord</code>](#Chord)
|
|
1377
|
-
Transposes the chord up by 1 semitone. Eg. A becomes A#, Eb becomes E
|
|
1210
|
+
<p>Transposes the chord up by 1 semitone. Eg. A becomes A#, Eb becomes E</p>
|
|
1378
1211
|
|
|
1379
1212
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1380
|
-
**Returns**: [<code>Chord</code>](#Chord) - the new, transposed chord
|
|
1213
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the new, transposed chord</p>
|
|
1381
1214
|
<a name="Chord+transposeDown"></a>
|
|
1382
1215
|
|
|
1383
1216
|
### chord.transposeDown() ⇒ [<code>Chord</code>](#Chord)
|
|
1384
|
-
Transposes the chord down by 1 semitone. Eg. A# becomes A, E becomes Eb
|
|
1217
|
+
<p>Transposes the chord down by 1 semitone. Eg. A# becomes A, E becomes Eb</p>
|
|
1385
1218
|
|
|
1386
1219
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1387
|
-
**Returns**: [<code>Chord</code>](#Chord) - the new, transposed chord
|
|
1220
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the new, transposed chord</p>
|
|
1388
1221
|
<a name="Chord+transpose"></a>
|
|
1389
1222
|
|
|
1390
1223
|
### chord.transpose(delta) ⇒ [<code>Chord</code>](#Chord)
|
|
1391
|
-
Transposes the chord by the specified number of semitones
|
|
1224
|
+
<p>Transposes the chord by the specified number of semitones</p>
|
|
1392
1225
|
|
|
1393
1226
|
**Kind**: instance method of [<code>Chord</code>](#Chord)
|
|
1394
|
-
**Returns**: [<code>Chord</code>](#Chord) - the new, transposed chord
|
|
1227
|
+
**Returns**: [<code>Chord</code>](#Chord) - <p>the new, transposed chord</p>
|
|
1395
1228
|
|
|
1396
1229
|
| Param | Description |
|
|
1397
1230
|
| --- | --- |
|
|
1398
|
-
| delta | de number of semitones |
|
|
1231
|
+
| delta | <p>de number of semitones</p> |
|
|
1399
1232
|
|
|
1400
1233
|
<a name="Chord.parse"></a>
|
|
1401
1234
|
|
|
1402
1235
|
### Chord.parse(chordString) ⇒ <code>null</code> \| [<code>Chord</code>](#Chord)
|
|
1403
|
-
Tries to parse a chord string into a chord
|
|
1236
|
+
<p>Tries to parse a chord string into a chord</p>
|
|
1404
1237
|
|
|
1405
1238
|
**Kind**: static method of [<code>Chord</code>](#Chord)
|
|
1406
1239
|
|
|
1407
1240
|
| Param | Description |
|
|
1408
1241
|
| --- | --- |
|
|
1409
|
-
| chordString | the chord string, eg
|
|
1242
|
+
| chordString | <p>the chord string, eg <code>Esus4/G#</code> or <code>1sus4/#3</code></p> |
|
|
1410
1243
|
|
|
1411
1244
|
<a name="ChordSheetSerializer"></a>
|
|
1412
1245
|
|
|
1413
1246
|
## ChordSheetSerializer
|
|
1414
|
-
Serializes a song into een plain object, and deserializes the serialized object back into a [Song](#Song)
|
|
1247
|
+
<p>Serializes a song into een plain object, and deserializes the serialized object back into a [Song](#Song)</p>
|
|
1415
1248
|
|
|
1416
1249
|
**Kind**: global class
|
|
1417
1250
|
|
|
@@ -1422,220 +1255,239 @@ Serializes a song into een plain object, and deserializes the serialized object
|
|
|
1422
1255
|
<a name="ChordSheetSerializer+serialize"></a>
|
|
1423
1256
|
|
|
1424
1257
|
### chordSheetSerializer.serialize() ⇒
|
|
1425
|
-
Serializes the chord sheet to a plain object, which can be converted to any format like JSON, XML etc
|
|
1426
|
-
Can be deserialized using [deserialize](deserialize)
|
|
1258
|
+
<p>Serializes the chord sheet to a plain object, which can be converted to any format like JSON, XML etc
|
|
1259
|
+
Can be deserialized using [deserialize](deserialize)</p>
|
|
1427
1260
|
|
|
1428
1261
|
**Kind**: instance method of [<code>ChordSheetSerializer</code>](#ChordSheetSerializer)
|
|
1429
|
-
**Returns**: object A plain JS object containing all chord sheet data
|
|
1262
|
+
**Returns**: <p>object A plain JS object containing all chord sheet data</p>
|
|
1430
1263
|
<a name="ChordSheetSerializer+deserialize"></a>
|
|
1431
1264
|
|
|
1432
1265
|
### chordSheetSerializer.deserialize(serializedSong) ⇒ [<code>Song</code>](#Song)
|
|
1433
|
-
Deserializes a song that has been serialized using [serialize](serialize)
|
|
1266
|
+
<p>Deserializes a song that has been serialized using [serialize](serialize)</p>
|
|
1434
1267
|
|
|
1435
1268
|
**Kind**: instance method of [<code>ChordSheetSerializer</code>](#ChordSheetSerializer)
|
|
1436
|
-
**Returns**: [<code>Song</code>](#Song) - The deserialized song
|
|
1269
|
+
**Returns**: [<code>Song</code>](#Song) - <p>The deserialized song</p>
|
|
1437
1270
|
|
|
1438
1271
|
| Param | Type | Description |
|
|
1439
1272
|
| --- | --- | --- |
|
|
1440
|
-
| serializedSong | <code>object</code> | The serialized song |
|
|
1273
|
+
| serializedSong | <code>object</code> | <p>The serialized song</p> |
|
|
1441
1274
|
|
|
1442
1275
|
<a name="ALBUM"></a>
|
|
1443
1276
|
|
|
1444
1277
|
## ALBUM : <code>string</code>
|
|
1445
|
-
|
|
1278
|
+
<p>Artist meta directive. See https://www.chordpro.org/chordpro/directives-artist/</p>
|
|
1446
1279
|
|
|
1447
|
-
**Kind**: global
|
|
1280
|
+
**Kind**: global variable
|
|
1448
1281
|
<a name="ARTIST"></a>
|
|
1449
1282
|
|
|
1450
1283
|
## ARTIST : <code>string</code>
|
|
1451
|
-
|
|
1284
|
+
<p>Capo meta directive. See https://www.chordpro.org/chordpro/directives-capo/</p>
|
|
1452
1285
|
|
|
1453
|
-
**Kind**: global
|
|
1286
|
+
**Kind**: global variable
|
|
1454
1287
|
<a name="CAPO"></a>
|
|
1455
1288
|
|
|
1456
1289
|
## CAPO : <code>string</code>
|
|
1457
|
-
|
|
1290
|
+
<p>Comment directive. See https://www.chordpro.org/chordpro/directives-comment/</p>
|
|
1458
1291
|
|
|
1459
|
-
**Kind**: global
|
|
1292
|
+
**Kind**: global variable
|
|
1460
1293
|
<a name="COMMENT"></a>
|
|
1461
1294
|
|
|
1462
1295
|
## COMMENT : <code>string</code>
|
|
1463
|
-
|
|
1296
|
+
<p>Composer meta directive. See https://www.chordpro.org/chordpro/directives-composer/</p>
|
|
1464
1297
|
|
|
1465
|
-
**Kind**: global
|
|
1298
|
+
**Kind**: global variable
|
|
1466
1299
|
<a name="COMPOSER"></a>
|
|
1467
1300
|
|
|
1468
1301
|
## COMPOSER : <code>string</code>
|
|
1469
|
-
|
|
1302
|
+
<p>Copyright meta directive. See https://www.chordpro.org/chordpro/directives-copyright/</p>
|
|
1470
1303
|
|
|
1471
|
-
**Kind**: global
|
|
1304
|
+
**Kind**: global variable
|
|
1472
1305
|
<a name="COPYRIGHT"></a>
|
|
1473
1306
|
|
|
1474
1307
|
## COPYRIGHT : <code>string</code>
|
|
1475
|
-
|
|
1308
|
+
<p>Duration meta directive. See https://www.chordpro.org/chordpro/directives-duration/</p>
|
|
1476
1309
|
|
|
1477
|
-
**Kind**: global
|
|
1310
|
+
**Kind**: global variable
|
|
1478
1311
|
<a name="DURATION"></a>
|
|
1479
1312
|
|
|
1480
1313
|
## DURATION : <code>string</code>
|
|
1481
|
-
|
|
1314
|
+
<p>End of chorus directive. See https://www.chordpro.org/chordpro/directives-env_chorus/</p>
|
|
1482
1315
|
|
|
1483
|
-
**Kind**: global
|
|
1316
|
+
**Kind**: global variable
|
|
1484
1317
|
<a name="END_OF_CHORUS"></a>
|
|
1485
1318
|
|
|
1486
1319
|
## END\_OF\_CHORUS : <code>string</code>
|
|
1487
|
-
End of
|
|
1320
|
+
<p>End of tab directive. See https://www.chordpro.org/chordpro/directives-env_tab/</p>
|
|
1488
1321
|
|
|
1489
|
-
**Kind**: global
|
|
1322
|
+
**Kind**: global variable
|
|
1490
1323
|
<a name="END_OF_TAB"></a>
|
|
1491
1324
|
|
|
1492
1325
|
## END\_OF\_TAB : <code>string</code>
|
|
1493
|
-
End of
|
|
1326
|
+
<p>End of verse directive. See https://www.chordpro.org/chordpro/directives-env_verse/</p>
|
|
1494
1327
|
|
|
1495
|
-
**Kind**: global
|
|
1328
|
+
**Kind**: global variable
|
|
1496
1329
|
<a name="END_OF_VERSE"></a>
|
|
1497
1330
|
|
|
1498
1331
|
## END\_OF\_VERSE : <code>string</code>
|
|
1499
|
-
|
|
1332
|
+
<p>Key meta directive. See https://www.chordpro.org/chordpro/directives-key/</p>
|
|
1500
1333
|
|
|
1501
|
-
**Kind**: global
|
|
1334
|
+
**Kind**: global variable
|
|
1502
1335
|
<a name="KEY"></a>
|
|
1503
1336
|
|
|
1504
1337
|
## KEY : <code>string</code>
|
|
1505
|
-
Key meta directive. See https://www.chordpro.org/chordpro/directives-key
|
|
1338
|
+
<p>Key meta directive. See https://www.chordpro.org/chordpro/directives-key/</p>
|
|
1506
1339
|
|
|
1507
|
-
**Kind**: global
|
|
1340
|
+
**Kind**: global variable
|
|
1508
1341
|
<a name="_KEY"></a>
|
|
1509
1342
|
|
|
1510
1343
|
## \_KEY : <code>string</code>
|
|
1511
|
-
|
|
1344
|
+
<p>Lyricist meta directive. See https://www.chordpro.org/chordpro/directives-lyricist/</p>
|
|
1512
1345
|
|
|
1513
|
-
**Kind**: global
|
|
1346
|
+
**Kind**: global variable
|
|
1514
1347
|
<a name="LYRICIST"></a>
|
|
1515
1348
|
|
|
1516
1349
|
## LYRICIST : <code>string</code>
|
|
1517
|
-
|
|
1350
|
+
<p>Start of chorus directive. See https://www.chordpro.org/chordpro/directives-env_chorus/</p>
|
|
1518
1351
|
|
|
1519
|
-
**Kind**: global
|
|
1352
|
+
**Kind**: global variable
|
|
1520
1353
|
<a name="START_OF_CHORUS"></a>
|
|
1521
1354
|
|
|
1522
1355
|
## START\_OF\_CHORUS : <code>string</code>
|
|
1523
|
-
Start of
|
|
1356
|
+
<p>Start of tab directive. See https://www.chordpro.org/chordpro/directives-env_tab/</p>
|
|
1524
1357
|
|
|
1525
|
-
**Kind**: global
|
|
1358
|
+
**Kind**: global variable
|
|
1526
1359
|
<a name="START_OF_TAB"></a>
|
|
1527
1360
|
|
|
1528
1361
|
## START\_OF\_TAB : <code>string</code>
|
|
1529
|
-
Start of
|
|
1362
|
+
<p>Start of verse directive. See https://www.chordpro.org/chordpro/directives-env_verse/</p>
|
|
1530
1363
|
|
|
1531
|
-
**Kind**: global
|
|
1364
|
+
**Kind**: global variable
|
|
1532
1365
|
<a name="START_OF_VERSE"></a>
|
|
1533
1366
|
|
|
1534
1367
|
## START\_OF\_VERSE : <code>string</code>
|
|
1535
|
-
|
|
1368
|
+
<p>Subtitle meta directive. See https://www.chordpro.org/chordpro/directives-subtitle/</p>
|
|
1536
1369
|
|
|
1537
|
-
**Kind**: global
|
|
1370
|
+
**Kind**: global variable
|
|
1538
1371
|
<a name="SUBTITLE"></a>
|
|
1539
1372
|
|
|
1540
1373
|
## SUBTITLE : <code>string</code>
|
|
1541
|
-
|
|
1374
|
+
<p>Tempo meta directive. See https://www.chordpro.org/chordpro/directives-tempo/</p>
|
|
1542
1375
|
|
|
1543
|
-
**Kind**: global
|
|
1376
|
+
**Kind**: global variable
|
|
1544
1377
|
<a name="TEMPO"></a>
|
|
1545
1378
|
|
|
1546
1379
|
## TEMPO : <code>string</code>
|
|
1547
|
-
|
|
1380
|
+
<p>Time meta directive. See https://www.chordpro.org/chordpro/directives-time/</p>
|
|
1548
1381
|
|
|
1549
|
-
**Kind**: global
|
|
1382
|
+
**Kind**: global variable
|
|
1550
1383
|
<a name="TIME"></a>
|
|
1551
1384
|
|
|
1552
1385
|
## TIME : <code>string</code>
|
|
1553
|
-
|
|
1386
|
+
<p>Title meta directive. See https://www.chordpro.org/chordpro/directives-title/</p>
|
|
1554
1387
|
|
|
1555
|
-
**Kind**: global
|
|
1388
|
+
**Kind**: global variable
|
|
1556
1389
|
<a name="TITLE"></a>
|
|
1557
1390
|
|
|
1558
1391
|
## TITLE : <code>string</code>
|
|
1559
|
-
|
|
1392
|
+
<p>Transpose meta directive. See: https://www.chordpro.org/chordpro/directives-transpose/</p>
|
|
1560
1393
|
|
|
1561
|
-
**Kind**: global
|
|
1394
|
+
**Kind**: global variable
|
|
1562
1395
|
<a name="TRANSPOSE"></a>
|
|
1563
1396
|
|
|
1564
1397
|
## TRANSPOSE : <code>string</code>
|
|
1565
|
-
|
|
1398
|
+
<p>New Key meta directive. See: https://github.com/PraiseCharts/ChordChartJS/issues/53</p>
|
|
1566
1399
|
|
|
1567
|
-
**Kind**: global
|
|
1400
|
+
**Kind**: global variable
|
|
1568
1401
|
<a name="NEW_KEY"></a>
|
|
1569
1402
|
|
|
1570
1403
|
## NEW\_KEY : <code>string</code>
|
|
1571
|
-
|
|
1404
|
+
<p>Year meta directive. See https://www.chordpro.org/chordpro/directives-year/</p>
|
|
1572
1405
|
|
|
1573
|
-
**Kind**: global
|
|
1574
|
-
<a name="
|
|
1406
|
+
**Kind**: global variable
|
|
1407
|
+
<a name="defaultCss"></a>
|
|
1575
1408
|
|
|
1576
|
-
##
|
|
1577
|
-
|
|
1409
|
+
## defaultCss ⇒ <code>string</code>
|
|
1410
|
+
<p>Generates basic CSS, scoped within the provided selector, to use with output generated by [HtmlTableFormatter](#HtmlTableFormatter)</p>
|
|
1411
|
+
|
|
1412
|
+
**Kind**: global variable
|
|
1413
|
+
**Returns**: <code>string</code> - <p>the CSS string</p>
|
|
1414
|
+
|
|
1415
|
+
| Param | Description |
|
|
1416
|
+
| --- | --- |
|
|
1417
|
+
| scope | <p>the CSS scope to use, for example <code>.chordSheetViewer</code></p> |
|
|
1578
1418
|
|
|
1579
|
-
**Kind**: global constant
|
|
1580
1419
|
<a name="defaultCss"></a>
|
|
1581
1420
|
|
|
1582
1421
|
## defaultCss : <code>Object.<string, Object.<string, string>></code>
|
|
1583
|
-
Basic CSS, in object style à la useStyles, to use with output generated by {@link }HtmlTableFormatter}
|
|
1584
|
-
For a CSS string see [scopedCss](
|
|
1422
|
+
<p>Basic CSS, in object style à la useStyles, to use with output generated by {@link }HtmlTableFormatter}
|
|
1423
|
+
For a CSS string see [scopedCss](scopedCss)</p>
|
|
1585
1424
|
|
|
1586
1425
|
**Kind**: global constant
|
|
1587
1426
|
<a name="VERSE"></a>
|
|
1588
1427
|
|
|
1589
1428
|
## VERSE : <code>string</code>
|
|
1590
|
-
Used to mark a paragraph as verse
|
|
1429
|
+
<p>Used to mark a paragraph as verse</p>
|
|
1430
|
+
|
|
1431
|
+
**Kind**: global constant
|
|
1432
|
+
<a name="VERSE"></a>
|
|
1433
|
+
|
|
1434
|
+
## VERSE : <code>string</code>
|
|
1435
|
+
<p>Used to mark a paragraph as chorus</p>
|
|
1591
1436
|
|
|
1592
1437
|
**Kind**: global constant
|
|
1593
1438
|
<a name="CHORUS"></a>
|
|
1594
1439
|
|
|
1595
1440
|
## CHORUS : <code>string</code>
|
|
1596
|
-
Used to mark a paragraph as
|
|
1441
|
+
<p>Used to mark a paragraph as not containing a line marked with a type</p>
|
|
1597
1442
|
|
|
1598
1443
|
**Kind**: global constant
|
|
1599
1444
|
<a name="NONE"></a>
|
|
1600
1445
|
|
|
1601
1446
|
## NONE : <code>string</code>
|
|
1602
|
-
Used to mark a paragraph as
|
|
1447
|
+
<p>Used to mark a paragraph as containing lines with both verse and chorus type</p>
|
|
1603
1448
|
|
|
1604
1449
|
**Kind**: global constant
|
|
1605
1450
|
<a name="INDETERMINATE"></a>
|
|
1606
1451
|
|
|
1607
1452
|
## INDETERMINATE : <code>string</code>
|
|
1608
|
-
Used to mark a paragraph as
|
|
1453
|
+
<p>Used to mark a paragraph as tab</p>
|
|
1609
1454
|
|
|
1610
1455
|
**Kind**: global constant
|
|
1611
|
-
<a name="
|
|
1612
|
-
|
|
1613
|
-
## TAB : <code>string</code>
|
|
1614
|
-
Used to mark a paragraph as tab
|
|
1456
|
+
<a name="parseChord"></a>
|
|
1615
1457
|
|
|
1616
|
-
|
|
1617
|
-
|
|
1458
|
+
## ~~parseChord(chordString) ⇒ <code>null</code> \| [<code>Chord</code>](#Chord)~~
|
|
1459
|
+
***Deprecated***
|
|
1618
1460
|
|
|
1619
|
-
|
|
1620
|
-
Generates basic CSS, scoped within the provided selector, to use with output generated by [HtmlTableFormatter](#HtmlTableFormatter)
|
|
1461
|
+
<p>Tries to parse a chord string into a chord</p>
|
|
1621
1462
|
|
|
1622
1463
|
**Kind**: global function
|
|
1623
|
-
**Returns**: <code>string</code> - the CSS string
|
|
1624
1464
|
|
|
1625
1465
|
| Param | Description |
|
|
1626
1466
|
| --- | --- |
|
|
1627
|
-
|
|
|
1467
|
+
| chordString | <p>the chord string, eg Esus4/G# or 1sus4/#3</p> |
|
|
1628
1468
|
|
|
1629
|
-
<a name="
|
|
1469
|
+
<a name="getCapos"></a>
|
|
1630
1470
|
|
|
1631
|
-
##
|
|
1632
|
-
|
|
1471
|
+
## getCapos(key) ⇒ <code>Object.<string, string></code>
|
|
1472
|
+
<p>Returns applicable capos for the provided key</p>
|
|
1633
1473
|
|
|
1634
|
-
|
|
1474
|
+
**Kind**: global function
|
|
1475
|
+
**Returns**: <code>Object.<string, string></code> - <p>The available capos, where the keys are capo numbers and the
|
|
1476
|
+
values are the effective key for that capo.</p>
|
|
1477
|
+
|
|
1478
|
+
| Param | Type | Description |
|
|
1479
|
+
| --- | --- | --- |
|
|
1480
|
+
| key | <code>Key</code> \| <code>string</code> | <p>The key to get capos for</p> |
|
|
1481
|
+
|
|
1482
|
+
<a name="getKeys"></a>
|
|
1483
|
+
|
|
1484
|
+
## getKeys(key) ⇒ <code>Array.<string></code>
|
|
1485
|
+
<p>Returns applicable keys to transpose to from the provided key</p>
|
|
1635
1486
|
|
|
1636
1487
|
**Kind**: global function
|
|
1488
|
+
**Returns**: <code>Array.<string></code> - <p>The available keys</p>
|
|
1637
1489
|
|
|
1638
|
-
| Param | Description |
|
|
1639
|
-
| --- | --- |
|
|
1640
|
-
|
|
|
1490
|
+
| Param | Type | Description |
|
|
1491
|
+
| --- | --- | --- |
|
|
1492
|
+
| key | <code>Key</code> \| <code>string</code> | <p>The key to get keys for</p> |
|
|
1641
1493
|
|