再起動/VBプロジェクト




 ・・・という事で前回の付記にて紹介したとおり、幸運にもSONAR用の新しい数値入力ツールを開発する事が可能な機会に恵まれたのであるが、とりあえず従来のCalmatrixの開発はしばらく凍結する事にして、このたび全く新しいVisualBasicのプロジェクトを立ち上げる事とした。このプロジェクトを可能ならしめた”ttsmf0.dll version 1.00”の公開を開発者であるテテさんよりお知らせしていただいたのが10月7日で、その後2日ほど過ぎた頃、本プロジェクトに取りかかった次第である。開発コードネーム(?)はまだない。ちなみにこの項目は、その内容からSONARやVBに関心のない方にとってはまったく意味のないものとならざるを得ないであろう・・・。

・設計思想

 まあ、設計思想というほどのものでもないのであるが、しかし私としては”このようにしたい”との基本的な考えがあるのであり、それはCalmatrixから継承されている部分もあれば、その開発から反省される部分の見直しも含んでいるのである。

 Calmatrixより継承されるべき要素としては、とにかく迅速な入力のために基本的にはキーボードのテンキーのみを使って入力できること、しかし音高(ノートナンバー)に関しては、すべての音高に対応したMIDI値(0〜127)を頭にたたき込むのも大変であるとも思われるので、MIDI値による入力と音名+オクターブ数値による入力のふたとおりを選べるようにしたい。ちなみに音名表記はドイツ式である。なぜなら、よくある英米式の音名で打ち込む場合、例えば”f#5”なら”#”を打ち込むときにShiftキーを併用しなければならないのであり、これはまったく煩わしい手続きを間にはさむ事となってしまう。ドイツ式表記なら”fis6”といった具合に、ただ文字キーを単独であつかえる。もちろん、すべて小文字でOKである。そして、各コントロールの配置はCalmatrixに準ずるものとなるであろう。

 見直すべき点は余計な機能を持たせないという事である。Calmatrixの場合、CALが正常に機能することを前提として開発してきたので、数値入力の他にもいくつかの機能をあわせ持っていた。しかし、今回はシンプルにいこうと思う。ノートイベントの数値入力に特化したツールとして。


 今現在の段階では実際の入力テストが行えるまでになっている。数日前、このプロジェクトが始まって以来の入力試験の折り、SONARの”空のトラック”にノートイベントを入力する事が出来た時はまったくもって感激してしまった。これでモノになるとの感触をつかんだ次第である。しかしながら、まだまだプロトタイプの最初の段階に留まっているのであり、これからが本番である。そしてバグの大軍と戦わねばならない。敵は多勢、味方は・・・ただ私のみ!奴らは手強い、しかも紛らわしく攻撃を仕掛けてくる。一瞬の油断が敗北につながる。ああ!なんと過酷な戦いを宿命付けられた事か!(・・・・またはじまった・・・)


   
<現段階でのお姿。・・・ダサ!


 ともあれ以下、順を追って今回の新しいプロジェクト開発の事の顛末を記していきたいと思う。しかしながら、やはり時間を見計らっての作業となるので、どれほどの頻度で記事を書き足せるのかはまったく予想がつかない今日この頃なのであった・・・。

 2003.10.19



・追記 2003.10.23


 当節の開発行程におけるテーマは、”ユーザーが入力した複数の数値を数値を一度にSONARに渡す事”である。そして肝心なのは、私がCalmatrixのころからこだわってきた純粋な”絶対値入力”の継承である。これは入力されるべきノートイベントの位置や音価等の要素をまったく個別に指定する方式であり、指定したステップごとに入力位置が自動的に移動する方式ではない。

 さて、ここでひと工夫が必要である。つまり、テテさんの開発された”ttsmf0.DLL”のcal_insert_Note関数の仕様として、ノートイベントの入力される位置は曲の先頭からのTick数として第2引数に渡す必要がある。したがって私の仕様に沿うならば、小節・拍・Tick値のそれぞれをうまく計算して曲(トラック)の先頭からのTick数に変換する必要にせまられる。しかし、これはそう大したことではない。

 次に、このDLLによってメモリー上に作られた作業用の.SMFファイルをSONARに渡す段階で、作者のテテさんはCALのFileMerge関数
