2013年2月23日土曜日

にっきちゃん


 とりあえずキー設置まで完了した。この手のUI組立が一番面倒くさいし時間もかかる。
フリック(?)した方向によってCtrlやShiftが同時押しされる機能が、たぶんオリジナリティ。
 従来のスクリーンキーボードではコピペするのに、
範囲選択→ctrl→c→貼り付け先選択→ctrl→vと6クリックかかっているたのを、
範囲選択→c(左フリック)→貼り付け先選択→v(左フリック)と4クリックで済む。
マウスカーソルを合わせるコストが2回分カットできるのが気分的に楽だ。

2013年2月21日木曜日

日記ちゃん

 「ScrLK」キーってなんでKが大文字なの、なんてLenovo付属のキーボード眺めてて思った。
手持ちのほかのキーボードではScrLkとkは小文字だったから、どっちでもいいんだろうけど。
ScrollLockのKeyなのか? 
 
 どうでもいいか。
 
 そんな感じでいつだかに言っていたスクリーンキーボードを作成しているのだけど、
SendInput()でscanCode指定をすればDirectXなアプリケーションにも対応できると検索に出てきたものの、
実際にやってみると全然反応しない。
KeyDownとKeyUpの間にSleepを入れるといいとも見かけたので試してみたがやっぱり反応せず。
 なんなんだー? ってがちゃがちゃやってたらあるときたまたまキー入力に反応。
あれこれためしてみたところ、KeyDownからKeyUpまでが早すぎると入力をキャッチできないらしく、
Sleep( 50 )ぐらいにしたらばっちり反応するようになった。
 たいていのゲームでは60FPSだろうから16msも押しっぱにすれば反応するようになると思われる。
 
 そういえばXPのときはSleepの精度が10ms間隔ぐらいだったのが、ゲームの速度を一定に保つ際に問題になったものだけど、 Windows8だとどうなってるんだろうか。あとでためしてみよう。
 
#include 
#include 
#include 
 
int main()
{
  std::vector< char > buffer;
  buffer.resize( 1024 * 1024 );
 
  FILE* file = NULL;
  file = fopen( "sleepTest.txt", "w");
  if ( file )
  {
    {
      LARGE_INTEGER frequency;
      QueryPerformanceFrequency( &frequency );
 
      LARGE_INTEGER lastTime;
      QueryPerformanceCounter( &lastTime );
 
      for (int i=0; i<100; ++i)
      {
        LARGE_INTEGER nowTime;
        QueryPerformanceCounter( &nowTime );
        LONGLONG ns = ( (nowTime.QuadPart - lastTime.QuadPart) * (1000 * 1000) ) / frequency.QuadPart;
 
        char str[ 128 ] = {0};
        sprintf( str, "[%d] %llu ns (%d ms)\n", i, ns, static_cast(ns/1000) );
        strcat( &buffer[0], str );
 
        Sleep( 1 );
        lastTime = nowTime;
      }
 
      
    }
    
 
    fwrite( &buffer[0], strlen(&buffer[0])+1, 1, file );
    fclose( file );
    file = NULL;
  }
 
  return 0;
}

といったコードで、Sleep(1)をしたときの様子を観察した。
 
XP:
[0] 0 ns (0 ms)
[1] 6750 ns (6 ms)
[2] 15622 ns (15 ms)
[3] 15623 ns (15 ms)
[4] 15629 ns (15 ms)
[5] 15620 ns (15 ms)
[6] 15648 ns (15 ms)
[7] 15599 ns (15 ms)
[8] 15625 ns (15 ms)
[9] 15623 ns (15 ms)
[10] 15626 ns (15 ms)
[11] 15624 ns (15 ms)
[12] 15617 ns (15 ms)
[13] 15625 ns (15 ms)
[14] 15623 ns (15 ms)
[15] 15624 ns (15 ms)
...
8:
[0] 0 ns (0 ms)
[1] 1027 ns (1 ms)
[2] 2023 ns (2 ms)
[3] 1984 ns (1 ms)
[4] 1997 ns (1 ms)
[5] 1999 ns (1 ms)
[6] 2000 ns (2 ms)
[7] 2002 ns (2 ms)
[8] 2003 ns (2 ms)
[9] 2030 ns (2 ms)
[10] 1970 ns (1 ms)
[11] 2001 ns (2 ms)
[12] 1999 ns (1 ms)
[13] 2003 ns (2 ms)
[14] 2001 ns (2 ms)
[15] 1034 ns (1 ms)
...
 ってな感じで、何やら差が出た。
Windows8では心置きなくSleep(1)で速度調整してもいいんじゃないかな。

