
/*
    KAB-studio.h
        　ＫＡＢ−ｓｔｕｄｉｏで先週更新した内容
        が格納されたヘッダーファイルです（笑）。

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    送信日： 2000/03/27(Mon) No.050
    配信数： 3290（ Mag2 + Pubzine ）
＊    発行元： まぐまぐ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/


/*              ２０００年３月２７日（月）の更新                  */
http://www.kab-studio.com/Info/News/

・表紙を４月バージョンに。
　毎月恒例、新しい表紙です。
　うむー、今回はまーまーの出来かなー。このイラストについての解説は
チョー普通な日記３月２４日の記事をお読みください。
　さらに今回は壁紙バージョンも用意しました。ＣＧギャラリーからダウン
ロードしてください。今回は８００ｘ６００のみです、御了承ください。

[CG Gallery]
http://www.kab-studio.com/CG/Gallery/


/*                        チョー普通な日記                        */
http://www.kab-studio.com/nikki2/

２０００年３月１９日（日）：
　日曜はテレビ中心。そしてヒミツの日記、復活。

２０００年３月２０日（月）：
　 STL & iostream 入門、完成！　ヒミツの日記、人気らしい（汗）。そし
て相撲と HANA-BI 。

２０００年３月２１日（火）：
　 STL & iostream 入門がウィークリーまぐまぐに掲載！　しかし、購読登
録数若干少ないです（汗）。あとビデオテープとトレーニング。

２０００年３月２２日（水）：
　久々のぷらとわ書き。 STL & iostream 入門のヒミツ。そして謎の全角タ
グ。

２０００年３月２３日（木）：
　リクルートスーツを買いに行く（笑）。就職がんばんないとね。むぅ。

２０００年３月２４日（金）：
　４月表紙完成！！　しかし、出来は……？　そしてアニメ色々。

２０００年３月２５日（土）：
　絵を描くのって難しいねぇとゆー話。スキン、作ってみたいなー。


/*                         鏑矢の憂鬱                             */
http://www.kab-studio.com/Programing/KabuU/


２０００年３月１９日（日）：
お休み

２０００年３月２０日（月）：
STL & iostream 入門完成
かなり早く仕上がった
フリーウェアのバージョンアップについて
古いコードのままでとりあえずバージョンアップ
少しずつ KTL に移行
サンプルコード
メンバ関数テンプレート
最新 gcc で通った

２０００年３月２１日（火）：
お休み

２０００年３月２２日（水）：
ぷらとわ書き
辞書の単語が来ない
お便り
BCB5
アヤシイ部分があるらしい？

２０００年３月２３日（木）：
お休み


２０００年３月２４日（金）：
金菜さんの憂鬱を書く
アプリのツボが長くなりすぎた
今は通信関係
ツボの次はオブジェクト指向
あいまいなところを書くつもり

２０００年３月２５日（土）：
お便り
Windows2000 用 PlatformSDK
なぜか使用できない
インクルードファイルのフォルダ指定と優先順位
インクルードする位置
ライブラリファイルのフォルダの指定と優先順位
リンクリストへの追加
最後の手段はフルパス指定


/*                       今週の追加単語                           */
http://www.kab-studio.com/Programing/Dictionary/

・追加単語：
ごみ箱 コンソール シェル SDK デバイス デバイスドライバー 
ボタンコントロール 監視 データベース

・今週のごめんなさい
ゴミ箱 shell GetUIObjectOf ドライバソフト作成 
IPアドレスからコンピュータ名を取得

　今回は催促したからかちょっと多いです。このぐらいがちょうどいい？

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
質問：なんでそんな使えないライブラリの解説を書くの？
解答：実は使えるライブラリだからです。

http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]


/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/

　Version 3.25
フリーウェア、公開！