(FileMerge [<szPathname>])とEditPaste40関数(EditPaste40 [<tToTime> <nToTrack> <bOneTrack> <nReps> <tRepLen> <bAsNewClips> <bEvents> <bTempos> <bMeters> <bMarkers>])をうまく使っておられる。つまり、FileMerge関数によって作業用の.SMFファイルをWindowsのクリップボードへ取り込んで、EditPaste40によってSONARに渡すという訳である(なるほど!)。SONARのCALは一部不具合が報告されているけれども、これらの関数は正常に機能する(早い話が貼り付け操作である)。だからこの一連の手続きが可能なのである。このような部分に着目され、それを実現し、なおかつ提供してくださったテテさんには感謝せずにはいられないのであるが、ともあれこのような手続きはそのまま援用させていただいた。

 ところで、このEditPaste40はクリップボードに取り込んだデータをSONARのトラックに貼り付ける際の位置データを渡すべき引数をもっているが、テテさんのサンプル・プログラムでは”Now”、つまり現在のカーソルの位置を取得する関数でもって対応されている。これはノートイベントを入力すべき位置をあらかじめSONARのトラック・ウィンドウで指定しておくという事である。これはこれで便利であるが、私はカーソル位置に関わらず、”どこでも”・”あたりかまわず”入力したいので”Now”ではなく”0”(つまりトラックの先頭)を引数に渡すことにした。これでいつでも貼り付ける位置をトラックの先頭に指定できるので、先述の小節・拍・Tick値をまとめ合わせた数値が意味を持ってくるのである。

 次に今回の作業でのひとつの山場ともいえる行程が待ち受けていた。すなわち、いかにして量的にその都度異なるノートイベント・データを一括してSONARに渡すか、ということである。ttsmf0.DLLは”cal_insert_note”関数により、ノートイベント単位で順次メモリー上の.SMFに追加することが出来る。それをCALのEditPaste40でDDE機能を使ってSONARに渡せばいいだけの話である。しかし(お恥ずかしい事ながら)私はここでつまずいてしまった・・・。解決してみれば”なぁんだ、そっかぁ〜〜”という訳なのであるが、得てしてそのようなところにこそ罠が仕掛けられているというのが世の常ではなかろうか?。ここで大事なのは作業用の.SMFの生成と開放のタイミングである。これを見過ごすと、例えばいくつかのワンセットのノートイベント・データを作業用のSMFファイルに追加入力しても、一向に最後に入力したデータしかSONARに渡せない、などという事態に陥る事となってしまうのである(反省)。決して軽んじてはならない。己に課せられた任務は慎重に遂行されるべきなのだ。

 ともあれ、開発開始からほぼ2週間を費やしてこの段階まではクリアできた(ちなみに私はVBをそれほど巧みに使いこなせるというわけではない。しかも1年近いブランクがある。だからあまり当てにならない部分もあるかもしれないが・・・)。しかしながら全行程から見た場合、ここまでの行程とてまだまだ半分にも届いていないであろう。私としては先の長い話なのかもしれない。しかし、それを少しでも短縮しようとする努力は必要である。なぜならば私の作曲という場面においては是非とも有って欲しいツールのひとつであるからだ。Calmatrixにかわるものとして・・・。

 (2003.10.24 一部修正)



