Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
sciurius committed Jan 9, 2024
2 parents 2233086 + 504f562 commit 95a6ee7
Show file tree
Hide file tree
Showing 23 changed files with 250 additions and 81 deletions.
29 changes: 26 additions & 3 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
6.042 2024-01-09

- !This is a bugfix release.

- !Important

- To trace problems, the ChordPro 'about' information is included
in the PDF. This should not reveal sensitive information, but in
case this bothers you, you can disable this by setting
debug.runtimeinfo to 0 in the config.

- !Functionality
- Report XDG_CONFIG_HOME in runtime info.
- Include 'about' info as PDF metadata.
- !Bug fixes
- Post-release typo fixes.
- (Stringdiagram) Fix font size of base fret numeral (issue 337).
- (Stringdiagram) Fix fret number colours.
- Fix handling of XDG_CONFIG_HOME.
- Fix 'spread' images.
- Fix problem finding notes:german et al.
- (MMA) Fix test fail with perl >= 5.39.6.

6.040 2023-12-26

- !Highlights
Expand All @@ -6,13 +29,13 @@
They can be placed relative to the paper, the page, the column,
and the lyrics.

- Images can be [embedded[(https://chordpro.org/chordpro/directives-image/#inline-images) in text (lyrics) lines, either as part of
- Images can be [embedded](https://chordpro.org/chordpro/directives-image/#inline-images) in text (lyrics) lines, either as part of
the text similar to a glyph, or somewhere else on the page
relative to a particular place in the text. The latter is most
interesting for annotations.

- Delegates are images too. Annotate your lyrics with SVG images,
or with musical notes using ABC or Lilypond.
- Delegates are images too. Annotate your lyrics with SVG images
and musical notes using ABC or Lilypond.

- Chord and keyboard diagrams are images too. And you can use
string and keyboard diagrams simultaneously.
Expand Down
Binary file added Design/ChordDiagram.odg
Binary file not shown.
Binary file added Design/ChordPro_Component_Support.odg
Binary file not shown.
23 changes: 23 additions & 0 deletions Design/StructuredChordPro.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
songbook ::= song+

song ::= directive-or-part+

directive-or-part ::= directive | part

directive ::= '{' keyword [ ':' value ] '}'

part ::= verse | chorus | tab

verse ::= one or more consequetive songlines

chorus ::= start-of-chorus verse+ end-of-chorus

start-of-chorus ::= '{' 'start-of-chorus' | 'soc' '}'

end-of-chorus ::= '{' 'end-of-chorus' | 'eoc' '}'

tab ::= start-of-tab lines+ end-of-tab

start-of-tab ::= '{' 'start-of-tab' | 'sot' '}'

end-of-tab ::= '{' 'end-of-tab' | 'eot' '}'
23 changes: 23 additions & 0 deletions Design/capo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Key Capo Chord Display
Mod Down D - D D
Mod Up D - D D
Ignore D - D D

Key = Concert key

Key Capo Chord Display
Mod Down D 2 D C
Mod Up D 2 D E
Ignore D 2 D D

Key = Relative

Key Capo Chord Display
Mod Down C 2 D C
Mod Up E 2 D E
Ignore D 2 D D

Note: MuseScore would display D(C) (sounding D, play C).

While other will prefer D(E).

Binary file added Design/design.xcf
Binary file not shown.
Binary file added Design/pagelayout.odg
Binary file not shown.
1 change: 1 addition & 0 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ lib/ChordPro/res/config/songbook_latex.json
lib/ChordPro/res/config/ukulele-ly.json
lib/ChordPro/res/config/ukulele.json
lib/ChordPro/res/examples/bgdemo.pdf
lib/ChordPro/res/examples/mollymalone.cho
lib/ChordPro/res/examples/swinglow.cho
lib/ChordPro/res/fonts/ChordProSymbols.ttf
lib/ChordPro/res/icons/chordpro-doc.icns
Expand Down
2 changes: 1 addition & 1 deletion Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ WriteMakefile
'Text::Layout' => 0.032,
'JSON::PP' => 2.27203,
'String::Interpolate::Named' => 1.030,
'File::LoadLines' => 1.042,
'File::LoadLines' => 1.044,
'File::HomeDir' => 1.004,
'Image::Info' => 1.41,
'List::Util' => 1.46,
Expand Down
4 changes: 2 additions & 2 deletions docs/content/ChordPro-Configuration-Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ Instrument definitions, in particular the settings `"tuning"`, `"notes"` and `"c

For example, assume `"chords_italian.json"` defines a number of chords using italian (latin) note names and `"chords_german.json"` defines some chords using german note names. Then the following sequence of configuration files will work as expected:

notes::latin (built-in, enable latin note names)
notes:latin (built-in, enable latin note names)
chords_italian.json (defines chords with latin note names)
notes::german (built-in, enable german note names)
notes:german (built-in, enable german note names)
chords_german.json (defines chords with german note names)

### Merging hash valued items
Expand Down
41 changes: 34 additions & 7 deletions docs/content/ChordPro-Reference-RelNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Release info

## 6.042

Released: 2024-01-09


### This is a bugfix release.


### Important

* To trace problems, the ChordPro 'about' information is included in the PDF. This should not reveal sensitive information, but in case this bothers you, you can disable this by setting debug.runtimeinfo to 0 in the config.

### Functionality

* Report XDG_CONFIG_HOME in runtime info.
* Include 'about' info as PDF metadata.

### Bug fixes

* Post-release typo fixes.
* (Stringdiagram) Fix font size of base fret numeral (issue 337).
* (Stringdiagram) Fix fret number colours.
* Fix handling of XDG_CONFIG_HOME.
* Fix 'spread' images.
* Fix problem finding notes:german et al.
* (MMA) Fix test fail with perl >= 5.39.6.

### Social and support

[User community](https://groups.io/g/ChordPro) for feedback and help.
Please use the [issue tracker](https://github.com/ChordPro/chordpro/issues) for bugs reports.

## 6.040

Released: 2023-12-26
Expand All @@ -8,8 +40,8 @@ Released: 2023-12-26
### Highlights

* Images can be [placed everywhere](https://chordpro.org/chordpro/directives-image/). They can be placed relative to the paper, the page, the column, and the lyrics.
* Images can be [embedded[(https://chordpro.org/chordpro/directives-image/#inline-images) in text (lyrics) lines, either as part of the text similar to a glyph, or somewhere else on the page relative to a particular place in the text. The latter is most interesting for annotations.
* Delegates are images too. Annotate your lyrics with SVG images, or with musical notes using ABC or Lilypond.
* Images can be [embedded](https://chordpro.org/chordpro/directives-image/#inline-images) in text (lyrics) lines, either as part of the text similar to a glyph, or somewhere else on the page relative to a particular place in the text. The latter is most interesting for annotations.
* Delegates are images too. Annotate your lyrics with SVG images and musical notes using ABC or Lilypond.
* Chord and keyboard diagrams are images too. And you can use string and keyboard diagrams simultaneously.
* Resources like configs, tasks and images are now more logically searched using [resource libraries](https://chordpro.org/chordpro/resources/).

Expand Down Expand Up @@ -52,11 +84,6 @@ Released: 2023-12-26
* (PDF) Enhance assets (wip), labels; move grid to separate module.
* Experimental ##include facility.

### Social and support

[User community](https://groups.io/g/ChordPro) for feedback and help.
Please use the [issue tracker](https://github.com/ChordPro/chordpro/issues) for bugs reports.

## 6.030

Released: 2023-09-18
Expand Down
5 changes: 5 additions & 0 deletions lib/ChordPro.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,11 @@ sub ::runtimeinfo {
push( @p, $cp->display($_) );
}
}
for ( qw( XDG_CONFIG_HOME ) ) {
if ( defined($ENV{$_}) && $ENV{$_} ne "" ) {
$msg .= sprintf( $fmt, $_, $cp->display($ENV{$_}) );
}
}
push( @p, map { $cp->display($_) } @{ $cp->resdirs } );
$tag = "Resource path";
for ( uniq(@p) ) {
Expand Down
3 changes: 3 additions & 0 deletions lib/ChordPro/Config.pm
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,7 @@ sub hmerge( $left, $right, $path = "" ) {
|| $path =~ /^pdf\.(?:info|fonts)\./
|| $path =~ /^meta\./
|| $path =~ /^delegates\./
|| $path =~ /^parser\.preprocess\./
|| $path =~ /^debug\./
|| $key =~ /^_/;

Expand Down Expand Up @@ -1127,6 +1128,7 @@ sub default_config () {
"preamble" : [
// Use ChordPro fonts for lyrics and chords.
"%%textfont pdf.fonts.text",
"%%vocalfont pdf.fonts.text",
"%%gchordfont pdf.fonts.chord",
],
"preprocess" : { "abc" : [] },
Expand Down Expand Up @@ -1643,6 +1645,7 @@ sub default_config () {
// For (debugging (internal use only)).
"debug" : {
"runtimeinfo" : 1,
"a2crd" : 0,
"assets" : 0,
"chords" : 0,
Expand Down
2 changes: 1 addition & 1 deletion lib/ChordPro/Output/MMA.pm
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ my $chords_under = 0; # chords under lyrics

sub safemeta {
my ( $s, $meta, $default ) = @_;
return $default undef unless defined $meta && defined $s->{meta}->{$meta};
return $default unless defined $meta && defined $s->{meta}->{$meta};
return $s->{meta}->{$meta}->[0];
}

Expand Down

0 comments on commit 95a6ee7

Please sign in to comment.