ページへ戻る

− Links

 印刷 

技術情報 のバックアップの現在との差分(No.4) :: Magome

xpwiki:技術情報 のバックアップの現在との差分(No.4)

« Prev[4]  Next »[5]
4: 2014-10-01 (水) 09:02:50 Magome開発元[6] ソース[7] 現: 2015-11-03 (火) 10:05:35 Magome開発元[6] ソース[8]
Line 11: Line 11:
-VSTSDK2.4 を使用。3.0系は未調査、未着手。 -VSTSDK2.4 を使用。3.0系は未調査、未着手。
-規格上かなりローレベルなインターフェースなので、VST によって NG なお作法などがある。特にスレッドについての取り決めはかなり緩そう。 -規格上かなりローレベルなインターフェースなので、VST によって NG なお作法などがある。特にスレッドについての取り決めはかなり緩そう。
---メンテもされている VST プラグインであれば、排他処理やスレッド管理をしっかりとしてそうなので、ホスト側をどう組んでも動いてくれそうだけど、そうでもない VST プラグインが存在していそう。+--メンテされている VST プラグインであれば、排他処理やスレッド管理をしっかりとしてそうなので、ホスト側をどう組んでも動いてくれそうだけど、そうでもない VST プラグインが存在していそう。
--VST ホスト処理として安全に組むなら、全てのインターフェースを1つのスレッドでのみ使うのがいいんだろうが、オーディオ処理系と設定画面(UI)系を同じスレッドで処理するのは、パフォーマンス的に厳しそうなので、そこは分けるしかなさそう。 --VST ホスト処理として安全に組むなら、全てのインターフェースを1つのスレッドでのみ使うのがいいんだろうが、オーディオ処理系と設定画面(UI)系を同じスレッドで処理するのは、パフォーマンス的に厳しそうなので、そこは分けるしかなさそう。
--なので、VST ホスト処理としては、cubase とかの有名アプリではそうしているであろう挙動に合わせていくのが正解っぽい。 --なので、VST ホスト処理としては、cubase とかの有名アプリではそうしているであろう挙動に合わせていくのが正解っぽい。
Line 40: Line 40:
*SQLITE [#g4dd63ec] *SQLITE [#g4dd63ec]
-Magome サーバーにて、楽曲データなどの管理で使用。 -Magome サーバーにて、楽曲データなどの管理で使用。
 +
 +*cairo [#qb178f5f]
 +-描画処理で使用。Win32API(GDI)を出来るだけ直接使わないように。
 +-メモリリーク?
 +--使っていくうちにメモリを切迫していくようなものではなさそうだけど、アプリ終了時にメモリ解放してないように見受けられる箇所があるっぽい。OSのプロセス終了によりメモリ解放を期待しているってことなんだろうか。それとも当方の使い方が悪いのか。他で cairo を使っているアプリ(GTK+とか)はどうしているんだろう。
 +
*アプリケーションの自動更新 [#g9e1d1ca] *アプリケーションの自動更新 [#g9e1d1ca]
-アプリ起動時にサーバーのファイルを参照して、新しくなっていれば、ダウンロードして自身を置き換える。 -アプリ起動時にサーバーのファイルを参照して、新しくなっていれば、ダウンロードして自身を置き換える。
-サーバー上の zip ファイルを参照する。フル版とかアップデート版とかの区別はナシ。(リリース時の手間やミスを減らす為、ファイルを zip で圧縮してサーバーにアップすればリリース完了という仕組み) -サーバー上の zip ファイルを参照する。フル版とかアップデート版とかの区別はナシ。(リリース時の手間やミスを減らす為、ファイルを zip で圧縮してサーバーにアップすればリリース完了という仕組み)
--zip ファイル内のハッシュ値と、ローカルファイルのハッシュ値を比較して要更新かを判断する。+-zip ファイルのヘッダにあるハッシュ値と、ローカルファイルのハッシュ値を比較して要更新かを判断する。zip のヘッダ箇所だけで判断可能にすることで無駄な通信を行わないようにしている。
 +**zlib [#n52958eb]
 +-zip のヘッダについては自前で処理が可能だが、アプリ更新の際、圧縮されたデータを展開する為に zlib を使用。
*ループ再生 [#ha18f3bc] *ループ再生 [#ha18f3bc]
« Prev[4]  Next »[5]