・追記 2003.11.12


 前回までの作業で、この新しいプロジェクトの基本的な機能は問題なく達成されるであろうとの感触はつかめたつもりではあった。しかし、程なくして重大な欠陥を孕んでいる事に気付いてしまった・・・。つまりこういう事である。それは例えば一連のMIDIノートイベントを入力していく過程にあって、そのすべてが”意図したとおりに間違いなく”入力されることはもちろん有り得るが(実際、常にそうあってもらいたいものである)、しかしそれにもまして誤入力や変更・修正、あるいはデータの削除・再入力等の可能性も考慮しなければならないのであって、前回の場合、ワンセットごとのデータをその都度作業用の.SMFファイルに追加していたのであるが、この場合は.SMFにすでに入力されているデータを修正・削除する事は出来ない。それが出来るのは入力ツール側に保持されているデータに対してのみである。したがって、いくらツール側で修正・削除を加えたとしても、ひとたび入力されたもとのデータそのものは作業用の.SMFに追加されたままなのである。これでは具合が悪い。

 ということで、振り出しに戻ってしまったのであるが、しかしこれは致命的な問題というほどのものではない。修正や削除等の操作も含めて、確定したすべてのデータをSONARに送信する段階で、そこではじめてそれらのデータを順次作業用.SMFに追加していけばいいだけの話である。要するに、その送信する段階に至るまでの間にいかにして一連のノートイベントデータを保持し、それをどのように.SMFにまとめて追加するのか、という事である。

 今回は複数の一連のデータを保持するために、ノートイベントデータの各パラメータごとに動的配列のための変数を用意しておき、送信する段階でFor〜Nextループを援用して作業用.SMFに順次追加していく事にした(まあ、正攻法か)。あとはSONARに送信して作業用の.SMFファイルを開放してやればいい。

 ところでVBはいくつかの種類の配列をあつかう事が出来るのであるが、ここでは”コレクション”を用いる事にした。これは他の配列と比べると少々毛並みのちがうものらしいが、配列内のデータ要素にはアクセスしやすい。

 さて、うまく動作するであろうか?・・・動作試験開始である。・・・まあ、結果は上々である。いろいろと条件を変え、データを変更、修正、削除・・・再入力。特に問題はない。SONARのトラックには滞りなくノートイベントが入力されている。(ホッ・・・)

 次の段階でのテーマはすでに決めてある。次回はこれについての報告となるであろう。

 続く・・・

 (2003.11.12)



・追記 2003.11.30


 さて、今回の報告分までの間もコツコツと開発作業を進めてきた。その途上にあってSONAR側のプロジェクトファイルでのある条件にも対応しなければならない可能性に気がついた。そのある条件とは”変拍子”を含む場合の事である。本ソフトは開発の当初より入力位置を”絶対値”、すなわち小節・拍・拍内のTick数をそのまま指定して(つまり、楽譜の表記にしたがって)、各ノートイベントのそれらの値をトラックの先頭からのTick数に変換した後、その値にしたがったトラック内の位置に実際のノートイベントを生成させる事を目指していたが、しかしながら、もしその入力されるべき位置より前方に変拍子が含まれる場合、たとえ当ソフト側で楽譜表記にしたがって指定したとしても、SONAR側ではおかまいなしにTick値に割り当てられる小節と拍とを変拍子に応じて変化させる事が考えられる。この場合、当然拍子の増減に応じて実際の入力位置にはズレが生ずる。

 ここで実際に上記のような条件を与えて実験をしてみた。まず1小節目は4/4拍子であり、2小節目は2/2拍子(つまり2拍少ない)、3小節目は再び4/4拍子としてみた。そして1・2・3・小節の先頭にノートイベントを生成させるべく、まずは”楽譜表記”どおりに入力・実行してみたが、案の定3小節目で2拍分後ろに入力されてしまっている。終始単独の拍子で進行する作品なら全く問題はないのであるが、曲中で拍子が変更される事態は思いのほか多いものである(私自身がそうである)。そのような場合にあっても対応できないというのは方手落ちであろう。もちろん、拍子の増減を見越して(例えば2拍分減らしながら)入力していく事もできようが、それでは不便であるし不自然である。できればこのような不自然さは取り除きたいものである。

 SONAR側の内部的なTick値は絶対的なものである。対して楽譜上の位置が示すところのものは相対的なものである。拍子が変わればTick値に対応する楽譜表記上の位置は変化する。この課題を回避するために私はもうひとつの入力方法を追加しなければなるまい。手っ取り早いのはSONAR側で入力位置を指定させてしまえばいい。つまり入力したい位置にカーソルをもってくればいいだけの話である。この場合、各々のノートイベントの入力位置はSONARでのカーソル位置を原点として、Tick値のみで指定してやればいい(早い話が入力位置加算型ステップ式の相対値入力である)。それもまた可能である(というより元のサヤに戻ったということである・・・苦笑)。この事により当ソフトは2つの入力方法を用いる事ができるようになった。まあ、私的には楽譜的な絶対値入力の実現を目論んではいたのであるが、当ソフトは所詮外部ツールである。見ず知らずのものにSONARは対応してはくれないようである。こちらの方で対応するしかない。しかし、当ソフトの前身である”Calmatrix”の場合は事態が異なる。こちらはSONARお抱えのCAL機能によってデータを処理するので、たとえいかなる変拍子を含んでいたとて楽譜どおりの位置にしたがってノートイベントを生成する事ができる(実験済み)。ああ、SONAR 3では例の不具合は解消されているのだろうか・・・。ともあれこのような経緯から当ソフトは当初の”絶対値入力”から”相対値入力”に重きを置くべく、その開発路線を修正する事とした。もっとも、それはそれで充分に利点はあるのだが。

 あわせて使用説明書(つまりマニュアルというもの)を書き始めた。ここまでのところ全開発行程の7〜8割程度の進展具合か。

 2003.11.30



