Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Can I stop a backtick command but continue the script?

by zentara (Archbishop)
on Mar 03, 2005 at 12:32 UTC ( [id://436180]=note: print w/replies, xml ) Need Help??


in reply to Can I stop a backtick command but continue the script?

I played around with that before, but used Tk which has "an event loop" to make this sort of thing easier. POE might be able to help you on the command-line versions. In the sources for mpg123, there is a README.remote file, which describes how to remotely control the player. You will have to play your songs thru the "piped-form of open", rather than backticks, so you can signal the player to skip to the next songs. With bacticks, killing the song, will kill the instance of the player, so you will be creating a new player for each song....kind of wasteful. The following example, has a "Pause" Button, but you can skip to the next song in a playlist by just LOADING it.
#!/usr/bin/perl use warnings; use strict; use Tk; #read README.remote in mpg123 sources $|++; #my $pid = open(FH,"| mpg123 -R 2>&1 "); my $pid = open(FH,"| mpg123 -R >/dev/null 2>&1 "); print "$pid\n"; my $mw = new MainWindow; my $startbut = $mw->Button(-text =>'Start Play', -command => sub{ syswrite(FH, "LOAD 1bb.mp3\n") ; })->pack; my $pausebut = $mw->Button(-text =>'Pause', -command => sub{ syswrite(FH, "PAUSE\n") ; })->pack; my $exitbut = $mw->Button(-text =>'Exit', -command => sub{ exit })->pack; MainLoop;

I'm not really a human, but I play one on earth. flash japh

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://436180]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2024-04-24 22:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found