マルチタイマ

編集
複数(999)のカウントダウンタイマ管理用のフリーソフトウェアです。(以下MT)

はじめに

編集
WEBアプリ・ネットワークゲームなどで、時間管理が必要なとき
このMTにて、まとめてタイマ計測します。
OS再起動や休止状態*1からでもカウントが継続できます。
Windows8に対応し、タブレット環境*2でも使えるため、より多くの環境での利用が
可能になると思います。
時間制の個室・宴会場の管理、長時間の仕込み管理など、最近気づいたのは、ビデオの録画時間や、行動予定などで
何か月も先の放送予定の備忘*3にも。

動作環境

編集
確認済み WindowsXP/Vista/7/8/8.1
     Windows2008Server
     .NET Framework3.5SP1 日本語
     SQL Server Compact3.5
※FrameworkとSQLServerCompact*4は、インストール時に自動でインストールします。
Ver1.5から、インストール不要になりました。*5
Ver2.0.0のおまけ機能(テキスト読み上げ音声アラーム)を使用する場合は
Microsoft Speech Platformが必要。

ダウンロード

編集
以下よりダウンロードしてください。
★ベクターに登録しました。
Vectorからダウンロード
ダウンロードファイルはZIPファイルになっています。解凍ソフトは別途ご用意ください。

InternetDisk?(JustSystem?管理)
最新版ダウンロード

  • Setup.exe Setup.msi 両方です。
  • readme.txtに、操作マニュアルもついています。

インストール

編集
上記アドレスより取得した、Setup.exeを実行します。
必要なら、前述のFrameworkのインストールも行われます。

起動

編集
  1. プログラムメニューに、【トムキャットシステム】【マルチタイマII】マルチタイマII管理画面へのショートカットが
    追加されていますので、それを実行します。
    +初回起動時に、ReadMe?*6を表示しますので、使い方等、詳細はそちらを確認してください。

バージョン