・追記 2003.12.1

 昨日は久々に現在までの開発の進展状況を紹介したけれども、今夜も少々補足としてここに書き加えておきたいと思う。

 実のところ、本プロジェクトには正式な名称がない。いや、この事は前身の”Calmatrix”についてもあてはまる。”Calmatrix”とはあくまでも開発コードとしてのものである(まあ、このままでもいいのだが・・・)。何か適当なものはないであろうか。・・・と、思い巡らせている内に私はひとつ思い出したことがある・・・。それはひと月半ほど前に”Active SONAR”というサイトの管理者様のご好意で同サイトの掲示板にて本プロジェクトについての紹介をしていただいた事がある。その折、私も”作者より”として書き込みに参加させていただいたのだけれども、話題はいつしかあらぬ方向へとなびいてしまった。例えば音名のドイツ式表記からドイツ語の発音、ドッペルクロイツからドッペルゲンガーへ、それが転じて精神病理学などなど・・・。まあ、そのスレッドも程なくして収束したのであるが、私はこの時の経験の中から”ドッペルゲンガ−”=Doppelgänger(2重身現象)という語の響きが何となく気に入った。またその意味は本プロジェクトの出自を考えてみた場合、絶妙に重なり合う要素がある。つまり、現状のSONARにおけるCALの一部の不具合により、本体たる前身の”Calmatrix”はその想いを遂げる事が出来ず、終にはその本体から離脱したかのごとく本プロジェクトとして、蒼ざめた面持ちで夜な夜なSONARユーザーのもとを徘徊する・・・。といったぐあいである。(ダメであろうか?)

 ともあれそのような理由で本プロジェクトに正式名称として”Doppelgänger”の文字を冠することにした。しかしながら”Doppelgänger”現象とは単体では成り立たない。本体とワンセットでなければならないであろう。したがって、前身の”Calmatrix”にもこの名前を適用しよう。しかし、実用の面からいえば異なるソフトウェアが同一の名称であるのでは具合が悪い。ならば、固有の番号でも割り当てて区別する事にしよう。本体の方は”Doppelgänger Eins”(ドッペルゲンガ−・アインス(1))、本プロジェクトの場合は”Doppelgänger Zwei”(ドッペルゲンガ−・ツヴァイ(2))としよう(けっこう安易・・・)。そして双方共に誉れ高い(?)”Eingang/Calmatrix”(アインガング/カルマトリクス=もちろんドイツ語読み)の文字を副称として分け与えようではないか。この事からすると本プロジェクトの真の名称は・・・

 ”Eingang/Calmatrix Doppelgänger Zwei. SONAR
®における音の生成を数値入力で補完する外部入力装置”

 ・・・という事になる(な、長い・・・)。”通常はDoppelgänger Zwei
