
|
Studio ftn Score Editor Classic 6.x の開発状況を報告します。
あらすじ
![]() 2009-12-31
5月末に全身打撲?と手に怪我をしてしばらくプログラミングが出来なくなった事が大きな転換期だったと思う。 その間、座って作業が出来なく、紙の上だけで開発が進められた。 紙の上の開発こそ、設計作業に他ならなかった。 右手以外は1ヵ月後に完治し、丁度その頃に設計も終わり、 プログラミングを再開したのである。 それが6.13であり、ほとんど無駄のないスムーズな開発が行えた。 これ以来、設計と開発の平行作業が実現し、順調に開発が進みだした。 パートデータ構造修正という大きな修正もほとんどバグなしでリリース。 移調機能なども順調に開発が進みリリースした。 そして、難関だった時間軸機能の設計が終わった。 これも、設計をきちんと出来るようになったからかもしれない。 さらに、フォントの品質改善の設計も完了し、 フォントエディタの開発も平行して行い、6.16開発バージョンでは、 フォント改善が無事成功しているのを確認している。 フォント改善に関しても、大きな課題であったが、 これがうまく行ったので個人的にはこれも大きな喜びである。 そして、音源改善。これも設計が終わってしまっている。 かなりの操作性向上が見込めるし、仕様も洗練させる事ができた。 昔からずっと難関で苦戦していた大きな機能の設計が全て完了している。 というのが、今年の最終成果である。 これらは6.16より順次機能が追加され、すでに50%開発は終えている。 いよいよ Classic 版の完成という山が見える所までやってきた。 おそらく来年には形になるだろう。 ちなみに、怪我のほうであるが、現在は99%は完治しており、 生活や開発において不便はない。ただ、現在においても、 右手だけは痛むが段階的に関節が復元?されている実感がある。 〜 6.16の開発であるが、時間軸機能の一部をリリース予定で進めている。 実は、もっと後でリリースを予定していた印刷改善がすぐにでも可能となったため、 印刷機能の設計を平行で始めた。 印刷機能の設計により大規模であれば次回バージョンに見送るが、 簡単そうなら6.16に組み込まれる予定である。 6.16以降は時間軸機能の開発を優先しているが、 6.17、18で、時間軸機能は完成する予定である。 〜 Win7 にすごいと思った機能があった。 XP モードである。これは、仮想のコンピュータを Win7 上で動作させ、 XP のOSを動かしてしまうというものである。 ためしにやってみたら、本当にXPが動作した。 Win7 Pro以降であれば無料でXPが手に入る訳である。 仮想コンピュータはエミュレータのようなもので、 Win7 のウインドウの中に、別のコンピュータが起動しているような見た目である。 面白いのが、Win7 上に個別のXPアプリを起動できる所である。 動作はエミュレータ上で、見た目は Win7 のアプリとして起動できる。 なので、Win7 上で、XPアプリの青いウインドウ枠のウインドウが共存している感じ操作でき、 ちゃんとクリップボードのやりとりも、XPとWin7で行える。 ただ、仮想コンピュータはエミュレータのようなものなので、 XPアプリの画面描画や動作が若干遅い感じである。 しかし、完全にXPのOSが動作しているので、完全にXPが動くと考えてよいかもしれない。 Score Editor を仮想XPで起動してみたが、音が途切れ途切れとなる。 これは、仮想XPのサウンドバッファ処理の速度が追いつかないためで、 PCの性能をアップする必要がありそうだ。Win7のデバイスを共有する設定も可能なようで、 うまくやれば、直接仮想XPからサウンドやグラフィックが動作するようにできるのかもしれない。 とても、仮想XPであるが、面白い機能なのだが、これについて、ちょっと不満もある。 そもそも、Vista カーネルそのものに不満がある。 なので、その上でXPが動いてもうれしくないのである。 むしろ逆で、XP 上で、Vista カーネルを動かしてもらいたいのである。 Vista や Win7 は、機能が少ない?し、ほとんどインターネット目的?なので、 むしろ、Vista を仮想化するべきに思える。 極論を言えば、XPのウインドウが透明になって Vista の見た目になれば、 それで、十分満足だ。 ただ、セキュリティ機能向上を考えると Vista カーネルは必要になるのだろう。 正直、セキュリティ機能は不要なのであるが・・・・。 この機能のためにOSの信頼性が低くなっている。 つまり、OSは命令どおりに動いてくれないと困るのである。 なので、今、ものすごくXPが欲しいと思っている。 無料の仮想XPでなく、今までどおりXPを販売してほしい。 間違いなくXPは優れているOSだ。しかし、見えない所において、 Vista OSは本当は優れている。プロセス管理やメモリ管理は、 XP は不安定だが、Vista はかなりしっかりしているのが、使っていてすぐに分かる。 確かに、Vista カーネルは優れていると思う。 余計な事を勝手にOSがやってしまう事と過剰なセキュリティ機能さえなければ、 Vista や Win7 は、かなり好みのOSになったかもしれない。 Vista で一番いやなのは、ファイルコピーなどの確認BOXだ。 毎回文章文字を読まないとならないので疲れる。XPのほうが分かりやすい。 文章を読み誤ると、ファイルコピーや削除の操作にユーザがミスしてしまう。 これがいちばん困る。Vista をはじめて使った時、ごみ箱そのものを間違えて削除してしまった。 いかに、操作を間違えやすいかという事である。 さらに、Vista の裏で勝手に動くバックアップ機能や、MSへの情報送信機能である。 とにかく、OSの動作結果をMSへ報告しようとするので困る。 セキュリティ強化以前に、自分が情報をもっていくというのは問題だ。 削除したファイルが勝手にバックアップされていると削除した事にならないし、 バックアップがどのような仕組みなのか分からないので、 実に困る。OSが裏で何かをやっているような、いやな感覚なのである。 たとえば、インストール後に、ただしくインストールできましたが?とOSが質問してくるのは、 かなり変と思う。ユーザには正しくインストールできかたどうかなど判断できないはずである。 こういったOSからの質問も、MSへ送信するための機能と考えられる。 MS送信機能が一番無駄な機能だと思う。 ファイル操作を間違えやすいからバックアップ機能が必要になる。 そもそも、ファイル操作を間違えないようなGUIにすればバックアップ機能も不要だ。 意味も無く、勝手に情報を溜め込まれると、ハードディスクがいっぱいになるし、 OSの動作が不安定になる。なぜ不安定になるかは語らない事にする。 ユーザが命令した事だけを忠実に行うOSが、ただただ欲しいと思う。 そうでないと、開発用として安心して使えない。 付属ソフトも、電卓などあるが、こういうのはフリーソフトで手に入る。 いっそのこと、ソフトとハードウエアが動作するだけのOSにしてしまえばよいのではなかろうか。 今回の仮想XPを標準で常駐させて、アプリごとに起動方法をどのカーネルを使うか設定でき、 複数のカーネルが共存できるようなOSにすれば面白いかもしれない。 コンピュータを丸ごとエミュレートする必要はないと思う。 しかし、あと一歩改善されれば、XP を超えられそうな予感が Win7 で感じ取れる。 もっともっと概念を捨てて良いと思う。 ちなみにファイル検索機能は XP のほうが正確なので、これも XP が手放せない理由の1つである。 OSはユーザの命令した事だけが確実に動いてくれないと本当に困るのである。 ここら辺の悩みは、本当に良く分かる。 ユーザが便利に使えるように考えるほど動作があいまいになる。 どこまでをユーザに判断させるのか。 これは、Score Editor を開発していても、共感する思いであるし、ここが難しい。 なので、Vista や Win7 を見ていると、ああ、もったいない。と思ってしまって、 つい、いろいろ語ってしまう。コンピュータやソフトはクールなくらいが丁度いい。 下手に気を利かせた親切なソフトやコンピュータは信頼が落ちるように思える。 そういったモヤモヤした機能は存在しないに等しい。 これは、Score Editor の開発でも実感した事で、 その改善に苦労しているくらいだ。 個人的に、アンビスタマイズ(ftn 語)という観点で、Score Editor の設計を行っている。 この機能はビスタマイズかどうか。 設計においてビスタマイズが存在する場合は、必ず除去する必要があるのである。 設計とはビスタマイズを事前に発見し除去する作業であると言える。 ある意味、これは数学的でもある。
Win7 は Vista ベースのOSなので、わざわざ対応しなくても動作可能であった。 なので 6.16〜6.18 リリース後に Win7 の正式対応を考えていた。 しかし、ユーザにしてみれば Vista 止まりなのか?といった不安を感じると思う。 ユーザが安心していただけるのなら。 という事で急遽 Win7 を正式対応した。 もちろん、正式対応するという事は今後のユーザ対応もサポートするという事になるし、 万が一の不具合にもきちんと対処できる。あらゆる要素を考慮して Win7 対応に踏み切った。 〜 そういうわけで、そのために Windows7 を購入した。 Vista よりは操作性が良い。という評判なので、少しでもストレスが減ればと思い、 Windows7 をインストールした。 使ってみた感じであるが、ほとんどそのまま Vista だった。 OSの名前を変えるだけのために新しいOS出さなくても・・・。 と言いたくなる。 ところが、Win7 の操作性は確かに快適であった。 カーネルは Vista そのものであるがGUIが改善され快適である。 評判の起動速度が速いというのは、特にハードウエアをつないでいないので、 Vista でも Win7 でも同じ速度のように思える。劇的な違いは感じない。 むしろ Win7 のほうが起動が遅く感じるくらいである。 Win7 のインストーラも Vista そのものであった。 忙しくインストール状況を見ていなかったが、いつのまにかインストールが終わっていた。 最初、何も文字が表示されず1枚の絵が10分間表示されるというのは、 Vista と同様だ。絵を出せるなら「おまちください」くらい出せばよいのにとは思う。 Vista 慣れしていると、無言の10分は何てこと無いが、 初心者はかなり不安になると思う。 Vista では真っ黒の画面で10分だったが、Win7 では青い背景に鳥っぽい絵が10分表示される。 不思議なことに、これだけで、良いOS。という錯覚を起こす。 インストールが終わり Win7 を使ってみると、起動の画面が、これも青っぽい感じで、 前向きな印象を受ける。ホント、これだけで、かなりOSの印象が良くなる。 Vista の場合は、古臭い年寄りのような起動画面だが、かなりの改善だと思う。 OSの操作自体は Vista 同様なので、初めての人は違和感を感じるとは思う。 Vista 慣れしていれば、なんら自然に操作できる。 Win7 の良いところは、最初に必要な項目がとても探しやすくなっている事である。 Vista と比べると、まったくストレスを感じず、初期設定が行えた。 全体的に、いろいろな項目が探しやすくなっている。 OSは常時使用ソフトなので、ストレスを感じないという事はかなり快適な印象になる。 電卓やペイントソフトが良い感じの見た目になっていた。 ペイントソフトは機能が増えているような錯覚すら感じる。 ちゃんと、ブラシっぽい線や基本図形などが簡単に書ける。 まだ、ほとんど使用していないが、Vista 慣れしているなら、 快適な印象である事は間違いない。こう考えると Vista ってなんだったのか。 という感じがする。 とりあえず、アルティメットエディションを購入したが、 言語フォント?と暗号化機能?だけがアルティメットの特徴であるが、 正直、これだけのために、エディション用意しないでほしい。 プロフェッショナル版との価格差は1000円くらい。 プロフェッショナルとホームだけでよかったのではないだろうか。 いや、プロフェッショナルの機能も普段使わないような機能しかないように見える。 正直、ホームで十分事足りそうな感じである。 言語フォント等々、全部1つのエディションにしてしまったほうが、 ユーザとしては気分が良いのではないだろうか。 エディションが多いと、開発者等々、苦労するので、かんべんしてほしい。 OSのエディションが多いとユーザも混乱する。 無意味にエディションを増やすというのをなんとかしてほしいものだが。 Vista と比べると Win7 は機能が減ったように感じるが、 不要な機能を削る事で、操作性がよくなっている。 Vista アルティメットは6万円弱くらいして、Extra は、ポーカーと言語フォント、暗号化ソフト、壁紙、だけで終わった。 かなりの不満だった。これだけのために3万追加というのは大不満だった。 その点 Win7 は価格的に3万くらいなので、機能と価格に見合うOSとなっていて、 GUIが分かりやすくなり、なんといっても、起動の背景が青になった。 これだけでも、かなり、好印象で、満足である。これでアルティメットがなかったら最高だった。 しかしながら、基本構造は Vista なので、64ビットマルチメディア関連が心配である。 価格が妥当なので、そこが許せる感じなのである。
報告1: ようやく1つの全体では小さいがとても大きい山をのりこえた。 その山とは、記号描画処理(新バージョン)の事である。 昔、単旋律における複旋律が書けるようになる。と報告したが、 その開発が無事完了した。これは描画上での複旋律機能なので、 完全な複旋律ではない。たとえば2分音符と4分音符を同じ時間位置に書くと、 旗の向きが入れ替わってしまう問題が改善される。 しかし、3連音符と8分音符の2つの旋律は書けないといった制限がある。 他には複付点が書けるようになる。8分+4分による3連やいろいろな複合連符も可能になる。 これにより、連符系の入力が自然に行えるようになる。連符の括弧も正式な?書き方を対応した。 さらに、通常の連桁の旗の太さを制御する事で安定感のある見た目に改善した。 今までは、細くて頼りない旗だったと思うが64分音符を考慮するためであったが、 6.16で改善される。 その他、記号1つ1つの描画を開発しなおし、きちんとした感じになりつつある。 記号のデータ構造も完全に新しい構造に入れ替えが終わった。 描画と同時に記号データの品質も向上させる作業がようやく完了したのである。 これにより、今後、スムーズに新たな記号が追加できる構造になった。 描画処理もかなり洗練させる事ができ、劇的に描画が高速になった。 報告2: ベクターフォントである。記号と描画の改善の際に、 ちゃんと、ベクターフォントを考慮に入れ開発した。 現在は、従来のビットマップ記号での開発が終わったが、 フォントの作成が終われば、美しい記号での描画も可能になる。 フォントは独自形式のものを使用しているが、 そのフォントエディタで、合間をみて、音楽フォントを作成している。 主要な記号のフォントの作成は終わった。付加情報の設定が終われば、 6.16 上で、美しい楽譜を見る事ができるはずである。 その時にスクリーンショットを公開したい。 報告3: エディタ上での拡大縮小表示を対応した。 描画処理改善の時にこれも考慮したのである。 開発中6.16ではすでにこれが行えるようになっている。 ただし、ベクターフォント素材がまだ作成中なので、 開発中はビットマップフォントを無理やり伸縮させて表示させている。 報告4: 拡大可能な美しいフォントが対応できる構造になったという訳だが、 これにより、印刷処理の改善が可能となった。 6.16できれいな見た目の印刷が可能になり、 印刷レイアウトに関しての印刷設定も可能になる。 まとめ: このような訳で、6.16で追加される機能が大枠決定した。 1.エディタでの拡大縮小表示 2.単旋律における複旋律と複合連符の対応&複付点等の対応 3.印刷品位改善と印刷設定機能追加 4.描画処理と記号データ改善 1.の拡大縮小は美しいフォントと従来の Score Editor フォントが選択できる。 従来を選択した場合は今までどおりの固定の大きさで従来ながらのBMPフォントを使用するので、 Score Editor らしい見た目も可能。 時間軸機能について: クレッシェンドなどはどうなったのかという話であるが、 それを実現するために6.16の改良は避けて通れなかった。 記号と描画が改善できないと時間軸系の記号が実現できなかったのである。 どうせ、記号データを改善して描画を作り直すなら、 新しい描画処理にしてしまおう。という事になってそれは無事終わった。 どうせ描画を作り直すなら美しいフォントを対応するべきと考え、 描画処理を作り直すと印刷も作り直しで、どうせなら美しい印刷で作り直そう。 といった具合に、開発手順を計算しつくした結果である。 本当は6.16でまたがり記号を対応する予定で、 その開発も行いプログラムはまたがり記号で動作しているのであるが、 それを正式にリリースすると、演奏処理を作り直さなければならなくなる。 記号改善だけでも、かなりのボリュームなので、 演奏処理も作り直すとなると作者の精神力が持たないと判断した。 そこで、またがり記号なしのバージョンを最初にリリースしてから、 ソフトを安定させ、その後に、またがり記号を対応する方針にした。 またがり記号ができるとクレッシェンドなどが対応可能になる。 なので、6.17が時間軸対応となる予定。演奏処理を作り直す余力がなければ、 見た目だけのクレッシェンドが6.17で追加される予定。 6.18で時間軸機能が完成する事になる。 6.16が実現できれば、すんなり6.18まで進むと予想されるので、 もうしばらく待っていただきたい。 実は、6.16の段階で、またがらない記号であれば時間軸機能が使用できる可能性がある。 たとえば音符である。6.16では音符ごとの強弱が設定できる機能を追加する予定である。 音符ごとにアクセントを付けて入力するくらいなら音符にその属性をもたせてしまいたい。 パートの設定という画面が現在存在しているが、記号改善により、 この画面も作り直しが必要で、どうせ作り直すなら時間軸機能を考慮して開発しようという訳である。 操作性が改善されるので、記号パラメータの入力が楽になると思う。
時間軸を実現するために、どうしても記号処理の改善が必要で、 現在取り組んでいる。 理由はクレッシェンドなどの時間的な長さを持つ記号を扱えなければならないからである。 これは、見た目のグラフィックでも長さが変化する記号となる。 まず、これを実現しないと、時間軸機能が追加できない。 記号改善は避けられない。記号を改善すると、描画関連の修正を行う事になる。 処理そのものの設計は終わっているので、現在試作を開発中。 どうせ、描画処理を改善するなら、印刷改善も影響するので、 後送りにするか散々迷っていた。 迷っている時間があるならやってしまおう。 という事で、以前開発していたフォント作成専用ツールを使って、 フォントを作成する作業を行おうとしたものの、 このフォント作成専用ツールは、 全ての操作をショートカットキーで行うツール(手抜き)だったので、 あれから時間がたった今、操作方法を忘れてしまったのである。 さらに、フォントに Score Editor 特有の付加情報をつけなければならない事になり、 フォント作成専用ツールの改善を迫られた。 しかし、使えるショートカットキーの空きもなく、機能追加困難だった。 そこで、思い切って、フォント作成専用ツールをマウス等々を使って操作できるよう、 グラフィカルなインタフェースを設計し、ツールの改善を行った。 あせらず我慢してやってしまおうと思い、やっとフォント作成専用ツールの改良が終わった。 もはや、普通に使えるソフトになってしまったが、 Score Editor 用に開発しているため公開はできない。 公開すると、これはこれのメンテが必要になるため、 Score Editor が完成した後の話とする。 このツールはフォント作成に特化した機能しかなく、プログラム言語で制御するための、 データしか作成できない。使用ユーザも限られてくるため、 公開しても、メリットはないと判断した。 話を戻すが、フォント作成専用ツールが完成したので、 本当にフォントを作っていくだけとなった。 実は、以前のツールでもいくつか記号を作成中であり、途中で作業を中断していた。 そして、いよいよ描画処理の改善を行うべく、 ツールで作成したデータを使って、描画テストを作った。
上に示す画像がそのテスト結果である。 上が、従来の描画法、下が、新しい描画法である。 まだ、線が細かったり、右側が欠けているなどの問題があるがこれから描画精度を高める開発をする。 違いは、フォントの形状とふちの滑らかさだ。 もちろん、このフォントは、いくらでも拡大できるようになっているので、 印刷改善が可能となる。 実を言うと、ふちの滑らかなフォントは輪郭がぼやけるので、 作曲の気合が抜ける。それで、当初からビットマップのフォントをわざわざ作っていた。 作曲だけに専念するには、見た目の美しさは邪魔になる。 なので、完全に白と黒のドットでフォントを作成していた。 このほうが作曲時に気持ちが引き締まるのである。 しかし、こうやって、比べてみると、なめらか版もなかなか良い。 どうしても、ユーザはなめらか版を選ぶだろう。 ただ、Score Editor のこだわりもあって、 標準から縮小までのフォントは従来のものを使い、 標準以上の拡大の時になめらかフォントを使うよう設計している。 印刷時は、必ずなめらかフォントを使う。 しかし、ギザギザ版は、力が抜けるような気もしないでもない。 どちらを使うかはオプションで設定可能にする予定。 ともかくようやく新しい素材が扱えるようになったので、 いよいよ記号改善の第一段階へ開発は進む。 ![]() |