Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
sciurius committed May 17, 2022
2 parents 73c0e4a + 2c8d6ed commit f3a3686
Show file tree
Hide file tree
Showing 118 changed files with 3,453 additions and 421 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,9 @@ pm_to_blib
pd_*.json
files*.lst
res/pod
*.tex
*.sxd
xtest*
*.aux
*.log
*.out
22 changes: 22 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
5.988 2022-05-17

- !ChordPro functionality
- Automatically use real sharps and flats in chord names.
Fallback to the ChordProSymbols font if the font doesn't have the
appropriate symbols.
- Add settings.truesf (default: false) to enable/disable this.
- Allow settings.* to be used in %{} substitutions.
- Add meta chords and numchords (list/number of chords used).
- Add config pdf.spacing.diagramchords.
- Allow meta values for directive selectors.
- Re-enable agnostic chord lookup.
- (Wx)(MacOS) Improve prefences dialog.
- Several ABC fixes/improvements.
- (PDF) Add support for background document.
- Markdown export (EXPERIMENTAL). Thanks to Johannes Rumpf.
- LaTeX export (EXPERIMENTAL). Thanks to Johannes Rumpf.
- !BugFixes
- Fix issue #208.
- (Wx) Fix sharps/flats mixup in PreferencesDialog.

5.987 2022-02-08

- !ChordPro functionality
- Conditional directives can be negated with a trailing !
- (Wx)(MacOS) Improve prefences dialog.
- !BugFixes
- Add File::HomeDir to dependencies.
Expand Down
100 changes: 99 additions & 1 deletion MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ lib/App/Music/ChordPro/Output/ChordPro.pm
lib/App/Music/ChordPro/Output/Common.pm
lib/App/Music/ChordPro/Output/Debug.pm
lib/App/Music/ChordPro/Output/HTML.pm
lib/App/Music/ChordPro/Output/MMA.pm
lib/App/Music/ChordPro/Output/Markdown.pm
lib/App/Music/ChordPro/Output/PDF.pm
lib/App/Music/ChordPro/Output/PDF/Writer.pm
lib/App/Music/ChordPro/Output/PDF/KeyboardDiagrams.pm
Expand Down Expand Up @@ -56,6 +58,7 @@ lib/App/Music/ChordPro/res/config/notes/solfege.json
lib/App/Music/ChordPro/res/config/roman.json
lib/App/Music/ChordPro/res/config/ukulele-ly.json
lib/App/Music/ChordPro/res/config/ukulele.json
lib/App/Music/ChordPro/res/examples/bgdemo.pdf
lib/App/Music/ChordPro/res/examples/swinglow.cho
lib/App/Music/ChordPro/res/fonts/ChordProSymbols.ttf
lib/App/Music/ChordPro/res/icons/chordpro.ico
Expand Down Expand Up @@ -95,7 +98,6 @@ pp/macos/reloc.pl
pp/macos/README.html
pp/pp2ppl.pl
pp/windows/Makefile
pp/windows/abcm2ps.exe
pp/windows/chordpro.pp
pp/windows/chordpro.rc
pp/windows/chordproinst.bmp
Expand Down Expand Up @@ -178,8 +180,86 @@ t/40_basic01_html.t
t/50_encodings.t
t/60_transpose.cho
t/60_transpose.t
t/70_a2crd.t
t/71_cho.t
t/72_mma.t
t/73_md.t
t/a2crd/t001.cho
t/a2crd/t001.crd
t/a2crd/t002.cho
t/a2crd/t002.crd
t/a2crd/t003.cho
t/a2crd/t003.crd
t/a2crd/t004.cho
t/a2crd/t004.crd
t/a2crd/t005.cho
t/a2crd/t005.crd
t/a2crd/t101.cho
t/a2crd/t101.crd
t/a2crd/t102.cho
t/a2crd/t102.crd
t/a2crd/t103.cho
t/a2crd/t103.crd
t/a2crd/t104.cho
t/a2crd/t104.crd
t/a2crd/t105.cho
t/a2crd/t105.crd
t/a2crd/t106.cho
t/a2crd/t106.crd
t/a2crd/t107.cho
t/a2crd/t107.crd
t/a2crd/t108.cho
t/a2crd/t108.crd
t/a2crd/t109.cho
t/a2crd/t109.crd
t/a2crd/t110.cho
t/a2crd/t110.crd
t/a2crd/t111.cho
t/a2crd/t111.crd
t/a2crd/t113.cho
t/a2crd/t113.crd
t/a2crd/t114.cho
t/a2crd/t114.crd
t/a2crd/t115.cho
t/a2crd/t115.crd
t/basic01.cho
t/basic02.cho
t/cho/cho001.cho
t/cho/cho001.ref
t/cho/cho002.cho
t/cho/cho002.ref
t/cho/cho003.cho
t/cho/cho003.ref
t/cho/cho004.cho
t/cho/cho004.ref
t/cho/cho005.cho
t/cho/cho005.ref
t/cho/cho006.cho
t/cho/cho006.ref
t/md/30_cho_1.md
t/md/30_cho_2.md
t/md/30_cho_3.md
t/md/a34.md
t/md/a44.md
t/md/cho001.md
t/md/cho002.md
t/md/cho003.md
t/md/cho004.md
t/md/cho005.md
t/mma/a34.cho
t/mma/a34.mma
t/mma/a44.cho
t/mma/a44.mma
t/mma/a68.cho
t/mma/a68.mma
t/mma/deCoda34.cho
t/mma/deCoda34.mma
t/mma/deCoda44a.cho
t/mma/deCoda44a.mma
t/mma/deCoda44.cho
t/mma/deCoda44.mma
t/mma/deCoda68.cho
t/mma/deCoda68.mma
t/ref/20_crd_1.crd
t/ref/20_crd_2.crd
t/ref/20_crd_3.crd
Expand All @@ -198,3 +278,21 @@ t/ref/40_html_3.html
t/ref/60_crd_1.crd
t/ref/60_crd_2.crd
t/ref/60_crd_3.crd
lib/App/Music/ChordPro/Output/LaTeX.pm
lib/App/Music/ChordPro/res/config/guitar_latex.json
lib/App/Music/ChordPro/res/config/songbook_latex.json
lib/App/Music/ChordPro/res/templates/comment.tt
lib/App/Music/ChordPro/res/templates/guitar_comment.tt
lib/App/Music/ChordPro/res/templates/guitar_image.tt
lib/App/Music/ChordPro/res/templates/guitar_songbook.tt
lib/App/Music/ChordPro/res/templates/image.tt
lib/App/Music/ChordPro/res/templates/songbook.tt
t/74_latex.t
t/latex/30_cho_1.cho
t/latex/30_cho_1.tex
t/latex/30_cho_2.cho
t/latex/30_cho_2.tex
t/latex/t_comment.tt
t/latex/t_config.json
t/latex/t_image.tt
t/latex/t_songbook.tt
1 change: 1 addition & 0 deletions MANIFEST.CPAN
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
pp/windows/abcm2ps.exe
CPAN/App/Packager.pm
CPAN/Data/Properties.pm
CPAN/File/HomeDir.pm
Expand Down
5 changes: 4 additions & 1 deletion Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,17 @@ WriteMakefile
PREREQ_PM => {
'App::Packager' => 1.430,
'PDF::API2' => 2.036,
'Text::Layout' => 0.022,
'Text::Layout' => 0.028,
'JSON::PP' => 2.27203,
'String::Interpolate::Named' => 1.01,
'File::LoadLines' => 1.02,
'File::HomeDir' => 1.004,,
'Image::Info' => 1.41,
'List::Util' => 1.33,
'Storable' => 3.08,
# These are only used by the LaTeX backend
# 'Template' => 3.010,
# 'LaTeX::Encode' => 0.092.0,
},

