« 2007年12月 | トップページ | 2008年2月 »

2008年1月31日 (木)

飲み

今日は、おりえちゃん、ゆいちゃん、あいちゃん、ママ。
話の内容は、今日はいつもよりグラマーに見えるとかそのかわりウエスト絞ってないから太めに見えるとかでも標準体重の範囲内でしょとか上と下でサイズが違う話とかダイエットすると胸から痩せるぞとか間をとってDカップ?とか、
今月はやけにママの出勤率が高いなとか嫌なのかよっとかユカちゃんの出勤率が低いせいだとか、
テレビや新聞よりネットのほうがニュースが早い話とか大正時代は船だったけど今は飛行機だからなあとか食料と水と燃料を備蓄しとけとかインドとインドネシアって違うんだっけとかフィンランドはどこですか?とかバカ日本地図の話とか、
喉が痛いのにタバコ吸うか?とか一日一箱は立派なニコチン中毒だとかインフルエンザ?とか乾燥のせいだとか、
メールで紹介したダイエットのページ見た?とかだからおかわり無料でもおかわりしちゃ駄目だとか大根を二本くらい買って無駄にする話とか超手抜きな焼き飯の話とかめんどくさがりの自炊なんてそんなもんだとか男友達に「これが人間の住む部屋か?」と言われたゴミ部屋の話とかじゃあ襲いに行こうとか、
手帳の話とか家計簿つけてるとかあいちゃんは宵越しの金はもたないとかついでに食べたものも全部つけとけっとか、
ギター買った?とか買わないと練習できないだろとかギターとベースってどう違うの?とかピアノ練習しろっとか、
ちゃぶ台が低すぎる話とかコタツにしろっとか暖房の温度設定が24℃とかそりゃ電気代がはねあがるだろとか冷房より電気喰うぞとか、
二十代後半はあせるから不幸な結婚が多い話とかじゃあ30過ぎてからにしようとか吟味しすぎるとああなるぞとかおりえちゃんは両刀使いとか意外と早いんじゃないか?とかリコちゃん辞めて同年代がいなくなったとか40過ぎた学生だっているぞとか、
ここに壁がほしいとかまた日記に書かれるとか全国50人くらい見てるとかしまったゆいちゃんにメール見せるの忘れたとか。
カラオケは、中島みゆき「糸」とか工藤静香「激情」とか。
9800円+カラオケ代。

| | コメント (0) | トラックバック (0)

2008年1月30日 (水)

PC-Talker試用記(16)

●PC-Talker APIの呼び出し
とりあえず、SDKの一部を再配布する。以下からダウンロードしてほしい。
PCTKSDK.LZH
このアーカイブはPC-Talkerの開発キット(SDK)から再配布可能と明記されているもののみを抜き出したもの。
再配布可能ファイルは、以下の四つ。
PCTKBase.h
PCTKUsr.h
PCTKUsr.lib
PCTKUsr.dll
残念ながら、ドキュメントは再配布可能ではないようだ。
また、Visual Basic用SDKにも再配布に関する記述が見つからない。
このあたりの記述によると、以前はSDK全体を再配布可能だったように見えるのだが……)
●ファイルの使用上の注意
DLLファイルはWindowsフォルダに入れること。Windows\systemフオルダには入れてはいけない(と書いてあった)。また、古いものを新しいものに上書きしないように。
LIBファイルを静的リンクしてしまうと、DLLファイルが無い環境では起動すらしないので、なるべくLIBファイルは使わずにLoadLibrary()で動的リンクすること。
あと、バージョンチェックの注意事項があるようだ。

●関数
//以下の6つは95Reader互換関数
BOOL WINAPI SoundMessage(LPCWSTR lpszString,int flags); //音声出力
BOOL WINAPI SoundStatus(void); //読み上げ状態取得
BOOL WINAPI SoundModifyMode(int on,int off); //値設定、取得
BOOL WINAPI SoundPause(BOOL sw); //音声一時停止(実際にはリセット)
BOOL WINAPI dic_regist(void); //なめらか読み辞書登録(無動作)
BOOL WINAPI dic_regist_detail(void); //詳細読み辞書登録(無動作)
//他にもヘッダファイルを覗くといくつか95reader互換用と書いた関数があるようだ
//以下は、PC-Talker初期バージョンから使える関数
BOOL PCTKStatus(void); //PC-Talkerの起動状態取得
void PCTKPRead(LPCTSTR lpszString,int priority,BOOL analyze); //文字列読み
void PCTKCGuide(LPCTSTR lpszString,DWORD mode); //文字列を1文字ずつ読む
void PCTKVReset(void); //読み上げ中の音声中断
BOOL PCTKGetVStatus(void); //音声読み上げ状態の取得
DWORD PCTKSetStatus(UINT item,LPVOID param1,LPVOID param2); //設定値変更
DWORD PCTKGetStatus(UINT item,LPVOID param1,LPVOID param2); //設定値取得
void PCTKCommand(LPCTSTR cmdstr,LPVOID param1,param2); //ショートカットコマンド実行

他の関数はバージョン依存なので省略。
引数の意味とかはヘッダファイルを見ればある程度はわかるんじゃないかな?
(なんせ、ドキュメント再配布不可なので)

●使用例1(読み上げ)
#include <windows.h>
typedef BOOL (WINAPI *tSndMsg)(LPCWSTR, int);
main(){
    HINSTANCE hLib = LoadLibrary("soundp.dll");//95readerのDLL読込
    if (hLib==NULL) hLib = LoadLibrary("PCTKUsr.dll");//PC-TalkerのDLL読込
    if (hLib){
        tSndMsg sndmsg = (tSndMsg)GetProcAddress(hLib, "SoundMessage");
        if (sndmsg) sndmsg((LPCWSTR)"こんにちは", 0);
        FreeLibrary(hLib);
    }
}
文字列を読み上げさせるだけならこれで読み上げる。
読み上げを止める時はSoundPause()を使う。
この書き方なら、95readerでもPC-Talkerでも動くはず。
(95readerは持ってないので未確認だが)
しかも、結局ヘッダファイルもLIBファイルも使ってない。
(ていうか、PCTKUsr.hをincludeしたらBCC5.5でC言語モードでエラーになるし…)

●使用例2(設定の取得と変更)
前々回に書いた演奏ツールのようなケースで、キーボード入力を読み上げないようにする。
(この場合、95reader互換関数には該当機能が無いのでPC-Talker固有の関数を使う)

//ソース先頭(ただし#include <windows.h>の後)で以下を宣言。
#define _LOADLIBRARY_DEF_ //これを定義しとかないと宣言が有効にならない
#include <pctkusr.h> //上記エラーは修正済み
pPCTKGetStatus ptGetStatus;
pPCTKSetStatus ptSetStatus;