編集
  • 2.0.0 2014/04/15
    • 不具合対処
      • 1件複写時、オプションで命名パターン使用しないにしても、命名パターンを使用した名前になる
        更に、名前を変更しても命名パターンを使用した名前になる-->前者は、名前重複エラーとし、後者は変更した名前だけにする
    • 機能変更
      • 管理/タイマ画面の連動最小化スイッチを左ペインのタイマ表示・整列枠に移動
      • タイマの画面整列順を一覧のソート順に対応
      • タイマ整列処理の高速化
      • 一覧の行色分けを廃止(起動タイマ指定機能追加に伴う、表示の整理)
      • リストア後、DB管理画面を自動で閉じるように変更
      • タイマ追加/複写画面で、追加時にはアラーム複写のチェックボックスを表示しない(チェックしても意味がない)
    • 機能追加
      • プログラムの追加と削除の一覧表示にアイコンを設定(Windows8向)
      • 時変換機で、タイムアウト日時で入力できる機能を追加
      • (設定から開始までの時間差(開始タイミング次第)があります)
      • 終了時にスタートアップに登録機能を追加
      • この追加に伴い、UAC対策としてDBファイルのアクセスコントロール変更機能を追加
        (Program Files(x86)配下へのインストールだと、DBに有用なアクセス権が付与されないため)
      • 持ち時間型のカウントダウン機能を追加
      • ポーズ(一時停止)を使った、カウントダウンができます
        ポーズ中:閉じると停止状態で保存。再起動時は、ポーズ状態で起動
        カウント中:閉じると稼働中状態で保存。再起動時は、閉じた時のカウントから継続(通常のタイマとは異なる動作)
        起動したままスリープ・休止状態の場合は、レジューム後にカウントを経過時間を補正して継続(通常のタイマと同じ動作)
        ※この違いは持ち時間の使い方として、タイマ非起動中は継続すべきではないとしたためです
        停止操作(通常と同様)で、カウントリセット
      • アラームファイルに、MP3/MIDI/MPEG4等も指定可能(ファイル選択はオーディオファイルに制限)
      • 起動タイマ指定機能追加
      • 一覧に起動対象の指定チェックボックスを追加し、チェックしたタイマだけを【起動】ボタンで一斉起動
        普通に起動すると、自動でカウントを始めますが、一斉の場合はカウントを始めません
        これは、一斉開始の場合の利便性になります
      • 一斉開始/停止ボタン追加
      • 起動中のタイマを対象に、同時に開始/停止を行う機能
      • 一覧のソートリセット機能追加
      • 列ヘッダのソートを、初期ソート順(内部ID順)に戻すボタンを追加
      • タイマの整列順を一覧の列ヘッダソート順に対応
      • ヘルプボタン追加
      • 初回起動時に表示するReadmeをしおり付で表示
      • タイマの登録数及び稼働数(未起動分も含む)を一覧の上に表示
      • カウント中の開始/停止ボタンのツールヒントテキスト(マウスカーソル重ねによるポップアップ)に
        タイムアウト予定日時と日数変換後の残カウント値を追記
      • タイマ追加・複写時に、アラーム情報設定機能を追加
      • おまけ アラーム用にテキストファイル(拡張子 .txt)を選択した場合、音声合成で読み上げます ※テキストの中身を空にすると、タイマ名を読み上げます 要:Microsoft Speech Platformの別途インストール
  • 1.6.0 2013/10/29
    • Windows7/8/8.1対応
    • 不具合対処
      • DBリストア後に、継続中タイマが自動起動できないことがあったのを修正
      • 整列すると最後の方が画面枠外に置かれてしまう場合
        表示域に戻せないのを修正(未稼働分を閉じて整列しなおせば表示可能)
        =>枠端に溢れ分を重ねて表示
      • 誤差補正
        数十分以上のタイマを、連続稼働した場合に、PCの負荷等によっては数秒の誤差が
        生じる場合があるのを、±1秒程度になるように修正
      • 起動中のタイマを閉じる時、タイミングによって終了状態となってしまう場合があるのを対処
      • 各ウィンドウをダブルクリックする度に画面の左上と元の位置を行ったり来たり(タイマはカウント中のサイズも変動)するのを抑制
    • 機能変更
      • DB操作系ユーティリティの改良
      • 未起動中にタイムアウトしていたタイマの起動時表示を【時間超過】に変更
      • カウント処理系の改良
      • タイマ値限度の厳密化(最大65536時間)
      • タイマ起動数の制限(最大250個)
      • 1000時間以上のタイマ表示を2行に変更。2行目は秒カウンタのみ
      • サブ画面(アラーム設定・時変換・DB管理)を、親画面に重ねて起動するように変更
      • タイマ値、計測単位の変更もすぐにDBへ反映するように変更(一旦閉じないと反映しなかった)
      • タイマ名を消去しても受け付けていたが、メッセージを出すように変更
        また、タイマ名の重複チェックを行うように変更
    • 機能追加
      • 管理画面とタイマ画面の最小化連動の選択機能追加(環境ファイルに設定を保持)
      • アイコンを設定
      • 時間変換機に、日数入力による、時間入力補助を追加
        (入力日数を時間変換し、入力時間と合算後に選択単位へ変換。逆変換は24時間単位で日数表示するが
        変換時間はこれまで通り全時間を表示)
      • タイマの複数追加/複写機能を追加
        複数のタイマを一度に追加(タイマ値は同じ)/複写(連番やユニーク名で登録)
        複写はアラーム情報も複写可能
        (アラーム付きで複数追加する場合は、ベースのタイマを追加し、アラーム設定後にそれを複写してください)

  • 1.5.1 2012/02/11
    • 不具合対処
      • 何らかの原因で、DB内のサウンドファイル情報が損失した場合に、アラーム設定画面が
        開けなくなる問題の対処(選択を初期状態へ。ただし、確定しないと壊れたまま)
        関連するエラー表示にファイル名を追記するように変更
      • タイマ削除時に、アラーム情報のクリア漏れ
  • 1.5
    • 機能変更
      • カウントタイマのフォントを変更
      • タイマリストの行選択状態を無効化
      • タイマのアラーム停止ボタン廃止(タイマ起動停止ボタンが同じ役目を持つため)
      • タイマカウント状態を視覚化(目減り型のプログレスバーを追加)し、表示情報を圧縮(カウントダウン中は設定項目を非表示)

  • 1.4.1
    • 不具合対処
      • 3・4桁時間のタイマ表示を修正(フォントを縮小)
      • DB処理DLL更新(トランザクション処理修正)
    • 機能変更
      • タイマリスト中の単位表記を明示(時間・分・秒)
      • タイマ稼動状態をカラー表示化

  • 1.4
    • 機能追加
      • アラーム音機能の追加(WAVのみ対応)
      •  これに伴い、DBも改修し、データコンバート機能を追加 (リストア時にコピーかコンバートか自動判断)
      • ログオフ・シャットダウンに対応(イベントハンドルし、通常の終了処理を実施)
    • 機能変更
      • DBのID管理ロジックを最適化
      • 管理画面のタイマ表示ボタンの機能変更
      • 通常/最小をトグルに変更
      • 整列をトグルから場所指定に変更
      • 管理画面の最小化とタイマの最小化を連動

  • 1.3
    • 不具合対処
      • 未起動中のタイムアウトからの、再起動処理不具合の改修?
      • ダブルクリック時、不用意な最大化をしないように修正
      • 一斉ウィンドウ化で、ウィンドウ化できない場合があることの修正
      • 一覧表の起動・削除のヘッダーをクリックすると、一番上の行の起動・削除してしまうのを修正
      • 初回起動時、許諾いいえの場合でも、タイマプロセスが起動してしまうのを修正
    • 機能追加
      • 休止状態からの復帰に対応(カウント再計算)
      • タイマリストのスクロールバーの位置を、自動更新後も維持するように対応
    • 機能変更
      • 起動中のタイマに対する、一覧表からの起動ボタン操作の挙動変更
      •  旧:二重起動禁止のメッセージ->新:対象タイマのポップアップ/ポップダウンのトグル
      • 一覧表の、作動中の列でソートできるように変更
  • 1.2
    • タイマの起動停止のユーザビリティ向上(画面構成の変更を含む)
    • タイマ値、時間変換ダイアログの追加
      (X時間Y分Z秒⇔α時間 or β分 or γ秒としたタイマ値、に相互変換)
    • タイマ管理データベースのバックアップ(自動対応)・リストア機能追加
    • タイマプロセス終了ロジックの修正
    • 管理画面不在時、タイマプロセスの自動終了対応(無操作から最大6秒で終了)
    • 未起動中のタイムアウトからの、再起動処理不具合の改修

