App-Music-PlayTab
view release on metacpan or search on metacpan
lib/App/Music/PlayTab/Output/PDF.pm view on Meta::CPAN
if ( $arg =~ /^media=(.*)$/ ) {
my $media = $1;
if ( $media eq "800x1280" ) {
# 800x1280 Samsung Galaxy Note 10.1 tablet.
@delta_values = ( -4, 2, 4 );
$condensed = 1;
$ps->{fonts}->{chord} = $ps->{fonts}->{chord_cn};
@mediabox = map { $_ * (72/150) } 80, 435, 800, 1280;
$mediabox[2] += $mediabox[0];
$mediabox[3] += $mediabox[1];
}
elsif ( $media =~ /^(ipad|960x1280)$/ ) {
# 768x1024 iPad2.
@delta_values = ( -7, 2, -10 );
$condensed = 0;
$ps->{fonts}->{chord} = $ps->{fonts}->{chord_cn};
@mediabox = map { $_ * (72/150) } 70, 440, 960, 1280;
$mediabox[2] += $mediabox[0];
$mediabox[3] += $mediabox[1];
}
elsif ( $media eq "768x1024" ) {
# 768x1024 iPad2.
@delta_values = ( -12, 3, -10 );
$ps->{fonts}->{chord} = $ps->{fonts}->{chord_cn};
@mediabox = map { $_ * (72/150) } 90, 685, 768, 1024;
$mediabox[2] += $mediabox[0];
$mediabox[3] += $mediabox[1];
}
else {
warn("PDF backend: Unrecognized media type: $media\n");
}
next;
}
if ( $arg eq "narrow" ) { #### IN PROGRESS
@delta_values = ( -4, 1, 4 );
$condensed = 1;
$ps->{fonts}->{chord} = $ps->{fonts}->{chord_cn};
@mediabox = map { $_ * (72/150) } 70, 440, 800, 1280;
$mediabox[2] += $mediabox[0];
$mediabox[3] += $mediabox[1];
next;
}
if ( $arg eq "condensed" ) {
$ps->{fonts}->{chord} = $ps->{fonts}->{chord_cn};
next;
}
}
}
# New page.
sub setuppage {
my ( $self, $title, $stitles ) = @_;
$self->pdf_page( 1, $title, $stitles );
undef $barno;
}
sub finish {
my $self = shift;
return unless $pr;
$self->{fh}->binmode;
$self->{fh}->print( $pr->finish );
undef $pr;
}
# New print line.
sub setupline {
my ( $self, $line ) = @_;
$xd = $delta_values[0] + ( $line->{width} || 0 );
$yd = $delta_values[1] + ( $line->{height} || 0 );
$md = $delta_values[2] + ( $line->{margin} || 0 );
$barno = $line->{barno};
if ( $condensed ) {
$_ *= 0.7 for $xd, $md;
}
}
sub bar {
my ( $self, $first ) = @_;
$self->checkvspace;
$pr->vline( $x + $md, $y + 13, 16 );
$pr->rtext( $x + $md - 2, $y + 9, $barno, $ps->{fonts}->{barno} )
if $first && defined($barno);
$x += 4;
}
sub chord {
my ( $self, $chord, $dup ) = ( @_, 0 );
if ( ref($chord) =~ /::/ ) {
my $save_x = $x;
my $save_y = $y;
$chord->render;
$x = $save_x + $xd;
$y = $save_y;
$self->{_prev_chord} = $chord;
}
elsif ( ref($chord) eq 'ARRAY' ) {
my $fun = "render__" . shift(@$chord);
$self->$fun( @$chord );
}
else {
my $fun = "render__$chord";
$self->$fun;
}
while ( $dup-- > 1 ) {
$self->render__space;
}
}
sub newline {
my ( $self, $xtra ) = @_;
$x = $ps->{marginleft};
$y += $yd;
$y += ($xtra-1)*$yd if defined $xtra;
}
sub text {
my ( $self, $text, $xxmd, $font ) = @_;
$font ||= $ps->{fonts}->{subtitle};
$xxmd ||= 0;
$self->checkvspace;
( run in 0.604 second using v1.01-cache-2.11-cpan-98e64b0badf )