﻿2009年7月25日

===============================================================================
	Nicort - ２ちゃんねるニコニコ実況ツール
===============================================================================
                                            Copyright(C) 2007-2009 ◆wRjqzRYkxg
                                                          root.nicort@gmail.com


◆WHAT'S "Nicort"?

Nicortは、２ちゃんねるのスレッド（実況スレ）からコメントを取得して、リアルタイ
ムに表示するソフトウェアです。ニコニコ動画形式など、ユーザの実況スタイルに合わ
せてお使いいただけます。


◆HOW TO USE
※下部のライセンスに同意できない場合は使用しないでください。

(1)
まず、パソコンで実況したいテレビ番組を観てください。
作者はI-O DATA製のmAgic TVでいつもみています。
※テレビ家電で観ている人はNicortは無用の長物です。

(2)
Nicortを起動してください。
メインウインドウが開きます。

(3)
実況したい板をダブルクリックすると、実況が開始します。

(4)
実況ウインドウを移動させるには、左上隅の灰色コーナーをドラッグしてください。
ウインドウサイズを変更するには、上下左右の境界線をドラッグしてください。
# 境界線が細いので慣れないと大変かも。

(5)
実況ウインドウの右下の半透明ボックスで右クリックすると、メニューが出ます。
特に、「常に最前面に割り込む」機能を利用すると、テレビキャプチャ画面など
普通の「常に前面表示」のウインドウのさらに前面に割り込みます。

(7)
終了するときは、実況ウインドウの右下の■でダブルクリックするか、
右クリックメニューから、ウインドウを閉じてください。

◇そのほか

詳しくは公式サイトをご覧ください。
http://www7.atpages.jp/nicort/


◆ライセンス

本ソフトウェアは次の各項に同意する場合に限り使用することができます。

  1) このページから配布されているソフトウェア（以下、本ソフトウェア）は
     "AS-IS" で供されます。本ソフトウェアを利用したいかなる結果について
     も、作者はその責を負わないものとします。（免責）
  2) 本ソフトウェアを、公共の福祉に反するような行為のために用いることを
     禁止します。
  3) 本ソフトウェアの再配布を禁止します。
  4) 法人の活動に利することを目的とした本ソフトウェアのリバースエンジニ
     アリングを禁止します。
　5) 本ソフトウェアはサーバコンピュータと通信します。サーバコンピュータ
     で収集した通信内容などから得られた情報は、学術研究や本ソフトウェア
     のプロモーションなどのために、個人を特定しない状態で公開されること
     があります。

◆動作確認環境

Microsoft Windows Vista Ultimate with SP2
Microsoft .NET Framework 3.5 with SP1

OLIOSPEC Griffin R12S ATX Special Silent
Intel Core2 Quad Q9550 2.83GHz
4GB DDR2 RAM (2GB DDR2/800MHz PC2-6400 DIMMx2)
ASUS EAH3650 SILENT (RADEON HD3650)
	# 1600x1200x32bpp シングルディスプレイ
	# Windows Aero Visual Style
I-O DATA GV-MVP/GXW & mAgic TV (5.20.00)

↓Version 2.9b まで

Microsoft Windows XP with SP3
Microsoft .NET Framework 3.5

NEC VALUESTAR TX
Intel Pentium 4 3.2GHz
I-O DATA GV-MVP/GXW & mAgic TV (5.20.00)
ATI Radeon X1300XT (512MB VRAM) + DirectX 9.0c
	# 1600x1200x32bpp シングルディスプレイ

◆用語集

遅延時間　とは、レスが書き込まれてから実況画面に現れるまでの最短時間である。
	２ちゃんねるサーバやP2Pネットワークからの取得状況により計算される。
	P2Pネットワークによる協調がない場合、自分自身の取得間隔にほぼ等しい。
	単位時間あたりの書き込みが少ない場合、または書き込み時刻の分布が著しく偏っている場合には誤差が大きくなる。
	実況ウインドウでは下部の赤色のバーで示されている。