”でいいだろう。その大げさな名称と、多少不気味な意味合いからしてもかなり”マニアック度”が高いのだ。いかがなものであろうか?

 さて次に、昨日から書き始めたヘルプファイルであるが、今夜も少し書き足した。こちらも8割程度仕上がっている。何分、今まで自分専用の私的なプログラムばかり手がけてきたので”使用説明書”、”ヘルプファイル”などの類は作った事などなかった。実際に作ってみると意外にめんどうなものである。まあ、それでも今週中には仕上がりそうな気配である。

 2003.12.1



・追記 2003.12.11

 先週はたちの悪い風邪を患ってしまい、ほとんど何の進展もみる事は出来なかった。”使用説明書”も仕上げるつもりではあったけれども、まだ仕上がっていない。しかしながら体調の方も通常の状態に戻ったので4日程前からボチボチ手がけている。それはもちろん本体の方についても同様である。

 さて、その本体についての進展状況としてはただ今のところ、各種設定データの保存と読み出しについての方法に改造の手を加えている。この事は次のような理由によるものである。すなわち、本プロジェクト”Calmatrix Doppelgänger Zwei”の基本的な機能は、前身である”Calmatrix Doppelgänger Eins”よりそのほとんどを継承している。元来このプロジェクトは私自身が使うために開発を進めてきたものである。そのような理由から様々な設定データはWindowsのレジストリを保存場所として利用していたのであるが、しかしながら私以外の方にも使っていただく事態を想定するとなれば若干ながらも配慮しなければならない可能性もまた生じてくるものと思われる。

 例えばこのプログラムを使っていただける方がおられた場合、もしかしたらその方はご自分のマシンのレジストリにデータを書き込まれる事を快く思われない可能性もない訳ではないであろう。このような事態の観測に鑑みて私は各種設定データの保存に関してレジストリを利用するのではなく、本プロジェクトに固有な”.ini”ファイルをデータの保管場所として用いる事にした。・・・という事でこの部分の書き換え作業も本日になってほぼ完了した。

 目下のところSONARを立ち上げての耐用試験を断行中。今のところ致命的なバグは検出されていない。あとは遅れていた”使用説明書”を今週中にも仕上げてしまいたい。

 年内での一応の仕上がりは何とかなりそうな気配である。しかし最終的な問題の本質は、この開発作業に有効に充当し得る私自身の生活時間の断片がどれほど有るのかである。・・・時節柄、年の瀬とは意に従わず何かと慌しいものであるから・・・。

 2003.12.11



・追記 2003.12.14


 先日の報告より、コツコツと少しづつ本プロジェクト”Calmatrix Doppelgänger Zwei”の開発も進んでいる。本日までにほぼ確定したのはユーザーインターフェイスの中核機能となる”入力パネル”の仕様である。以下、本プロジェクトの標準入力機能である”加算式相対値入力”(ステップ入力)における各入力項目の様子である。これは全てのノートイベントはテン・キーのみで入力でき、各項目はEnter・キーで確定、自動的に次の入力項目に移動できるようになっている。第2の入力方式として”絶対値入力”も使用できる(要初期化)。また、音高パラメーターに関してはMIDI値と、もしくはドイツ式音名(半角)とノートナンバーに対応したオクターヴ値を併記する方式(gis6,e4など)とを選択可能にした(下記の絵柄は加算式相対値入力、および音高入力にMIDI値を選択した場合の入力パネルの有りようである)。

 

 ”Calmatrix Doppelgänger Zwei”は現在においてはかなりマニアックな部類のノートイベント入力方式に入ると思われる”数値入力”を実現させるためのソフトウェアである(かつては”レコンポーザ”があったが)。今どきどれほどの需要があるのかは全くの未知数であるという他はないけれども、たとえわずかながらの方でも関心を持っていただけるのであれば、それはそれで私としては喜ばしい限りである。

 2003.12.14