CONFIGURE_REQUIRES => {
Expand Down
Binary file modified docs/assets/images/ex_chordcolour.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/ex_define2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/ex_grid1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/ex_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/ex_kbdiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/ex_tabcolour.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/page_labels-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/page_labels.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/pageformats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/prf_cr_cfg_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/prf_cr_cfg_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_chordii-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_chordii.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_dark-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_default-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_keyboard-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_keyboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_ukulele-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/style_ukulele.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/assets/images/verselabels.png
Binary file not shown.
63 changes: 63 additions & 0 deletions docs/assets/pub/config60.schema
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
"module": {
"type": "string",
"default": "ABC"
},
"preprocess": {
"type": "object"
}
},
"required" : [ "type", "handler", "module" ],
Expand Down Expand Up @@ -139,6 +142,13 @@
"default": false
},

"choruslabels": {
"description": "",
"title": "If false, chorus labels are used as tags.",
"type": "boolean",
"default": true
},

"columns": {
"description": "Number of columns.",
"type": "integer",
Expand Down Expand Up @@ -231,6 +241,12 @@
"minimum" : -12,
"maximum" : 12,
"format" : "number"
},

"truesf": {
"description": "Substitute Unicode sharp/flats in chord names.",
"type": "boolean",
"default": false
}
}
},
Expand Down Expand Up @@ -695,6 +711,41 @@
}
},

