Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

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 /
Description: This generates MP3 playlists from a given directory. It handles sub directories too. Useful for mpg123 or xmms.
#!/usr/bin/perl -w

# by Viking

use strict;

if ($ARGV[0]) {
} else {
        print " by Viking\n";
        print "usage: <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
                        if ($mode =~ /^1/) {
                        # if mp3 file print path and name
                        } elsif (/\.mp3$/) {
                                print "$currentdir/$_\n";

Comment on MP3 Playlist generator
Download Code
Replies are listed 'Best First'.
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 " by Viking (& davorg)\n"; print "usage: <dir>\n"; } sub wanted { return unless -f; return unless /\.mp3$/; print "$File::Find::name\n"; }

    European Perl Conference - Sept 22/24 2000, ICA, London

Back to Code Catacombs

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (10)
As of 2015-11-25 09:23 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (672 votes), past polls