・追記 2003.12.20

 以外にテコずる羽目となってしまったヘルプ・ファイルも、遅ればせながらようやく体裁を整えてきた。今夜の行程としてはとりあえずコンパイルしたモノをWinHelp APIによってCalmatrix Doppelgänger Zweiに実装してみた。結果は上々・・・というか単に起動するといった程度のものであるが。

 しかし問題は中身である。ヘルプの内容としてはまだ彫り込みが浅いように思える。今一度再考の余地があると思われる部分が見受けられる。ともあれ私以外の方に使われるであろう事を大前提としたものなので、それは言うまでもなく容易に理解し得るものであることが望ましい。

 さて、一方の本体の方はといえば、すでに仕上げの段階に入ったともいえる様相を呈している。いくぶん屈折した過程を経たものの、ひとまずは順調に事は運んでいるといえる(今のところは・・・)。次の段階としての行程は、私のもうひとつのPC環境、すなわちOS/Windows98、CPU/MMX Pentium 200MHz、メモリー/256MBという、すでに過去の遺物ともいえるスペックのVAIOノートを実験台として、さてその場合にあって果たしてうまく動作するのかを検証してみる事である。これはもちろん配布用のセットアップ・プログラムの試験もかねるという意味合いも含まれている。動作環境としては体験版のSONARをダウンロードして用いたい。少なくも私は同一の製品版を異なる環境にセットアップするような真似はしたくないので・・・。ともあれ、この土壇場ともいえる段階でのドンデン返しの無き事を祈る想いである・・・というのは大げさであろうか?まあ、順調であるならば年内にも一定の評価、判断を下せるであろう。

 2003.12.20



・追記 2004.1.3

 新年を迎えて2日間はひとまず手を休めた。しかし、手は休んでいたけれども頭の方は稼動していた。その意味は?・・・実のところ”Doppelgänger Zwei”は旧年12月中には開発環境内での動作試験に限ってはとりあえずパスしていたといって良いコンディションであった。しかしながら、さて次の段階としての別環境にセットアップしての動作試験に臨む段階を前にして、気にかかる事柄が出てきた。つまりそれはセットアップ・ファイルの大きさに関する課題というものである。まあ、圧縮すればサイズをある程度小さくする事はできるが、しかし無駄を隠してのサイズの肥大はあまりよろしい事とはいえない、ということに相成ってサイズの縮小に関わる要素を見直すことにした。

 まず、必要以上の肥大化の第1の要因は、何を隠そう今回初めて”まともなもの”として作成してきたヘルプファイルにあった。これはほぼ完成しているのであるけれども、たかだか7ページほどの内容にしてはサイズは約5MB程度になってしまっていた。このヘルプファイルはユーザーの分かり易さを配慮して、6種類ほどの画像ファイル(BMPファイル)を埋め込んだのであるが、これがまずかったようである。しかし、やはり画像があった方がユーザーの理解は得やすい。よって、画像は極力削除せずに、全てグレースケール化してみた。これだけの作業でもサイズ縮小にはかなり与するところの結果となった。ついでながら本文の方も、まとめられるところは努めてまとめ上げ、少しでもサイズ縮小に貢献するようにした(こちらはあまり効果はないのであるが)。

 次の要因としては実は潜在的な要因なのであるのだが、VB特有の”ランタイム・モジュール”についてである。これはVBによって開発されたソフトをPC上で動作させるために必要な一連のファイル群をいうのであるが、これらのサイズは事のほか大きいらしいのである。私が今まで開発してきたソフトはみな自分専用としての使用を前提としてきたこともあり、これはひとつの盲点であった。この課題に関しては、例えばユーザーのPCにすでにVB6ランタイムがインストールされているケースも有り得る。この場合に限ってはランタイムを添付する必要はないであろう。しかし、当然その限りではないので、やはりランタイム・モジュールの添付は必要であると思われる。つまり2つの可能性、すなわちランタイムの添付/無しとの分岐が考えられる。また、セットアップ・プログラムとランタイムとを別個にダウンロードするという事態も考えられる。しかしながらMicroSoftではVBランタイムの単独での配布を禁じているとのことであり、VBランタイムを単体で配布する事は出来ない。何らかのソフトに添付されての配布となる。だがこのことからソフト開発者の中には、なるべく小さく、簡単なソフトに添付する形で最新のVBランタイムを配布している方もおられる。このような、いわば合法的なソフトは例えば”Vector”などで簡単に見つけられるであろう(”VBランタイム”等で検索)。このような事情からVBランタイム有り/無しの2つのパッケージを用意しておき、ユーザーの選択肢にまかせて利用していただけるようにしておくのが親切かも知れない。まあ、それはそれで手間のかかる作業が必然的に追加される事を意味するのであるが。

 しかし、まだ他にも配布されるべきファイルは存在するのであるが、まずはこのあたりをはっきりさせたいと思う。また実際にやって見なければ分からない要素もある。最終的にはどれほどのサイズになるであろうか?。そしてさらなる課題は、実際のセットアップ・プログラムをどのようなかたちでアップロードするかである。私の現在のHPスペースは容量が小さいので他の事を考えると少々不安である。となると別のサーバを探すか、Vectorなどのダウンロード・サイトを利用するのか、挙句の果てにはCD-Rなどに保存して郵送?・・・。いや、これは難しい。まあ、ともあれシェイプアップである。

 蛇足ながら、最近では私自身においても上記のような作業が必要なのでは?という認識を持ちつつある(こちらの方がより難儀かも知れない・・・)。

 2004.1.5 (正月3日には書き終えていたのであるがアップロードしていなかった・・・あぁ正月ボケ・・・)