「では計算機編最後に、フリーウェアとしての公開方法を紹介しましょう！」
『おお！』
「で、まずフリーウェアとシェアウェアについて。火美ちゃん知ってる？」
『もちろん！　えっと、フリーウェアはタダの。フリーソフトって言ったり
もするよね。シェアウェアはお金かかるの』
「そういうことだね」
『ってゆーか、なんでシェアウェアにしないの？　確かにお金払ってもらう
ような出来のもんじゃないとは思うけどさ』
「一番最初は、まずフリーウェアからが一番。まず決済システムの問題があ
るかな」
『けっさい？』
「シェアウェアだと、お金を払ってもらう方法を選ぶわけでしょ。その方法
が〈決済システム〉。ただ単に郵便振込のものから、シェアレジみたいなも
のまでいろんな方法があるわけ」
『ほぉ。そういうのの選択とかがまず大変、ってこと？』
「そういうこと。まぁインターネット自体に慣れてるんなら、こういうのも
それほど大変じゃないかもね」
『他には？』
「お金が絡んでくると、サポートとかかなり入念にしなきゃいくなる、って
いうのが大変」
『あー、よく聞くよね、なんかすごいメールが送られてきたとか』
「これはまぁフリーウェアでも来る場合もあるんだけど、シェアウェアはお
金が掛かってるからね。本音を言えば〈サポート料〉もシェアウェア料に上
乗せすべきかも」
『それか〈サポート料は別〉とか』
「それはそれで問題ありそう……」
『他には？』
「あとはサポート関係の派生で、バージョンアップをまめにしなきゃいけな
いとか、ユーザー登録を管理しなきゃいけないとか、いろいろね」
『フリーウェアは使われっぱなしな分、そういうのあんま考えなくってもい
いってことなんだね』
「でも、人気得るんならサポートは大事だけどね」
『具体的にサポートって、どんなふうにするの？』
「一番いいのはメーリングリストだね。フリーウェアを使い始めた人に、
メーリングリストに入ってもらって、それでサポート」
『サポートって、どんな？』
「例えば〈バージョンアップのお知らせ〉とか、あとフリーウェアの解説や
バグ解決情報なんかを回したり。特に、ユーザー間でも情報交換できるから」
『ユーザーコミュニティ、みたいな？』
「そういうこと。ま、にぎわえばの話だけどね」
『そういえば〈解説〉で思ったんだけど、マニュアルは？』
「マニュアルは〈ヘルプファイル〉を作るんだけど、この計算機アプリくら
いのファイルサイズだと、ヘルプの方がずっと大きかったりするんだよね」
『う、それイヤ』
「その代わりにホームページで公開する、っていうのも手かな」
『その方がダウンロード前に確認できるもんね』
「サポート関係の話はここまでにして、そのダウンロードの話」
『そうそう。フリーウェアってどれも、 .lzh って拡張子のファイルになっ
てて、それをダウンロードするんだよね』
「そうそう。ファイルをまとめてひとつのファイルにして、さらにファイル
サイズを小さくすることを〈圧縮〉って言います」
『ファイルサイズが小さくなるってなんか不思議』
「圧縮には、すでに出回ってるフリーウェアやシェアウェアを使います。例
えば Lhmelt とか」
『 Lhasa じゃダメなの？』
「これは解凍専用だからね。圧縮するときには、実行ファイルと、著作権と
か使い方を書いた readme.txt をひとつのファイルに圧縮します」
『 readme.txt ってどう書くの？』
「んー、特に決まったフォーマットはないかな。いろんなフリーウェアのを
見て、それから決めるのがいいかも」
『テキトー』
「ま、フリーウェアってテキトーなもんよ。圧縮は、 lzh か zip 」
『ってなに？』
「圧縮の方法。このふたつはたいがいの解凍アプリで解凍できるから」
『 Lhasa ならできるもんね』
「で、圧縮ファイルができたらいよいよ公開」
『公開はやっぱホームページで？』
「それがとりあえずは一番かな。必要ならすぐ削除できるし」
『他には？』
「有名どころとして【Vector】と【窓の杜】があります」
『あ、聞いたことある』
「【Vector】はまずどんなフリーウェアでも登録できるから、まずここに登
録するのがいいかな」
『登録するとどうなんの？』
「登録したフリーウェアは、【Vector】のホームページで、説明付きで紹介
されます。だから宣伝効果があるってことだね」
『おお！』
「もしいいできならもっとしっかりと紹介されたりもするし。ただ、数が多
くて、同じ種類のアプリがあると埋もれちゃうけどね」
『じゃーあたしの計算機じゃダメね』
「ある意味希少価値あるかもしんないけど」
『う”』
「もうひとつの【窓の杜】は、残念ながら現在はフリーウェアを募集してま
せん」
『あら、じゃー意味ないじゃん』
「でも近々募集を再開するって話。ここは厳選されたものしか置かないから、
置いてもらえればかなりの宣伝効果が期待できるかな」
『置いてもらえれば、ね……』
「あと、いろんな雑誌に載ったりすることも」
『そうそう、これってどこに申し込めばいいの？』
「いやー、こっちから売り込む方法はないんじゃないかな。【Vector】に登
録したりしておけば、いつかオファー来ると思うよ」
『そーゆーもんなんだ』
「で、登録したらあとは使ってもらうだけ。……と、そうそう、重要なこと
を忘れてた」
『重要なこと？』
「えっと、 VC のメニューの【プロジェクト】−【設定】を選んで」
『この前のだよね』
「その【一般】ページの【Microsoft Foundation Class】っていうのがある
でしょ」
『 Microsoft Foundation Class って、 MFC のことでしょ？』
「そう、この項目で〈どうやって MFC を使うか〉を決められます」
『どうやって、って？』
「今はたぶん【共有 DLL で MFC を使用】って書いてあるでしょ」
『うんなってる』
「この場合には、実は Calc.exe の他に、 MFC42.dll と MSVCRT.dll のふ
たつのファイルが余分に必要だったりします」
『ええっ、そうだったの！？　でも、動いてるときはそんな必要そうに見え
なかったけど……』
「このふたつのファイルは Windows\system フォルダに置いてあって、自動
的に使われるからね」
『あ、ホントだ置いてある。ってことは、これも一緒に圧縮ファイルに入れ
なきゃいけないの？』
「ううん、この２ファイルはたいがいのウィンドウズに入ってるから、そん
なに心配しなくて大丈夫」
『なあんだ』
「ただ〈この２ファイルが必要〉ってことは書いとかないとダメ」
『〈たいがい〉ってことは、入ってないウィンドウズもあるってことなんだ』
「そう。この２ファイルは、ベクターとかでダウンロードできるから、その
方法とかも readme.txt に書いておくといいかな」
『そういえば、【Microsoft Foundation Class】の項目ってもうひとつある
でしょ、【 MFC のスタティックライブラリを使用】って。もしかして、こ
っちのを使えばこの２ファイルって要らないんじゃない？』
「そのとおり。でも、 Calc.exe のファイルサイズが大きくなっちゃうんだ
よね」
『げげ』
「だから、インターネットでダウンロードしてもらうようなときには、こっ
ちは選ばない方がいいんじゃないかな」
『はーい』
「さてまとめると」

