ひとつ前の記事
PS2「極上生徒会」 - 9/20 08:32
ひとつ先の記事
わっほーう!志摩子カラー買った! - 9/21 12:26
9月21日(水)
iPod nano 向け(でもない) AppleScript #03 - イントロ再生
iPod nano 向け(でもない)につくった AppleScript の3個目。
イントロ再生をするためのスクリプトである。ちょっと探すと同様の機能を持つスクリプトがいくつかヒットするが、たいていは再生中、スクリプトが動作しつづけて iTunes を制御するものであると思う。
今回作ったのは、再生中にスクリプトが動作しないタイプのものである。いままで、「いったい何のために使うんだろう」と疑問に思ってきた、曲の開始時間、停止時間のプロパティを使って実現してみた。
いままで謎だった「開始時間」「停止時間」
この方式のよいところは、ズバリ、クロスフェード再生が効く、ということである。たとえば、イントロ再生開始位置を 60 秒、イントロ再生の秒数を 30 秒、などと設定すると、曲のサビの部分だけクロスフェード再生してくれるのだ。うちは常にクロスフェードを ON にしているので、これはいい。
まるでラジオのカウントダウン番組のようである。
with timeout of 6000 seconds
tell application "iTunes"
try
display dialog "イントロ再生の開始秒を入力してください。" default answer "60" buttons
{"イントロ再生解除", "キャンセル", "OK"} default button 3 with icon note
if button returned of result is "イントロ再生解除" then
set introStart to 0
set introEnd to 99999999
else
set introStart to text returned of result
display dialog "イントロ再生の秒数を入力してください。" default answer "30" buttons
{"キャンセル", "OK"} default button 2 with icon note
set introEnd to (text returned of result) + introStart
end if
repeat with theTrack in every track of view of front browser window
if finish of theTrack > introStart then
set start of theTrack to introStart
end if
set finish of theTrack to introEnd
end repeat
display dialog "イントロ再生設定終了" buttons {"OK"} with icon note
on error errorMsg number errorNum
if errorNum is not -128 then display dialog errorMsg with icon caution
end try
end tell
end timeout
実行すると、イントロ再生開始位置と、そこからの再生時間をきいてくるので入力する。そうすると、現在選択しているプレイリストに含まれる曲の開始時間、停止時間を次々と書き換える(例によってすごく遅い)。書き換えたものを元に戻したい時は、「イントロ再生解除」を選択する(これも例に違わず遅い)。
ちなみに、こうやって開始時間、停止時間を操作した曲を iPod に転送すると、iPod でもイントロ再生になる(残念ながらクロスフェードにはならないが)。
今回作成したスクリプトは今までにつくったものに同梱した(ダウンロード)。
2005/9/21 01:34