艦これタイマー for Firefox

最新版のダウンロードはこちら→http://miku39.jp/dists/software/kancolle/kancolletimer_0.12.xpi
過去のバージョンが必要な場合は、こちらから漁っていってください。
アドオンの自動更新の設定するのがめんどいので常に手動インストール(アップデート)です。バージョンアップなどは各人でこのページをチェックしてください。

取扱説明ではない補足記事はこちら→http://miku39.jp/blog/wp/?p=1867
艦これタイマーについての今までのブログ記事はこちら→http://miku39.jp/blog/wp/?cat=54

要望や不具合などはこちらの記事にでもコメントしておいてください。

更新履歴

  • Version 0.12
    バージョンアップによって追加された艦娘の建造データと遠征データを追加しました。
  • Version 0.11
    「1分前にもポップアップ通知を行う」にチェックがあると全てのシーンで1分前ポップアップ通知がかかってしまうのを修正しました。
    JPEGでスクリーンショットを保存できるようにしました。ツール→設定→撮影から「JPEGで保存する」をチェックしてください。
  • Version 0.10
    艦隊やドックの開放状況に合わせて、未開放分を非表示にするようにしました(自分の環境では建造ドック以外は全開放なので動作チェックしきれず、多分大丈夫だろうレベル)。
    スクリーンショット保存ダイアログの初期ディレクトリは無指定でいいかなとしていたのを、設定のスクリーンショット保存先を初期ディレクトリに指定するようにしました。
    サイドバーでも壁紙表示をするようにしました。
    アドオンバーにウィンドウを開くボタンを設置しました。
    文字色設定を追加しました。
    完了日時から年の表示をなくしました。
    1分前のポップアップ通知を追加しました。
    入渠している艦艇名を表示できるときには表示するようにしました。
  • Version 0.9
    Twitter投稿ウィンドウをモーダルダイアログにしないようにしました。
    Twitter投稿部分がコメントアウトされたままになっていたので修正しました(超間抜けだ…)。
    ツールバーボタンの機能を増やしました。
    スクリーンショット保存先を設定できるようにしました。連続撮影も可能になっています。
    サウンド再生方式をHTML5 audioかnsISoundの選択ができるようになりました。
  • Version 0.8
    ツールバーボタンの機能とスクリーンショット撮影、つぶやき機能を追加しました。
    ウィンドウとサイドバーのコード共通化を進めたため、サイドバー表示の内容に変更が行われました。基本的にウィンドウ表示での内容と同じになります。横幅を取り過ぎる問題は、設定から「省スペース表示にする」をチェックしてください。
  • Version 0.7
    サウンド再生方法を変更しました。WAVのみではなく、環境によってはmp3など他の音声フォーマットでも再生できるようになります。再生できるかどうかは、設定画面内の再生ボタンでテストしてみてください。
    また、今まで再生できた音声ファイルが再生できなくなる可能性もあります。ちょっと確認した範囲では、24bit PCMのWAVが再生できませんでした。
    再生方法についてはページ下部(艦これタイマー for Firefoxの技術)に記載しています。

艦これタイマーとは

艦これタイマーとは遠征や入渠、建造の残り時間を管理し、時間がくると通知してくれるアプリの総称(?)で、艦これタイマー for Firefoxはタイマーを自動設定するためにFirefoxアドオンとして作成した艦これタイマーです。

timer small-footprint

右側が省スペース表示時のもの。

使い方

ゲームを始める前に、メニューの「ツール→艦これタイマー」で艦これタイマーのウィンドウを開くだけ。あとはゲームのプレイ(通信)を監視しながら自動でタイマー設定を行います。

手動でタイマー設定することはできないため、ラーメンタイマーなど他の用途では使用できません。

launch_kancolletimer

「表示→サイドバー→艦これタイマー」でサイドバーとしても表示することができます。ショートカットキーはCTRL+ALT+K (Windows)です。

kancolletimersidebar

メモ機能

ウィンドウ表示時、入渠ドックに対しては任意のメモをすることができます。
入渠ドック欄でコンテキストメニュー(右クリック)を表示し、メモを設定すると、ツールチップヘルプとしてメモを表示することができます。

スクリーンショットとTwitter

艦これの画面のスクリーンショットを撮影する機能と、スクリーンショットをTwitterに投稿する機能があります。それぞれ、メニューの「撮影」にあります。画像フォーマットはPNGになります。
※Twitter投稿はVersion 0.8で実装したものの、リリースの際に投稿処理部分をコメントアウトしたままでした…のでVersion 0.9以降での対応です。