・フリーウェアかシェアウェアか決める（初めはフリーウェア推奨）。
・サポート方法を決める。
・Calc.exe と readme.txt をひとつに圧縮したファイルを作る。
・ホームページで公開したり、【Vector】に登録したりする。

「ってところかな」
『結構面倒ね』
「それは言えるかな。それに、一度公開してある程度人気出ちゃうと、あと
でやめるの大変だし、公開するのもちゃんと考えてからの方がいいかも」
『そういうもんなんだ。あんま気軽にはできないね』
「気軽にしたいんならあんま人気でなければいいから、たとえばホームペー
ジだけで公開するとか、マニュアルなしとか」
『そういうのってアリなの！？』
「いたれりつくせりがすべてでもないでしょ。個人には限界あるし」
『なんだかなー、あたしそーゆーのヤダなー』
「さて！　これで計算機もできて、 Ver.3 も終了！」
『次回からは Ver.4 ！　って、なにすんの？』
「これまで見てきたのは、 MFC を使ったプログラムの作り方」
『 MFC のクラスを元にカスタマイズしたクラスを使う、とか？』
「あとクラスの変数の関係とか」
『メンバ変数を外から使うか中から使うかとか、クラスだけじゃ使えない、
ちゃんと変数にしなきゃダメとか、何度も何度も繰り返し言われたよね』
「でもこれが基本。これで、自分のプログラムがどういう構成になっている
かは分かったはず」
『確かに』
「でも、それは全体像が見えただけ。細かい部分で〈なぜこれができるのか〉
とか分かんないでしょ」
『そうそう、分かんない単語も多いし、 MFC と API の違いとかも分かんな
いし』
「というわけで、 Ver.4 からは〈 MFC を読み解く方法〉を解説します」
『あのわけわかんない MFC が分かるようになる？』
「もちろん。〈 MFC にはこういう機能があって〉みたいなこと教えても切
りないけど、読み方さえ分かればいつでも自分で調べられるようになるから」
『ホントかなぁ』
「ってゆーかそうなってくれないと」
『むぅ』
「で、読み解くようになるために必要なのが、みっつの知識」
『ふたつじゃないの？　アーキテクチャーと言語の知識、でしょ』
「な、なんでそんな難しいことお！」
『 Ver. 2.14（ No.025 ）で金菜ちゃんが言ってたじゃない』
「あ、そういえば……。ま、そうなんだけど、それをもっと具体的にして、
みっつ。まずはコンピューターの知識」
『こここコンピューター！？』
「そ。プログラムってコンピューターの仕組みに大きく関わってくるから、
これが大事なんだよね。次に必要なのがウィンドウズの知識」
『ウィンドウズのって、たとえばハンドルとか？』
「そうそう。ハンドルとかウィンドウとか、リソースとか、ウィンドウズ独
特の仕組みがいっぱいあります。これを知っとく必要があるから。最後に必
要なのが、 C++ 言語の知識」
『 C++ ってなんだっけ』
「う”……これまで見てきた〈プログラム〉の言語。例えば dlg.Modal() 
って日本語じゃないでしょ」
『そりゃそうでしょ』
「じゃあ何語？」
『…… C++ 語ってことなんだ』
「そういうこと。この言語の知識、ウィンドウズの知識、そしてコンピュー
ターの知識をしっかり身に付けて、 MFC を読み解けるようにしましょう」
『かるーく読み解けるように、ホントになるのかなぁ』
「もちろん！」