2013年2月14日木曜日

日記ちゃん

 新しいPCを購入。
OS: Windows8 64bit
CPU: Core i5-3330
mem: 4G
といった感じ。Windows8も最初はとっつきづらいが、デスクトップ画面に移動したら7とあんまり変わらんね。
いままでPen4だったから感動するほど速い、快適なインターネットライフ。
 ざっくりと自作プログラムをテストしてみたが特に問題は見当たらない様子。互換すごいな。

 エクスプローラがファイルをつかんで離さなくなり、ファイルの削除ができないといった不具合が解消されてる。めちゃめちゃありがたい。
 
 開発環境がいままでVS2005だったのだけど、
Windows8にはインストールですっころんで入れられないとかなんとか記述を見かけたので、
VS2012EEを入れてみた。2005のプロジェクトを開くと変換処理が入り使用可能に。
 コンパイルもそのまま通ったが、生成された実行ファイルがXPでは動かなかった。
「プラットフォーム ツールセット」の項目を「Visual Studio 2012 - WindowsXP(v110_xp)」にしたら
XPでも動く実行ファイルが生成できるようになった。
 問題ないのかどうかはちょっとわからんけど、とりあえず。

 

2013年2月12日火曜日

日記ちゃん

 Creative ZEN Style M100のアップデートが出てた。アップデートしたが違いは判らない。
前まではメニューボタンと下ボタンが絶妙に誤認識したうえに操作不能になることがよくあったが。
ほかにも電源切れなかったり。ボタン周りがハード的にまずそうな感触があるが、果たして。
 操作不能になる以外は結構快適で1週間ぐらい充電してなくても平気だし、音楽垂れ流す分には何の文句もないな。
Creative ZEN Style M
/***/
 しばらく使ってみたところ、操作不能になる現象が起こらなくなった。今回のパッチでだいぶん安定する様子。



/** 20140118追記 */
 USBを挿しても充電しない場合が発生しだしたり、
ボタンのライトが付きっぱなしになって電池を消耗する症状が出たりしだした。
 ライトつきっぱの方は、
一度画面を触るなどしてライト消灯処理を実行させると改善するが、
ポケットに入れていたりすると気が付かないのが難点。
 充電不具合は底部にあるリセットスイッチを押すと、充電可能になることがある。
治らないこともあるので何度か試そう。

 リカバリーモード:
リカバリーモードを使ってプレイヤーの状態を改善する事ができます。リカバリーモードにより、ディス クのクリーンアップ(clean up)、フォーマット(format)並びに、プレイヤー上のファームウエア削除が行なえます。



ご使用にあってのご注意

    リカバリーモードをご使用になる前に、必ずプレイヤー上の全てのデータをパソコン等にバックアップして下さい。リカバリーモードの機能をご使用になる場合 は、プレイヤー上のデータを削除する場合があります。
    リロードオーエス/リロードファームウエア(Reload OS/Reload Firmware)をご使用になる場合は、必ずファームウエアの書き換えが出来る準備(書き換えツールを入手、書き換えに使用できるパソコンの準備並び に、バッテリー充電が50%以上)後に行ってください。準備が出来ていない状態では決してご使用にならないでください。
    ZEN NeeonとZEN Neeon 2にはここで述べるリカバリーモードはありません。同じくZEN Nano Plus、MuVo等のストレージクラス製品にもありません


ZEN Style Mシリーズ
   1.プレーヤーをパソコンに接続している場合は取り外してください。
    また、プレーヤーの電源は一旦OFFにします。
   2.ボリュームボタン(-)を長押ししながら、電源をONにした状態で長押しします。
   3.画面上に「リカバリーモード」が表示されるまで、どちらも押し続けてください。
    *:本製品にはReload OS/ Firmwareは搭載されておりません。
    *:この製品では各項目の表示が日本語に翻訳されている場合があります。
Creativeサポートサイトから引用

 どうにもならなくなったらためしてみてもいいかも。
試しにフォーマットしてみたが、ファームのバージョンはそのままだった(ver1.00.26)。
がっつり初期化するわけではなさそう。

2013年2月10日日曜日

ActiveWindowLogger Log2CSV ver 1.00



https://skydrive.live.com/redir?resid=8CD7CF5EA9FBCA55!434&authkey=!AAKPZM-e01Vc4lU
size: 63.3KB


  ActiveWindowLoggerのログを
一度にぱぱっとCSVにしたい方がもしもいらっしゃったらどうぞ。

■概要
  ActiveWindowLoggerのログファイル(.bin2)をCSV形式に変換して指定フォルダに保存します
 
 
 