スクリーンショット連続撮影時のファイル名は時間(ミリ秒)ベースに指定していますが、あまりに素早く撮影するとファイル名がかぶったりするかもしれません(ないかなー?)。

つぶやく際にはTwitterの認証が必要になりますので、画面の指示に従い認証を行ってください。

つぶやきが成功すると、Twitter投稿ウィンドウは自動で閉じます。

twitter

ツールバーのカスタマイズ

ツールバーに艦これタイマー for Firefoxのツールバーボタンを追加することができます。
ツールバーボタンからは、サイドバー表示のON/OFF切り替え、スクリーンショット撮影、つぶやきを行えます。

ツールバーをカスタマイズするには、ツールバーからメニューを開き、「カスタマイズ(C)…」を選択、

customize

ツールバーのカスタマイズ画面から「艦これタイマー」を探しだし、ツールバーまでドラッグ&ドロップしてボタンを追加します。

customize

ツールバーボタンの機能

ひとまず、これだけ(以下の画面)の機能を用意しました。
ツールバーボタンの動作を「スクリーンショットの撮影(連続撮影)」にして、設定で「スクリーンショットの保存先」を指定すれば、プレイ中の画面撮影が1ボタンで連続撮影が行えるようになるので便利じゃないかなーと思います。

toolbarbutton

アドオンバー

アドオンバーにあるアイコンをクリックすることで艦これタイマー(ウィンドウ)を開くことができます。
アドオンバーは CTRL+/ (Windows)で開きます。

addonbar

設定

艦これタイマー for Firefox内の「ツール」メニューから設定を行います。

  • 常に最前面に表示
    艦これタイマー for Firefoxのウィンドウを常に最前面に表示するようにします。
    Windows/Firefox 17以降でのみ効果があります。
  • 音声通知
    タイマーが 0 になったときに再生する音声ファイルを指定します。
    現状はWAVのみ対応です。

    • 音声再生方式
      HTML5 audioとして再生するか、nsISound APIを使って再生するかを選択します。
      再生可能な音声ファイルフォーマットが異なるので、テスト再生しつつ良さそうな方を選びましょう。デフォルトはHTML5 audioです。
  • 1分前通知
    タイマーの残りが 1分を切ったときに再生する音声ファイルを指定します。
    現状はWAVのみ対応です。
  • ポップアップ通知
    タイマーが 0 になったときに画面右下にポップアップ通知を行います。
    Macの場合は右上になります。

    • 1分前にもポップアップ通知を行うにチェックがあると、1分前にも通知を行います。
  • 表示
    • 省スペース表示にする
      ウィンドウ表示時に、終了日時の表示を省略します。
    • 文字色
      FirefoxのColorpickerを使うので、選択肢はあまり多くありません。
    • 壁紙
      ウィンドウに表示する壁紙とその透過度を指定します。
      どのような壁紙でも文字が見やすいようにする配慮は行っていませんので、ほどほどの設定にしましょう。
  • 撮影
    • JPEGで保存する
      スクリーンショットをファイルに保存するとき、JPEGで保存します。
    • スクリーンショット保存先
      スクリーンショット(連続撮影)のときに、このディレクトリに保存されます。保存先の指定がない場合は、ファイル保存ダイアログが開かれます。

Bug(忘れないためのメモ)

  • カウントダウンしたりしている部分は文字色設定を見てなくて黒か赤のどちらかになる。

TODO

  • アイコンのデザインを変える
  • ダイアログウィンドウでの通知
  • スクリーンショットのクリップボードへのコピー
  • Android版のタイマー作成と艦これタイマー for Firefoxとのタイマー同期。

艦これタイマー for Firefoxの技術

nsIObserverService で http-on-examine-response (HTTPの受信)の通知を受け取り、艦これのURLであれば nsITraceableChannel で通信の内容をチェック、タイマーの設定を行っています。
残り時間の取得のためにサーバーに一切アクセスは行わないため、サーバーの負荷に優しい仕様です。また、オンラインゲーム利用規約を読んだ上でサーバーにアクセスを行わない実装にしたので問題はないと思います。
そんなわけで、サーバーとの通信仕様が変わると途端に使えなくなる可能性が高いものではありますが、そこはバージョンアップにて対応ということで。

サウンド再生については、nsISound を使っていましたが、MDNのリファレンスによるとモダンなコードなら<audio>使おうよってことなので、HTML5 audioとして再生するようにしています。ブラウザがサポートしているHTML5 audioフォーマットであれば再生できるのではないかなと思います(自分で作ったWAVファイルでしか試してないので)。

ソースはBitbucketに置いてあります。ライセンスファイルとか置いてないけどMITライセンスで何卒何卒。