7mymlJA - essa/7m GitHub Wiki
概要
7mServer の設定ファイルは、~/Library/Application\ Support/7mServer/7m.yml にあります。
このファイルは、7mServerの最初の起動時に自動的に生成され、7mServerの config タブ、または、お好きなエディタで修正することができます。
このファイルは YAML フォーマットです。YAMLについては、下記などを参照してください。
要は、インデント(各行の最初の空白の数)に意味があるので、それに注意していれば大丈夫だと思います。
サンプル
これは、私(開発者)が毎日使用している設定ファイルです。ソースは、特定の目的に調整された iTunes のプレイリストです。
このファイルによって、毎日、1時間程度の Remixed Playlist (自分専用のラジオ番組的なもの)が生成され、7mradioで「Play!」ボタンをタップすれば、それが再生されます。
loglevel: DEBUG
logfile: /tmp/7m.log
sox_opt: -b 200000 -m -c 2
remixed playlists:
- name: taku1
m3u:
minimum_tracks: 5
minimum_duration: 60
frames:
- name: rate4
source: rate4 # muscics rated 4 or 5
max_track: 3
duration: 180-420
- name: podcasts1
source: new_podcasts # English podcasts sorted by date
max_track: 2
duration: 120-420
- name: music
source: favarite_music # musics radomly selected
max_track: 3
duration: 120-420
- name: podcastsj
source: podcastj # Japanese podcasts
max_track: 2
duration: 420-600
- name: music
source: favarite_music
max_track: 3
duration: 420-600
max_duration_per_track: 300
- name: podcasts
source: esl # English as second language podcast
max_track: 1
duration: 300-420
- name: longtracks
source: longtracks # tracks duration is longer than 30 minutes
max_track: 2
duration: 420-600
- name: audiobooks
source: audiobooks_selection
max_track: 1
duration: 120-420
- name: music
source: favarite_music
max_track: 3
duration: 420-600
max_duration_per_track: 300
- name: podcasts2
source: new_podcasts
max_track: 1
duration: 300
max_duration_per_track: 300
- name: request
source: 7m_queue # Request Queue of 7mServer
max_track: 1
duration: 420-600
なお、この中で、'favarite_music' は、非常に複雑なスマートプレイリストで、レートに応じて、頻度が変わるようにランダムに選択されます。つまり、レート5の曲がよくかかり、レート2の曲はたまにしかかからないようになっています。
Remixed Playlist の構造
一番重要な属性は 'remixed playlists' で、これは次のように階層化されています。
- remixed playlist は frame(番組枠)の集合
- frame は iTunes プレイリストに一対一で対応している
- frame は as max_track, duration and max_duration_per_track 等の重要な属性があり、これによって、その番組枠への選曲方法が決まる
Root Attributes
| 名前 | 値 | 意味 |
|---|---|---|
| loglevel | DEBUG/INFO/WARN/ERROR/FATAL | |
| logfile | path | ログファイルのパス |
| sox_opt | string | sox コマンドのオプション |
| remixed playlists | array |
Remixed Playlists Attributes
| 名前 | 値 | 意味 |
|---|---|---|
| m3u | hash | m3u playlist を生成する時に使用する属性 |
| name | string | |
| frames | array |
Frame Attributes
| 名前 | 値 | 意味 |
|---|---|---|
| name | string | |
| source | string | この番組枠に使用される iTunes プレイリストの名前 |
| max_track | integer | この曲数だけ選曲したら、そこで選曲が終わる |
| duration | from-to | この番組枠の時間の範囲 |
| max_duration_per_track | integer | これより長い曲は、そこで再生を自動停止し次の曲へ行く |