■動作環境
  Windows XP, 7
  CPU 800MHz以上
  メモリ 256MB以上
 
 
 
■アンインストール
  レジストリは触っておりません。
  削除の際はフォルダごとゴミ箱へどうぞ。
 
 
 
■使い方
  ログファイル(.bin2)をウィンドウにD&Dしてください。
  設定してある出力先フォルダにcsvに変換されて出力されます。
 
  フォルダ1個のみをD&Dした際に表示されるメニューから「フォルダ内のログを変換」を選ぶと、
  フォルダ直下にあるログファイルのみが指定出力先にCSVに変換されて出力されます。
 
  実行ファイルに直接D&Dするとあらかじめ設定された出力先に変換されて出力されます。
 
 
  *出力先フォルダを設定する都合上、
  複数フォルダおよびサブフォルダ以下のファイルはファイル名がぶつかるため走査しません。
 
  *ActiveWindowRecorderのログファイル(.bin)も変換できます。
 
 
  ●マルチスレッド数の設定
    複数コアCPUをご使用の方はスレッド数の値を増やすと変換速度が上がるかもしれません。
 
  ●出力先の変更
    CSVが出力されるフォルダを設定します。
    フォルダ1個のみをD&Dをした際に表示されるメニューから「出力先フォルダに設定」を選ぶと、
    ドロップされたフォルダを出力先に設定できます。
 
 
 
■そのほか
  このソフトウェアを使用し、何らかの障害が発生しても責任を取りかねますのでご了承ください。
 
  zlibライブラリを使用しています。
    Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
    http://www.winimage.com/zLibDll/
 
 
 
■更新履歴
  2013-02-10 ver1.00
    作成



2013年2月4日月曜日

ActiveWindowLogger v2.03a



https://skydrive.live.com/redir?resid=8CD7CF5EA9FBCA55!433&authkey=!AKB88BjgZxM_1yc
size: 127KB



■概要
  PCで一日何をしていたかログを取るソフトです。
  この日のこの時間に何をしていたか、
  あるいは一日でアプリケーションを何時間使用したかが一目でわかります。
 
 
 
■動作環境
  Windows XP, 7
  CPU 800MHz以上
  メモリ 256MB以上
 
 
 
■アンインストール
  レジストリは触っておりません。
  削除の際はフォルダごとゴミ箱へどうぞ。
 
 
 
■使い方
  起動している間ログをとります。
  最小化するとタスクトレイのみの表示に。
  ログはプログラム終了時と日付が変わった直後にlogフォルダに保存されます。
 
  記録されるのは
    時刻(time)
    表示時間(duration)
    操作中のウィンドウタイトル(title)
    操作中のプログラムのパス(exe)
  の4つのみです。
 
 
 
  logボタン
    ログデータファイル(.bin2)を選択し、読み込んで表示します
    ウィンドウにファイルをD&Dでも可
    またActiveWindowRecorderのログ(.bin)の読み込むことができます。
  prevボタン
    現在表示中のログより前のログがあれば表示します
    マウスの戻るボタンでも同様
  nextボタン
    現在表示中のログより後のログがあれば表示します
    マウスの進むボタンでも同様
  todayボタン
    今日の最新のログを表示します
 
  タイムラインイメージ
    大雑把に使用時間をプログラム別に着色して表示しています。
    上下に分かれており、上が24時間表示、下がカーソル位置付近の1時間のデータになります。
 
 
 
  txtで保存
  csvで保存
    現在表示中のログをテキストがCSV形式でファイルに出力します
    csvは「time, duration, "title", "path"」で記録されます
  アプリケーション使用率
    表示中のログから各アプリケーションの使用時間などを表示します
      比率 (rate)
      使用時間 (duration)
      平均使用時間 (ave)
      プログラムパス (exe)
      表示回数 (num)
  基本設定
    ウィンドウチェック周期
      アクティブが切り替わっていないかチェックする周期の設定で、
      数値が小さいほど細かくチェックしますが負担が大きくなります
    マウスカーソル位置チェック周期
      タイムラインイメージ上のカーソル位置をチェックする周期です。
      タイムラインイメージ上でのリストの選択速度に影響が出ます。
      数値が小さいほど細かくチェックしますが負担が大きくなります
    オートセーブ
      ログの保存タイミングの設定です。
      「しない」であれば0時に、
      「一時間おき」であれば時刻が変わった瞬間に、
      「半日おき」であれば0時と12時に、ログを保存します
      
      「オートセーブ時にCSVも出力する」にチェックをいれると、
      オートセーブのタイミングおよび日付変更時、アプリケーション終了時に
      指定ディレクトリにCSVファイルを出力します。
      このCSVファイルはオートデリートで削除されません。
 
    オートデリート
      一定期間以上古いログを自動で削除(ゴミ箱へ)
      0時に古いログがないかチェックを行い、あれば削除します
  色
    リストの色分けに関する設定です。ダブルクリックで色を変更、
    右クリックで項目の追加や削除が可能です
 
    アプリケーション別
      アプリケーションごとに別々の色をつけます
    汎用
      アプリケーションごとに適当に色を振り分けます
    時間別
      1時間ごとに色を変更します
    なし
 
    save, load
      色の設定のみをファイル(.color)に保存できます。
      D&Dでも読み込み可能
    clear
      色設定を初期状態に戻します
 
 
 
