2009-08-28 5 views
0

ソウル:音楽アプリのインターフェースを持つ初心者。私は2つの大きな画像を持っています.1つはマスターアップまたはノーマルビュー、もう1つは完全な 'ダウン'ビューです。 (ボタンはすべて押され、点灯しています、LEDが点灯しています)。画像をコピーしてコピーすることもできます。ココアのグラフィカルインタフェースボタン

Carbonと古いMac OSでは、それぞれの画像に2つのGWorldをロードしてから、必要に応じてボタンのサブフォームがクリックされたときにCopybitsを使用してコピーし、必要に応じてblitします。

私はまだココアにこのアプローチを使用することができることを集めるが、それは、とても現代行く時間は非推奨です:

Q:ココアにして、この古いCopybitsアプローチを代用する何を?ココアで同様のことをするための最善の方法(と初心者にとっては最高の方法)...画像やさまざまな副作用をグラフィカルな作業ボタンにするにはどうしたらよいでしょうか?クリックを扱う?

GarageBandなどや、アナログクラシック(ムーグなど)を複製するVSTインストゥルメントインターフェースに似ています。基本的に、シンセのイメージを撮り、「ボタン」とノブを機能させるココアで。

私はNSViewといくつかのQuartzが必要であると思っていましたが、ここではNSOpenGLViewを考えるようになりました。それから私はNSButtonCellについて読んでいますか?イメージをカスタムコントロールにしますか?多くのMIDI I/Oと処理が同時に進行している可能性があるため、比較的スピーディーにする必要があります。

答えて

2

あなたが「現代行き」にしたい場合は、完全に現代行く....

具体的には、どこまで見... NSButtons、NSSliders、etc.etc.etcの束を使用してインタフェースをレイアウトボタンのカスタムオン/オフ画像を使用して行くことができます。スライダの場合は、おそらくサブクラスを作成して描画メソッドをオーバーライドする必要があります。

さまざまなNSControlクラスは、イベント追跡やユーザーエクスペリエンスに関連した膨大な量の重い作業を行います。あなたが本当に、本当にしなければ、その車輪を再発明しないでください。

サブクラス化され、カスタマイズされているようにも設計されています。

パフォーマンスに関しては、うまくいくでしょう。オーディオアプリの問題は、一般的にCPUの未処理のパフォーマンスではなく、レイテンシです。いずれにしても、メインイベントループからオーディオ処理をオフにする必要があります。

簡単に始めて、どこまで手に入るか見て、必要に応じてUIをカスタマイズしてください。アプリケーションをインテリジェントに設計している限り、これを行うときに多くのコードを投げ捨ててはいけません。