・追記 2004.3.24

 ・・・ということで私個人の諸般の事情により、何と約2ヶ月もの間というものDoppelgänger Zweiの開発に関わることが出来ずにいた。しかし、ようやく(そう、本当に”ようやく”である)先週あたりから時間的余裕も出来てきたのでボチボチと作業の続きをし始めていた。本日はとりあえず配布パッケージ(.CAB形式)を作ってみて、別のPCにインストールし動作させてみた。セットアップを含めて特にこれといった不具合はみられなかったが、全ての動作を試験してみたわけではないのでもう少し試してみたいと思う。ちなみにこのPCのスペックはOS/Windows98、CPU/MMX Pentium 200MHz、メモリー/256MBである(VAIOノート)。そしてSONAR2.0体験版をインストールしてある。ノートイベントの数値入力は正常に機能しているようである。

 次に今回はもう一度ヘルプファイルを見直してみようと思い、結果としていくつかの部分を修正した。あと、問題なのが配布パッケージに最新版VBランタイム・モジュールを含めるか否かという事であるが、現状ではやはりそれを含めての配布は難しい(ファイル・サイズやサーバー容量との兼ね合い)。よって、今回の試用版にはVBランタイムを含めず、テスター様の側で対応していただく事にした。現在のところ配布パッケージのサイズは2.38MB程度である。

 ついでながらダウンロード用のページもこしらえ始めている。もちろん、まだアップロードしてはいないのであるが、出来れば月内にはDoppelgänger Zwei試用版の配布用パッケージをリリースしたいと思っている。ご協力を仰げれば幸いである。



 ・追記 2004.3.31


 Doppelgänger Zweiのひとまずの仕上げに再び取りかかってより、作業工程の方もいよいよ佳境に入ってきた感がある。私の知らぬところで息をひそめているバグの叩き出しである。それはいろいろなかたちで、思いもよらぬところから飛び出してくるものである(実際に出て来た)。そしてその都度の修正と検証。コンパイルをしては仮の配布パッケージをこしらえて、別の試験環境に再セットアップをする。そこでも過酷な動作試験が待っている。おかげさまで私は2つのPCの間を行ったり来たりという訳である(開発用PCは小屋に有り、もう一方の試験用PCは母屋にあるのだ)。そしてそのために作ったパッケージのおびただしいほどの残骸・・・。

 前回の報告より本日までの間にあるのは上記のような根気のいる往復作業と若干の疲労である。その中にあっていくらかの仕様の変更を講じた。また、ヘルプ・ファイルに使っている画像ファイルと現在のデザインとの間には無視しかねるほどの隔たりが見られるようになってきたので、改めてヘルプ・ファイル用の画像を作り直した。と、同時にヘルプ・ファイルの本文の方も一部書き換えなければならない。

 とにかくも今は持久戦である。しかし、ひととおりの仕上がりまでの見通しは見えてきたように思う。それは意外と近いかも知れない。



