Emacsでのmpg123のフロントエンドにmpg123.elが あります。これを使うとEmacsでmp3が聞けます。
バックエンドにはmpg123以外にもogg123やmpg321が使えます。私は mpg321を使っています。
(autoload 'mpg123 "mpg123" "A Front-end to mpg123" t)
(setq mpg123-mpg123-command "mpg321") ; mpg123のコマンド名
(setq mpg123-startup-volume 70) ; 起動時の音量
(setq mpg123-default-repeat -1) ; 繰り返し回数。-1は永遠に繰り返す。
(setq mpg123-default-dir ; 起動時のディレクトリ
(expand-file-name "~/mp3/"))
mpg123-show-helpをtにしておくと下の方に使い方がでるのでそれを見 て下さい。デフォルトはtになっています。
(add-hook 'mpg123-hook
(function
(lambda ()
(mpg123-shuffle ?r)
(mpg123-play-stop))))
#!/usr/bin/env ruby
require "find"
EXTENTION = ".playlist"
def search_mp3(dir)
mp3_files = []
Find.find(dir) do |f|
mp3_files.push(f) if f =~ /\.mp3$/
end
mp3_files
end
all_playlist_file = (ARGV.shift || "all") + EXTENTION
base_dir = ARGV.shift || "."
Find.find(base_dir) do |f|
if File.directory?(f)
filename = f + EXTENTION
filename = File.join(base_dir, all_playlist_file) if f == base_dir
File.open(filename, "w") do |file|
file.puts search_mp3(f)
end
end
end
これを~/mp3/で実行すると~/mp3/以下にall.playlistというファイルが 出来ます。これをmpg123.elの起動時に読みこむといいです。他にもサ ブディレクトリ毎にディレクトリ名.playlistというファイルが出来ま す。なので、以下のようなディレクトリ構成にしておくと幸せになれま す。
~/mp3-+-アーティスト名-+-CD名-+-mp3ファイル
| | ...
| | +-mp3ファイル
| ...
| +-CD名-+-mp3ファイル
| ...
| +-mp3ファイル
...
+-アーティスト名-+-CD名-+-mp3ファイル
| ...
| +-mp3ファイル
...
+-CD名-+-mp3ファイル
...
+-mp3ファイル