バスレフ研究所 Personal Audio Laboratory mcap.exblog.jp

工学オーディオに取組むオカルト嫌いです。


by MCAP-CR
プロフィールを見る
画像一覧

<   2012年 12月 ( 4 )   > この月の画像一覧

ソースコードの比較

osakoさんに頂いたQt用C++のソースを、自分のC++のソースと比較しながらGUI化への道を探っています。
C++の計算プログラムをGUI化するためにIncludeするヘッダーは違いますが、これは、何となく分かるような気がします。C言語は、シンプルなのでライブラリがなければ、膨大なソースが必要になるはずです。

頂いたソースを見ると、私の書いた部分を良く解読されていることが分かります。自分のコードが良いとは思いませんが、それなりに読めるものだったようです。
しかし、書き方不統一の部分は、細かく修正されていました。
C言語は、プログラムブロックの単位を"{"と"}"で囲むのですが、自分は、インデントを必ずしも揃えていませんでした。それでは読みにくいので、osakoさんはインデントを揃えておられます。自分もそうすることにします。

そしてよくよく読み進んでみると、長いmain()ルーチンを要領よく分割されているのは別として、GUIとメッセージの出力に関する部分以外は殆ど修正なくできているようです。なるほど、QtによるGUI化は、慣れれば難しくないのかもしれないと思いました。

osakoさんに感謝しながら、DFT付き最新版のGUI化を目指します。

皆さん、良いお年を!
[PR]
by mcap-cr | 2012-12-31 15:49 | プログラミング | Trackback | Comments(0)

あれ?動いた!

先程、Qtでのプログラムがうまく動かないと書いたのですが、デバグとリリースのディレクトリ名をデフォルトから、それぞれ、debug、releaseと簡単にしたところちゃんと動作してしまいました。
a0246407_11311833.jpg

素晴らしい!
Osakoさん、どうも有難うございました。再び御礼!
この状態では、自分がサポートできないし、元のプログラムの解釈が自分の意図通りではないようです。
元のプログラムは、素人のヘタクソなので正直云って、書いた自分しか分からないと思います。
それにしても、ソースの途中に書いて頂いているコメントを読むと、よくここまでヘタクソなプログラムを読まれていると感心しました。さすがにプロは違います。

プログラムは一旦動いてしまうと、次は、ソースの読みこなしに入ります。

これで何とか先に進めそうです。

有難うございました。
[PR]
by mcap-cr | 2012-12-30 11:36 | プログラミング | Trackback | Comments(0)

Qtにチャレンジ

Osakoさんに助け舟を頂いて、解析プログラムのGUI化に取り組んでいます。
Osakoさんから頂いたソースは、かなりの完成度で、結果のグラフ化まで出来るようなのです。
しかし、自分は、同じソースを使ってもそれが出来ません。
頂いたソースをコンパイルしたところまず、大量のエラーメッセージが出ました。
こういうエラーは意外に対応が簡単です。
メッセージは英語ですが、あるヘッダーファイルが見つからないと書いてあります。
そこで、そのヘッダーファイルを探すと、別なところにありました。
こういうエラーは、簡単に修正できます。しかし、
何か腑に落ちない。何故か。
Qtがビルドしたときに、Qtが保存したディレクトリにあるファイルを見付けられないのは、矛盾しています。
エラーの修正は簡単ですが、これでは、ビルドの度に修正しなければなりません。
Qtのビルドをデフォルト設定で実行すると、プロジェクトファイルのあるディレクトリの一階層上に別のディレクトリを作成し、そこにビルドしたファイルを保存するのです。
ところが、プロジェクトファイルから見た相対パスを、別なところに設定しているので、作成したヘッダファイルが見つからないのです。これは、仕様という名のバグか?
そこで、調べてみると、Qtは、プロジェクトファイルのあるディレクトリの下に、ビルド結果のディレクトリを作ることをサポートしていないのです。無理やり設定してみると、
a0246407_8571429.jpg

『警告:qmakeは、ビルドディレクトリ配下にあるサブディレクトリをサポートしていません。』
と書いてあります。
いや、普通そこに作るだろう...と思うのは自分だけではないようです。
ウェブを探すとそういうことを書いている例が複数見つかりました。

警告は出ていますが、この設定でビルドすると、実行可能になりました。

しかし、今度はランタイムエラーが...
ランタイムエラーのメッセージにはヒントが全くありません...
Osakoさんの環境では、実行できているようですが、何が違うのでしょう。

難問ですね。
[PR]
by mcap-cr | 2012-12-30 09:03 | プログラミング | Trackback | Comments(0)

紙面を借りて御礼

QtのGUIの開発に苦しんでいることを書いたら、たまたま、通りかかった方が助け舟を出してくださいました。
プロの開発者の方で、オーディオ趣味とは無縁なのだそうですが、偶然キーワードに引っかかったのだそうです。態々ソースをお読みになって、オプションまで付けて頂きました。
ソースを自分が理解して体裁を整えるには時間がかかりますが、次のバージョンでGUIを装備したいと思います。
このような活動をしていると、実世界よりも早く、お知り合いが増えてきます。
確かに、実世界の会合をオフ会と呼ぶなど、バーチャルな世界が実世界を置き換えるようになっていますね。

頂いた、サンプルGUIです。自分にはこれだけでも凄いことです。
a0246407_16161945.jpg


この場をお借りして御礼を申し上げたいと思います。どうも有難う御座いました。
[PR]
by mcap-cr | 2012-12-16 16:19 | プログラミング | Trackback | Comments(0)