Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

MP3 Playlist generator

by Viking (Beadle)
on Jul 06, 2000 at 06:25 UTC ( #21269=sourcecode: print w/ replies, xml ) Need Help??

Category: Audio Related Programs
Author/Contact Info Viking / viking@linuxfreak.com
Description: This generates MP3 playlists from a given directory. It handles sub directories too. Useful for mpg123 or xmms.
#!/usr/bin/perl -w

# mp3playlist.pl by Viking

use strict;

if ($ARGV[0]) {
        &parsedir($ARGV[0]);
} else {
        print "mp3playlist.pl by Viking\n";
        print "usage: mp3playlist.pl <dir>\n";
}

sub parsedir {

        # get current directory
        my $currentdir = $_[0];

        # create dir listing
        opendir DIR, $currentdir;
        my @dirlist = readdir DIR;
        close DIR;

        # loop thru dir listing
        for (@dirlist) {

                # ignore "." and ".."
                if (!(/^\.{1,2}$/)) {

                        # get file mode
                        my $mode = (stat "$currentdir/$_")[2];

                        # if directory recurse routine with new direct
+ory
                        if ($mode =~ /^1/) {
                                &parsedir("$currentdir/$_");
                        # if mp3 file print path and name
                        } elsif (/\.mp3$/) {
                                print "$currentdir/$_\n";
                        }
                }
        }
}

Comment on MP3 Playlist generator
Download Code
RE: MP3 Playlist generator
by davorg (Chancellor) on Jul 06, 2000 at 12:19 UTC

    This seems to be becoming a recurrent theme around these parts - but recursive file search stuff like this is a lot easier with File::Find. You'd do it something like this (untested code):

    use strict; use File::Find; if ($ARGV[0]) { find(\&wanted, $ARGV[0]); } else { print "mp3playlist.pl by Viking (& davorg)\n"; print "usage: mp3playlist.pl <dir>\n"; } sub wanted { return unless -f; return unless /\.mp3$/; print "$File::Find::name\n"; }
    --
    <http://www.dave.org.uk>

    European Perl Conference - Sept 22/24 2000, ICA, London
    <http://www.yapc.org/Europe/>
Reaped: Re: MP3 Playlist generator
by NodeReaper (Curate) on Jul 03, 2011 at 11:48 UTC

Back to Code Catacombs

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2014-12-25 23:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (163 votes), past polls