自分の場合は、保存された楽曲をアーティストごとにまとめて、ずっと順番に再生するという聞き方をしているので、一つのアルバムをリピートされてしまうとちょっと困ってしまいます。
どうやら、全ての曲を順番に再生するためには、プレイリストを作成する必要があるらしいのですが、プレイリストを作成するフリーソフトでしっくり来るものが見つからなかったので、ささっと Perl スクリプトを作成することにしました。
#!/usr/bin/perl
open( INFILE, "F:/dir.txt" );
while( <INFILE> ) {
if( $_ =~ /F:\\(.*)\\(.*) のディレクトリ/ ) {
$_ =~ /F:\\(.*)\\(.*) のディレクトリ/;
$Artist = $1;
$Album = $2;
$key = "$Artist\/$Album";
push ( @Album, $key );
undef $Index;
}
if( $_ =~ /.*\.m4[ab]{1}/ ) {
$_ = /[0-9]{4}\/[0-9]{2}\/[0-9]{2} [0-9]{2}:[0-9]{2}[ ]{1,}[0-9\,]{1,} (.*\.m4[ab]{1})$/;
$Song = $1;
$Index++;
$Song{$key}{$Index} = $Song;
$NumOfIndex{$key} = $Index;
}
}
close( INFILE );
my @order = sort { $a cmp $b } @Album;
foreach my $i ( $[ .. $#order ) {
$Album = $order[$i];
foreach my $j ( 1 .. $NumOfIndex{$Album} ) {
print "$Album\/$Song{$Album}{$j}\n";
}
}
使い方は次の通りです。
- USB メモリを PC に接続する
- コマンド プロンプトを起動し、USB メモリのドライブ(F: を想定)に移動する
- dir /s > F:\dir.txt [Enter]
- 上記の Perl スクリプトを保存したディレクトリに移動し、スクリプトを実行する。例)mkplaylist.pl > F:\playlist.m3u8 [Enter]
- USB メモリに作成された playlist.m3u8 をメモ帳で開き、UTF-8 で上書き保存する(だっさ……)
Blogger の小枝
0 件のコメント:
コメントを投稿