オーディオ関連のツール

CDに収まる曲をランダムに選ぶ

カレントディレクトリにあるwavファイルからランダムにCDに収録されるファイルのリストを出力するスクリプト

#! /usr/bin/perl

opendir( DH, "." ) ||  die 1;

@f = grep( /.wav/i, readdir( DH ));
close( DH );

$total_size = 0;
$marked = 0;
my @mark;
$cap = 650 * 1000 * 1000;
#$cap = 10 * 1024;

@rlist = ();
foreach (@f) {
  my $r = int rand (@rlist + 1);
  push(@rlist, $rlist[$r]);
  $rlist[$r] = $_;
}


foreach $fname ( @rlist )
{
    $size = -s $fname;

#    printf STDERR "$total_size $fname $size\n";

    if( -d $fname ){
	next;
    }

    if( $total_size + $size < $cap ){
	push @list, $fname;
	$total_size += $size;
    }
}

{ $" = "\n"; print "@list";}

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-14 (土) 19:20:07 (5284d)