取得間隔　とは、２ちゃんねるサーバからレスを取得する時間間隔である。
	P2Pネットワークから孤立している場合は20秒であり、P2Pに参加した場合にはサーバからの指示に基づく。
	２チャンネルサーバがダウンしている場合など、実際の間隔が取得間隔より長くなる場合が稀にある。
	実況ウインドウでは下部の青色のバーで示されている。

◆改版履歴
2.18.1	画像保存フォルダが存在しない場合、起動時にエラーが発生するバグを修正した。
		オーバーレイウインドウが最初に表示されるときに画面に描画されていなかったバグを修正した。
2.18	メインウインドウの位置サイズを保存するようにした。
		投稿ウインドウの位置サイズを記憶するようにした。
		画像フォルダを一定期間経過後にごみ箱移動か削除できるようにした。
2.17	ニコニコスタイルでの描画処理をチューニングしてコマ落ちを減らした。
		マルチコア環境で動作している場合、描画スレッドの優先度を最高に設定するようにした。
		類似レスとして判定された場合にバッファとして消費するメモリ量を減らした。
		吸着先ウインドウが最小化すると一緒にオーバーレイウインドウも消えていたバグを修正した。
		フロースタイルを廃止した。マップスタイルの名称を「バブル」にした。
2.16.0	http://rock.s54.xrea.com/2chmenu.html をバックアップに使うようにした。(nicort.exe.configに指定がないときのみ。)
		特定スレを指定して実況を開始したときは、勢いに関係なく当初のスレに似た名前のスレを自動的に選択するようにした。
		BBSウインドウのフォント設定を永続化するようにした。
		オーバーレイウインドウの位置がずれるバグを修正した。
2.15.0	ウインドウ吸着時、可能であれば子ウインドウに吸着するようにした。
		バルーンウインドウでレスの下部に余白が作られていたバグを修正した。
		BBSウインドウのディフォルトフォントをIPAモナーPゴシックに変更した。
		オーバーレイウインドウのサイズ変更では位置がセーブされていなかったバグを修正した。
2.14.4	オーバーレイウインドウのアニメーションスレッドが異常終了していたバグを修正した。
		オーバーレイウインドウに使うバッファの取り方を戻したのを戻した。
2.14.3	オーバーレイウインドウに使うバッファの取り方を戻してみた。
		レスの空白行スキップ処理が間違っていたバグを修正した。
		HTTP Rangeヘッダが異常に長くなるバグを修正した。
		BBSウインドウのオートスクロールが上手く動作しなくなるバグを修正した。
2.14.2	画像表示位置として右上が選択できないバグを修正した。
		オーバーレイウインドウを閉じるときにオブジェクトがリークするバグを修正した。
2.14.1	遅延時間計算アルゴリズムが真逆になっていたバグを修正した。
		レスを指定してBBS実況できるようにした。
2.14	アスキーアートが含まれている場合は背景に切り出すようにした。
		オーバーレイ実況の描画処理をチューニングして高速かつ滑らかにした。
		オーバーレイ実況時のフォントレンダリングパラメタを変更して、縁取りを綺麗にした。
		オーバーレイ実況における画像の表示位置を上下左右四隅中央から選べるようにした。
		オーバーレイウインドウのサイズ変更が滑らかに行えるようにした。
		遅延時間計算アルゴリズムを改善して、より素早く受信状況に対応するようにした。
		BBS実況ウインドウを復活させた。
		レスの受信時に不要な整形を行っていたバグを修正した。
		ピア間プロトコルを改訂して、より効率的に動作するようにした。
		透過PNGなどを表示するときに背景がクリアされていなかったバグを修正した。
		レスの最大行数が作用するレベルを引き上げて、画像URLの抽出などが広範囲に効くようにした。
		板名をHTMLデコードしていなかったバグを修正した。