不具合

編集
  • 時々、終了がうまくいかない場合があります。
    その際は、Ctrl+Shif+Escなどで、タスクマネジャを開き
    直接プロセスを終了させてください。
    TimerManager?.exe MultiTimer?-II.exe です。
    >>2010/07/06 処置しました。OSのガベレージ処理が働くまで
    消えないことがあります。5分以上残ってるようなら、やはり直接削除してください。
    >>2010/07/14 更に自律機能によりタイマ画面のみになった場合に、自動で終了する
    ようにしました。これは6秒です。
    >>2014/03/12 最新版にて、再現性のないことを確認しています。
  • 起動・停止の繰り返しで動作がおかしくなる
    タイマの起動・閉じる・起動を続けて行うと、タイマがかからない場合があります。
    OSのガベレージ処理前に連続操作を行うと発生するようですが、調査中です。
    2〜3分、間をおいて起動されることを推奨します*7
    >>2013/10/29 DB更新・スレッド処理等を見直し現状では問題ないです

アンインストール

編集
同じくSetupを実行し、削除をしてください。
または、【コントロールパネル】の【プログラムの追加と削除】より
削除してください。

開発後記

編集
  • 今回、タイマ管理に、データベースを使用したのは、わりと頻繁にデータ操作が
    行われることを想定してのことです。
    小さいデータなのでXMLデータとかのテキスト処理でもよいのですが
    ディスクへの物理的負荷とかデータの保全性を考えるとデータベースかなと。
    また、MDF(SQLサーバの通常のDBファイル) ではなく、SDF(Compact用のDBファイル)としたのは、
    運用時にMDFだと、セキュリティの問題で動かない場合があること、
    また、デスクトップ環境用ということで、最近リリースされたものであり
    今後の展開を考えると、こちらの方が色々便利だろうなということで採用しました。
    -計測タイマプロセスと、管理プロセスを別にしてるのは、精度の向上のためです。
    単一アプリケーション内でマルチスレッドで複数起動させても、どうしても
    ずれが生じてしまいます。これは、同一プロセス内のマルチスレッドの平行動作は
    今のWindowsではできないのではなかろうかと推測しました。
    マルチタイマIIというのは、マルチスレッドからマルチプロセスへ変更したこと
    によるものです。
  • Ver1.6.0で、大幅にプロセス処理を見直しました。
    これにより、実行数等に制限がつきました。さしあたって250個までは、そこそこの精度で動きます*8
  • Ver1.6.1改め、Ver2.0.0開発中。
    この版より、UAC(User Access Control)への処置を入れる予定です。
    これは、管理者で実行しようとすると、ホントに動かすのか?と聞いてくる処理のため*9も追加し、色々大きい追加機能があるのでバージョンを2に上げる予定。
    元々機能を絞って開発していたので、あまり機能追加するのも本末転倒ですが、これぐらいは
    まだマルチタイマIIとして許容できるかなと。
    これにストップウォッチやプログラムランチャーや電源機能とか入れるようだと
    マルチタイマIIIというかんじになるかもしれません。