■スタートアップに登録すればより便利に
  「スタート」メニューの「スタートアップ」を右クリックし「開く」あるいは「エクスプローラ」をクリック。
  開いたフォルダにショートカットを作成すれば、ウィンドウズといっしょに自動で起動できます。
 
 
 
■そのほか
  このソフトウェアを使用し、何らかの障害が発生しても責任を取りかねますのでご了承ください。
 
  zlibライブラリを使用しています。
    Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
    http://www.winimage.com/zLibDll/
 
 
 
■更新履歴
  2013-02-03 ver2.03a
    日付変更時にアクティブなウィンドウ情報が記録されないのを修正
  2012-09-21 ver2.03
    オートセーブ時にCSVファイルを指定ディレクトリに出力できる機能を追加
    メニューの「TXT形式で保存」「CSV形式で保存」のときにデフォルトのファイル名が表示されていないのを修正
    CSV出力はリストのソート状態の影響を受けないように修正
    ver2.02系でのconfigファイル読み込みの下位互換がうまくいっていなかったのを修正
    色表示が「RRGGBB」ではなく「BBGGRR」になっていたのを修正
    コンフィグウィンドウで色を変更した瞬間にリストの表示が更新されないのを修正
  2012-08-03 ver2.02a
    オートセーブに「3時間おき」「6時間おき」を追加
    ウィンドウ左ダブルクリックで「アプリケーション使用率」ウィンドウを表示するよう修正
    ウィンドウ右ダブルクリックでコンフィグウィンドウを表示するよう修正
  2012-07-10 ver2.02
    検索機能の追加
    リスト項目クリックにタイムラインイメージの下側を更新するよう修正
  2012-07-05
    アプリケーション使用率ウィンドウのリスト色別表示するよう修正
    アプリケーション使用率ウィンドウでコピー可能なよう修正
    アプリケーション使用率ウィンドウから前日後日データの読み込みを可能なよう修正
  2012-07-03 ver2.01
    ツールチップを表示するよう修正
  2012-07-01
    自動削除機能追加
  2012-06-30
    タイムラインの下側が00:30未満のとき描画できていなかったのを修正
    64bitWindowsだとプログラムのパスが正常に取得できないのを修正
  2012-06-27
    タイムラインをドラッグ後正常に描画できていないのを修正
  2012-06-25
    アプリケーション使用率のrateが%表記ではなかったのを修正
  2012-06-24 ver2.00

2013年2月3日日曜日

日記ちゃん

 イヤホンを半ざしにするとカラオケになる、というのを故意に起こした。
手持ちのステレオイヤホンジャック二つを使用し、線をつなぐ。
入力側ジャックのRを出力側ジャックのLに、
入力側ジャックのLを出力側ジャックのGNDにするとカラオケ状態になった。
このままでは片耳からしか音が流れないので出力側ジャックのRとLをつなぐと完成。
 まとめると、
R -> L&R
L -> GND
でつなぐ。
 入力ジャックのGNDが宙ぶらりんになり電気的に良くないのは想像つくが、まずこれで音が流れる時点ですでに自分の理解を超えてる。

2013年2月1日金曜日

日記ちゃんFuzzFACTORY


 できたー。
基板配置図にした段階で回路間違えてたので修正したら音が出るようになった。
あとはダイソーで買った適当な缶ケースに適当にくっつけて完了。
一時、どっかでショートしたのか緑のLEDが赤く光って、うわってなった。どういう原理なんだか。炎色反応みたいだと思った。
 作っといてなんだけどどういう音が鳴ったら正解なのかよくわからん。
ゆがむといえばゆがむ。なんか音質の悪いmp3みたいなしゃりしゃりした音も出せるがあってるの間違ってるのか。
まあいいやとりあえず満足した。
 ボリュームのつまみが意外に高いのでつけていない。1個100円はするんだぜあれ。