問題タブ [juce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - XCode 4.6 - スタック トレースなしで EXC_BAD_ACCESS をデバッグする
私はすでにしばらくの間ウェブを検索しましたが、私の問題は非常にまれであるようです:
C++ で JUCE を使用してオーディオ ユニット プラグインをプログラミングしています。ホストで実行すると、ホストがクラッシュします。プラグインをロードする前に XCode デバッガーをホイストに接続すると、次のようになります。
デバッグ コンソールに「bt」と入力すると、次のように表示されます。
スタック トレースを取得できないため、バグの原因を特定できません。不正なアクセスが発生する直前に何が実行されたかを確認すると非常に役立ちますが、方法がわかりません。
プログラムのどこかにブレークポイントを設定し、そこからクラッシュに到達するまでゆっくりとコードを進めていきます。私はこれを行い、最終的に実行はソース コードを残し、アセンブリ ラインを取得します。「ret」コマンドで多くの呼び出しから飛び出しているのがわかります。最終的に、1 つの「ret」コマンドで、クラッシュが発生します。
アセンブリ コードは、プラグインを実行するホストからのものです。しかし、クラッシュはさまざまなタイプのホストで発生するため、私の側に問題があると確信しています。何か案は?
ありがとうございました!
c++ - YouCompleteMe および C++ 診断の不適切なエラー
C++ 開発用に Vim で YCM を動作させようとしています。私はJUCEフレームワークを使用しています。Ctags とオートコンプリートはうまく機能しています。ただし、「ガター」に赤い矢印として多くの間違ったエラーが表示されます。
例えば
whenaddAndMakeVisibleは継承されたクラスの関数でありComponent、オートコンプリートにも表示されます。
また、次のような多くのエラーが発生します。
私.ycm_extra_conf.py: https://gist.github.com/adamski/a793a24b026f68a1074e
絶対パスとローカル プロジェクト バージョンを使用して JUCE ライブラリを追加し、@ladislas の例から提案をコピーしました。
:YCMDebugInfo の出力 https://gist.github.com/adamski/2e7dd79b45d0fb6f5010#file-ycmdebuginfo
:YCMDiags の現在の出力https://gist.github.com/adamski/8fad8e0724a03854912b
問題を再現するリポジトリの例: https://github.com/adamski/juce-chapter02-07
私.vimrcのように見えます:
c++ - クラス参照を使用して別のクラス内のパブリック メンバーを変更する
私の最後の質問にはコードが多すぎたので、私がやろうとしていることの最も簡単な例を作ろうとしました. これを例にとると..
私が VST プラグインのコーディングに使用している API である JUCE には、JUCE が「String」と名付けた文字列クラスがあります。コンストラクターが何をするのか正確にはわかりませんが、このようなものを使用して String オブジェクトを作成できます。
私の場合の ClassTwo は、このように ClassOne からアクセスできる public メンバー変数を持つ AudioProcessor クラスです。
私の場合の ClassOne は、GUI で使用しているカスタム コンポーネント (PixelSlider と名付けました) です。スライダー リスナーを使用してスライダーの状態を確認し、ClassTwo(AudioProcessor) のメンバー変数を変更します。上記の方法を使用してこれをうまく行うことができますが、必要な数の ClassOne(PixelSlider) オブジェクトを作成したいという問題があります。ClassTwo(AudioProcessor) のどのメンバー変数を変更するかを伝える String オブジェクトを渡したいと思います。論理的には、これは、ClassTwo メンバー変数の名前と同じ文字列値を持つ String オブジェクトへの参照を渡すことによって行われます。このような、...
これは JUCE では機能しませんが、さまざまな ClassTwo(AudioProcessor) メンバー変数を変更する ClassOne(PixelSlider) とほぼ同じように、さまざまなクラスの束を作成することなく、これを行う方法を誰か教えてもらえますか?
c++ - windows/c++: シグナル ハンドラーから有用なスタック トレースを取得するにはどうすればよいですか?
Windows/C++ アプリ (JUCE を使用) があり、アプリがクラッシュしたときにスタック トレースをファイルにダンプしたいと考えています。私の初期化コードには、次のものがあります。
そして、私のハンドラーは次のようになります。
ただし、結果のスタック トレースは、クラッシュが発生したスレッドではありません。
内部的にgetStackBacktraceは、次のことを行います。
クラッシュが発生したスレッド (またはすべてのスレッド) のスタック トレースを取得する方法はありますか?
android - ネイティブ Android アプリとタッチ イベントの更新レート
JUCE C++ フレームワークを使用してネイティブ Android アプリを開発しています。アプリは OpenGL を使用してレンダリングしています。非インタラクティブなアニメーションは非常にうまく機能します。ただし、コンポーネントのドラッグなどのインタラクティブなタッチ応答アニメーションは、更新に時間がかかります。まったく滑らかではありません。私は Java 側で測定し、各 ACTION_MOVE イベント間の平均は約 70 ~ 80 ミリ秒でした。
更新: 主な問題は、移動するコンポーネントの下にあるもののレンダリングに関係していると思います。ウィンドウ デモを使用して JuceDemo を試してみたところ、ウィンドウを別のウィンドウの上にドラッグするとパフォーマンスが低下することがわかりましたが、空のスペースしかない場所でウィンドウをドラッグすると、正常に動作し、スムーズに感じられます。
アプリのアニメーション UI の応答性を向上させる方法はありますか?
handlePaint()OpenGL コンテキストがある場合にネイティブ関数が呼び出されないように、Introjucer が提供する標準の Java テンプレートにいくつかの変更を加えました。(ここで提案されているように)
c++ - 「JUNK」サブチャンクのないヘッダーを持つオーディオを JUCE で録音するにはどうすればよいですか?
オーディオを録音したり、オーディオ ファイルを開くことができるJUCEライブラリを使用してアプリケーションを開発しようとしています。音声ファイルはopenSMILEプログラムに渡され、その特徴値が抽出されます。すべてのオーディオ ファイルは wave 形式であり、アプリケーションは最終的に iPhone プラットフォーム用にビルドされます。
アプリケーションがオーディオを録音し、ファイル ディレクトリからオーディオ ファイルを開くことができるアプリケーションの一部を開発しました。一部の音声ファイルを openSMILE に渡して特徴値を抽出することはできますが、他のファイルを抽出することはできません。JUCE アプリ自体から記録されたものはすべて渡すことはできません。
渡すことができないオーディオ ファイルを渡すときに生成されるエラーは次のとおりです。
エラーの原因を突き止めるために、Riffpad を使用して、合格および不合格のオーディオ ファイルのウェーブ ヘッダーに関する情報を抽出しました。
openSMILE プログラムに渡すことができる音声ファイルでは、wave ファイルのヘッダー情報は次のとおりです。
オーディオ 1
オーディオ 2
そして、合格できないものは次のとおりです。
オーディオ 3 <---JUCE アプリケーションから録音
オーディオ 4 <--- openSMILE にも渡せないランダムなオーディオ ファイル
録音された wave ファイル、つまり Audio 3 から JUNK サブチャンクを削除できれば、エラーは削除されるのではないかと推測しています (間違っていたら訂正してください)。これにより、ヘッダーは、まずまずのオーディオ ファイルのヘッダーと同様になります。
この問題を解決できる可能性のある 2 つの可能性を考えました。
普通のオーディオ ファイル ヘッダーと同様のヘッダー形式で Juce オーディオを録音します (実行可能であれば、最も簡単で好ましい方法です)。
録音後にオーディオ ファイルを変換して、ヘッダーが類似するようにします (libsndfile と Audio Compression Manager (ACM) を使用すると動作する可能性があると読みましたが、JUCE がビルドできるクロス プラットフォームで動作するかどうかはわかりません。 iPhone)
最初の方法として、まずまずのオーディオ ファイルと同じように、オーディオを「正しい」形式で録音する方法はありますか?
2 番目の方法として、クロス プラットフォーム用にビルドできるライブラリを使用するか、何らかの形で録音されたオーディオのデータ チャンクを取り出し、それに「正しい」形式のヘッダーを追加できますか? (私が読んだことから収集したのは、JUNK には情報を含めることができ、必要でない場合はスキップできるということです。全体の長さを編集する限り、それを削除しても問題はないと思います。 RIFF-WAVE サブチャンクから)
上記の方法のいずれかが可能ですか?可能であれば、どのように実行すればよいですか?
ありがとう!
c++ - Windows および Mac OS 用のアプリケーションを開発する
Windows と Mac OS X の両方で実行できるアプリケーションを開発する必要があります。これは、データをリアルタイムで表示し、イーサネット経由で接続する必要があるアプリケーション「モニター」です。パフォーマンスとグラフィックに興味があります。私はc++をよく知っています。開発ツールの選択を手伝ってもらえますか?ありがとう
c++ - 実行可能ファイルをサードパーティ依存の共有ライブラリにリンクするときの C++ CMake の未定義の参照
私は多くの関連トピック ( 1、2、3など) を読みましたが、自分で答えを見つけられなかったので、ここにいます。
ビルドして実行可能な CMake プロジェクトがあります。「x」としましょう。「b.so」という他の共有ライブラリに依存する「a.so」という名前の共有ライブラリを作成しました。「x」に「a」を使いたい。
これが私の簡略化された「x」CMakelists.txtです:
「x」コンパイル出力の抜粋:
「a」と「b」はコンパイルします。
問題は、x をコンパイルしたいときに、リンク時にエラーが発生することです: undefined reference to 'function name'. 「b」にもリンクしようとしましたが、まだ機能していません。
ここで「b」も表示されますが、同じエラーが発生します...
エラー出力は次のとおりです。
何が問題なのかわかりません。動作させるために多くのことを試みたので、今は混乱しています...しかし、何も機能しませんでした。
何か案が?
ありがとう!