FFT 解析結果の 3D 表示2008年05月07日 21:35

ソノグラフの 3D 版みたいなものですが、どう呼べばいいのでしょうか。
 http://cessna373.asablo.jp/blog/2008/03/22/2809333
で紹介した WaveSpectra の画面イメージ
 http://www.ne.jp/asahi/fa/efu/soft/ws/wsimage.html
の 「3D 表示」みたいなやつです。

やろうと思えばできるのですが、需要はありますか?
もし要望があれば検討します。

日本語スタイルガイド2008年05月07日 21:36

英語の用語について
 http://cessna373.asablo.jp/blog/2008/03/22/2809325
で紹介しましたが、日本語についてのドキュメントが、同じく Microsoft から出ていました。
 http://www.microsoft.com/downloads/details.aspx?FamilyID=8b00bcd7-9eb2-45e5-a17a-58ff89cf9840&DisplayLang=ja

用語だけではなく、文体などについても書かれています。
マニュアル作成の専門家向けのような感じです。
「×ツールバー ○ツール バー」というのはいかがなものかと思いますが、そういえば Microsoft のドキュメントではこう書かれているのを見ますね。
まあ、何かガイドが欲しいときは参考になると思います。

次バージョン予告:背景をドラッグしてダイアログを移動する2008年05月11日 18:51

次バージョンでは、背景をドラッグしてダイアログを移動できるようにしようと考えています。

通常は、ダイアログを移動するにはタイトル部分をドラッグする必要があります。
それを、背景の何もない部分をドラッグしても移動できるようにするというものです。

簡単に実現できる方法を見かけたので、試しに入れてみました。
標準的な動作ではありませんが、そう悪いものでもないと思っています。

次バージョン予告:オプションページをツリーで切り替える2008年05月11日 18:52

オプションダイアログ
次バージョンでは、オプションダイアログのページ切り替えを、従来のタブ形式(左図)からツリー形式(右図)に変更する予定です。

元祖が何かはちょっと分かりませんが、最近(といってもずいぶん昔からですが)の流行だと思います。
タブで問題があるわけではありませんが、ページが結構増えてきたので、ツリーの方がすっきりしていいのではないでしょうか。

オプションダイアログについては、またそのうち操作性などについて検討するつもりですが、とりあえずということでこのようにしておきます。

Macで動かすRH1FFT2008年05月12日 06:22

最近Mac上でWindowsのソフトを動かすCrossOverMacがバージョンアップしたのでRH1FFTで試してみました。
結果的には若干表示にもたつくところもありますが、
録音、解析を含めてほぼ問題なかったです。
所詮はエミュレーションなので、解析の負荷を上げていくと限界は近いと思いますが、実用的には使えると思います。
もしも、なにかの機会がありましたらぜひ試してみてください。

音階表示2008年05月12日 23:33

実は音階表示は TODO リストにひっそりと入っています。
 http://cessna373.asablo.jp/blog/2008/02/07/2609497
あれば面白いかなとは思っていましたが、実用的な使い道があるとは思っていませんでした。

と思っていたら、こんなソフトがありました。
 WaveTone
 http://www.vector.co.jp/soft/win95/art/se421780.html
なるほど、耳コピーに使えるわけですね。

音階表示というと、音声を解析して "ド" とか "レ" とかを表示することを考えていましたが、周波数表示の替わりに音階を表示するだけでもそういう目的には使えそうです。
要望があれば検討します。

ソノグラフの名称2008年05月12日 23:45

RH1FFT では、最初に何かを参考にしてソノグラフをソノグラフと名付けたわけですが、もしかしてスペクトログラムというのが正式名称なのでしょうか。
google の検索結果を見てみると…
 スペクトログラム の検索結果 約 7,630 件
 ソノグラフ の検索結果 約 370 件

RH1FFT では今更変える訳にも行きませんが、どこかで言及するときには、スペクトログラムと言う方が通りがいいかもしれません。

WM_NCHITTEST2008年05月18日 21:23

プログラマ向けの話題です。

背景をドラッグしてダイアログを移動する機能について書きましたが、
 http://cessna373.asablo.jp/blog/2008/05/11/3500439
それを簡単に実現する方法です。

特に特別なことはなくて、WM_NCHITTEST で HTCAPTION を返すだけです。
詳しくは、WM_NCHITTEST と HTCAPTION で検索すればいろいろ出てきます。

簡単に言うと、マウスイベントが発生したとき、以下のような処理になっているということです。
 1. ウィンドウマネージャがウィンドウに WM_NCHITTEST を送る。
 2. ウィンドウはマウス位置に応じて、そこがキャプションか、クライアント領域か、などの情報を返す。
 3. クライアント領域でなければ、ウィンドウマネージャはウィンドウを移動するなどの独自の処理を行う。クライアント領域なら、単に WM_MOUSE*** メッセージを送る。

単純なダイアログの場合は HTCAPTION を返すだけでいいのですが、プロパティシートのプロパティページなど、ダイアログの子ウィンドウでは HTTRANSPARENT を返すなどの工夫が必要になります。
この辺りはいろいろ試してみてください。

以前、Win2k だとサイズボックス上でマウスカーソルが変わらないという問題について書きました。
 http://cessna373.asablo.jp/blog/2008/01/26/2580943
ここに書いているとおり WM_SETCURSOR でカーソルを設定してもいいのですが、それ以外に WM_NCHITTEST で HTBOTTOMRIGHT を返す方法もあります。

RH1FFT on Mac2008年05月19日 21:19

先日掲載した記事についてスクリーンショットをのせてみました。
みた感じちゃんと動いているでしょう?
実際にそれぞれのコマンドも動いているようです

Visual C++ 2008 Feature Pack2008年05月25日 00:59

現在 RH1FFT は、Visual Studio 2005 で MFC を使用して C++ で作成しています。
見て分かるとおり、ダイアログ形式のプログラムで、本格的なドキュメントビュー形式のものではありません。

最初はとりあえず簡単にと思って作ったものを引きずっていて、そのせいで苦労することもあります。
しかし MFC の SDI/MDI プログラムは見た目が古臭いし、がんばって移行することもないかなと思っています。

…と思っていました。
が、Visual Studio 2008 では Feature Pack なるものがあって、MFC でも最近っぽい GUI が作れるようです。
まだ日本語版では使えないようですが。
 http://msdn.microsoft.com/ja-jp/magazine/cc507634.aspx

一応 Visual Studio 2008 は入手しているのですが、まだしばらく使うことはないと思います。
サブマシンの Windows 2000 でもビルドできるようにしておきたいので。
(Visual Studio 2008 は Windows 2000 では動きません)