"latex": {
"title": "LaTeX backend",
"description": "",
"type": "object",
"additionalProperties": false,
"properties": {
"template_include_path": {
"description": "Include paths for templates.",
"additionalProperties": false,
"type" : "array"
},
"templates" : {
"description": "Templates for LaTeX generation.",
"additionalProperties": false,
"properties": {
"comment": {
"description": "Helper template to render comments.",
"type": "string",
"default" : "comment.tt"
},
"image": {
"description": "Helper template to render images.",
"type": "string",
"default" : "image.tt"
},
"songbook": {
"description": "Master template to render the songbook.",
"type": "string",
"default" : "songbook.tt"
}
}
}
}
},

"parser": {
"title": "Preprocessing",
"description": "Preprocessing the input.",
Expand Down Expand Up @@ -1103,6 +1154,10 @@
"description": "Default properties for all pages.",
"additionalProperties": false,
"properties": {
"background": {
"description": "Background page.",
"type": "string"
},
"title": {
"allOf": [
{ "$ref": "#/definitions/tptspec" },
Expand All @@ -1124,6 +1179,10 @@
"description": "Properties for per-song title pages.",
"additionalProperties": false,
"properties": {
"background": {
"description": "Background page.",
"type": "string"
},
"title": {
"allOf": [
{ "$ref": "#/definitions/tptspec" },
Expand All @@ -1145,6 +1204,10 @@
"description": "Properties of the very first page.",
"additionalProperties": false,
"properties": {
"background": {
"description": "Background page.",
"type": "string"
},
"title": {
"description": "Defaults to default.",
"$ref": "#/definitions/tptspec"
Expand Down
48 changes: 28 additions & 20 deletions docs/content/ChordPro-Configuration-Format-Strings.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,40 +61,48 @@ as shown above.

The ChordPro reference implementation provides additional meta data:

* `songindex`: The index (serial number) of the song in the songbook.

* `chords`: A comma-separated list of chords used in this song.

* `instrument`: Short for `instrument.type`.

* `instrument.description`: Set by instrument configs.
For the default guitar config this is `"Guitar, 6
strings, standard tuning"`.

* `instrument.type`: The name of the instrument as set by instrument
configs. Default `"guitar"`.

* `numchords`: The number of chords used in this song.

* `page`: The starting page number of the song.

* `pages`: The number of pages of the current song.

* `pagerange`: The pages of the song, either a single page number or
a range like `3-7`.
_`pagerange` is only available for CSV generation, see
[Configuration for CSV output]({{< relref "chordpro-configuration-csv" >}})._

* `songindex`: The index (serial number) of the song in the songbook.

* `today`: The current date in the format defined in the config file.
See [Dates and Times]({{< relref
"ChordPro-Configuration-Generic#dates-and-times" >}}).

* `tuning`: The tuning of the instrument. Usually `"E2 A2 D3 G3 B3 E4"`.
* `tuning`: The tuning of the instrument.
For the default guitar config this is `"E2 A2 D3 G3 B3 E4"`.

* `instrument.type`: The name of the instrument as set by instrument
configs. Usually `"guitar"`.

* `instrument`: Short for `instrument.type`.

* `instrument.description`: Set by instrument configs. Usually `"Guitar, 6
strings, standard tuning"`.

* `user.name`: The (login) name of the user running ChordPro.
Initial value is derived from the environment.

* `user`: Short for `user.name`.

* `user.fullname`: The full name of the user running ChordPro.
Initial value is derived from the environment, if possible.

The value of `"instrument"` and `"user"` can be used for [directive
* `user.name`: The (login) name of the user running ChordPro.
Initial value is derived from the environment.

The values of `"instrument"` and `"user"` can be used for [directive
selection]({{< relref "chordpro-directives#conditional-directives"
>}})

## Additional meta data for CSV generation

See [Configuration for CSV output]({{< relref "chordpro-configuration-csv" >}}).

* `pagerange`: The pages of the song, either a single page number or
a range like `3-7`.
3 changes: 3 additions & 0 deletions docs/content/ChordPro-Configuration-Generic.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ These settings control global behaviour of the ChordPro program and can be chang
"chords-canonical" : false,
// If false, chorus labels are used as tags.
"choruslabels" : true,
// Substitute Unicode sharp/flats in chord names.
// Will fallback to ChordProSymbols the font doesn't have the glyphs.
"truesf" : false,
},

Note that settings `decapo`, `lyrics-only`, `strict`, `transcode` and
Expand Down
Loading

0 comments on commit f3a3686

Please sign in to comment.