BeOS 及びパソコン関連の日記です。といっても毎日書いているわけではありませんが(^^;)。タイトルは「はくび(白眉)」と読んで下さい。BeOS が最も優れた OS になってくれたらいいなぁ、などと期待しながら……。
各日記の日付の部分は、その日記のアドレスへのリンクになっています。他の雑談や日記からこの日記へリンクを張る際の URL 取得用としてご利用下さい。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]
PR |
---|
2011/05/29 B Mode 2 用ピッチエディタの開発
うたりすをバージョンアップして、UTAU Mode 2 用のピッチエディット機能を搭載予定。
というか、Mode 2 のピッチエディタがメインで、これまでのうたりすの機能は、ピッチエディット機能の一部の位置づけ(WAVE トレース機能として提供)。
2011/05/29 A TScrollBar の謎
C++Builder XE のスクロールバーコンポーネント(TScrollBar)の挙動がなんだか妙な感じ。
2011/05/28 C++Builder XE で自作コンポーネントを作る時の要点
以下の手順で、自作コンポーネント(カスタムコンポーネント)の新規作成、プロジェクトでの使用、コンポーネントの更新ができる。
【 パッケージの作成 】
__published: __property Caption;
__published: __property OnMouseDown;
__published: __property bool ShowLimit // ShowLimit というプロパティを新設する = {read=FShowLimit, // プロパティ読み出しの時は特に処理をしないので、実体の変数名を指定する write=SetShowLimit, // プロパティ変更の時はアクセサとして SetShowLimit() 関数を呼ぶ ,default=true}; // デフォルト値は true private: bool FShowLimit; // ShowLimit の値を格納する変数名 void __fastcall SetShowLimit(bool); // アクセサの宣言。引数はプロパティの型に合わせる
private: DYNAMIC void __fastcall MouseDown(TMouseButton Button, TShiftState Shift, int X, int Y);試行錯誤と過去の経験でまとめているので、間違っている部分とかもっと良い方法とかあったら教えて下さい。
2011/05/22 Lib UTAU Ver 2.11
Lib UTAU の更新版を公開しました。
TUtauData::InsertSectionNote() などのバグを修正しました。
2011/05/18 すっぴんプラグインのソースコード
公開しました。
Lib UTAU に UTAU プラグインとしての定型処理を任せているということもあり、すっぴんプラグイン本体部分のソースコードはわずか 130 行程度です。開発速度が超遅い私としては異例の、45 分程度という速さで開発しました。
以下、少々の解説。
当初の実装では、
PBS=0;-12というようなプロパティを受け取ったら、
PBS=というように空欄にして返却していましたが、この方法ですっぴんになるプロパティは少ないことが分かりました(空欄返したらデフォルトに戻して欲しいところですが)。
2011/05/17 すっぴんプラグインのスクリーンショット
公開しました。
2011/05/15 B Lib UTAU Ver 2.10
Lib UTAU の更新版を公開しました。
TUtauSection を少しだけ強化し、SetSectionName() を実装するなどしました。
2011/05/15 A すっぴんプラグイン Ver 2.01
UTAU の音符データに施した調整をすべて除去し、「ベタ打ち」状態に戻す「すっぴんプラグイン」を公開しました。
すっぴんプラグインは Lib UTAU を用いて開発しています。
2011/05/14 UTAU でコンソールに出力されない
コンソールアプリを作って、UTAU からプラグインとして起動した場合、コンソールに文字列が出力されない。普通にコマンドプロンプトから起動した場合は出力されるのに。
C++ Builder XE の場合、コンソールアプリを作成する時のウィザードのオプションは、「VCL を使用する」「マルチスレッド」「コンソールアプリケーション」の 3 つ。
このうち、VCL は使わないからチェックを外し、コンソールアプリケーションはチェックを入れないと Win アプリになってしまう模様なので( _tWinMain が生成される)チェックを入れるとすると、調整できる選択肢はマルチスレッドのみ。しかし、これを有効にしようがしまいが、UTAU には出力されない。
C++ Builder だけではなく、Visual C++ 2010 Express で作っても結果は同じ。なんでだろ。
2011/05/08 Lib UTAU Ver 2.01
UTAU プラグイン開発支援用 C++ クラスライブラリ「Lib UTAU」をリリースしました。
UTAU 本体とプラグインとのデータの授受を手軽に行えるようにすることで、プラグイン開発の手間を軽減し、開発者の負担を軽減します。
Lib UTAU でできることの例:
2011/05/05 B うたりす Ver 4.03
UTAU 用の WAVE トレース方式自動調声プラグイン「うたりす」をバージョンアップ。Ver 4.03 を公開。
内部構造を再構築。ほぼ一から作り直している。
とはいえこれは外部から見ると何が変わっているかは分からないのだけど。
外部から見えるバージョンアップのポイントとしては、
2011/05/05 A C++Builder XE の atof() / _wtof() がバグってる
C++Builder XE で以下の簡単なコードを実行するとクラッシュする。
void __fastcall TForm1::ButtonTestClick(TObject *Sender) { setlocale(LC_CTYPE, "japanese"); double a = atof("20"); double b = _wtof(L"10"); }表示されるデバッガ例外通知は、「プロジェクト Test01.exe は例外クラス EAccessViolation (メッセージ 'モジュール 'Test01.exe' のアドレス 004DF900 でアドレス 00000004 に対する読み取り違反がおきました。')を送出しました。」。
setlocale(LC_ALL, "japanese");にするとクラッシュしない。
[ << 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >> ]