App-Music-ChordPro
view release on metacpan or search on metacpan
lib/ChordPro/Song.pm view on Meta::CPAN
return $self->dir_meta( "meta", "$dir $arg" );
}
# Formatting. {chordsize XX} and such.
if ( $dir =~ m/ ^( $propitems_re )
( font | size | colou?r )
$/x ) {
my $item = $1;
my $prop = $2;
$self->propset( $item, $prop, $arg );
# Derived props.
$self->propset( "chorus", $prop, $arg ) if $item eq "text";
# ::dump( { %propstack, line => $diag->{line} } );
return 1;
}
# More private hacks.
if ( !$options->{reference} && $d =~ /^([-+])([-\w.]+)$/i ) {
if ( $2 eq "dumpmeta" ) {
warn(::dump($self->{meta}));
}
$self->add( type => "set",
lib/ChordPro/Song.pm view on Meta::CPAN
warn( "XPOSE: $tag, ",
"key = ", $m->{key}->[-1], ", ",
"print = ", $m->{key_print}->[0], ", ",
"sound = ", $m->{key_sound}->[0],
" [ ", join( " ", $config->{settings}->{transpose},
$xpose, $capo//0,
$xp->key ? "\@" . $xp->key->keyname : () ),
" ]\n" );
}
sub propset {
my ( $self, $item, $prop, $value ) = @_;
$prop = "color" if $prop eq "colour";
my $name = "$item-$prop";
$propstack{$name} //= [];
if ( $value eq "" ) {
my @toadd;
# Pop current value from stack.
if ( @{ $propstack{$name} } ) {
my $old = pop( @{ $propstack{$name} } );
( run in 1.209 second using v1.01-cache-2.11-cpan-71847e10f99 )