« HTMLで保存ソース表示用のTEXTファイルも生成する | トップページ | [NSStringEncoding]PlainTextEncodingの番号リスト »

[Music.app]フェードinフェードout(少し改良)

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions


####1曲何秒聴く?
set numTimer to 30 as integer

###何曲
set numCntRep to 5000 as number

####何曲目
set numCnt to 0 as number

###何秒目から始める?
set numStartTime to 20 as number

tell application "Music"
  ###初期値のボリュームを取得
  set numVolume to sound volume
end tell

repeat numCntRep times
  tell application "Music"
    ##ランダムをOFFに
    set shuffle enabled to false
    ##ボリュームを初期値に
    set sound volume to numVolume
    ###現在のステータス
    set objState to (player state)
    ########################
    ###再生中なら処理を開始する
    if objState is playing then
## log "再生中"
###現在再生中の曲
set objNowTrack to current track
# name of objNowTrack as text
# album of objNowTrack as text
# artist of objNowTrack as text
##################
##初期設定で決めた再生時間待つ
delay numTimer
##################
###フェードアウト
set sound volume to numVolume
set numTempVolume to numVolume
repeat 7 times
set sound volume to numTempVolume
###初期値の音量を10割して8段階まで処理(完全に消音しない)
set numTempVolume to (numTempVolume - (numVolume / 10)) as integer
delay 0.1
end repeat
###曲間消音する場合はここを有効に
## set sound volume to 0
##################
###次の曲
next track
###開始位置まで移動して
set player position to numStartTime
##################
###フェードイン
set numVolume to numVolume as integer
###曲間消音する場合はここを有効に
## set sound volume to 0 as integer
## set numTempVolume to 0 as integer
repeat 8 times
set sound volume to numTempVolume
set numTempVolume to (numTempVolume + (numVolume / 10)) as integer
delay 0.1
end repeat
###最終的には初期値に設定する
set sound volume to numVolume
########################
######ポーズ中なら処理終了
    else if objState is paused then
set sound volume to numVolume
log "ポーズ中"
try
set objNowTrack to current track
## play
exit repeat
on error
exit repeat
end try
########################
#####停止中なら処理終了
    else if objState is stopped then
set sound volume to 100
log "停止中"
try
set objNowTrack to current track
## play
exit repeat
on error
exit repeat
end try
    end if
  end tell
  
  set numCnt to (numCnt + 1) as number
  log numCnt
  ---リピートの終わり
end repeat




|

« HTMLで保存ソース表示用のTEXTファイルも生成する | トップページ | [NSStringEncoding]PlainTextEncodingの番号リスト »

AppleScript Music」カテゴリの記事