各番組にはチャンネル(ch)が割り当てられ、リスナーはFLASHでチャンネルを選択して聴く。
人の集まりやすい時間帯に複数の番組が競合できる。!!チャンネルの取得
プレイヤーは、開設手数料を払うことでチャンネルの使用権を取得できる。
| ch名の種別 | 金額 |
|---|---|
| 数字1字 | 1000万G |
| 数字2字 | 300万G |
| 数字3字以上 | 200万G |
| 英数混合 | 400万G |
| 英字1字 | 700万G |
| 英字2字以上 | 500万G |
| その他の文字 | 不可 |
放送を1度行う度に、報酬金庫から1万Gを徴収する。
報酬金庫が赤字になった時点で、そのチャンネルの使用権は消滅する。
放送スケジュールの作成、放送申請、報酬の分配は全てチャンネル管理画面(仮)上で行う。
番組を放送するには、スケジュールファイルを作る必要がある。
『番組スケジュールのためのプログラム言語のようなもの(仮)』を用いて作成する。
いくつかの音楽ファイルを連続で再生するだけなら簡単な構造で可能であるし、凝った作りにすればジャンプを付けたり対話型にしたりと少し立派なものになる。(そもそもの言語が貧弱だが…)
詳しい書き方は後述「スケジュール書式」にて。
かきかけ。
かきかけ。
1リスナー分報酬 = 100000 × 番組長さ倍率 × チェックポイント倍率× 各種リスナー倍率 × 各種作成者倍率
| 分 | 倍率 |
|---|---|
| 240〜 | 0.00 |
| 120〜239 | 2.50 |
| 90〜119 | 2.00 |
| 75〜89 | 1.71 |
| 60〜74 | 1.59 |
| 45〜59 | 1.37 |
| 30〜44 | 1.00 |
| 20〜29 | 0.51 |
| 10〜19 | 0.27 |
| 1〜9 | 0.05 |
| 0 | 0.00 |
| 回数 | 倍率 |
|---|---|
| 10〜 | 1.31 |
| 5〜9 | 1.25 |
| 2〜4 | 1.00 |
| 1 | 0.71 |
| 0 | 0.29 |
| 人数 | 倍率 |
|---|---|
| 7〜 | 3.00 |
| 5〜6 | 2.65 |
| 3〜4 | 1.91 |
| 2 | 1.37 |
| 1 | 1.00 |
| 0 | 0.00 |
| 割合 | 倍率 |
|---|---|
| 100% | 1.00 |
| 90%〜99% | 0.72 |
| 80%〜89% | 0.64 |
| 70%〜79% | 0.61 |
| 60%〜69% | 0.53 |
| 50%〜59% | 0.47 |
| 40%〜49% | 0.40 |
| 30%〜39% | 0.35 |
| 20%〜29% | 0.32 |
| 10%〜19% | 0.28 |
| 1%〜9% | 0.20 |
| 0% | 0.00 |
| シーズン | 倍率 |
|---|---|
| β | 1.00 |
| γ〜RC | 1.78 |
| mβ | 1.19 |
| α | 1.24 |
| TT | 1.13 |
| EGMI | 1.66 |
| RE〜 | 1.42 |
| 回数 | 倍率 |
|---|---|
| 10〜 | 1.72 |
| 7〜9 | 1.58 |
| 4〜6 | 1.34 |
| 2〜3 | 1.20 |
| 1 | 1.00 |
| 0 | 0.26 |
TITLE<>朝までゆっくりしていってね<>まめ<>0:00 〜 4:59<>---------- # GO<>3<>--- 100<>mes_change<>〜朝までゆっくりしていってね〜<><><>true<>[5:00-23:59]S Wed<>0<>0<> 110<>cno_change<>200<><><>true<>[5:00-23:59]S [0:01-4:59] Wed<>0<>0<> 120<>bmusic_play<>http://mames.dip.jp/intro_b.mp3<>80<>true<>false<><>0<>0<> 130<>bmusic_fade<>-50<>3<>false<>true<>bmusic<>0<>0<> 140<>mmusic_play<>http://mames.dip.jp/intro_m.mp3<>70<>true<>false<><>0<>0<> 200<>FLG<>Talk<><><>true<><>0<>0<> 210<>cno_change<>300<><><>true<>[0:03-0:00]<>0<>0<> 220<>bmusic_play<>http://mames.dip.jp/talk_b.mp3<>50<>false<>true<><>0<>0<> 230<>mmusic_play<>http://mames.dip.jp/talk_m.mp3<>80<>true<>false<><>0<>0<> 300<>FLG<>Ending<><><>true<><>0<>0<> 310<>bmusic_fade<>0<>5<>true<><><>0<>0<> 320<>cno_change<>400<><><>true<>[1:13-1:05]<>0<>0<> 330<>bmusic_play<>http://mames.dip.jp/ending_b.mp3<>50<>false<>true<><>0<>0<> 340<>mmusic_play<>http://mames.dip.jp/ending_m.mp3<>80<>true<>false<>bmusic<>0<>0<> 400<>FLG<>End<><><>true<><>0<>0<> 410<>bmusic_fade<>0<>10<>true<>false<><>0<>0<> 420<>mes_change<>default<><><>false<>!bmusic<>0<>0<> end<>--------------------------------------------------
Command-No<>Command<>arg1<>arg2<>arg3<>Next<>If<>
| arg1 | ファイルURI |
| arg2 | 音量(1〜100の自然数) |
| arg3 | 動作 |
|---|---|
| doubletrue | 読み込みながら再生して、再生が終了したら通信する(reason:bmusicstop) |
| true | 読み込みながら再生 |
| falsedoubletrue | 全て読み込んでから再生して、再生が終了したら通信する(reason:bmusicstop) |
| falsetrue | 全て読み込んでから再生(1度だけ) |
| false | 全て読み込んでから再生(ループ) |
| doublefalse | 読み込む。再生はしない。完了すると通信する(reason:bmusicload) |
| triplefalse | 読み込む。再生はしない。<default> |
| playonly | あらかじめ読み込んでいるものを再生。停止後なら再開する。 |
読み込みながら再生すると、大きなファイルでもスムーズに再生されるが、通信速度が遅ければプツプツ途切れたりする。
doublefalseやtriplefalseは、読み込んだ音楽ファイルはキャッシュ(貯蔵)されるので再読み込み時に時間がかからない(ハズ)。またtriplefalseはplayonlyで再生できる。
| arg1 | なし |
| arg2 | なし |
| arg3 | なし |
| arg1 | 最終的な音量(-100〜100の整数)。先頭にマイナスをつけると「それ以下になるまで下げる」、つけないと「それ以上になるまで上げる」 |
| arg2 | 変化の遅さ(自然数)。1なら1秒に30下がり、30なら1秒に1下がる。反比例「y=30/x」。 |
| arg3 | 動作 |
|---|---|
| doubletrue | 完了後にBGMを停止して、その直後に通信する(reason:bmusicstop) |
| true | 完了後にBGMを停止する |
| false | 完了後に何もしない |
| arg1 | 変更後の文章。defaultと指定すると初期値に戻る。 |
| arg2 | なし |
| arg3 | なし |
文章の中の特殊文字列は入れ替えられる(置換)。
| 特殊文字列 | 入れ替わる文字 |
|---|---|
| %bsecond% | BGMを読み込んだ秒数 |
| %msecond% | MMusicを読み込んだ秒数 |
| %bminute% | BGMを読み込んだ分数(小数点以下2桁) |
| %mminute% | MMusicを読み込んだ分数(小数点以下2桁) |
| %bplaysecond% | BGMを再生した秒数 |
| %mplaysecond% | MMusicを再生した秒数 |
| %bplayminute% | BGMを再生した分数(小数点以下2桁) |
| %mplayminute% | MMusicを再生した分数(小数点以下2桁) |
| %bplayper% | BGMを再生した割合(小数点以下1桁) |
| %mplayper% | MMusicを再生した割合(小数点以下1桁) |
| %bloadsize% | BGMを読み込んだバイト数 |
| %mloadsize% | MMusicを読み込んだバイト数 |
| %bsize% | BGMのバイト数 |
| %msize% | MMusicのバイト数 |
| %bloadper% | BGMを読み込んだ割合(小数点以下1桁) |
| %mloadper% | MMusicを読み込んだ割合(小数点以下1桁) |
...<>mes_change<>スペシャルトーク 第一回(12分34秒/Played:%mplayminute%min. Loaded:%mminute%min.)<>... # 再生済み分と読み込み済み分を表示 # 表示例:スペシャルトーク 第一回(12分34秒/Played:0.37min. Loaded:7.52min.)
| arg1 | 変更後のNo。 |
| arg2 | なし |
| arg3 | なし |
| arg1 | 押した後の最終実行No。 |
| arg2 | ボタン内の文字。 |
arg3
| arg1 | なし |
| arg2 | なし |
| arg3 | なし |
…<>bmusicS [22:00-20:59]S [21:01-21:59] Wed<>… 22:00〜20:59は実行せず待機。BGMがかかっていたら実行せず待機。水曜の21:01〜21:59は実行。いずれでもなければスルー。 これは21:00のみスルーされる。 「bmusic_fade」で徐々にBGMを停止したあと、「後から来て開始時間の21:00に間に合わなかった人を先に誘導して次の読み込みまで待ってもらう」 cno_changeにおいて非常に有効な条件である。 ただし、これは「水曜以外の21:00」にも実行されてしまう。 無理矢理には、次の行に「日月火木金土の21:00なら最後へ飛ばす」ことでどうにかなるが面倒。 「水曜以外なら実行せず待機」が実装されれば楽。
<接尾子>
各条件の後ろに付けて意味を変える。
〜(何も付けない;例:button):〜ならば実行(〜でなければ無視して次へ)
〜!(例:button!):〜でなければ実行(〜ならば無視して次へ)
〜S(例:buttonS):〜ならば実行せず待機(〜でなければ実行)
〜!S(例:button!S):〜でなければ実行せず待機(〜であれば実行)
条件を複数並列に指定できる場合、ストップは一つでも真ならば即待機、実行はひとつでも真ならば実行(OR)。どの条件も偽であった場合のみ「無視して次へ」となる。
[12:00-14:59]
12時00分から14時59分までであるかどうか。
[23:00-00:59]
23時00分から00時59分までであるかどうか。(日付をまたぐこともできる)
※!、S、!Sに未対応。
{}の中に曜日を入れる。半角スペースなどで複数指定も可。
{Wed} # 水曜日のみ実行、それ以外ならスルー
{Sun Sat}! # 土日はスルー、平日なら実行
{Sun Sat}!S # 土日なら実行、平日ならストップ待機
{Mon Wed Fri}S # 月・水・金は入れない
※{}は、最初に出現する1つのみ有効。
{Sun Sat} {Fri} # 土日は実行、平日(金曜も)はスルー
(1/3-3/17) # 1月3日から3月17日までなら実行、以外はスルー (12/3-1/6) # 12/3から1/6までなら実行、以外はスルー(年もまたげる) (1/3-1/3)! (1/5-1/5)! # 1/3と1/5以外なら実行
※!、S、!Sに対応。
通信した原因。
| reason | 意味 |
|---|---|
| click | クリックによる通信 |
| button | ボタンによる通信 |
| bmusicstop | doubletrueのBGM終了による通信 |
| mmusicstop | doubletrueのMMusic終了による通信 |
| bmusicload | doublefalseのBGM読込完了による通信 |
| mmusicload | doublefalseのMMusic読込完了による通信 |
BGMが読み込み完了した状態であるかどうか。
※!、S、!Sに対応。
MMusicが読み込み完了した状態であるかどうか。
※!、S、!Sに対応。
BGMが再生されているかどうか。
※!、S、!Sに対応。
MMusicが再生されているかどうか。
※!、S、!Sに対応。
上級。
Commandのところへ入れて、サーバー側処理の命令を実行する。
<arg1>行目以降になるまでスキップ。
If判定なし。
その行から見て<arg1>行先(前)のコマンドを強制実行する(実行先のIf判定なし)。arg1は整数。マイナスを付けても良い。
このメタコマンド自体のIfは判定する。
というかIfで何かしらのスルー条件を記述しないと(特にマイナス行指定の場合)無限ループになる。
用途としては、再生やロードの状況を毎回mes_changeで更新するとか。
無視して次の行へ進む。実行内容は、次の行へ進むこと。
If判定をするため、bloaded!Sなど指定で、読み込むまでのストッパーになる。
また、番組終了後に置き、番組中のbuttonのジャンプ先にこれを設定しておいてIfにbutton!Sを指定(ボタン押下時にはどうせこれは実行済み扱いなので、このIfはただの通常時ストッパー)、その後に各種コマンドを記述すれば、「buttonが押された時用の関数」みたいなのが作れる。
≪番組