--- nfo/perl/scripts/giantdisc/bin/gdkeypad.pl 2005/04/01 02:14:03 1.1 +++ nfo/perl/scripts/giantdisc/bin/gdkeypad.pl 2005/04/01 02:14:50 1.2 @@ -1,97 +1,106 @@ -#!/usr/bin/perl -w -# -################################################## -# -# GiantDisc mp3 Jukebox, KeyPad Functions -# -# © 2000-2002, Rolf Brugger -# Modified by Philipp Heckel -# -################################################## +#!/usr/bin/perl -w +# +################################################## +# +# GiantDisc mp3 Jukebox, KeyPad Functions +# +# 2000-2002, Rolf Brugger +# Modified by Philipp Heckel and Andreas Motl +# +################################################## + +use strict; + +use IO::Socket; +use Fcntl; + + +use lib '/home/music/bin'; +use gddb; +use gdparams; +use gdgentools; +use gdgentools_extended; + +use DBI; + + +################################################## +### get Parameters +if(scalar(@ARGV) < 4){ + print("Syntax: gdkeypad.pl host-ip player-id audiochannel mode\n"); + print(" mode can be 'play', 'pause', 'stop', 'next', 'prev', 'fastfwd', 'rewind' or 'pl_activate'\n"); + exit(0); +} + +my $dbhost = $ARGV[0]; +my $playerid = $ARGV[1]; +my $audiochannel = $ARGV[2]; +my $mode = $ARGV[3]; +my $playlist_id = $ARGV[4]; + +$gdparms::dbhost = $dbhost; + +### open DB connection +my $dbh = DBI->connect("DBI:mysql:GiantDisc:".$dbhost, "music", undef) + or die "unable to connect to GiantDisc db"; + +### switch modes +if ($mode eq 'play') { + cmd_play($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'stop') { + cmd_stop($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'pause') { + cmd_pause($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'prev') { + cmd_prev($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'next') { + cmd_next($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'fastfwd') { + cmd_fastfwd($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'rewind') { + cmd_rewind($dbh,$playerid,$audiochannel); +} +elsif ($mode eq 'pl_activate') { + cmd_call_playlist($dbh,$playerid,$audiochannel); +} + +#################################################################### +### Keypad Functions + +sub cmd_stop{ + gdgentools::pl_stop($dbh, $playerid, $audiochannel); +} + +sub cmd_pause{ + gdgentools::pl_pause($dbh, $playerid, $audiochannel); +} + +sub cmd_play{ + gdgentools::pl_play($dbh, $playerid, $audiochannel); +} + +sub cmd_prev{ + gdgentools::pl_prev($dbh, $playerid, $audiochannel); +} + +sub cmd_next{ + gdgentools::pl_next($dbh, $playerid, $audiochannel); +} + +sub cmd_fastfwd{ + gdgentools::pl_ff($dbh, $playerid, $audiochannel); +} + +sub cmd_rewind{ + gdgentools::pl_rw($dbh, $playerid, $audiochannel); +} -use strict; - -use IO::Socket; -use Fcntl; - - -use lib '/home/music/bin'; -use gddb; -use gdparams; -use gdgentools; - -use DBI; - - -################################################## -### get Parameters -if(scalar(@ARGV) != 4){ - print("Syntax: gdkeypad.pl host-ip player-id audiochannel mode\n"); - print(" mode can be 'play', 'pause', 'stop', 'next', 'prev', 'fastfwd' or 'rewind'\n"); - exit(0); -} - -my $dbhost = $ARGV[0]; -my $playerid = $ARGV[1]; -my $audiochannel = $ARGV[2]; -my $mode = $ARGV[3]; - -$gdparms::dbhost = $dbhost; - -### open DB connection -my $dbh = DBI->connect("DBI:mysql:GiantDisc:".$dbhost, "music", undef) - or die "unable to connect to GiantDisc db"; - -### switch modes -if ($mode eq 'play') { - cmd_play($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'stop') { - cmd_stop($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'pause') { - cmd_pause($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'prev') { - cmd_prev($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'next') { - cmd_next($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'fastfwd') { - cmd_fastfwd($dbh,$playerid,$audiochannel); -} -elsif ($mode eq 'rewind') { - cmd_rewind($dbh,$playerid,$audiochannel); -} - -#################################################################### -### Keypad Functions - -sub cmd_stop{ - gdgentools::pl_stop($dbh, $playerid, $audiochannel); -} - -sub cmd_pause{ - gdgentools::pl_pause($dbh, $playerid, $audiochannel); -} - -sub cmd_play{ - gdgentools::pl_play($dbh, $playerid, $audiochannel); -} - -sub cmd_prev{ - gdgentools::pl_prev($dbh, $playerid, $audiochannel); -} - -sub cmd_next{ - gdgentools::pl_next($dbh, $playerid, $audiochannel); -} - -sub cmd_fastfwd{ - gdgentools::pl_ff($dbh, $playerid, $audiochannel); -} - -sub cmd_rewind{ - gdgentools::pl_rw($dbh, $playerid, $audiochannel); +sub cmd_call_playlist{ + gdgentools_extended::cmd_call_playlist($dbh, $playerid, $audiochannel, $playlist_id); }