2.13.5	キャッシュのヒット判定を変更して、レスの表示を改善した。
2.13.4	ちゃっとちゃんねるに書き込めるようにした。
		スレタイトルがHTMLデコードされていなかったバグを修正した。
		書き込みウインドウのUIを隙間なく配置した。
		MeCabのアクセス違反で落ちるバグに対処した。
		MeCabのDLLの有無でMeCabかBi-gramかを切り替えるようにした。
		複数行の書き込みが正しく行えないバグを修正した。
2.13.3	ニコニコスタイルで類似レスの簡約が動作しないバグを修正した。
		Content-Lengthがないときの読み込みができないバグを修正した。
		ちゃっとちゃんねるに再対応した。
		フィルタキーワードがないときは全部表示するようにした。
		吸着先のウインドウが最小化したら分離するようにした。
		bbsmenu.htmlに対応した。
2.13.2	書き込みウインドウのスレッドリストを更新するようにした。
		書き込みウインドウのショートカットキーが動作するようにした。
		書き込みウインドウがアクティブでないとき小さくするようにした。
		設定ウインドウが落ちるバグを直した。
		オーバーレイウインドウは最小化できないようにした。
2.13.1	Winodws Aero の判定を自動的に行うようにした。
		書き込みウインドウを装備した。
		書き込み動作を安定化した。
		連投規制の場合はUIで確認できるようにした。
2.13	フォントを変更できるようにした。
2.12.8	ウインドウサイズ変更がしにくかったバグを修正した。
		ウインドウ吸着時の位置をサイズ相対にした。
		BBSmenuのURLを変更可能にした。
		バルーンをクリックで消えるようにした。
2.12.7	クッキーの処理を現仕様に合わせた。
		アンカーを消す機能を実装した。
		ニコニコスタイルでの単行化を実装した。
2.12.6	メインウインドウのフィルタキーワードが指定された順に板をリストアップするようにした。
		クラッシュログの一部がおかしかったのを修正した。
		電子署名前のプログラムと通信するときは改行文字列を柔軟に扱うようにした。
		起動時にロビーサーバと通信できないと落ちるバグを修正した。
		2chプロバイダが同じ板を複数返していたバグを修正した。
2.12.5	「常に前面に割り込む」が有効なときのオーバーヘッドを低減した。
		ウインドウ接着機能を実装した。（オーバーレイウインドウの背景ウインドウに張り付く。）
		境界線が、境界の延長線上でも描画されていたバグを修正した。
		電子署名を行い、プログラムが不完全な状態で実行されないようにした。
		MeCabによる形態素解析の代わりにBi-gramによる類似レス判定に切り替えた。
2.12.4	ウインドウ状態をリストアしたときに最前面に来るようにした。
		接続初期に切断された場合に落ちるバグを修正した。
		最終例外ハンドラを追加し、ログを残すようにした。
		ボード一覧を取得できなかったときに落ちるバグを修正した。
		ディレイインジケータの表示を設定できるようにした。
		「常に全面に割り込む」の初期値を設定できるようにした。
		フォントレンダリングの品質パラメタを設定できるようにした。
2.12.3	実況中にメインウインドウが最小化されたときはタスクトレイに収納するようにした。
		タスクトレイアイコンから実況ウインドウを閉じられるようにした。
		オーバーレイウインドウはタスクバーに表示しないようにした。
		Windows XP 環境でバルーンウインドウの再描画が失敗していたのを修正した。
		バルーンウインドウの時間経過制御が動作していなかったのを修正した。
2.12.2	ニコニコスタイルで描画座標系が変だったのを修正した。
		バルーンウインドウの表示に関する設定項目を増やした。
		バルーンウインドウのタイマーの使い方を変更した。
		バルーンウインドウの位置をローカルに覚えるようにした。
2.12.1	1000レス到達が正常に検知できていなかったバグを修正した。
		マウスカーソルが遠いときコントロールボックスアイコンを縮小するようにした。
		バルーンでもスレを指定できるようにした。
		バルーンウインドウを高速化した。