/*
    Preview Next Story!
*/
『なんか自信満々って感じね』
「ま、火美ちゃんの努力次第だけどね」
『というわけで次回』
＜ Version 4.01 テストアプリの準備 ＞
「につづく！！」
『あーなんかタイトルから〈大変だぞー〉って感じ』
「来週はプログラミングしないよ？」
『なんだうれしー！』
「なんだかなぁ」


/*                       金菜さんの憂鬱                           */
http://www.kab-studio.com/Programing/KanaU/

アプリのツボ
#13 音声処理

　画像に比べると、音声処理はそれほどメジャーじゃないかな。音楽とかは
絵に比べれば「創る」のが大変だからね。でも最近は MP3 の登場とかで、
プレイヤーとかが注目されているかな。
　特定のファイルフォーマットについては、やっぱりフリーのライブラリと
かから拝借するのが基本。 C マガジンで、何度も Wav や MIDI のフォーマ
ット解説をしてるしね。
　実際に録音再生するのは、ハードウェアとそれに密着したエンジンの仕事。
例えばウィンドウズなら DirectX を使って細かい音声出力ができます。 
3DCG の時みたいに、こういうのをまず使いこなせるかが大事なんじゃない
かな。使いこなせれば、どういったアーキテクチャーが柱になっているのか
解るし。これはプログラミング全般に言えることかも。
　どんなファイルフォーマットでも、こういったエンジンに噛ませられる形
に変形できれば使えるってこと。

　プレイヤーの場合には、見た目と使い勝手が大事かな。見た目は、最近の
流行で「スキン」っていうものがよく使われてます。プレイヤーの本体に当
たる部分をとっかえひっかえできる「皮膚」にしちゃうってことね。演奏部
と操作部を完全に分けてリリースするか、そうでなくてもプログラム的に分
けちゃうのがいいかもね。

　画像処理のフィルタリングに当たるものが、音声処理にもあります。例え
ば特定の周波数を強めたり弱めたりとか。これも、専門知識が必要だから結
構大変。でも画像処理の時と同じで、あまりないものや、使い勝手のいい物
を作れば当たるんじゃないかな。
　特に、画像処理や音声処理は、フツーの人よりもクリエイターや学術研究
者なんかの方がよく使うでしょ。そういう人には、なんでも入ってるパッケー
ジよりも、簡単で使いやすいツールの方が好まれるんじゃないかな。
　逆に、実際にそういう仕事に就いてる人は、こういうツールをどんどん出
していった方がいいかもね。「仕事場だけで使うから立派なもんじゃない」
とか思ってるかもしれないけど、意外とウケはいいもんよ。
　来週は通信関係。じゃね。


/*              ２０００年３月２９日（水）の更新予定              */
http://www.kab-studio.com/Info/News/

・STL & iostream 入門配信開始！！
　新しいメールマガジン「 STL & iostream 入門」の配信を開始します。
　２９日に配信するのは #00 、ちゃんと送れるかどうかなどをチェックす
るためのプレ配信です。内容や予定等について載せる予定です。
　本配信は４月５日から。それまでには購読登録しましょう！

[ STL & iostream 入門]
http://www.kab-studio.com/Programing/STLiostream/


/*              ２０００年４月３日（月）の更新予定                */
http://www.kab-studio.com/Info/News/

・祝 KAB-studio.h １周年！！
　ＫＡＢ−ｓｔｕｄｉｏの更新報告と #pragma twice を連載し続けてきて
早１年！　かぶスタメールマガジン KAB-studio.h が１周年を迎えました。
　……といっても特別なイベントは用意していません（汗）。なんか「やっ
て欲しいこと」があったら今のうちに送ってね。
　その代わりと言ってはなんですが、縮刷版を用意します。今回は１〜５０号
です。最近読み始めた方はぜひダウンロード！

[フリーウェアインフォメーションルーム]
http://www.kab-studio.com/Freeware/


/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.com/nikki2/
・プログラミングに関する質問は[鏑矢の憂鬱]にお送りください。
http://www.kab-studio.com/Programing/KabuU/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www.kab-studio.com/Freeware/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/


/*                      See you next week!!                      */


