ストップウォッチです
cc2.lzh (約 80 KB LHA書庫)
cc2.tgz (約 60 KB TAR玉ZIP書庫)
アーカイブの内容はすべて同じです。
いずれかお好みのアーカイブをダウンロードしてご使用下さい。
以下の説明は、アーカイブ内にも入っております。
プログラム名称 Stop Watch(仮)
手元にストップウォッチがなかったので急に思い立って作りました
しばらく使ってみて、実用範囲になったと判断したのでリリースします。
このプログラムは、Tcl/Tk で書かれていますので
実行系さえあれば、Mac/Win/Unix(要 X) を問わずに動作します。
必要な実行系は、Tcl/Tk 8.0 以降です。
(7.6 等の旧系列の Tcl/Tk では、少し書き直さないと動きません。ごめんね)
何のへんてつも無いストップウォッチなので特に使い方が難しいなんて事は
全然ありません。でもってヘルプ機能はありません。(いいわけ・・・)
では、インストールと使い方の説明をします。
● インストール
(本体インストールの前に Tcl/Tk を、各自でインストールしておいてくださいね)
配布ファイルのうち cc2.tcl が実行ファイルです。
お好きな位置にコピーしてください。
Unix系の場合は、実行パスの通っている場所 ( 例えば ~/bin/ など) が、よろしいでしょう。
そのままでは、アイコンがtcl標準の[Tk] マークなので「さみしいな」と
思ったかたは、配布ファイルの cc.ico (windows) または cc.pic (mac) も
コピーしておいて下さい。
〇 Windows の場合
そのままダブルクリックで起動できます。
ショートカットを作ってショートカットのアイコンを、先程の
cc.ico に指定すると使いやすいです。
〇 Mac の場合
そのままでは、起動できません。
Tcl/Tk に含まれる "Drag & Drop Ticlet" に対して cc2.tclをドラッグして、
実行可能ファイルを作成するか、または、
以下の方法で実行可能ファイルを作成してください。
1. Tcl/Tk に含まれる Wish のコピーをとる
2. コピーしたファイルをアプリケーションの名前にリネームする
(ストップウォッチ 等)
3. コピーしたファイルのリソースをレスエディットで開く
3-1 TEXTリソースを開いて(なければ 新規作成して)
**ファイルを MacintoshHD:アプリケーション:ストップウォッチ: に
コピーしたと仮定します。
3-2 TEXTリソースの値を以下の様にして、保存します。
source {MacintoshHD:アプリケーション:ストップウォッチ:cc2.tcl} ; console hide
** {括弧} の中のファイル名は、自分でインストールした位置と
読み替えてください。
3-3 メニューからResources > GetResourceInfo とたどって
今、編集した TEXTリソース の Name 値を tclshrc として、
保存します。
これで、このファイルをダブルクリックしてアプリケーションを起動できます。
気が向いたら、アイコンを先程の cc.pic (ほかのものでもOK) と
差し替えてわかりやすくしておきませう。
〇 UNIX系の場合
ターミナルから cc2.tcl を起動してください。
起動できない場合は、以下の様な事が考えられます。
(これ以外の理由の場合は、各々対処して下さい)
実行パーミッションが付いていない。
> chmod u+x cc2.tcl 等で実行パーミッションをつけてください。
パスが通っていない
> パスを通すか又は、フルパスで指定して下さい
例: wish "$0" "$@"
↓
/local/bin/wish "$0" "$@" (フルパスで指定)
tcl/tk の 実行ファイルが wish ではなく wish8.0 等になっている。
> スクリプトの三行目をシステムにインストールされている
Tcl/Tk の実行ファイル名に置き換えてください。
例: wish "$0" "$@"
↓
wish8.0 "$0" "$@"
ちゃんと起動できればインストール終了です !
● ウィンドウ説明
起動すると下のような画面が出ます。
(図1)
ボタンと各表示領域の説明をします。
RATE
レート変更ボタン 計測単位(フレームレート)を変更できます
以下の計測モードが選択できます。
24FPS 24分の1秒表示 時間表示形式は 時:分:秒+駒
30NDF 30分の1秒表示 時間表示形式は 時:分:秒:駒
30DF 29.97分の1秒表示 (** NTSC方式 ドロップフレームカウント)
時間表示形式は 時:分:秒;駒
25FPS 25分の1秒表示 時間表示形式は 時:分:秒-駒
RT 100分の1秒表示 時間表示形式は 時:分:秒.駒
(ぢつはうらわざでもっとべつのもーどもえらべる)
MODE
モード変更ボタン
時計表示とストップウォッチモードを切り換えます。
スタート・ストップ ラップ・リセット等の動作を
行うと時計表示は終了してストップウォッチモードに
なります。
CLEAR
ラップクリアボタン
画面下側のラップ表示エリアをクリアします。
[RATE]
レート表示エリア
選択しているフレームレートを表示します。
[||======================|]
ランニング インディケータ
計測中はここの表示が走ります
片道一秒で縦線が左から右へ走ります。
[時刻 または タイムコード]
計測タイムコード表示エリア
メイン表示です。計測中の時間が表示されます。
起動時は、時計表示になっています。
時計表示のときはコンピュータの内蔵時計の時刻を表示します。
時計表示は、デフォルトで12時間(午前・午後)形式です。
24時間表示に切り換えたい人は、後で説明する
チューニングしよう を参照してください。
START/STOP
スタート・ストップボタン
このボタンで計測を開始・停止します
LAP/RESET
ラップ・リセットボタン
このボタンは、計測中はラップを取ります
停止中はリセットです。リセット時に計測内容を
ラップメモリに送って記録します。
[画面では空欄]
ラップ表示エリア
計測ラップを表示します。
標準で12個の表示エリアがあります。
増減可能です。
変更したい人は、後で説明する
チューニングしよう を参照してください。
[stop]
ステータス表示エリア
ストップウォッチの計測状態を表示します。
状態は stop/run/run-lap の三つの状態があります。
● 使ってみましょう
では、試しに使ってみましょう
START/STOP ボタンを押してみて下さい。
時計表示 が ストップウォッチ表示 になって計測を開始します。
(状態は stop から run に変わります)
もう一度 START/STOP ボタンを押すと止まります。
(状態は stop)
さらに START/STOP ボタンを押すと続きを計測します。
(状態は run)
LAP/RESET ボタンを押して下さい
計測中に LAP/RESET ボタンを押すとラップ表示で止まります。
また、記録したラップは、ラップ表示エリアに送られて記録されます。
(この状態を run-lap(ラン-ラップ)と呼びます。)
run-lap 状態では、計測が続いています。
右上にランニングインディケータがあって、これが走っている間は
計測中であることが分かります。
さらにラップボタンを押して下さい。
新しいラップタイムが表示され ラップエリアの表示は一つ下に送られて
さらに計測が続きます。
状態は、run-lap のままです。
ラップは、12個まで表示できます。12個を超えると古いものが消えます。
(カスタマイズすると増やしたり減らしたりできます)
ラップ表示は、必要がなくなったら消去できます。
上段のボタンボックスの CLEAR ボタンを押して下さい。
run-lap 状態から抜けるには、START/STOP ボタンを押して下さい。
通常計測状態(run)に戻ります。
RATE ボタンで計測モードを変更できます。
RATE ボタンを押すごとにモードが下のように変わります。
24FPS → 30NDF → 30DF → 25FPS → RT → 24FPS → 30NDF →(以降ループ)
ループになっていますので、必要回数ボタンを押してモードを選んで下さい。
計測中にもモードを変更できます。(特に禁止していません)
** 内部的には実時間を計測して各モードに合わせた出力を行っているため、
一回の計測に各モードが混在できます(あまり(全然?)意味はないぞ) ただし
多分混乱するだけなのでやらない方がよいでしょう。モードを間違えて
計測を始めたときなどは役に立ちます。(・・・とほほ。)
MODEボタンを押してみて下さい
MODEボタンを押すと時計表示とストップウォッチ表示が切り替わります
計測中でも時計表示を選択できます。(計測は続行します)
停止・計測等の操作をすると自動的にストップウォッチ表示に切り替わります。
計測結果をクリップボードに転送することができます。
計測記録の欲しい方は、
キーボードショートカットまたは Specialメニュー を使って下さい。
ショートカット メニュー 内容
1 (Control+c) ClipTime 現在のメイン表示の内容
2 (Control+C) ClipLap 現在のラップエリアの内容
3 (Control+s) ClipLog プログラム開始から現在までの操作の記録
上の三つのうち好きなものをクリップボード経由で他のアプリケーションに
渡すことができます。形式は、プレーンテキストです。
ファイルへの保存は、現在サポートしておりません。
(希望があれば考えます・・・ でも、ほしい?)
● メニュー説明
メニューの説明をします
Option
about このプログラムについて・・
Clock/Watch 時計・ストップウォッチ切り換え
RT 100分の1秒計測に切り替え
24FPS 24フレーム/秒計測に切り替え
30NDF 30フレーム/秒計測に切り替え
30DF ドロップフレーム計測に切り替え
25FDS 25フレーム/秒計測に切り替え
Quit プログラムの終了
Spetial
ClearLap ラップエリア消去
CopyTime メイン表示をクリップボードへコピー
CopyLap ラップエリアの内容をクリップボードへコピー
CopyLog プログラム開始からのすべての記録をクリップボードへ
cShow コンソール表示(UNIXの場合はありません)
cHide コンソール非表示(UNIXの場合はありません)
● マウスとキーボード
マウスボタンは
ウィンドウ内のボタンとメニュー以外の場所に
マウスカーソルが入っているときは、マウスの
左ボタンが START/STOP
右ボタンが LAP/RESET
の役割をします。
通常は、マウスだけで計測・ラップ・リセットの動作ができます。
(・・・Macの2ボタンには対応していません、ごめんなさい)
キーボードショートカットは
プログラムにフォーカスが入っているときは、キーボードの
以下のキーにそれぞれの機能が割り振ってあります。
スペース START/STOP
エンター(リターン) LAP/RESET
Control-c クリップボードへコピー
Control-C ラップをクリップボードへコピー
Control-s ログをクリップボードへコピー
1 100分の1秒計測
2 24フレーム毎秒計測
3 30フレーム毎秒計測
4 ドロップフレーム計測
5 25フレーム毎秒計測
T 時計表示・ストップウォッチ切り換え
エスケープ ラップエリア消去
Control-q プログラム終了
すなわち、キーボードだけですべての操作ができます。
● チューニングしよう
以下のオプションは、比較的簡単に調整できます。
起動時の状態を自分の環境に合わせて変更して、使いやすくして下さい。
**** スクリプトを書き直しますので、テキストエディタを用意して下さい。
** やる前に一応バックアップを取っておいた方がいいと思うよ
**・・分かってるって?
cc2.tcl をテキストエディタで開いて下さい。
(ここまではみんな一緒なので)
1. 初期状態の計測モードを変える
開いたスクリプトから以下の行を検索して内容を書き換えます
set RATE {24FPS}
set frate {24.}
30NDFの場合
set RATE {30NDF}
set frate {30.}
30DFの場合
set RATE {30DF}
set frate {29.97}
25FPSの場合
set RATE {25FPS}
set frate {25.}
RT(100分の1秒)の場合
set RATE {RT}
set frate {100.}
指定の名前と数値は間違えないようにして下さい。
間違えるとプログラムがエラーで止まったり、でたらめの
計測結果を出すことがあります。
2. 初期状態を時計ではなくストップウォッチにする
開いたスクリプトから以下の行を検索して内容を書き換えます
set MODE {clock}
↓
set MODE {watch}
3. 時計を24時間表示にする
開いたスクリプトから以下の行を検索して内容を書き換えます
set ClockOption {12}
↓
set ClockOption {24}
4. ラップ表示を増やす(減らす)
開いたスクリプトから以下の行を検索して内容を書き換えます
set MaxLap {12}
↓
set MaxLap {<ここを好きな数字にする>}
ラップは二列表示なのでできる限り偶数個数をおすすめします。
また、二列表示ですべて表示しようとするので、あまり多くすると
お使いのコンピュータの画面によってはウインドウが大きくなりすぎて、
画面外にはみ出してしまいます。
実用的には 60程度が表示限界です。
5.画面の色を変える
開いたスクリプトから以下の行を検索して内容を書き換えます
set BackColor {black}
set ForeColor {green}
↓
set BackColor {blue}
set ForeColor {yellow}
または
↓
set BackColor {#0022AA}
set ForeColor {#FF8800}
色の指定は、HTMLと同じ指定ができます。
ウィンドウの 背景色 と 文字色 が指定できます。
ボタンはデフォルトのままで指定できません。
**** (ここから共通)
さあお好きな変更ができたら、ファイルを保存して起動してみましょう。
うまくできたかな?
● うらわざ
裏技あります。禁断の秘儀・・・なんちゃって
1.フレームレートの強制変更
Special メニューから cShow コマンドを選んでコンソールを表示して下さい。
以下のコマンドを打ち込んで、計測モードを自由に変更することができます。
打ち込んだら、コンソールは閉じてかまいません。
ChangeRATE [数]
例:
ChangeRATE 72
RATE 表示が 72fps になって 以後 レートを切り換えるまでの間
72コマ毎秒の計測ができます。
このコマンドには数値しか指定できません。
数値以外を指定するとエラーが出ます。
(フィルタしてない・・裏技なんだからかんにんして)
いったんエラーが出ると以後の動作は保証できません。
一度プログラムを終了してもう一度立ち上げ直して下さい。
2.操作ログを読む
クリップボードに出さなくても、実は操作ログが読めます。
ログが大きくなり過ぎてシンプルテキストやメモ帳で開けなく
なったときは試してみる意味があるかも・・・
Special メニューから cShow コマンドを選んでコンソールを表示して下さい。
以下のコマンドを打ち込んで、ログを表示できます。スクロールして読んで、
必要な部分だけをコピーしたりできます。
puts ${Log}
*操作ログは、変数 Log に格納されています。
また、同様の操作で以下の変数なども表示できます。
display 主画面の表示 >puts $display
LAP(0) 最新のラップ >puts $LAP(0)
3.コンソールから操作する
ほとんどの機能をコンソールから操作できます。
(Tcl/Tk の仕様上そうなってしまうんですけどね・・)
それぞれのボタンに対応するコマンドの一覧は以下の通りです。
START/STOP Start_Stop
LAP/RESET Lap_Reset
RATE ChangeRATE next
MODE ChangeMODE
CLEAR Clear_LAP
クリップボードにコピー
ClipCopy dp (メイン画面)
ClipCopy lap (ラップ)
ClipCopy log (操作ログ)
アバウトパネルの表示
about
いや、コンソールから操作できても別に 得 は無いんですけどね。
時間の計測なんて いちいちコマンド打ってたらまともに計測できないし・・
・・・でも、なんとなく面白いので書いておきます。
てなわけで、
別に何の芸もありません、ただのストップウォッチです。
市販のストップウォッチとの差は、24コマモードや、30コマモード等の
フレーム計測モードがあるくらいです。
一コマ以下の時間単位は切り捨てです(当然ですが・・)
ドロップフレームのカウントは、NTSCの規格に準拠しています。
フレーム総数は、29.97 fps で計測して、0分 10分 20分 30分 40分 50分 以外の
毎正分冒頭の 0秒0フレームと 0秒1フレームをドロップカウントする方式です。
お好きな計測モードで ばんばん計測してください。
*** 予告:そのうちタイムコード計算用の電卓が、つきます・・・つくかな?
============= ふろく ===================== プログラム仕様
プログラム名
簡易ストップウォッチ Stop Watch(仮)
ファイル名
cc2.tcl
使用言語
Tcl/Tk
動作条件
Tcl/Tkをインストールした
Windows/Macintosh/Unix(要 X)
プログラムの用途
時間計測
最小計測単位
システムに依存(自動判別)
Windowsの場合 1/1000 秒
Macintoshの場合 1/1000000 秒
Linux(Plamo)の場合 1/1000000 秒
表示系列
切り替え可能
100分の1秒
24コマ毎秒(ムービー)
30コマ毎秒(ノンドロップ 30fps)
30コマ毎秒(NTSC準拠 ドロップ 29.97fps)
25コマ毎秒(PAL)
計測仕様
システム毎の最小時間単位を記録して計測
選択された表示系列にしたがってタイムコードを形成して
出力。現在、システムクロックのロールオーバーには未対応
その他の仕様
ラップ保持機能つき 標準12ラップ(増減可能)
時計表示機能付
操作ログをクリップボードへ転送可能
計測値をクリップボードへ転送可能
ラップデータをクリップボードへ転送可能
おまけ WEBブラウザ用のTcl/Tkプラグインで動く
機能限定 Ticlet もあります。
試してみたい方は、http://www.scriptics.com/ から
それぞれのブラウザ用のプラグインをインストールして
こちらのリンクへ行ってみてください。
ティクレット版は、こちら
重要なご注意:
このストップウォッチは、簡易使用に留めて下さい。
プログラムの動作仕様上、OSのイベント管理に支配されますので、
計測結果の厳密な保証はできません。
特に、パワーマネジメントに問題のあるシステム上で動かしたときの
計測結果は著しい誤差を含む可能性があります。
通常のデスクトップで使用する際は、計測誤差は許容範囲に
納まりますが・・・・
他のアプリケーションとの関連次第では、イベントの遅延によって
無視できない誤差になる可能性を持っています。
** Windowsで使って見た感じ 最悪の場合でで 3/100 秒 〜 7/100 秒
程度の感じでした。
ごく普通のときでは、誤差1/100秒 以下に納まります。(と、思います。)
(それより、マウスボタンの反応のほうが気になる・・)
また、現在システムクロックのロールオーバーには対応していません。
運悪くロールオーバーにかかった計測はとんでもない値を出します。
確実に「クルクルパー」な値がでます
その際は、運が悪かったと思ってあきらめて下さい。
****** ちなみに、Windows95 のばあいシステムを約1カ月動かし続けると
参照している時計がロールオーバーします。古いバージョンのWindows95は、
そのロールオーバーの時にシステムがフリーズするそうです・・・
(じゃ、このプログラムには関係ないか・・・とほほ)
他のOSは、そんなことないよ!!
バグは、あらかた取ったと思いますが・・・・きっとまだあります。
発見してくださった方は、どうぞお知らせください。
直せる限りは 修正します。
みなさまの感想をお待ちしております。
2001/08/20 Nekomataya/kiyo
|