2.12.0	# Development Release
		オーバーレイ実況用のウインドウシステムを搭載した。
		オーバーレイ実況時、レスのダブルクリックで終了してしまうバグを修正した。
		コントロールボックスをただの箱からアイコンに変更した。
		設定ウインドウを作成した。
		バルーン実況モードを搭載した。
		BBSスタイルの実況モードを削除した。
		２ちゃんねるサーバから全体再送信に対応し受信を安定化した。
		ちゃっとちゃんねるに暫定対応した。
		通信プロトコルでレスの識別にURIを用いるようにした。
		メインウインドウのフィルタキーワードはORになるようにした。
2.11.7	フォントサイズの設定メニューを改善し、現在地を表示し、絶対値で指定できるようにした。
		レス間隔が、ウインドウ境界にも作用していた問題を修正した。
		レスの破棄設定メニューが現在状態を反映していなかったバグを修正した。
		Windows Aero 用描画のとき、画像をアルファブレンドしてフェード表示するようにした。
		画像の表示時間を8秒から5秒に変更した。
		(2.11.7-2) boardlist.xml を無効化した。
2.11.6	遅延時間が短いときにレスが消失するバグを解消した。
		P2P参加時にレスの取得タイミングを分散させるようにした。
		邪魔なメッセージを抑制した。
2.11.5	レス遅延時間推定アルゴリズムでサンプルをフィルタするパラメタが間違っていたのを修正した。
		２ちゃんねるサーバとの時刻差推定アルゴリズムを修正した。
		Weak ETag を処理して余計な要求をしないようにした。
		遅延時間を定期的に表示していたのを取りやめた。
2.11.4	レス遅延時間推定アルゴリズムを見直し、安定してレスが再生されるようにした。
2.11.3	Windows Aero (Vista) 環境での実況ウインドウ半透明描画を実装した（マップスタイル）。
		マップスタイルとキュースタイルで文字色がランダムにならないバグを修正した。
		フィルタキーワードを保存するようにした。
2.11.2	マルチコア環境でのみ描画スレッドの優先度を引き上げるようにした。
		滑らか機能による負荷の程度を調整できるようにした。
		メニューにチェックマークが反映されないバグを修正した。
2.11.1	排他制御に関するバグを修正した。
		ニコニコスタイル時のロックの粒度を見直して並列度を高めた。
2.11.0	滑らかに描画するモードを追加した。
		UI周りの内部構造を見直した。
2.10.5	スレッドの差分読み込み処理を書き直して安定化させた。
2.10.4	サーバのブースト指示を、25ピア接続時に30秒間隔になるようにした。
		Preferencesのディフォルト値を変えた。
		ニコニコスタイルのレス速度がウインドウサイズに依存しないようにした。
		四隅でウインドウサイズを変更するときのコーナー判定域を拡大した。
		実況ウインドウのメニューにパラメタ調整項目を追加した。
2.10.3	サーバで例外が発生し、まともに中継できていなかったバグを修正した。
		コメントの流れる速度を設定可能にした。（preferences.xmlを直接編集する。）
		複数ピアがサーバに接続した場合、各ピアに取得処理を分散させるようにした。
		ニコニコスタイルの場合、コメントの表示位置の計算を実時間ベースにした。
		現在のレス取得間隔を実況ウインドウに表示するようにした。
		ニコニコスタイルで間隔を広げた場合に描画が縦に延びていたのを修正した。
		レス描画の間隔設定を保存するようにした。
2.10.2	メインウインドウの代表スレ読み込み時のマルチスレッド処理に関するバグを修正した。
2.10.1	メインウインドウの代表スレ読み込みを安定化させた。
		バージョンの付け方を <major>.<minor>.<build> にした。
		<major> は通信プロトコルを大きく変更した場合に刷新する。
		<minor> は機能を追加したり大きく改善した場合に刷新する。
		<build> はバグフィックスや小さなユーザビリティの改善で刷新する。
		リリース時は、少なくとも build を刷新する。
