App-Music-ChordPro

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    - 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 )