﻿iTunes Playlist Timer v1.0.1

目的
----
指定時刻になっても再生中の楽曲を途中で切りません。
時刻到達後、次の順序を厳守します。

  1. その時点で再生中の曲が終了するまで待機
  2. iTunesへ一時停止(PAUSE)
  3. 指定プレイリストを選択
  4. 指定プレイリストの先頭曲から再生開始

設定方法
--------
1. CONFIGURE_TIMER.vbs を開く
2. 「行を追加」
3. 時刻を HH:mm で入力
4. 右側の iTunes プレイリスト一覧から選び「選択行へ設定」
5. 曜日を指定
     ALL = 毎日
     Mon,Tue,Wed,Thu,Fri
     Sat,Sun
   のように指定可能
6. 「保存」
7. START_TIMER.vbs で常駐開始

停止
----
STOP_TIMER.vbs

状態確認
--------
STATUS.vbs

ログ
----
logs\PlaylistTimer_YYYYMMDD.log

重要
----
・タイマーは「時刻になった瞬間にプレイリストを変える」のではなく、まず切替予約状態になります。
・その時点で再生中だった曲の終了/トラック遷移を検知した後にのみ、PAUSE→PLAYLIST SELECT→PLAY を実行します。
・一時停止中に設定時刻になった場合は、その曲が再開されて終了するまで待ちます。
・設定時刻後に手動で一時停止/停止しても、それだけでは曲終了扱いにせず待機を継続します。
・iTunesが停止中で再生中の曲がない場合は、待つ曲がないため PAUSE→PLAYLIST SELECT→PLAY を直ちに実行します。
・iTunesのクロスフェードはOFF推奨です。クロスフェードONでは、iTunes自身が曲終了前に次曲音声を重ねるため、「完全に曲終了後」の境界が曖昧になります。
・同名プレイリストが複数ある場合は最初に見つかったものを使用します。重複名は避けてください。
・PCがスリープ等で設定時刻を跨いだ場合に備え、既定では10分以内なら遅延実行します（PLAYLIST_TIMER.json の schedule_grace_minutes）。

ログで確認できる厳守順序
------------------------
DUE
ARM
TRACK TRANSITION または TRACK END
STEP 1/3 PAUSE
STEP 2/3 PLAYLIST SELECT
STEP 3/3 PLAY

内部方式
--------
Windows版iTunesのCOMオートメーション(iTunes.Application)を使用します。
外部DLLやFFmpegは使用しません。
