Audio-Play-MPG123

 view release on metacpan or  search on metacpan

mpg123/tools/Mp3play  view on Meta::CPAN

     if(${$DisplayParameter{$_[0]}})
      {						# if this argument is displayed
      						# and any other arguments are
      						# displayed, then update play
      						# list
       $Char=FALSE;
       for($x=0;$x<length($DisplaySequence);$x++)
        {
         $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
{						# subroutine to put terminal
						# into reverse mode
 print STDOUT ReverseModeStr() if(!$_7BitAsciiDisplay);
}

sub BoldMode
{						# subroutine to put terminal
						# into bold mode
 print STDOUT BoldModeStr() if(!$_7BitAsciiDisplay);
}

sub HalfBrightMode
{						# subroutine to put terminal
						# into half bright mode
 print STDOUT HalfBrightModeStr() if(!$_7BitAsciiDisplay);
}

sub NormalModeStr
{						# subroutine that returns string
						# putting terminal into normal
						# mode
 return "" if($_7BitAsciiDisplay);
 return $TermCap->{'_me'};
}

sub ReverseModeStr
{						# subroutine that returns string
						# putting terminal into reverse
						# mode
 return "" if($_7BitAsciiDisplay);
 return $TermCap->{'_mr'};
}

sub BoldModeStr
{						# subroutine that returns string
						# putting terminal into bold
						# mode
 return "" if($_7BitAsciiDisplay);
 return $TermCap->{'_md'};
}

sub HalfBrightModeStr
{						# subroutine that returns string
						# putting terminal into half
						# bright mode
 return "" if($_7BitAsciiDisplay);
 return $TermCap->{'_mh'};
}

sub Display
{ 						# subroutine to display
						# user interface. It takes one
						# argument controlling which
						# parts will be displayed.
 my $x;
 my $String;
 if(!$DisplayingHelp)
  {						# not displaying help, so
  						# display other elements
   HideCursor();
   if($_[0] eq "full")
    {						# display non changable part
     ClearScreen();
     GotoXY(int($Width/2)-34,0);
     print STDOUT Char("ulcorner").(Char("hline") x 5).Char("ltitle")." Display ".Char("rtitle").(Char("hline") x 5).Char("urcorner")."  ".Char("ulcorner").(Char("hline") x 3).Char("ltitle")." NumPad ".Char("rtitle").(Char("hline") x 3).Char("urcorne...
     GotoXY(int($Width/2)-34,1);
     print STDOUT Char("vline")."  [ ] art".BoldModeStr()."I".NormalModeStr()."st         ".Char("vline")."  ".Char("vline")."   ".Char("stop")."  ".Char("pause")."  ".Char("play")."   ".Char("vline")."  ".Char("vline")."  [ ] ".BoldModeStr()."L".Nor...
     GotoXY(int($Width/2)-34,2);
     print STDOUT Char("vline")."  [ ] ".BoldModeStr()."A".NormalModeStr()."lbum          ".Char("vline")."  ".Char("vline")."                ".Char("vline")."  ".Char("vline")."  [ ] loop trac".BoldModeStr()."K".NormalModeStr()."     ".Char("vline")...
     GotoXY(int($Width/2)-34,3);
     print STDOUT Char("vline")."  [ ] ".BoldModeStr()."T".NormalModeStr()."itle          ".Char("vline")."  ".Char("vline")."   ".Char("previous")."  ".Char("begin")."  ".Char("next")."   ".Char("vline")."  ".Char("vline")."  [ ] ".BoldModeStr()."R"...
     GotoXY(int($Width/2)-34,4);
     print STDOUT Char("vline")."  [ ] fil".BoldModeStr()."E".NormalModeStr()."name       ".Char("vline")."  ".Char("vline")."                ".Char("vline")."  ".Char("vline")."  [ ] show nu".BoldModeStr()."M".NormalModeStr()."bers   ".Char("vline")...
     GotoXY(int($Width/2)-34,5);
     print STDOUT Char("vline")."  [ ] ".BoldModeStr()."D".NormalModeStr()."irectory      ".Char("vline")."  ".Char("vline")."   ".Char("rewind")."      ".Char("forward")."   ".Char("vline")."  ".Char("vline")."  [ ] ".BoldModeStr()."W".NormalModeStr...
     GotoXY(int($Width/2)-34,6);
     print STDOUT Char("vline")."  [ ] ".BoldModeStr()."Y".NormalModeStr()."ear           ".Char("vline")."  ".Char("llcorner").(Char("hline") x 16).Char("lrcorner")."  ".Char("vline")."  Sort options:      ".Char("vline");
     GotoXY(int($Width/2)-34,7);
     print STDOUT Char("vline")."  [ ] m".BoldModeStr()."U".NormalModeStr()."sic type     ".Char("vline")."  ".Char("ulcorner").(Char("hline") x 16).Char("urcorner")."  ".Char("vline")."  [ ] de".BoldModeStr()."S".NormalModeStr()."cending     ".Char(...
     GotoXY(int($Width/2)-34,8);
     print STDOUT Char("vline")."  Sequence:          ".Char("vline")."  ".Char("vline")."  ".BoldModeStr()."q".NormalModeStr()."UIT    ".BoldModeStr()."H".NormalModeStr()."elp  ".Char("vline")."  ".Char("vline")."  [ ] case sensiti".BoldModeStr()."V...
     GotoXY(int($Width/2)-34,9);
     print STDOUT Char("llcorner").(Char("hline") x 21).Char("lrcorner")."  ".Char("llcorner").(Char("hline") x 16).Char("lrcorner")."  ".Char("llcorner").(Char("hline") x 21).Char("lrcorner");
     GotoXY(0,11);
     print STDOUT Char("ulcorner").(Char("hline") x int(($Width-14)/2)).Char("ltitle")." PlayList ".Char("rtitle").(Char("hline") x ($Width-14-int(($Width-14)/2))).Char("urcorner");
     for($x=0;$x<$ListHeight;$x++)
      {
       GotoXY(0,12+$x);
       print STDOUT Char("vline");
       GotoXY($Width-1,12+$x);
       print STDOUT Char("vbar_bg");
      }
     GotoXY(0,$Height-2);
     print STDOUT Char("llcorner").(Char("hbar_bg") x ($Width-2)).Char("lrcorner");
    }
   if((($_[0] eq "full")||($_[0] eq "sort"))&&(!$ReadingLine))



( run in 1.789 second using v1.01-cache-2.11-cpan-f52f0507bed )