コメント

編集
ボット防止につきコメント欄削除


to TOP

Total= 4930,Today= 1,Yesterday= 0
Now:1


*1 すなわちMTの再起動や復帰時イベントに対応
*2 デスクトップアプリとして
*3 つまりスケジューラのようなもの:Ver2.0の日付指定タイマ設定で、より簡単に
*4 Microsoftのデスクトップ環境用データベースです。
*5 関連dllを同梱
*6 インストール先にもreadme.txtがあります
*7 タスクマネジャにて、プロセスが消えているのを確認するのが確かです
*8 Core i7の4+4コアでも重いので実用的ではないですが
*9 悪意あるプログラムなどによる誤動作ではないことを確認している))
スタートアップなどでの自動起動時に動かないという問題があります。
このUACは、古いプログラムを動かす互換性のためにある((要はファイル・ディレクトリ・デバイス、なんでも触れることが前提となっている))ということなので、それを意識できる開発環境であれば
管理者で実行しなくても動かせるのが正しいということになります。
しかし、Program Filesなどのシステムが管理してるフォルダなどでは、一般ユーザのアクセス制限がかかり
実行できなかったり、ファイルが読み書きできなかったり((多くの場合ReadOnly?))します。
従って、プログラムに管理者権限を与えるべきか、該当ファイル(本アプリの場合はDBファイル)・インストールフォルダに
フルアクセスコントロールの権限を付与するかを選択しなければなりません。
元々は、互換性から来てる問題ですが、管理者で動作するということは当然セキュリティリスク((ウィルス感染時の踏み台になる可能性))が上がることを
意味します。
よりリスクの少ないファイルアクセス権の変更によって対処するのがベターと考えます。
該当ファイルの権限を変更するユーザ/グループの選択は、ユーザ判断になります。
インストール時の選択(すべてのユーザか個別)により、ファイルへのアクセス権が自動設定されるので
変更可能ユーザ・グループは、その選択により変わります。
アクセス権変更判断までは自動で行いますが、実際の変更処理はユーザに委ねます。
なお、インストールフォルダをユーザの管理下にすることで、上記処理・運用は不要です((Program Files配下の方が、OSが監視・管理しやすいとはおもいます))。
機能追加として、持ち時間モードを追加予定。なるべくDBに影響がないように調整。
アラーム音源にMIDIやMP3を、WMPのActiveXを使用して対応。開発環境がWMP12なのでMP4も可能。
簡易時間指定((時変換機の機能追加