Audio-Play-MPG123
view release on metacpan or search on metacpan
mpg123/tools/Mp3play view on Meta::CPAN
$ReadingLineCurrentPos--;
substr($ReadLine,$ReadingLineCurrentPos,1,"");
Display("reading-line");
}
}
if($_ eq "kD")
{ # termcap's delete character
Display("reading-line") if(substr($ReadLine,$ReadingLineCurrentPos,1,"") ne "");
}
if($_ eq "kl")
{ # termcap's move cursor left key
$ReadingLineCurrentPos--;
$ReadingLineCurrentPos=0 if($ReadingLineCurrentPos<0);
$ReadingLineStartPos=$ReadingLineCurrentPos if($ReadingLineStartPos>$ReadingLineCurrentPos);
Display("reading-line");
}
if($_ eq "kr")
{ # termcap's move cursor right
# key
$ReadingLineCurrentPos++;
$ReadingLineCurrentPos=length($ReadLine) if($ReadingLineCurrentPos>length($ReadLine));
$ReadingLineStartPos=$ReadingLineCurrentPos-$Width+length($ReadingLinePrompt)+1 if($ReadingLineCurrentPos-$ReadingLineStartPos>=$Width-length($ReadingLinePrompt));
$ReadingLineStartPos=0 if($ReadingLineStartPos<0);
Display("reading-line");
}
if($_ eq "kh")
{ # termcap's move cursor home key
$ReadingLineStartPos=0;
$ReadingLineCurrentPos=0;
Display("reading-line");
}
if($_ eq "kH")
{ # termcap's move cursor hold
# down key
$ReadingLineCurrentPos=length($ReadLine);
$ReadingLineStartPos=$ReadingLineCurrentPos-$Width+length($ReadingLinePrompt)+1;
$ReadingLineStartPos=0 if($ReadingLineStartPos<0);
Display("reading-line");
}
}
}
next;
}
mpg123/tools/Mp3play view on Meta::CPAN
}
Display("list"); # update play list
next;
}
if(unpack("C",$_)==12)
{ # ASCII "Ctrl-L" - redraw screen
Display("full"); # display everything
next;
}
if(($_ eq "j")||($_ eq "kd"))
{ # ASCII "j" or termcap's cursor
# down key - move selection one
# line down
$SelectedTrack++;
$SelectedTrack=$#Track if($SelectedTrack>$#Track);
$StartVPos++ if($SelectedTrack>=$StartVPos+$ListHeight);
Display("list"); # update play list
next;
}
if(($_ eq "k")||($_ eq "ku"))
{ # ASCII "k" or termcap's cursor
# up key - move selection one
# line up
$SelectedTrack--;
$SelectedTrack=0 if($SelectedTrack<0);
$StartVPos-- if($SelectedTrack<$StartVPos);
Display("list"); # update play list
next;
}
if(($_ eq "g")||($_ eq "kh"))
{ # ASCII "g" or termcap's cursor
# home key - move selection to
# the top
$SelectedTrack=0;
$StartVPos=0;
Display("list"); # update play list
next;
}
if(($_ eq "G")||($_ eq "kH"))
{ # ASCII "G" or termcap's cursor
# hold down key - move selection
# to the bottom
$SelectedTrack=$#Track;
$StartVPos=$#Track-$ListHeight+1;
$StartVPos=0 if($StartVPos<0);
Display("list"); # update play list
next;
}
if(($_ eq "\n")||($_ eq "\r"))
{ # ASCII newline or ASCII
mpg123/tools/Mp3play view on Meta::CPAN
{ # ASCII "Ctrl-B" or termcap's
# key for previous page - move
# selection one page up
$SelectedTrack=$StartVPos;
$StartVPos=$SelectedTrack-$ListHeight+1;
$StartVPos=0 if($StartVPos<0);
Display("list"); # update play list
next;
}
if(($_ eq "h")||($_ eq "kl"))
{ # ASCII "h" or termcap's cursor
# left key - shift play list
# window one character left
$StartHPos--;
$StartHPos=0 if($StartHPos<0);
Display("list"); # update play list
next;
}
if(($_ eq "l")||($_ eq "kr"))
{ # ASCII "l" or termcap's cursor
# right key - shift play list
# window one character right
$StartHPos++;
$StartHPos=$TrackTextMaxLength-ListWidth() if($StartHPos>$TrackTextMaxLength-ListWidth());
$StartHPos=0 if($StartHPos<0);
Display("list"); # update play list
next;
}
if(unpack("C",$_)==8)
{ # ASCII "Ctrl-H" - shift play
mpg123/tools/Mp3play view on Meta::CPAN
$Char||=(${$DisplayParameter{substr($DisplaySequence,$x,1)}}!=0);
}
GenerateTrackText(),Display("list-full") if($Char);
}
}
}
Display("sequence"); # update sequence display
}
sub GotoXY
{ # subroutine to put cursor to
# the given location on the
# screen
print STDOUT $TermCap->Tgoto('cm',int($_[0]),int($_[1]));
}
sub ClearScreen
{ # subroutine to clear the screen
print STDOUT $TermCap->{'_cl'};
}
sub Char
{ # subroutine to return special
# characters depending on
# display type (7-bit ascii)
return $Display{$_[0],$_7BitAsciiDisplay};
}
sub HideCursor
{ # subroutine to hide cursor
print STDOUT $TermCap->{'_vi'};
}
sub ShowCursor
{ # subroutine to show cursor
print STDOUT $TermCap->{'_ve'};
}
sub NormalMode
{ # subroutine to put terminal
# into normal mode
print STDOUT NormalModeStr() if(!$_7BitAsciiDisplay);
}
sub ReverseMode
( run in 0.516 second using v1.01-cache-2.11-cpan-4d50c553e7e )