/NicoJK

TVTestのニコニコ実況プラグイン

Primary LanguageC++

/*
 NicoJK
  TVTest ニコニコ実況プラグイン
*/

■なにこれ?
ニコニコ実況を表示するTVTest用のプラグインです。

# このプラグインはニコニコ実況サーバ(jk.nicovideo.jp)と通信します。サーバに高負
# 荷を与えるような利用や改変をしないでください。


■使い方
NicoJK.tvtpおよびNicoJK.iniをTVTestのPluginフォルダに入れてください。

ログファイルへの記録機能は、NicoJK.iniのlogfileModeを1か2にして、Pluginsフォルダ
の中に"NicoJK"というフォルダを作っておくと有効になります。ログは"NicoJK"フォルダ
に保存されていきます。録画中に受信した実況コメントがファイル再生プラグイン(何で
もいい)で再生中に表示されればOKです。

些末なことですが勢い窓のフォントは「Meiryo UI」なので、XPやVista環境では入れてお
く(PowerPointViewerとかについてくる)とちょっとだけいい感じです。
Vista以降のAero環境で性能に余裕があればNicoJK.iniのtimerIntervalを-10000にすると
描画がスムーズになります。

■設定
NicoJK.iniを確認してください。

■コメント投稿について
コメント投稿機能を有効にする場合は以下の作業を行ってください:
1."sqlite3.exe"を用意
  http://www.sqlite.org/download.html の「Precompiled Binaries for Windows」から
  "sqlite-shell-win32-x86-{数字}.zip"をダウンロードして、中身の"sqlite3.exe"を
  TVTest.exeのある場所かパスの通った場所(C:\windows あたりがオススメ)に配置
2.ブラウザでニコニコ実況にログイン
  FirefoxまたはGoogleChromeで http://jk.nicovideo.jp/ にアクセスして各自のアカウ
  ントでログイン
3.NicoJK.iniのexecGetCookieにブラウザのプロファイルフォルダを設定
  プロファイルフォルダの場所については「firefox cookies.sqlite」や「chrome
  cookie 保存場所」などのキーワードでググって見つけてください。正しく設定すれば
  プラグイン有効時にこのコマンドが実行され、勢い窓にコメント投稿欄が現れます

コメント投稿欄の仕様は以下のとおりです:
・Enterキー押下で投稿
・行頭に@があればローカルコマンドとして処理(詳しくは投稿欄に半角で"@help"と入力)
・行頭に[]で囲われた部分があれば公式サイトのコマンド欄と同等
・投稿欄が空のとき、Ctrl+Vで複数行のペーストができる
・TabまたはRS(レコードセパレータ)文字は改行文字と解釈する
  ・RSは右クリ→「Unicode制御文字の挿入」で入力可能。IMEに辞書登録すると便利
・最長75文字。最短投稿間隔は3秒

専用のアカウントを使う場合は、ログイン用のユーザプロファイルをブラウザに作成する
と便利です。Firefoxの手順:
1.-no-remote -p sub(←プロファイル名、何でもOK)というオプション付きでfirefox.exe
  へのショートカットを作成して起動
2.「ユーザプロファイルの選択」というウィンドウが出るので"sub"という名前の新しい
  プロファイルを作成
3.リストボックスは"default"プロファイルを選択して終了ボタンを押す。以降はショー
  トカットから起動したときに"sub"プロファイルが使われる

■制限
今のところbigコマンドは解釈しません。

■テスト環境
Win7 sp1 + PT2/PT3 + ptTimer + BonDriver_ptmr.dll + TVTest 0.7.19(x86)

■配布
http://www.rutice.net/
古いやつは↓
https://github.com/rutice/NicoJK/downloads
リンクする場合は、配布ページか、ソースコードのページへお願いします。

■ソースコード
https://github.com/rutice/NicoJK

■ログの仕様(開発者むけ)
ルートフォルダに"jk{実況番号}"というフォルダ(jkフォルダ)を作成する。jkフォルダに
は"{10桁のunix時間(=ログの最初のchatタグのdate属性値)}.txt"というログファイルを
作成する。ログファイル追記中は"lockfile"というファイルをjkフォルダに排他モードで
開いておく。ルートフォルダには(jkフォルダと被らなければ)任意のフォルダやファイル
を置くことができるが、jkフォルダにはログ以外の.txtファイルは置くべきでない。

ログファイルは実況サーバから取得したUTF-8のchatタグを改行CRLFで羅列したもの。
chatタグの要素に改行を含むときはLF=
、CR=
の数値文字参照に置きかえる。
chatタグの左右に空白その他の文字を加えてはいけない(BOMも特別扱いしないので先頭行
にはコメントなど入れておくと安全かも)。chat以外のタグを含んでも構わないが、最終
行はchatタグでなければならない(最終行のdate属性値からログの範囲を求めるため)。

■感謝
過去ログ再生機能、コメント機能を実装していただいたxtne6f氏に感謝いたします。

■更新履歴
ChangeLog.txtを参照