2.10	メインウインドウの板一覧で文字色が反転しないバグを解消した。
		板一覧を２ちゃんねるから動的に取得するようにした。
		板一覧に対して文字列によるフィルタを掛けられるようにした。
		実況ウインドウの四隅にドラッグコーナーを用意した。
		実況ウインドウのドラッグコーナーは普段隠れているようにした。
		実況ウインドウの境界枠はマウスが離れているとき隠れているようにした。
2.9d	BBS形式の実況ウインドウを見やすくした。
2.9c	２ちゃんねるの新しい書き込み仕様「きりたんぽ」に対応した。
		nicort.exe のアセンブリバージョンが2.9になっていなかったので修正した。
2.9b	BBS表示で文字色、背景色の指定を可能にした。
		BBS表示でオートスクロールを明示的に有効化／無効化できるようにした。
		BBS表示でＡＡが正常に表示されるようにした（旧版からP2Pで来たデータは未対応）。
		BBS表示で文字色をランダムにできるようにした。
2.9		BBSスタイルの表示ウインドウをβ実装した。
2.8d	画像の保存フォルダを日付で分けるようにした。
		ニコニコスタイルでもMeCabを利用するようにした。
		MeCabの類似判定基準をトークン一致75%に引き下げた。
		ロード済み画像キューが長い場合は画像表示時間を短くするようにした。
		レスの文字色をランダムで変化できるようにした。
2.8c	使い勝手のための調整を行った。
2.8b	ニコニコスタイルでの画像ロードに対応した。（2.8では未対応だった。）
		画像表示状態でのCPU負荷が高くなっていた問題を修正した。
		画像の表示サイズを480x480に制限した（出力画像キャッシュのため）。
		同一URLを 1 分間以内に発見した場合は画像をロードしないようにした。
2.8		画像ロード機能を追加した。
2.7e	（WPF試験リリース）
		画面上に表示するレス数を抑制する機能を追加した。
		メニューを整理した。
2.7d	（WPF試験リリース）
		P2Pから取得したレスがフィルタされすぎていたバグを修正した。
		「ニコニコ」スタイルでメッセージが重なる問題を修正した。
2.7c	（WPF試験リリース）
		「常に最前面に割り込む」機能を搭載した。
		レスの書き込み時に、入力テキスト描画が遅れていた問題を修正した。
2.7b	（WPF試験リリース）
		レス固定実況がバグっていたのを修正した。
		マップとキューのスタイルで、MeCabを利用して類似レスを簡約する機能を実装した。
		↑（追加修正）MeCab使用の解除ができなかったバグを修正した。
2.7		（WPF試験リリース）
		メインウインドウのUIベースを Windows Presentation Framework に変更した。
		スレ固定実況に再対応した。
2.6d	ウインドウ位置や表示スタイルなどを保存し、次回実行時にも反映するように改善した。
2.6c	公式サーバへの定期登録更新スレッドがタイムアウト時に落ちていたのを修正した。
		正常に終了してもサーバ側とシャットダウン手順を踏まない場合があるバグを修正した。
2.6b	HTTPの差分コンテンツに対する扱いがおざなりになっていたのを修正した。
		活性スレに早く移動するため、実況開始後一定時間は短周期で勢いを監視するように変更した。
		初期登録の実況板を増強した。
2.6		レス番号のインクリメント処理が最適化でおかしくなっていたバグを修正した。
		アップデートされたバージョンがあるかどうかをチェックするようにした。
		公開サーバに最初に接続したピアは 3 秒間隔でレスを取得するようにした。
		（最初に接続したピアがネットワークから離脱した場合は、別のピアを加速する。）
