3: 2014-09-28 (日) 22:30:21 Magome開発元[6] [7] | 4: 2014-10-01 (水) 09:02:50 Magome開発元[6] [8] | ||
---|---|---|---|
Line 10: | Line 10: | ||
*VST [#p59f6bae] | *VST [#p59f6bae] | ||
-VSTSDK2.4 を使用。3.0系は未調査、未着手。 | -VSTSDK2.4 を使用。3.0系は未調査、未着手。 | ||
+ | -規格上かなりローレベルなインターフェースなので、VST によって NG なお作法などがある。特にスレッドについての取り決めはかなり緩そう。 | ||
+ | --メンテもされている VST プラグインであれば、排他処理やスレッド管理をしっかりとしてそうなので、ホスト側をどう組んでも動いてくれそうだけど、そうでもない VST プラグインが存在していそう。 | ||
+ | --VST ホスト処理として安全に組むなら、全てのインターフェースを1つのスレッドでのみ使うのがいいんだろうが、オーディオ処理系と設定画面(UI)系を同じスレッドで処理するのは、パフォーマンス的に厳しそうなので、そこは分けるしかなさそう。 | ||
+ | --なので、VST ホスト処理としては、cubase とかの有名アプリではそうしているであろう挙動に合わせていくのが正解っぽい。 | ||
+ | --もしかしたら世の VST ホストアプリの中には、特定プラグインの場合には特別な処理をするとか、そういう継ぎ接ぎっぽいことをしているものもあるのかも。 | ||
*ASIO [#v9a612fa] | *ASIO [#v9a612fa] | ||
Line 31: | Line 36: | ||
**boost::asio [#m0182c20] | **boost::asio [#m0182c20] | ||
-Winsock をなるべく直接は使わず boost::asio のお世話になっている。が、通信以外でも、非同期IFとしての利用にも便利。 | -Winsock をなるべく直接は使わず boost::asio のお世話になっている。が、通信以外でも、非同期IFとしての利用にも便利。 | ||
- | - Web サーバーのとの通信には基本的に使わない。Magome サーバーとクライアントアプリとの通信で使用。(Web サーバーとのやり取りは IE コンポーネントを利用。) | + | - Web サーバーのとの通信には基本的に使わない。Magome サーバーとクライアントアプリ間の通信で使用。(Web サーバーとのやり取りは IE コンポーネントを利用。) |
- | + | ||
- | *Webサーバー [#od6dba02] | + | |
- | -自前サーバーで頑張るのは何かとコストがかかる為、よくある単純なレンタルサーバーで動作出来ることを念頭に置いている。現在はさくらのレンタルサーバーを利用している。 | + | |
- | -HTTPS 通信を基本にしている。Facebook や twitter 認証(OAuth)を利用している手前、平文は避けたほうが無難。 | + | |
- | + | ||
- | + | ||
- | **XOOPS Cube [#xc86e2f1] | + | |
- | -Web サーバーの土台として利用。 | + | |
- | -ユーザー(アカウント)の管理は Web サーバー(XOOPS Cube)の管轄。 | + | |
- | -自作の Magome 用の管理モジュールを組み込んである。 | + | |
- | -UserAgent を見て Magomeサーバーおよびクライアントからの接続の場合には、それぞれのアプリの組み込みブラウザ向けに適したページを出力する。 | + | |
*SQLITE [#g4dd63ec] | *SQLITE [#g4dd63ec] | ||
Line 51: | Line 44: | ||
-アプリ起動時にサーバーのファイルを参照して、新しくなっていれば、ダウンロードして自身を置き換える。 | -アプリ起動時にサーバーのファイルを参照して、新しくなっていれば、ダウンロードして自身を置き換える。 | ||
-サーバー上の zip ファイルを参照する。フル版とかアップデート版とかの区別はナシ。(リリース時の手間やミスを減らす為、ファイルを zip で圧縮してサーバーにアップすればリリース完了という仕組み) | -サーバー上の zip ファイルを参照する。フル版とかアップデート版とかの区別はナシ。(リリース時の手間やミスを減らす為、ファイルを zip で圧縮してサーバーにアップすればリリース完了という仕組み) | ||
- | -zip にあるハッシュ値と、ローカルファイルのハッシュ値を比較して要更新かを判断する。 | + | -zip ファイル内のハッシュ値と、ローカルファイルのハッシュ値を比較して要更新かを判断する。 |
Line 57: | Line 50: | ||
-時間の正確さを重視した作りを念頭に。 | -時間の正確さを重視した作りを念頭に。 | ||
--ループ位置に巻き戻る処理では時間を止めずシームレス(ギャップレスっていうのかな?)に処理する。 | --ループ位置に巻き戻る処理では時間を止めずシームレス(ギャップレスっていうのかな?)に処理する。 | ||
+ | |||
+ | |||
+ | *Webサーバー [#od6dba02] | ||
+ | -自前サーバーで頑張るのは何かとコストがかかる為、よくある単純なレンタルサーバーで動作出来ることを念頭に置いている。 | ||
+ | -HTTPS 通信を基本にしている。Facebook や twitter の OAuth 認証を利用している手前もあるし、XOOPS 標準のユーザー認証もあり得るので、平文は避けといたほうが無難。 | ||
+ | -現在はさくらのレンタルサーバーを利用している。SSL証明書もさくらインターネットが用意しているものを利用。 | ||
+ | |||
+ | **XOOPS Cube [#xc86e2f1] | ||
+ | -Web サーバーの土台として利用。 | ||
+ | -ユーザー(アカウント)の管理は Web サーバー(XOOPS Cube)の管轄。 | ||
+ | -自作の Magome 用の管理モジュールを組み込んである。 | ||
+ | -UserAgent を見て Magomeサーバーおよびクライアントからの接続の場合には、それぞれのアプリ向けに適したページを出力する。 |
(This host) = https://tr9.sakura.ne.jp