App-Music-ChordPro

 view release on metacpan or  search on metacpan

lib/ChordPro/Output/Meta.pm  view on Meta::CPAN

    $res[-1] =~ s/,$//;

    push( @res, "]" );
    \@res;
}

sub looks_like_number($v) {
    defined($v) && $v =~ /^[-+]?\d+(?:\.\d*)?$/;
}

sub kv( $k, $v ) {
    $v = flatten($v);
    qquote($k, 1) . " : " . qquote($v, !looks_like_number($v));
}

sub flatten($v) {
    return $v unless is_arrayref($v);
    return $v->[0] if @$v == 1;
    join( $sep, @$v );
}

lib/ChordPro/Output/PDF/Grid.pm  view on Meta::CPAN

	}
	$pr->text( " " . $t->{text}, $x, $y, $fonts->{grid_margin} );
    }
}

sub is_bar( $elt ) {
    exists( $elt->{class} ) && $elt->{class} eq "bar";
}

# Location and size of vertical bars
sub yh( $y, $h, $pr ) {
    my $d = $pr->{ps}->{grids}->{stretch} || 0.825;
    return ( $y + 0.9 * $h,
	     $h * $d * $pr->{ps}->{spacing}->{grid} );
}

sub pr_cellline( $x, $y, $lcr, $sz, $w, $col, $pr ) {
    $x -= $w / 2;
    $pr->vline( $x, yh($y,$sz,$pr), $w, $col );
}

lib/ChordPro/Paths.pm  view on Meta::CPAN

    $ENV{uc($packager)."_PACKAGED"};
}

################ Export ################

# For convenience.

use Exporter 'import';
our @EXPORT;

sub CP() { __PACKAGE__->get }

push( @EXPORT, 'CP' );

1;

lib/ChordPro/Utils.pm  view on Meta::CPAN

sub propitems_re() {
    my $re = join( '|', propitems() );
    qr/(?:$re)/;
}

push( @EXPORT, "propitems_re" );
push( @EXPORT_OK, "propitems" );

# For debugging encoding problems.

sub as( $s ) {
    return "<undef>" unless defined $s;
    $s =~ s{ ( [^\x{20}-\x{7f}] ) }
	   { join( '', map { sprintf '\x{%02x}', ord $_ } split //, $1) }gex;
    return $s;
}

push( @EXPORT_OK, "as" );

sub enumerated( @s ) {
    return "" unless @s;



( run in 2.045 seconds using v1.01-cache-2.11-cpan-4ab04211f4c )