###################################################################

  RETINE - togetterのTLの流れを再現しながらmp3を再生するソフト

  ソフト名：   retine (REplaying TImeliNE: りたいん)
  バージョン： 1.0
  配布元URL：  http://freett.com/nwp8861/soft/retine/

###################################################################


---------------------------------------------------------------------
＜ソフトの概要＞

retine は togetter でまとめられた TL の流れを再現しながら
mp3 を再生させるフリーソフトです。
「VOCALOID聴き専ラジオ」(http://d.hatena.ne.jp/kikisenradio/) の過去放送と
そのtogetterまとめとを同期再生したいなと思って作りました。

主な特徴は以下のとおりです。

  - ウェブからmp3等の音声ファイルやtogetterのページをダウンロードして再生。
  - TLがにぎやかな時期(ツイートの分布)の表示。
  - 音声合成ソフトでTLを読み上げる（ただし設定が必要。あまり実用的ではありません）。

なお、俺専ツールとして作ったので様々な妥協点（特にエラー対策の実装部）があります。
ご容赦下さい。また、もしこのソフトを使用したことでお使いの PC 等に何らかのトラブルが
生じても作者は責任を取りませんので悪しからずご了承下さい。

---------------------------------------------------------------------
＜インストール＞

  zipを任意のフォルダに展開して下さい。
  ただし、日本語フォルダの下は避けて下さい。例えば"デスクトップ"上に置いてはいけません。
  （フォルダパスがC:\Documents and Settings\foobar\デスクトップ\Retine-0.03となり、
    日本語が含まれてしまいます）
  現状ではソフトが日本語フォルダを正しく処理できないためtogetterのページを開けません。

  なお、本ソフトはIEコンポーネントを利用してTL表示していますので
  internet explorerをインストールしていないといけないかもしれません。

---------------------------------------------------------------------
＜アンインストール＞

  展開したフォルダを削除して下さい。

---------------------------------------------------------------------
＜典型的な使用手順＞

  [ 起動 ]
      retine.exeをダブルクリックして起動。

  [ 以前聴いた放送回を再読み込みする場合 ]
      「各種メニューを開く」ボタンを押し、メニュー窓を開きます。

      メニュー窓の「放送情報読み込み」の欄に放送回の番号を入力し、
      「放送情報を読み込み」を押して下さい。

  [ 初めて聞く放送回を読み込む場合 ]
      「各種メニューを開く」ボタンを押し、メニュー窓を開きます。

      メニュー窓の「放送情報読み込み」の欄に放送回の番号を入力し、
      「放送情報をwebから読み込み」を押して下さい。
      するとwebに放送情報があるか調べ、あった場合はmp3やTLを読み込みます。

      もしwebに放送情報が無かった場合は以下の要領で「現在の放送情報」の各欄を手入力して下さい。
      なお入力の際には"はてな"の聴き専ラジオ公式ページを見ると良いです。
      http://d.hatena.ne.jp/kikisenradio/

      ・放送回   ... 番号を入力。

      ・タイトル ... 内容を一行にまとめて入力。

      ・音       ... 再生したいmp3のURLを入力し「Get from web」をクリック。
                     なお通常は「放送回」の数値に合わせてURLが自動的に設定されます。
                     例：「聴き専ラジオ第33回」のmp3
                          http://fx.rdy.jp/kikisenradio/kikisenradio033.mp3

                     すると小窓が開き、mp3をダウンロードしてdataフォルダへ保存します。

                     ※なお、保存したmp3ファイルは自動削除されません。
                       不要な場合は手作業で削除して下さい。

      ・togetter ... togetterでまとめたTLのURLを入力し「Get from web」をクリック。
                     例：「聴き専ラジオ第33回」のまとめTL
                          http://togetter.com/li/28913

                     すると小窓が開き、htmlをダウンロードし、TL表示用に形式変換した上で
                     dataフォルダへ保存します。その際ファイル名冒頭に"TL-"を追記します。
                     （例：http://togetter.com/li/28913をダウンロードした場合はTL-28913.htmlという
                       ファイル名になります）

                     ※なお、保存したhtmlファイルは自動削除されません。
                       不要な場合は手作業で削除して下さい。

      ・収録日時 ... 収録日時はtogetterのページを開いたときに自動推定して設定されます。
                     推定は「始まった」といったtweetから求めます。
                     もし推定に失敗した場合は以下のいずれかの方法で手修正して下さい。
                     作者のお勧めは(b)です。

                 (a) mp3の録音開始日時を設定する方法。

                     「手動変更」ボタンを押すと設定窓が開きます。
                     日時を入力して「収録開始日時としてセット」を押して下さい。

                 (b) mp3再生中に、そのときの時刻を設定する方法。

                     mp3を再生中の場合はいったんポーズします。
                     メイン窓の停止ボタンの右にある赤字時刻をクリックすると設定窓が開きます。
                     日時を入力して「再生位置の日時としてセット」を押して下さい。

                 ※いずれの場合も、TLの日付をコピー＆ペーストする方が楽だと思います。

                 ※私は時々以下のやり方で日時指定しています。

                   1. いったん再生位置を最後に持って行く。
                   2. TLを一番上へスクロールさせる(最新のつぶやきを表示させる)。
                   3. 「お疲れ様でした」といったtweetの日付をコピーする。
                      （マウスで日時を範囲指定→右クリック→コピー）
                   4. 上記(b)の日時入力欄にペーストする（ctrl+v または右クリックメニュー）。
                   5. 「再生位置の日時としてセット」を押す。
                   6. 再生位置を先頭に戻して再生開始。

                 ※なお実装の都合上ctrl+cが使えません。

      ・放送ページ ... 放送回の情報がまとまったページのURLを入力します。
                       例：「聴き専ラジオ第110回」のページ
                            http://d.hatena.ne.jp/kikisenradio/20111204/1323006629

      入力した放送情報を保存するには「上記設定を保存」押して下さい。
      なお未保存の場合は別の放送回を読み込もうとしたときや
      ソフトを終了するときに保存するかどうか聞いてきます。

  [ 再生する ]
      メイン窓の再生ボタンを押して下さい。赤字の時刻に合わせてTLが更新されます。

---------------------------------------------------------------------
＜音声合成によるTLの読み上げ機能＞

  retine ver.0.04でTLの読み上げ機能を実装してみました。
  使ってみた印象としては、パーソナリティの話が聞き取り辛くなってしまい
  あまり実用的とは言えません。にぎやかな感じにはなります。

  サンプル：
    (open Jtalk)         http://www.4shared.com/audio/677tg0F1/retine-jtalk.html
    (ドキュメントトーカ) http://www.4shared.com/audio/UQrIGDZl/retine-aquest.html

  機能を使用するには、openJtalk かドキュメントトーカクリップボードリーダーを
  インストールして設定ファイルを編集する必要があります。
  合成ソフトはどちらも一長一短で、以下のような特徴があります。
 
  (openJtalk)
  - インストールに手間がかかります（コンパイルしたり辞書データ等を別途用意したり…）。
  - 同時に複数読み上げに多少配慮しています（読み上げの度に声質を変化させています）。
  - retine作者はこちらを主に利用しています(openJtalkはcygwinでコンパイルしました)。

  (ドキュメントトーカのクリップボードリーダー)
  - 簡単にインストールできます。
  - 話速を変えられます。
  - 複数読み上げが重なった場合には新しい方の文のみを読みます。
  - 裏でクリップボードを利用するような作業をする場合は機能をOFFにして下さい
    （"TLを読み上げる"のチェックを外して下さい）。ONのままコピー＆貼り付けをしていると、
    意図しない内容が読み上げられたり、コピーした内容がtweet文に上書きされたりします。

  ソフトをインストールしたら、retine.ini ファイルを編集して下さい。
  編集方法はファイル内に記載しています。

  あとは"TLを読み上げる"をONにして下さい。
  tweetしたタイミングで投稿文を読み上げるようになります。


  なお、retine ver.0.03以前に保存したtogetter HTMLファイルでは形式が異なりますので
  読み上げ機能を利用する際にはtogetter.comからHTMLを再取得して下さい。

---------------------------------------------------------------------
＜その他＞

  収録日時を適切に設定すると、再生シークバーに沿って赤色の点が所々表示されると思います。
  この点一つがつぶやき一つに対応しています。
  つぶやきの多い所（盛り上がっている所？）がどこかを探る手がかりになるかもしれません。
 
  TLのリンクをクリックするとinternet explorerが開きます。
  Firefoxやchromeなどで開く場合は、リンクを右クリック→「ショートカットのコピー」
  を選んで、お使いのブラウザのアドレス欄にctrl+vでペーストして下さい。

---------------------------------------------------------------------
＜トラブルシューティング＞

retineは俺専ツールということもあり、エラー対応が不十分だったり
操作法に癖があったりします。何かありましたらご連絡いただければ対応できるかもしれません。

以下は想定されるトラブルと対策です。

・mp3やtogetterのファイルをダウンロードする際に時間がかかっている場合は
  webブラウザで同ページにアクセスしてつながる状態かどうか確認してみて下さい。
  ダウンロード中にキャンセルボタンを押せるようにしていますが、
  現状では完全に通信をキャンセルできていないような気がします。
  もしキャンセルした後で動作が不安定な場合はソフトを再起動させて下さい。

・retineが異常終了した場合にプロセス(retine.exe)の残る可能性があります。
  その場合はタスクマネージャでプロセス終了させて下さい。

・再生中にTL表示が更新される度に「カチッ」という効果音が入ると思いますが、
  これはinternet explorerでリンクをクリックしたときの効果音です。
  音を消したい場合は、、

  「コントロールパネル」→サウンド関係のメニューを選ぶ
  →「サウンド」タブ→イベントのリストから「ナビゲーション開始」を選ぶ
  →サウンドを「(なし)」にして「OK」を押す。

  ただし上記作業を行うとinternet explorer使用時にも操作音が消えます。

・再生中、アドレス欄などにフォーカスできないことがあるようです。
  その場合は、いったん他のソフトの窓などをクリックした後で再度試すと
  フォーカスできるようです。

・再生終了後に再度再生ボタンを一度押した場合に再生されないことがあるようです。
  その場合はもう一度ボタンを押して下さい。

---------------------------------------------------------------------
＜ライセンスについて＞

retine はオープンソースなフリーソフトであり、Tcl/Tk で作ったものをラッパーで
exe 化しています。音声処理部分には Tcl/Tk のライブラリの一つである snack を
利用しています。
  (snack web page)  http://www.speech.kth.se/snack/

retine のライセンスは snack のライセンスに倣って GPL としておきます。
ただし snack の説明書きによると、snack ライブラリのうち MPEG に
関するコードを除去すれば snack は BSD ライセンスとして扱えるようです。
（以下は snack2.2.10/READMEの抜粋です。）
  -----
  Snack is currently licensed under GPL, see the file COPYING.
  Contact the author if this kind of license is a problem.
  The only reason for GPL is the MPEG decoding code, see jkFormatMP3.c.
  If you remove that code it is possible to use a license similar to the one
  Tcl/Tk uses (BSD style) and to include Snack in any software on the same
  terms.
  -----

retine は mp3 を使用していますので GPL ということになります。

利用させて頂いたソフトウェアのライセンスはLicensesフォルダにまとめています。
snackのライセンスについては   Licenses/COPYING-snack2.2.10.txt をご覧下さい。
Tcl/Tk のライセンスについては Licenses/license-at8.5-thread.terms および
tcltk-licenses/* をご覧下さい。

---------------------------------------------------------------------
＜更新履歴＞

version 1.0 (2012/03/14)
  - togetterの仕様変更（投稿日付付近のタグ仕様変更）に対応した。
  - 画面構成を変更した（放送情報に関する項目をすべて別窓にまとめた）。
  - 各放送回にタイトルや放送まとめページを入力できるようにした。
  - 聴き専ラジオ公式ページ、ハッシュタグを開くボタンを追加した。
  - 入力した放送情報をprofile.txtに保存するようにした。
  - 放送情報をwebから取得できるようにした。

version 0.05 (2011/10/14)
  - togetterの仕様変更（残りを読むボタン周りの仕様変更）に対応した。
  - つぶやきの日付表記が「○ days ago」であった場合にエラーが出る問題を修正した。
    (まとめに対するコメントツイートでこの日付表記が出ていた)

version 0.04 (2011/04/20)
  - togetterの仕様変更に対応した。
  - 放送開始日時の推定規則を若干変更した。
  - 放送開始日時の推定結果をHTMLファイルの２行目に保存するようにした。
  - timelineの読み上げ機能を追加した（open Jtalkまたはドキュメントトーカの
    クリップボードリーダが必要）。

version 0.03 (2011/04/20)
  - インストールパス上に日本語フォルダがある場合は警告して終了するようにした。
  - 空白入りフォルダ名(Program Filesなど)の下にインストールしても動作するようにした。
  - togetterのページを読み込む際に録音開始時刻を自動推定するようにした。
    「始まった」or「はじまった」という文字列を過去から現在へ向けて検索し、
    最初に見つかった日時の２分前を放送開始日時とする。
  - togetterのファイルを日時順にソートするようにした

version 0.02 (2010/07/23)
  - toggeterのファイル構成変更に対応した(変更日は詳細不明。過去のtogetterページも変更されてるっぽい)。
  - アドレス入力欄、日時入力欄に右クリックメニュー(貼り付け)をつけた。
  - togetter欄の「再生に合わせてTLを更新」にチェックを入れると強制更新するようにした。
  - togetterのページ取り込み処理速度を若干向上。
  - URLにデフォルト文を表示するようにした。
  - バグ修正

version 0.01 (2010/06/17)
  - 公開

