App-Music-ChordPro
view release on metacpan or search on metacpan
- Allow fret -1 in {define}, and 'x' in json config for consistency.
- Allow pdf.fonts.foo: bar (short for pdf.fonts.foo { description: bar }).
- Allow label="..." for {chorus} and {grid}.
- Add align property for diagram display.
!Bug fixes
- Fix/update docker build.
- Add missing shortcodes sog and eog (start/end of grid).
- Fix paper anchored images being restricted to page size instead
of paper size.
- Fix problem that blocked pdf documents from being processed as songs.
- Fixed problems with labels and embedded newlines.
- Fixed newline issues in TextBlocks.
- Fix issue #353, #367, #371, #372, #384, #388, #399, #410.
- Fix spread image handling.
- Fix diagrams.sorted.
- Fix handling of "display"/"format" in config chords.
- Fix problem that text in a TextBlock did not reset to flush left.
- Fix problem TextBlock textstyle did not copy the background colour.
- Fix colours of keyboard diagrams wrt. theme.
- Fix rootless chords with transcode.
lib/ChordPro/Config.pm view on Meta::CPAN
# trap accidental modifications and typos.
sub lock ( $self ) {
Hash::Util::lock_hashref_recurse($self);
}
sub unlock ( $self ) {
Hash::Util::unlock_hashref_recurse($self);
}
sub is_locked ( $self ) {
Hash::Util::hashref_locked($self);
}
# Augment / Reduce.
sub augment ( $self, $hash ) {
my $locked = $self->is_locked;
$self->unlock if $locked;
$self->_augment( $hash, "" );
$self->lock if $locked;
$self;
}
sub _augment ( $self, $hash, $path ) {
for my $key ( keys(%$hash) ) {
warn("Config augment error: unknown item $path$key\n")
lib/ChordPro/Config.pm view on Meta::CPAN
}
}
$self;
}
use constant DEBUG => 0;
sub reduce ( $self, $hash ) {
my $locked = $self->is_locked;
warn("O: ", qd($hash,1), "\n") if DEBUG > 1;
warn("N: ", qd($self,1), "\n") if DEBUG > 1;
my $state = _reduce( $self, $hash, "" );
$self->lock if $locked;
warn("== ", qd($self,1), "\n") if DEBUG > 1;
return $self;
}
sub _ref ( $self ) {
reftype($self) // ref($self);
}
sub _reduce ( $self, $orig, $path ) {
( run in 1.036 second using v1.01-cache-2.11-cpan-49f99fa48dc )