・追記 2004.4.5

 ただ今の状況も開発環境Aと試験環境Bのマシンとの間を行ったり来たりというところであろうか。配布パッケージを焼いたCD-Rを片手にうろつき回るのもいささか飽きてきたのであるが、とりあえずここは根気勝負である。それにしてもすでにどれほどセットアップとアンインストールとを繰り返したであろうか?。

 単調きわまりない(だからこそ過酷である・・・)動作試験を進める中でいくつかの修正を加えてみた。いずれも些細なものではあるが、気になり始めたらもうどうしょうもないものである。ついでながら、背景画像に使っているBMPファイルをマイナーチェンジしてみた。それと同時に減色を講じてサイズダウンを図った。このサイズの問題は無視できない懸案事項なのであるが、本日までの間に配布用パッケージ(CABファイル)は1.96MB程度にまでサイズダウンする事が出来た。昨日までは2.07MBほどであった。

 ソース・コード的には何点か手を加えたが、そのほとんどはデータ処理に関するものではなく、操作性に関わる部分のものである。この操作性という要素は本ソフトウェアにおける重要な要件なのである。

 ともあれ作業行程のうえでも今や大詰めの段階である。もう間もなくベータテストとしての試用版を公開・リリースする事が出来そうである。もっとも、私の目論見からすればかなりの遅れをとっているのではあるが・・・。



・追記 2004.4.18


 気が付いてみると前回の記事よりすでに10日以上が過ぎてしまっている。その間、一体何をしていたのかといえば、まあ、毎日Doppelgänger Zweiの開発作業に関わっていたという訳ではないのであるが、しかし、一応の仕上げを目指して相いも変わらずソースコードをにらんだり、2台のPCの間を往復したり、はてはつまらぬミスを犯したりしながら、半ばウンザリしつつもバグの虫どもと自分自身の忍耐力との静かなるせめぎ合いの内に歩を進めてきた次第である。

 人間というもの、何か形として出来上がってくると”ああしたい、こうしたい”などと妙な色気が出てくるのが常であろう。私も例外ではなく、未だ一応の仕上がりを見ていないにもかかわらず、余計な機能を付け加えようとしていた・・・。しかし、今の段階では時期尚早である。今、大事なのは基本機能の仕上げである。現段階においてはこの部分の追い込みこそが肝要である。付加機能は後々のバージョンアップの折に追加するなりして行けばよろしい。

 ちなみに、ここで言うところの”余計なもの”とは何か?。その一端を示せば、Doppelgänger Zweiの前身、本体であるDoppelgänger Einsにおいて標準で実装されていた機能であって、既存のCALを外部から実行する専用のウィンドウである。これはその昔、Cakewalkのころに実装されていた”CALウィンドウ”(SONARになってからは廃止されてしまった)とはぼ同じもので、私なりのプラスアルファを加味したものである。さらにそれに乗じて、同じくCALを用いての補助的編集ツールも作りかけてしまった。一度作りかけてしまったものだが、実装するのか、しないのかの判断は今回は先送りした。とにもかくにも基本形、である。これらの”余計なもの”は、いずれ単体のソフトウェアとして紹介するかもしれない。

 さて、ここへ来てようやく試用版リリースの時機到来の感を深めた次第である。よって、唐突ながらここに試用版公開のお知らせをしたいと思う。まあ、どれほどの方々が私の口車に乗じていただけるのかは全く予想できないのであるが、ご協力いただけるのであれば幸いである。

 Calmatrix/Doppelgänger Zwei 試用版のダウンロード・ページを用意したので、お試しになられたい向きは以下のリンクよりどうぞ。それと同時に約半年間もの間、Doppelgänger Zweiの開発にまつわる報告をのらりくらりと記して来たこのページも終結となる。ひとまずはここで筆を置きたい。今後は専用のページを設ける予定である。

 Calmatrix/Doppelgänger Zwei 試用版のダウンロード・ページへ

 2004.4.18



 まだ虫がいるニャ・・・





 [検証・SONAR/CALの動作:目次へ]  [検証Uへ]