2.5c	IPv6アドレスを公開していたのを修正した。
2.5b	リリースビルドでP2P接続がタイムアウトになり不安定になっていたバグを修正した。
		サーバノードの場合は定期的に公式サイトの登録情報を更新するようにした。
		P2PでIPアドレスを扱う方法を改善した。
		P2P接続を終了するときの"BYE"手順が終了する前に切断してしまうバグを修正した。
		プログラムファイルにアイコンを設定した。(http://www.mouserunner.com/Spheres_Cell.html)
2.5		すでに落ちたサーバがあるときの動作を安定させた。
		メインウインドウを新しくした。
		boardlist.xml から板一覧を読み込むようにした。
		nicort.exe.config にて文字色の指定ができるようにした。
2.4f	ノード未接続の状態で安定しすぎて、P2P接続が復帰しない不都合を修正した。
2.4e	どのノードとも接続していない状況での動作を安定させた。
		「マップ」「キュー」の表示について描画タイミングを効率化した。
		ディフォルトの表示形式を「キュー」に変更した。
		HTTPリクエスト時のタイムアウトを5秒に設定した。
		「マップ」「キュー」の表示時に排他制御が抜けていたバグを修正した。
2.4d	ディレイの計算方法を改善した。
		トリップ付きのレスの解析に不都合があったのを修正した。
2.4c	スレッドの追尾対象選択アルゴリズムのバグを修正した。
		スレッドの差分読み込み時に content-range を使用するようにした。
2.4b	文字の縁取りの厚みをフォントサイズに応じて可変にした。
2.4		サーバホスト用に hosting.exe を追加した。
		実況中のレス表示方式に「マップ」と「キュー」を追加した。
		ディフォルトのレス表示方式をマップに変更した。
		<<P2P NETWORK DOWN>> の表示がうざったかったので消した。
2.3b	relay2ch.exe をサーバとして起動できるように改造した。
2.3		http://www7.atpages.jp/nicort/ を公式サイトとしてオープンした。
		P2Pサーバノードとして開始した場合には上記サイトに登録するようにした。
		P2Pノードキャッシュが空の状態であれば上記サイトから定期的に取ってくるようにした。
2.2d	ウインドウの最小サイズ制限をより小さくした。
		フォントサイズの指定を絶対値ではなく相対値で指定できるようにした。
2.2c	サーバモードで<P2P DISCOVERING>が頻発する現象に対策した。
2.2b	サーバ動作の開始バグを修正した。
2.2		セッションの区別(Passive,Active)を逆にしていたバグを修正した。
		簡単なレポート機能をつけた。
		ノード情報をadvertiseスレッドとmaintainスレッドを分離した。
2.1		P2Pノードとの通信プロトコルに正規終了手順を実装した。
		ウインドウが小さいと区二以上周するバグを修正した（というか小さくならないようにした）。
		ディレイの計算式を、過去256レスの平均遅延時間×２にした。
		レスの密度を調整する機能を搭載した。
		レスの重複をなくした。
		レス書き込み機能を搭載した。
		最長レス読み込み間隔を20秒にした。
2.0		ノードから受信したときに生成するキャッシュのタグ付けミスによる、
		新着レスがキッシュ済みと誤認するバグを修正した。
		遅延時間の動的最適化を実装した。（画面で棒で表示する。）
		スレッドが1000越えしたときに即時に別のスレッドへ移行するようにした。
1.4		P2P接続を実装した。
1.3		フォントサイズを選択できるようにした。
		スレッド自動移行機能を搭載した。
４版	スレッド一覧ウインドウを自動的に最小化するようにした。
		オーバーレイウインドウの位置を、起動中は覚えておくようにした。
		オーバーレイウインドウが閉じたときにスレッド一覧ウインドウが元に戻るようにした。
		オーバーレイウインドウが閉じたときにスレッド一覧をリロードするようにした。
３版	サーバと日時がずれている場合に挙動がおかしくならないようにした。
２版	コメントの表示ビットマップをキャッシュするようにした。
初版	公開した。


――以上――