//プログラム起動時に以下を実行
HINSTANCE hLib = LoadLibrary("PCTKUsr.dll");
if (hLib){
    ptGetStatus = (pPCTKGetStatus)GetProcAddress(hLib, "PCTKGetStatus");
    ptSetStatus = (pPCTKSetStatus)GetProcAddress(hLib, "PCTKSetStatus");
}

//ウインドウプロシージャで以下を実行
static DWORD ptStatus; static BOOL focus;
switch (message) {
case WM_SETFOCUS:
    focus=1;
    /*現在の設定を保存*/
    if (ptGetStatus) ptStatus = ptGetStatus(PS_STATUS, (LPVOID)PKDI_KEYGUIDE, NULL);
    /*設定変更*/
    if (ptSetStatus) ptSetStatus(PS_STATUS, (LPVOID)PKDI_KEYGUIDE, NULL);
    return 0;
case WM_KILLFOCUS:
    /*設定を元に戻す*/
    if(ptSetStatus && focus)
      ptSetStatus(PS_STATUS, (LPVOID)PKDI_KEYGUIDE, (LPVOID)ptStatus);
    return 0;

//後始末
if (hLib) FreeLibrary(hLib);

とまあ、こんな感じで使うことができるようだ。
キャストがうざいのはヘッダが腐ってるせい。高知システム開発のプログラマは整数とポインタの区別がついてないようだ。

| | コメント (0) | トラックバック (0)

2008年1月29日 (火)

PC-Talker試用記(15)

●まとめ
ネタもつきてきたのでそろそろまとめに入る。
私の立ち位置は、「視覚障害者向けのソフトを作る」ではなく、「晴眼者向けに普通に作ったソフトを視覚障害者にも対応させる」というものなので、PC-TalkerのAPIを呼び出すというのは最後の手段と考えている。
Windowsの標準的なGUI部品を使っている限り、たいていの物は読むことがわかったと思う。
逆に読まないのはGDI関数群。なので、可能なかぎりスタティックコントロール等を使い、GDI関数を使わないようにすれば良い。(あと、標準GUI部品に似て異なるものを自分で作ろうとしないこと。どっからどう見てもメニューバーなのだがPC-Talkerが読まないというアプリがある。標準GUI部品の挙動が気に入らないならサブクラス化による機能拡張という方法もある)

以降では、アプリケーションの種類別にちょっと考察してみる。
●音を扱うアプリケーション
音を扱うアプリは、当然ながら音を出力するルーチンを自前で持っているはずである。
また、音を扱うアプリを使用する時はスクリーンリーダーをオフにすることがある。
(単に「邪魔になるから」だけではない。そもそも複数のソフトがPCのサウンド機能を同時に使えない場合もあるのだ)
よって、たとえば「レベルオーバー警告」のような固定メッセージは独自に出した方が良い。(on/offをつけること)
その場合、古い環境では、waveOutOpen()をしているときにMessageBeep()やsndPlaySound()はできなかったりするので、自前でミキシングして出す必要があるだろう。
周波数やレベルの数字を読み上げたいといった可変メッセージの場合は、ステータスバーに表示もしくはクリップボートにコピーあたりが妥当な線だろうか。

●リアルタイムアプリケーション(ゲーム等)
固定メッセージで、WAVEファイルを同梱することが許されるなら、Windows APIのsndPlaySound()を使うのが簡単。
可変メッセージならやはりクリップボードだろうか?
もっと積極的に特定のスクリーンリーダーに対応したいなら,95readerやPC-TalkerのAPIを呼び出すという方法もある。(あとで説明するが、文字列を読ませるだけなら意外と簡単である)

●画像を扱うアプリケーション
視覚障害者が画像を扱うって? 扱うのだ。OCRのために。
先入観を排除して、キーボードだけで最低限の操作はできるようにしておくこと。

●それ以外の通常のアプリケーション(テキストエディタ、ビュアー、メールソフト等)
・可能な限りGDI関数よりもスタティックコントロールかエディットコントロールを使う
・状態通知はステータスバー
・クリップボードに全文コピーを標準的な操作で簡単にできるようにしておく
などが考えられる。
ただ、エディットコントロールを使うと、メモ帳に毛が生えた程度のものしかできなくなるという難点がある。これはテキスト処理をやりたいアプリにとっては大きな難点である。
たとえば私は、テキスト関係のツールには行ピッチ変更機能が必須だと思っているが、こういったことが実現できない。色をつけたりもできない。(またWindows95や98やMeで使うことも考えると、扱えるテキストサイズが小さいという問題もある)
これらの難点の一部は、リッチテキストコントロールを使うことで解決可能だろう。(ただし、私もまだ使ったことがないので解説できない)

ということで、次回は「最後の手段」PC-TalkerのAPIを呼び出す方法について書く予定。

| | コメント (0) | トラックバック (0)

2008年1月28日 (月)

PC-Talker試用記(14)

●キーボード入力の読み上げ
Midi
PC-Talkerは、キーボード入力の補佐のため,入力した文字を読み上げる。
ボタン等の文字入力を受け付けないコントロールにフォーカスがある時は読まない。
それ以外だと、たとえばGenericのようにアプリがキー入力を無視してるケースでも読む。
文字キーを押しっぱなしにして、キーリピート状態になると、たとえばCキーだと
「しぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷぷしー」のようにノイズ混じりで読む。
これが困るのは、たとえば上の図のような、キーボードを鍵盤楽器に見立てて弾くようなアプリ。あとゲームなどでも困る時があるだろう。
「音声ガイドの設定」→「入力キーの文字を読み上げる」のチェックをオフにすれば良いのだが、このような設定はアプリごとに設定できるようにしてほしいところだ。
(他にアプリごとに設定できると嬉しい項目としては、「クリップボードを自動的に読み上げる」の設定がある。通常のコピー&ペーストではリアルタイムで読む必要はないが、クリップボードを読み上げAPIがわりに使ってるゲームソフトなどではリアルタイムに読む必要があるため)

| | コメント (0) | トラックバック (0)

本日のお届き物

河島英五LP「作品集」

| | コメント (0) | トラックバック (0)

2008年1月27日 (日)

PC-Talkerまとめ(2)

PC-Talker試用記、前回以降の分をUPした。古い分もちょっと加筆。
そろそろネタが尽きてきた。

| | コメント (0) | トラックバック (0)

新型インフルエンザの報道

どうもおかしい。
このへんの記述によると、インドあたりで24日の時点で少なくとも1400名の患者が出てるっぽいのに、日本のマスコミが全く報じてないような気がする。すでに報道管制状態なのか?
そろそろ食料と水を備蓄してひきこもる準備をしたほうがよさそうだ。
(とりあえずESPIOここが一番情報がまとまってるぽい。あとセキュメモとか)

| | コメント (0) | トラックバック (0)

2008年1月26日 (土)

PC-Talker試用記(13)

●プログラムからのフォーカスの移動

WAVRECでは、再生/録音ボタンを押したら、そのボタンをDisableにして、Pauseボタンにフォーカスを移動する。そうすると、Pauseボタンを読み上げてしまう。
ボタンをDisableにするだけなら(再びEnableにしても)読み上げないが、その場合はフォーカスが行方不明になる。(Tabキーもスペースキーも反応しない。メインウィンドウにフォーカスがある?)
再生時はともかく、録音開始時に読み上げが起こるのはまずいが、その場合は、PC-Talkerを一時的に停止させれば良いようだ。(再生時も、WAVRECは一曲だけだからまだ良いが、複数の曲を連続演奏するツールで曲の切り替わり時に毎回読み上げられると、かなりわずらわしい。)
一方、Pauseボタンを押すと、フォーカスはそのままで、ボタンの文字列を"Pause"から"Cont"に変更する。この場合、読み上げは起こらない。これはこれでまずいかもしれない。ボタンの意味が変わったのにユーザーが気がつかないかもしれない。この解決は簡単で、
SetWindowText(hwndPause, "Cont");
SetFocus(hwndApp);
SetFocus(hwndPause);
のようにすればよい。(順序に注意。
SetFocus(hwndApp);
SetWindowText(hwndPause, "Cont");
SetFocus(hwndPause);
だと何故か変更前の古い文字列を読み上げてしまう)
(PC-Talkerには、フォーカスがどこにあるかわからなくなった時、調べる機能が無いようだ。シフト+Ctrl+Rで再読み上げという機能はあるが、前回の読み上げがフォーカスのあるコントロールであるとは限らないので。まあボタンが二個以上ある時はTabキーを押してみればわかるが。)

| | コメント (0) | トラックバック (0)

2008年1月25日 (金)

PC-Talker試用記(12)

●リストビュー
表形式のデータを扱うには、リストビューが(晴眼者にとっては)便利だ。
Listview0
図のように、まだデータが無い状態では、リストビューがフォーカスを得ると
「テストの選択 一覧項目」と読む。
コントロール名ガイドがOnの状態では「テストのリストブ 選択 一覧項目」と読む。
(リストビューと言ってるつもりなのだろうが、リストブとしか聞こえない)
Listview1
データを一つ入れてみた。
フォーカスを得ただけでは、データが無い時と全く同じ読み方になる。
Listview2
ここで下矢印キーを押すと、データが選択状態になる。ここで初めて
「びーえっくすえむぜろろくよんろくろくあっとまーくにふてぃぴりおどこむねーむころんのぐー」
と読む。(ADDRESSの文字は読まない。息継ぎがほとんど無いので聞きづらい。しかも二度読み。画面上にコロンは無いはずだが?)
Shift+Ctrl+矢印キーでも、カラムを個別に読んだり1文字ずつ読んだりできない。
Listview3
データが複数の場合、選択した1行しか読まない。
Listview4
複数選択した場合、最後に選択した1行しか読まない。
Shiftキーを単独で押すと、選択範囲をすべて読む。(他の場所ではShiftキーは読み上げ停止に割り当ててあるのに、何だこのキー割り当てはっ!!)
WS_TABSTOPの有無にかかわらず、「ウインドウ全文読み」は使えない。
ということでリストビューは、読むことは読むが、音声だけで使おうとすると、かなり使いにくい。
なお最上段または最下段で矢印キーを押すと「うえはし」「したはし」などと読み、これ以上データがないことを伝える。
●リストビューの編集
リストビューは、先頭項目のみ、編集可能にすることができる。
この場合、リストビュー上にエディットコントロールが出現するが、単独のエディットコントロールと全く同じ読み上げになる。
ただ、マウスが使えるならともかく、キーボードだけで編集状態に移行する方法がわからなかった。
(マウスでは、選択状態の項目を再度クリックすれば編集モードになる)
(エクスプローラではF2に割り当ててあるようだが……)

| | コメント (0) | トラックバック (0)

2008年1月24日 (木)

本日のお届き物

加藤登紀子3枚組LP「歌に生命を」

| | コメント (0) | トラックバック (0)

PC-Talker試用記(11)

●コマンドプロンプト
キーボード入力は読む。しかし,プログラムの出力は、DOSアプリ、Win32コンソールアプリ共に基本的には読まないようだ。
「基本的には」と言ったのは、例外があるようだから。たとえば
C:\bcc55>BCC32 HELLO.C
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
HELLO.C:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
で、なぜか「コロン」の部分だけ読んだ。ちなみに
C:\bcc55>BCC32 HELLO.C >HELLO.LOG
C:\bcc55>TYPE HELLO.LOG
とやっても何も読まない。
あと、コマンドプロンプトで「ウインドウ全文読み」をやっても何も読まないようだ。
追記:
Alt+Spaceでシステムメニューを開いて「編集→すべて選択」をやって「編集→コピー」で全文をクリップボードにコピーして読むことは可能。
また、コマンドプロンプトビューアーというツールが別途配布されている。しかし、(調整機能があるようだが、それを使っても)行の取りこぼしが、かなりの高頻度で起こる(読まない行が発生する)。

| | コメント (0) | トラックバック (0)

2008年1月23日 (水)

PC-Talker試用記(10)

●マルチラインのエディットコントロール
メモ帳や、それに似た自作テキストエディタでは、起動時に「無題 マイナス メモ帳の文字入力」などと読む。
文章を読み込んでも、もちろんメニューやダイアログは読むが、ダイアログのOKボタンを押した後、メインウィンドウにフォーカスが戻っても、「無題 マイナス メモ帳の文字入力」としか読まない。
(ここで、ファイルを読み込んでいるのに「無題」と読むのは、メモ帳がタイトルバーを変更するタイミングが遅すぎるせい。自作エディタでは大丈夫だった)
そこで、上下矢印キーでキャレット(文字カーソル)を動かすと、その行を読む。(正確には、その行の中でキャレットの右にある部分だけを読む)
左右矢印キーでキャレットを動かすと、キャレットの右の一文字を読む。
そして、「ウインドウ全文読み」の操作(Ctrl+Alt+Z)をすると、メモ帳では全文を読むが、自作エディタでは読まなかった。
なぜ?と思っていろいろ試したら、どうやらWS_TABSTOPスタイルが設定されていると全文読みをしないようだ。
通常のウインドウ上にCreateWindowで貼るときは、単にWS_TABSTOPを指定しなければ良い。
ダイアログリソース上では指定しなくても自動でついてしまうので、WM_INITDIALOGのタイミングで
HWND hwndCtl = GetDlgItem(hDlg,IDEDIT);
LONG ws = GetWindowLong(hwndCtl, GWL_STYLE );
ws = ws & (~WS_TABSTOP);
SetWindowLong(hwndCtl, GWL_STYLE, ws);
のようにしてやればよい。
しかし、上の例のように、ウインドウにエディットコントロールだけしかない時はそれで良いが、他のコントロール(ボタンとか)がある時はどうしたらいいのだろう?

あと、エディットコントロールにES_READONLYスタイルをつけて、テキストビュアーとか何らかの情報のビュアーにすることがある。その場合でも、エディットコントロールはフォーカスを持つことができ、矢印キーでスクロールしたり、シフト+矢印キーで範囲選択したり、Ctrl+Cキーでそれをコピーしたりできる。しかしReadOnlyなのだから当然、文字の入力はできない。にもかかわらず、PC-Talkerは「○○の文字入力」と読む。これもどう考えてもPC-Talkerのバグだと思う。

| | コメント (0) | トラックバック (0)

2008年1月22日 (火)

PC-Talker試用記(9)

ダイアログボックスの読み上げ(5)
・ダイアログ上のスクロールバー
Option
これは、MioneMのオプション設定のダイアログである。
再生速度の調整にスクロールバーを使っている。
これは中央が100%(等速)、左端が50%(半速)、右端が200%(倍速)になるので、
こんなところに左端0%右端100%にしかならないトラックバーは使えないのが明らかである。
これのリソースファイルは以下のようになっている。(本当は多少違うが簡略化して表示)
LTEXT "再生速度(&R):", IDO_RATE, 8, 8, 48, 8
SCROLLBAR IDO_SCRL, 10, 20, 141, 8, WS_TABSTOP
LTEXT "100.0%", IDO_PERCENT, 56, 8, 25, 8
LTEXT "ピッチ", IDO_PITCH, 87, 8, 25, 8
LTEXT "+0.0半音", IDO_HANON, 116, 8, 40, 8
よって、スクロールバーにTabキーで移動した時には、「再生速度アールの選択」のように読む。
コントロール名ガイドがOnの時は、「再生速度アールのドラッグバー 選択」のように読む。
そして、ウインドウ全文読みのキー操作をしたときに
「再生速度かっこあんどアールかっことじころん ひゃくてんれいぱーせんと ぴっち ぷらすぜろぜろ半音 一度に処理するデータ長かっこあんどティーかっことじころん ……」のように読む。
あいかわらず1の位が0である小数を正しく読まないが、これでどうにかなるような気はする。
(ただ、ウィンドウ全文読みはどうしても読み上げが長くなるので、途中で中断したいところだが、
そこでEscキーを押すとダイアログが閉じてしまう。中断のためのキーは他にもあるが…)

実はここでも特定のキーを押した時に値をクリップボードにコピーというのを検討したのだが、
その特定のキーをメインウインドウ側で"C"にしていたので困ってしまった。
このダイアログではすでに"C"は「モノクロ」のアクセスキーとして使ってしまっている。
(あと、実はダイアログ上でのコントロールのサブクラス化ってやったことがなかったり)

あと、このダイアログの配置はまずいような気がする。OKとキャンセルのボタンが途中にあるので、全盲のユーザーはそれ以降にも設定項目があることに気がつかないかもしれない。
(いきあたりばったりで拡張していると、こういうことになる。まあ、Tabオーダーだけ変えればいいのだが)

| | コメント (0) | トラックバック (0)

PC-Talkerまとめ(1)

今までのPC-Talker試用記を多少加筆訂正してここにUPした。
また、トップページ等からもリンクを張った。

| | コメント (0) | トラックバック (0)

2008年1月21日 (月)

飲み

今日は、ユカちゃん、ママ、おりえちゃん、あいちゃん。
ひじきとかキュウリにチーズを乗せたものとか出た。
話の内容は、またママかよとか三週連続とかその格好でついてくれるならOKとかこんどブルマはいてきてとか、
どて煮って何とか豚のホルモンを自分で調理したら固かった話とか驚愕のダイエット法の話とかここの女の子は無理とかあいちゃんは頑張ってみるとか繊維分を食べろとかビール2本まで大丈夫とか自転車はどうなったんだとか、
新型インフルエンザが怖いとか致死率60%とかもし流行ったらこんな商売やってられないとか食料買い置きして家から一歩も出ないようにしないといけないとかのぐーの家のドアを破るぞとかドア破ったら寒いとかユカちゃんはペストを運ぶネズミとか、
おりえちゃんの話があんまり出てこないとか女性二人でトイレに入って何してるんだとか、
この人を見習ったら40過ぎまで独身とかそれは違うでしょとかじゃああと3ヶ月で結婚できる?とか,
B型とばれなかった話とか人間関係でトラブルおこしまくった話とかこの店昔はB型多かったやんとか、
ドアをあける猫の話とか最初は泥棒かと思ったとか動物好きな人と世話できる人とは違うとかあんたは子ども作らない方がいいとかそれはママの勘違いとか、
ちょっと走ったら足首をひねったみたいで痛いとかもう歳だとかヤフオクの締切時間が迫ってたとか加藤登紀子のレコード落札とか送料の方が高いとか音楽好きならレコードプレーヤーは必須とか、
パソコンを声で操作するソフトの話とか試用期間が一ヶ月しかないとかバグがあってもそのソフトが無いよりはマシなんだとか難しいことが書いてあるとか、
あいちゃんは寒がりとかその体形で?とか足が冷たいとかユカちゃんは靴下をいつのまにか脱いでるとか電気あんかを使ってる話とかママは風邪ひいてるんじゃない?とか、
今日はママが狂暴化してるとかあと五ヶ月頑張ってねとかこの人は大丈夫なのかとか男に興味ないからとか。
カラオケは、さだまさし「恋愛症候群」とか
研ナオコ「強がりはよせよ」「愚図」とか
谷山浩子「恋するニワトリ」「夜のブランコ」とか。
11500円+カラオケ代。

| | コメント (0) | トラックバック (0)

PC-Talker試用記(8)

●メインウインドウ等の読み上げ(1)
まず、GDI関数群(TextOut等)で描いた文字は読まない。
よく考えればあたりまえのことで、もしGDIで描いたものを読むなら、WM_PAINTが来るたびに読むことになってしまう。
(ところで、この文章をPC-Talkerに読ませてみたら、GDIを「グディー」と読んだ。ここは「ジーディーアイ」と読んでほしいところ。)
CreateWindow()で貼り付けたボタン等は、ダイアログボックス等と同じ扱いになる。
ただし、Tabキー等で移動できることが絶対条件である。フォーカスのある場所しか読まないわけだからこれも当然である。通常のウインドウでこれを実現するには,
・IsDialogMessage()を呼び出す
・コントロールをサブクラス化する
の二つの方法がある。
IsDialogMessage()を使う方法では、ダイアログと全く同じ挙動を簡単に実現できる。
サブクラス化は、もっと自由度が高くなる。
エディットコントロール、リストボックス、コンボボックス、スクロールバー等、直前のラベル文字列も読む場合、その「直前」は、CreateWindow()を呼び出した順番である。
また、IsDialogMessage()を使う場合、Tabキーで移動する順番も、CreateWindow()の順番になる。
WAVRECのメインウインドウ
WAVRECの場合、GDI関数による描画を読まないことはほとんど問題にならない。
経過時間を読ませてもアレだし、ファイル名はオープンの時に判っているはず。
(レベルオーバーの警告くらい出したほうがいいのかもしれないが…)
MioneMメインウインドウ
デター!スクロールバーの山。
当初「バランス」という文字列もGDI関数で描いていたため、複数あるスクロールバーの区別が全くつかなかった。(縦スクロールバーと横スクロールバーの区別もつかない)
とりあえず、CreateWindowの第二引数で個々のスクロールバーに別々の文字列を設定してみたが効果は無かった。SetWindowText()しても無駄だった。
また、旧バージョンであるPC-Talker 2.0では全てのスクロールバーを、無関係なグループボックスの文字列を使って「左右チャンネル処理のスクロールバー」と読んだ。CreateWindowの第三引数でウインドウスタイルにWS_GROUPを追加して別のグループであることを明示しても無駄だった。(新バージョンPC-Talker 3.0ではタイトルバーの文字列を使って「MioneMのドラッグバー 選択」と読む。)
この問題は、スクロールバーの直前にスタティックテキストを置くことで解決する。(あくまで「直前」なので、10個のスクロールバーには、同じ内容にもかかわらず10個の別々のスタティックテキストを置く必要がある。すげーリソースの無駄遣いな気がするが…。しかも、エディットコントロールの場合は1つのスタティックテキストで複数のコントロールのラベルを共用できるのに……)
このスタティックテキストは、WS_VISIBLEもしくはShowWindow(SW_SHOW)で見える状態にする必要があるが、実際に見える必要は無い。(他のコントロールの後ろに配置して隠しても良いということ。)
ただ、MioneMの場合、モード切り替えでグライコを使わない状態にできるので、その時「ウィンドウ全文読み」で読まないようにするには、ShowWindow(SW_HIDE)で隠す必要がある。
さて、上記の対策で、「バランスのドラッグバー」「グライコのドラッグバー」などと読ませることはできるが、まだ、つまみの位置は読まない。「+12デシベル」などの値をどうにかして読ませないと実用にならない。

・私が現時点でとった解決方法
たいていのスクリーンリーダーにはクリップポードの内容を読む機能がある。
PC-Talkerの場合、「クリップポード自動読み」の設定項目があり、これをONにしていると、アプリがクリップボードに文字列を転送した瞬間に、それを読み上げる。(自動読みをOFFにしている場合でも、キーボード操作で現在のクリップボードの内容を読むことが可能。)
そこでこの機能を利用することにした。
ただし、つまみを動かすたびに転送したのでは、自動読みの場合にかえってわずらわしい気がした(特にPC-Talker2.0ではつまみを動かすと「スクロールバー ドラッグ」と読むのでこれと重なることが考えられる)ので、特定のキーを押した時に現在フォーカスのあるコントロールの値だけをクリップボードに転送するようにした。(この実現にはコントロールのサブクラス化が必要である。)
・この方法を使う時の注意点
スクリーンリーダーを使っていない人にとっては、いつのまにかクリップボードの内容が変わっているというのは受け入れがたい。ので、必ずON/OFFの切り替えができるようにすること。
・細かい話
"11~32Hz -13db"という文字列をクリップボードに転送すると、 「じゅういち なみせん さんじゅうに ヘルツ マイナス じゅうさん でーびー」 と読んだ。この場合クリップボードに転送する情報は画面情報と共用にする必要はないので、 もっと工夫したほうが良いかもしれない。
・他に考えられる解決方法
1.スタティックテキストに突っ込む
2.タイトルバーに突っ込む
3.ステータスバーを利用する
4.スクロールバーではなくトラックバーを使う
5.スクロールバーではなくエディットコントロールとスピンボタンを使う
などが考えられる。個別に検討してみる。
1.スタティックテキストに突っ込む
どうせ「バランス」とか「グライコ」とかのラベル文字列を使うなら、SetWindowText()を使って、ここに動的に値をつっこんでしまう方法が考えられる。しかし、たとえば「バランス +10」のような内容にしたとしても、PC-Talker3.0では「Tabキーで移動してきた瞬間」しか読まない。(「ウインドウ全文読み」のキー操作でも読むことは読むが)
2.タイトルバーに突っ込む
タイトルバーはいつでもキー操作で読むことができるのでここに値をつっこむことが考えられる。しかし、あまりにも目的外使用なので却下。(タイトルバーはアプリの名前や読み込んでいるファイル名などを他のアプリと区別するのためにある。)
3.ステータスバーを利用する
ステータスバーはいつでもキー操作で読むことができるし、まさにアプリの状態を知るためにあるバーなので一般論としては良い解決方法である。私がこの方法を使わなかったのは、(こんなことを気にするのは私だけかもしれないが、)Windows 3.xにも対応したかったから。(ステータスバーはWindows95で追加された機能。)(あと、ウィンドウサイズ固定だったので、縦の長さが長くなるのを避けたかったというのもある。)
4.スクロールバーではなくトラックバーを使う
トラックバーの図
トラックバーは図のようなコントロールである。スクロールバーと同じように使うことができる。
これの読み上げは、Tabキーで移動した時に「○○の選択 最小」のように読む。
コントロール名ガイドがOnの時は「○○のトラックバー 選択 最小」のように読む。
(○○の部分はラベル名。ラベルが無いときはタイトルバー文字列)
そして、スクロールバーと違い、矢印キーでつまみを動かした時にその位置を読むのだが、その読み方は必ず0から100までのパーセントになる。たとえば図の縦トラックバーは、値の範囲を0から3までに制限してあるが、図の位置で「33.3パーセント」と読む。
つまり、バランスつまみのように中央を0にすることや、グライコつまみのように-72デシベルから+12デシベルまでにすることができない。(視覚上はそういう目盛りを別途つければ良いだけの話なのだが)
ということで、まがりなりにも位置がわかるという意味では、スクロールバーのまま何も対策しないよりはマシだが、あまり使い勝手の良いものではない。
晴眼者(目の見える人)にとっても、ぱっと見はカッコいいが、スクロールバーより操作しにくい。(両端の矢印ボタンが無いため1目盛だけ動かすというような細かい操作がしにくい、あるいは不可能)
あとこれもWindows95以降しか使えない。
5.スクロールバーではなくエディットコントロールとスピンボタンを使う
oscil のメインウインドウ
図の OSCIL で周波数入力欄に使っているような、「数値入力エディットボックスと上下の小さな矢印ボタンの組み合わせ」である。
用途によってはスクロールバーの代用に使えることもあるが、これを使うと画面デザインも操作方法もまるっきり変わってしまう。もはやグラフィックイコライザじゃなくなってしまう。
なお、スピンボタンコントロールはWindows95以降で追加されたコントロールだが、別にこれを使わなくても小さいプッシュボタン二個とか小さいスクロールバーとかで代用可能。(現にOSCILではそうしている。)
また、この方法を使う場合、スピンボタン部分にはキーボードフォーカスが行かないようにしたほうが良いかもしれない。そのかわり、エディットコントロールをサブクラス化して、上下矢印キーやPgUpキー、PgDnキーで、スピンボタンのマウスクリック時と同じ動作をするようにする。(もちろん左右矢印キーは文字列編集用に残しておく)

| | コメント (0) | トラックバック (0)

2008年1月20日 (日)

PC-Talker試用記(7)

ダイアログボックスの読み上げ(4)
About
これは、メッセージボックス同様、開いたとたんに全文の読み上げをするパターンだが、アイコンの文字列(画面には見えていない)まで読んでしまう。
あと、"5.51"を「ごーてんごーいち」と読むくせに、"0.17"を「ぜろいちなな」と読む。ピリオドを読まないのだ。
この点は、はっきり言ってPC-Talkerのバグじゃないかと思う。(ちなみに設定は記号読みも数値の位取り読みもデフォルトのONのままだ。)

アルファベット文字列の読み方
辞書にある英単語であれば、そのように読む。
辞書にない文字列の場合、ローマ字読みをしたり、一文字ずつ読む時もあるが、かなり強引な読み方をすることもある。
このケースでは"SPEANA"を「スピーナ」と読んでいる。
あと、PC-Talker旧バージョン限定だと思うが、文字列が全部大文字だと、単語と認識せず一文字ずつ読むようだ。
"Pause"を「ポーズ」と読むくせに、"PLAY"を「ピーエルエーワイ」と読んでいたので。(まさかこんな単語が辞書にないということはないだろう)
……と思ったら、新バージョンでも、"PLAY"は「プレイ」と読んだが"STOP"は「エステーオーピー」と読んだ。法則性がわかんないので、英単語を大文字で書くのはやめたほうがよさそうだ。
(全部小文字でもダメなケースもある。"Ctrl"と"ctrl"で読み方が違う。)
Login
この場合、"USER"は「ユーザー」と読んだが、"PASS"は「ピーエーエスエス」と読んだ。
また、タイトルバーの"login"は「ロギン」と読んだ。
ていうか、音声エンジンによって結果が違う。「音声の種類」でエンジンを選べるが、ProTalkerを使った時とVoiceTextを使った時で違う読み方をするようだ。

| | コメント (0) | トラックバック (0)

2008年1月19日 (土)

PC-Talker試用記(6)

ダイアログボックスの読み上げ(3)
Controls
●リストボックス
このケースでは、Tabキーでフォーカスがあたった時「周波数 アールの選択 11025」と読む。
コントロール名ガイドがONの時は「周波数 アールのリストボックス 選択 11025」と読む。
矢印キーで移動すると、「22050」などと移動先の項目のみ読む。(なぜか私の環境では二度読みする)
先頭または末尾でさらに矢印キーを押すと「うえはし」もしくは「したはし」と読み、これ以上項目がないことを伝える。
●コンボボックス
このケースでは「種類 ティーの選択 ピーシーエム」と読む。
コントロール名ガイドがONの時は「種類 ティーのコンボボックス 選択 ピーシーエム」と読む。
矢印キーで移動すると、移動先の項目のみ読む。(やはり二度読み)
先頭または末尾でさらに矢印キーを押すと「うえはし」もしくは「したはし」と読み、これ以上項目がないことを伝える。
コンボボックスは、文字入力を許可することができるが、その場合、
このケースでは「種類 ティーの文字入力または選択 ピーシーエム」と読む。
コントロール名ガイドがONの時は「種類 ティーのコンボボックスのエディット 文字入力または選択 ピーシーエム」と読む。
●スクロールバー
さて、スクリーンリーダー対応(視覚障害者対応)を考えたとき、いちばんややこしいのがこのスクロールバーである。
PC-Talker for XP ver3.0では、このケースで、Tabキーでスクロールバーに移動した瞬間に
「レベルの選択」と読む。コントロール名ガイドがONの時は「レベルのドラッグバー 選択」と読む。
そして、バーのつまみを矢印キーで動かした時に、何と!何も読まないのだ。
(別のバージョンでは「レベルのスクロールバー ドラッグ」と読むものがあるようだが
そのバージョンにしても、つまみがどこにあるかは分からないらしい)
この問題は、後日また考察する。

●アクセスキーの記載方法による読み方の変化
リソースファイルへのアクセスキーの記載方法の違いで読み方が変わることは、メニューの時にも示したが、ダイアログでは一部メニューと違う挙動を示す。しかもコントロールの種類によっても微妙に違うようである。
・プッシュボタンの場合
英語表記だと、"&Help"→「アンドヘルプ」と読む。
日本語表記だと、"参照(&B)"→「さんしょう ビー」と読み、 
"参照(¥036B037サ)"→「さんしょう カッコ びー さ かっことじ」と読む。
・スタティックテキスト(ラベル)の場合
英語表記だと、"&FILE"でも「ファイル」と読む
日本語表記だと、"ファイル名(&F)"→「ファイル名エフ」と読み
"ファイル名(¥036F¥037フ)"→「ファイル名かっこエフふかっことじ」と読む。
要は、ボタンを英語表記した時だけ"&"を読んでしまうということ。

この解決のため"¥036Help"などと書いてみたが、読み上げは期待通りになったが、 そもそも英語版Windowsでアクセスキーと認識されなかったり、日本語版Windowsでも アクセスキーをカナにした時におかしな表示をするので使えないのだった。

| | コメント (0) | トラックバック (0)

2008年1月18日 (金)

PC-Talker試用記(5)

ダイアログボックスの読み上げ(2)

Wavrec保存ダイアログ

このような、入力/選択項目のあるダイアログボックスの場合、ダイアログを開いた時点でどこかのコントロールにフォーカスがあたってるはずで、そのコントロールの内容だけをまず読み上げる。
Tabキーや英字アクセスキーで移動すると、次々とコントロールを読んでいくことができる。
なお、PC-Talkerには、「音声ガイドの設定→項目のコントロール名をガイドする」という設定項目がある。
これはデフォルトでOFFである。これをONにすると読み上げ内容が変わる。
このへんはPC-Talkerバージョンによって違うかもしれない。
(ちなみに私が使っているのは「PC-Talker for XP Ver3.0 体験版」)

・エディットコントロール
「ファイル名 エヌの 文字入力」のように読む。
「項目のコントロール名をガイドする」がONの場合は、「ファイル名 エヌ のエディット 文字入力」と読む
コントロール内に最初から文字列があった場合は、それも読む。
注意:上の図の「時間制限」のエディットコントロールのように、直前にラベル文字列が無い場合、
何と!!タイトルバーの文字列を替わりに使う。
つまりこの場合、「録音用ファイルの新規作成の文字入力 60」のように読む。
これもPC-Talkerのバージョンで違うらしい。直近のグループボックスの文字列を使うバージョンがあるようだ。
この場合たまたまグループボックスの中なのでそれでも良いが、無関係なグループボックスを使われるのも困る。
そこで、こういう場合、位置関係ではエディットボックスの後ろにある「分」というスタティックコントロールを、位置関係(座標)はそのままに、リソースファイルでの記述順を入れ換えて「分の文字入力 60」と読ませると良いだろう。

・チェックボックス
「拡張子を自動付加する イー の 切り替え チェック」のように読む。
コントロール名ガイドがONの場合「拡張子を自動付加する イー の チェックボックス 切り替え チェック」と読む。
チェックがついてない時は「拡張子を自動付加する イー の 切り替え チェックなし」のように読む。


・ラジオボタン
「周波数 エフの 選択 44 ケイ エイチ ゼット」のように読む。
「kHz」を「キロヘルツ」と読まないのは、数字との間にスペースがあるせいらしい。
修正したら「キロヘルツ」と読むようになった。(これもバージョンによっては辞書が貧弱なせいか「けいヘルツ」と読む物あり)
コントロール名ガイドがONの場合は「周波数 エフのラジオボタン 選択 44 キロヘルツ」と読む。

・プッシュボタン
「オーケーの確認」のように読む。
コントロール名ガイドがONの場合「オーケーのプッシュボタン 確認」のように読む。
あと、メニューと違い、ピリオドが三個連続していても「ウインドウ」とは読まないようだ。
「参照ピリオドの確認」のように読んだ。

・独立したスタティックテキスト
下の方にある「C:ドライブの残り容量」の記述は、独立したスタティックコントロールなので、Tabキーなどでフォーカスを移動できない。よって、読まない。
一応,PC-Talkerの「ウインドウ全文読み」機能(Ctrl+Alt+Z)を使えば、読むことはできる。しかしそのためにはそこにそういう情報があることを気づかないといけない。まあ無理だろうな。
ちなみに「ウィンドウ全文読み」機能は全文といいながらもこの場合スタティックテキストとグループボックス名しか読まない。ボタン類やエディットコントロールの文字列は読まない。 「ウインドウ全文読み」機能で読めるコントロールは、Ctrl+Alt+上下矢印キーで個別に読んだり、 Ctrl+Alt+左右矢印キーで一文字ずつ読んだりできる。

・タイトルバー
自動では読まない。「ウインドウ名読み」機能(Ctrl+Alt+1)で読む。

| | コメント (0) | トラックバック (0)

2008年1月17日 (木)

PC-Talker試用記(4)

ダイアログボックスの読み上げ(1)
Bmp情報ダイアログ
この図のような、OKボタンが一個だけで、あとは全部スタティックコントロールなダイアログの場合、メッセージボックスと同じ読み方になる。
つまり、まず「○○のメッセージ」(○○はタイトルバーの文字列)のように読み、次にスタティックテキストを「全部」読み、最後に「エンターはオーケー」と読む。
ただし、順番に注意!! 
この例では「biSize 40 biWidth 783…」と読んでほしいところだが、読み上げる順番は位置(座標)ではなくリソースファイルに書いた順番なので、それを間違えると縦読みしたりして意味がわからなくなる。(実際、やってしまっていた。)
あと、シフト+Ctrl+上下矢印キーで、各項目を個別に読んだり、
シフト+Ctrl+左右矢印キーで、一文字ずつ読んだりすることができる。
Dialog
これは、標準的でないボタンが追加されているが、これもメッセージボックスと同様な読み方になる。
ボタンの部分、日本語の場合は「Dは詳細 エンターはオーケー」と読むので操作できるが、
Dialoge
英語の場合、「アンド ディテール エンターはオーケー」と読む。まあ、タブキーを押せばどうにかなるが。

| | コメント (0) | トラックバック (0)

PC-Talker試用記(3)

メッセージボックスの読み上げ。
Memomessage
図のようなメッセージボックスだと「メモ帳の警告メッセージ ファイル無題の内容は変更されています 変更を保存しますか エンターははい エヌはいいえ エスケープはキャンセル」と読む。
MessageBox(NULL, "hello, world", "hello", MB_OK);
だと「ハローのメッセージ ハローワールド エンターはオーケー」と読む。
第三引数をNULLにしたMessageBox(NULL, "hello, world", NULL, MB_OK);
だと「エラーのメッセージ ハローワールド エンターはオーケー」と読む。
(この場合、視覚上もタイトルバーに「エラー」と表示されている)
第四引数に|MB_ICONEXCLAMATIONを追加すると「警告メッセージ」になり
|MB_ICONINFORMATIONだと「情報メッセージ」になり
|MB_ICONSTOPもしくは|MB_ICONHANDだと「重要メッセージ」になり
|MB_ICONQUESTIONだと「ヘルプメッセージ」になる。(質問メッセージじゃないのか…)
PC-Talkerの設定で句読点を読むかどうかの設定があるが、その設定状況にかかわらず、メッセージボックスの場合、句読点やクエスチョンマーク、カンマやピリオドは読まない。それどころか、+も-も×も/も読まないってどういうことよ。

| | コメント (0) | トラックバック (0)

2008年1月16日 (水)

PC-Talker試用記(2)

メニューの読み上げ。
ALTキーを押して離すと、トップメニューの左端(たいていは「ファイル」)を読み上げる。
その後、矢印キーで移動すると、該当メニューを読み上げる。
ALTキー+英字キーでメニューを開くと、トップメニューは読まずにいきなりサブメニューを読む。
その読み上げ内容だが、リソースファイルに(実際には半角で)
"ファイル(¥036F¥037フ)"
と書くと、「ファイル かっこ エフ ふ かっことじ」と読む。
一方、"ファイル(&F)"だと「ファイル エフ」と読む。
英語メニューの場合、"&File"は「ファイル」と読み
"E&xit"は「エグジット」と読むが、
"e&Xit"だと「イー クジット」のようになる。
途中に大文字があると単語の区切りとみなすようだ。(全部大文字なら大丈夫)
あと、"&New..."のように、ピリオドが三個ついていると、「ニュー ウインドウ」のように読み、それを選ぶと別のウインドウ(ダイアログ等)が開くことがわかるようになっている。(日本語でも同じ)

| | コメント (0) | トラックバック (0)

PC-Talker試用記(1)

アプリ起動時の読み上げ。
自動でダイアログボックスが開く時(スパイダソリティアのように)は、それを読み上げる。
メインウインドウにボタン等があり、それに自動でフォーカスがあたるなら、それを読み上げる。
そういった物が無い場合、 (自動では)何も読まない。(←ただし例外がいくつかある。Internet Explororやコマンドプロンプト等)

| | コメント (0) | トラックバック (0)

2008年1月15日 (火)

PC-Talker試用記(0)(本日のお買い物&お届き物)

お買い物は、ニシムタにて、「ステンよーと」(ネジ込みフック)189円と、「蛍光灯チェーン」(細い鎖)2mで180円。
棚の補強に使う予定。
お届き物は、(株)高知システム開発の「PC-Talker体験版」。
これは、スクリーンリーダー(PC-Talker)対応ソフトを作るためのプログラミング技術情報を問い合わせるメールを送ったら、「まず体験版を入れてくれ。SDKも送るから。話はそれからだ」(要約)みたいな返事が来たので送ってもらった物(無料)。
冊子小包か何かで来るのかと思ってたら、「点字用郵便」だった。確かにDVDのケースには点字のラベルが貼ってあったが……。あと、SDK(開発キット)はメールの添付ファイルで送ってきた。
とりあえずインストールしてみた。要メモリ512MBと書いてあったが、256MBでも動くようだ。
Microsoft Speech APIを使っているようで、それらしきモジュールもインストールされた。
再起動すると、メニュー等を読み上げ始めた。なかなか面白い。

| | コメント (0) | トラックバック (0)

2008年1月14日 (月)

キーボード洗浄その後

一週間前に洗浄したキーボードだが、入力できなかった文字も入力できるようになり、とりあえず復活したようた。
しかし、やたらキーが重くなり、そのせいか同時打鍵しなければならない親指シフトキーもタイミングがずれるようですごく入力しづらい。まあサブマシンて使う分には使えるだろ。

| | コメント (0) | トラックバック (0)

2008年1月12日 (土)

飲み

今日は、あいちゃん、ママ、おりえちゃん。
あいちゃんが作ったレンコンの煮物(辛かった)とかママが作った揚げ豆腐とか貝柱とか素麺とか出た。
話の内容は、鍵がかかってたとかまた同じメンバーかよとかママが来ないように鍵しめとけとか、
あいちゃんの運転が怖い話とか10年運転しててそれかよとかだったら歩けっダイエットにもなるぞとか、
揚げ物に使った後の油をどうしたらいいのかわからなくて土に埋めたとか何でそんなことを知らないんだとかあいちゃんの自炊歴はわずか1年とかそりゃ私より短いとか、
いまだに30~45歳とか贅沢言ってるしとかママも年上じゃないとダメとか普通「この人」と見極めるのに一年かかるし結婚すると決めてから準備に半年かかるぞとか届けを出すだけなら準備はいらないとか合コンの話とか「私も呼んでよっ」(byママ)とか、
罰ゲームでイッキなんかやって女の子がへべれけに酔ってこっちに被害がくる話とか、
眼鏡が変わってるとか前回もこれだったぞとか遠視が老眼になると酷い話とかこの人昼は眼鏡だよとか天文館にはぽっちゃりが多いとか、
お義理で触るなら触んなくていいとかママは冷たいとかでも冷え性じゃないとか,
おばさんばっかりのソープがある話とかママもそこに行けば一発合格とかじゃあ転職したらメールちょうだいとかソープの店長も大変な話とかうっかりやっちゃうと後が怖いとかできるかどうかわからないけどとか、
中学の頃は親公認でつき合ってた話とか高校以降は無いなあとかほとんど男友達と同じとかそこの娘にはあまりよく思われてない話とか、
ネットに繋がなくてもパソコンは使えるというのを知らなかったとか1980年に買ったポケコンの話とか当時は自分でプログラミングしないとどうしようもなかったとか今年の抱負の話とかWindowsに標準でついてる録音ソフトかあまりに使いにくい話とか私のソフトの利用者か10万人オーダーでいる話とかでも売り物にはならないとか、
今夜は寒くなりそうな話とか。
9000円(今日はカラオケは無し)。

| | コメント (0) | トラックバック (0)

2008年1月10日 (木)

MioneM 0.02β2

前回のバージョンアップは全然効果が無かったようだ。
ので、MioneM 0.02β2の公開。
変更点
・スクロールバー等の値をクリップボードにコピーする機能をつけた
・簡易設定に高域増強、低域増強、超低音カットの機能をつけた
・サンプリング周波数が変わった時にグライコを自動リセットするのをやめた
・グライコの状態をiniファイルに記録し次回起動時に引き継ぐようにした。

| | コメント (2) | トラックバック (0)

2008年1月 7日 (月)

本日のお買い物&洗浄

近くのパソコンショップで「キートップ引抜工具」なるものを買ってみた。180円。
で、いくつかのキーが反応しなくなってた古い親指シフトキーボードのキーを引き抜いて、エアダスターで軽くほこりを吹き飛ばした後、水道水流しっぱなしで6時間くらい?洗浄。
あとは乾燥させるのに一週間くらいかけたほうがいいらしい。これで直るかな?直ればいいなあ。

| | コメント (0) | トラックバック (0)

2008年1月 3日 (木)

初飲み

今日は、あいちゃん、ママ。(二人しかいないのに客はけっこう多くて大変そうだった)
おせち料理っぽいもの(黒豆とか)出た。あと、他のお客さんが注文したワインを少しいただいた。
話の内容は、8時半なのにまだ電気がついてないぞとか今日はどうせ客なんてくるわけないとチンタラやってたとか時計とまってるしとか,
あいちゃんからメールが来てしまったから来ないとしょうがないとかその「来てしまった」って何よとか今日は二人だけ?とかナナちゃんはどうしたんだとか、
「大笑いした」というメールが届いた話とか目の見えない人がパソコンどうやって使うの?とか、
あいちゃんが学生にみられた話とか30までに結婚という話はどうなったとか「聞かないでください」とか前回「クリスマスまであと四日もある」と余裕こいてたよねとか、
夕食は御飯をあんまり食べないようにしてるとかおかずを多く食べてるならおんなじだとか揚げ物が多いとか、
鹿屋には何がある?とか川内には負けないとか南九州市って何処とか、
梁山泊(何処)の話とか芸能界の話(何のことかさっぱり分からなかった)とかピザ屋の話とかそれは「若いくせに」じゃなくて「若いからこそ」じゃないのかとか平成生まれが本格的に就職してる話とかそのうち「昭和って何?」って言われるようになるんじゃないかとか、
ゆいちゃんがホストクラブにはまってるらしい話とかそれはもともとママがつれていった店だとか西さん(誰)が1日だけホストやった話とか、
宝くじを買うぐらいなら自分の子どもに投資しろっとか、
ママをつまみにする話とかそれは「つまむ」でしょっとか。
カラオケは、石井聖子「DOOR」とか
中島みゆき「ララバイSINGER」とか。
4100円+カラオケ代。

| | コメント (0) | トラックバック (0)

2008年1月 1日 (火)

抱負

今までは、「新年の抱負?そんなの知らん」という態度だったのだが、今年はちょっと考えを変えようと。
というのも、去年も一昨年も、一本もベクターにソフトを登録してなかったというのに自分で愕然……。
ということで、今年はもう少しソフトを作って(新規かバージョンアップかは問わず),最低一本はベクターに登録しようと。
#但し、あざらし(誰)の要望は自動的に却下(W)
あと、本も今までよりは読みたいな。読めるといいな。
(真面目な抱負になってしまった)

| | コメント (3) | トラックバック (0)

« 2007年12月 | トップページ | 2008年2月 »