問題タブ [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.

0 投票する
0 に答える
254 参照

c++ - XCode 4.6 - スタック トレースなしで EXC_BAD_ACCESS をデバッグする

私はすでにしばらくの間ウェブを検索しましたが、私の問題は非常にまれであるようです:

C++ で JUCE を使用してオーディオ ユニット プラグインをプログラミングしています。ホストで実行すると、ホストがクラッシュします。プラグインをロードする前に XCode デバッガーをホイストに接続すると、次のようになります。

デバッグ コンソールに「bt」と入力すると、次のように表示されます。

スタック トレースを取得できないため、バグの原因を特定できません。不正なアクセスが発生する直前に何が実行されたかを確認すると非常に役立ちますが、方法がわかりません。

プログラムのどこかにブレークポイントを設定し、そこからクラッシュに到達するまでゆっくりとコードを進めていきます。私はこれを行い、最終的に実行はソース コードを残し、アセンブリ ラインを取得します。「ret」コマンドで多くの呼び出しから飛び出しているのがわかります。最終的に、1 つの「ret」コマンドで、クラッシュが発生します。

アセンブリ コードは、プラグインを実行するホストからのものです。しかし、クラッシュはさまざまなタイプのホストで発生するため、私の側に問題があると確信しています。何か案は?

ありがとうございました!

0 投票する
3 に答える
3335 参照

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のように見えます:

0 投票する
1 に答える
111 参照

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) とほぼ同じように、さまざまなクラスの束を作成することなく、これを行う方法を誰か教えてもらえますか?

0 投票する
1 に答える
1873 参照

c++ - windows/c++: シグナル ハンドラーから有用なスタック トレースを取得するにはどうすればよいですか?

Windows/C++ アプリ (JUCE を使用) があり、アプリがクラッシュしたときにスタック トレースをファイルにダンプしたいと考えています。私の初期化コードには、次のものがあります。

そして、私のハンドラーは次のようになります。

ただし、結果のスタック トレースは、クラッシュが発生したスレッドではありません。

内部的にgetStackBacktraceは、次のことを行います。

クラッシュが発生したスレッド (またはすべてのスレッド) のスタック トレースを取得する方法はありますか?

0 投票する
0 に答える
386 参照

android - ネイティブ Android アプリとタッチ イベントの更新レート

JUCE C++ フレームワークを使用してネイティブ Android アプリを開発しています。アプリは OpenGL を使用してレンダリングしています。非インタラクティブなアニメーションは非常にうまく機能します。ただし、コンポーネントのドラッグなどのインタラクティブなタッチ応答アニメーションは、更新に時間がかかります。まったく滑らかではありません。私は Java 側で測定し、各 ACTION_MOVE イベント間の平均は約 70 ~ 80 ミリ秒でした。

更新: 主な問題は、移動するコンポーネントの下にあるもののレンダリングに関係していると思います。ウィンドウ デモを使用して JuceDemo を試してみたところ、ウィンドウを別のウィンドウの上にドラッグするとパフォーマンスが低下することがわかりましたが、空のスペースしかない場所でウィンドウをドラッグすると、正常に動作し、スムーズに感じられます。

アプリのアニメーション UI の応答性を向上させる方法はありますか?

handlePaint()OpenGL コンテキストがある場合にネイティブ関数が呼び出されないように、Introjucer が提供する標準の Java テンプレートにいくつかの変更を加えました。(ここで提案されているように)

0 投票する
1 に答える
722 参照

c++ - 「JUNK」サブチャンクのないヘッダーを持つオーディオを JUCE で録音するにはどうすればよいですか?

オーディオを録音したり、オーディオ ファイルを開くことができるJUCEライブラリを使用してアプリケーションを開発しようとしています。音声ファイルはopenSMILEプログラムに渡され、その特徴値が抽出されます。すべてのオーディオ ファイルは wave 形式であり、アプリケーションは最終的に iPhone プラットフォーム用にビルドされます。

アプリケーションがオーディオを録音し、ファイル ディレクトリからオーディオ ファイルを開くことができるアプリケーションの一部を開発しました。一部の音声ファイルを openSMILE に渡して特徴値を抽出することはできますが、他のファイルを抽出することはできません。JUCE アプリ自体から記録されたものはすべて渡すことはできません。

渡すことができないオーディオ ファイルを渡すときに生成されるエラーは次のとおりです。

エラーの原因を突き止めるために、Riffpad を使用して、合格および不合格のオーディオ ファイルのウェーブ ヘッダーに関する情報を抽出しました。

openSMILE プログラムに渡すことができる音声ファイルでは、wave ファイルのヘッダー情報は次のとおりです。

オーディオ 1

オーディオ 2

そして、合格できないものは次のとおりです。

オーディオ 3 <---JUCE アプリケーションから録音

オーディオ 4 <--- openSMILE にも渡せないランダムなオーディオ ファイル

録音された wave ファイル、つまり Audio 3 から JUNK サブチャンクを削除できれば、エラーは削除されるのではないかと推測しています (間違っていたら訂正してください)。これにより、ヘッダーは、まずまずのオーディオ ファイルのヘッダーと同様になります。

この問題を解決できる可能性のある 2 つの可能性を考えました。

  1. 普通のオーディオ ファイル ヘッダーと同様のヘッダー形式で Juce オーディオを録音します (実行可能であれば、最も簡単で好ましい方法です)。

  2. 録音後にオーディオ ファイルを変換して、ヘッダーが類似するようにします (libsndfile と Audio Compression Manager (ACM) を使用すると動作する可能性があると読みましたが、JUCE がビルドできるクロス プラットフォームで動作するかどうかはわかりません。 iPhone)

最初の方法として、まずまずのオーディオ ファイルと同じように、オーディオを「正しい」形式で録音する方法はありますか?

2 番目の方法として、クロス プラットフォーム用にビルドできるライブラリを使用するか、何らかの形で録音されたオーディオのデータ チャンクを取り出し、それに「正しい」形式のヘッダーを追加できますか? (私が読んだことから収集したのは、JUNK には情報を含めることができ、必要でない場合はスキップできるということです。全体の長さを編集する限り、それを削除しても問題はないと思います。 RIFF-WAVE サブチャンクから)

上記の方法のいずれかが可能ですか?可能であれば、どのように実行すればよいですか?

ありがとう!

0 投票する
2 に答える
248 参照

c++ - Windows および Mac OS 用のアプリケーションを開発する

Windows と Mac OS X の両方で実行できるアプリケーションを開発する必要があります。これは、データをリアルタイムで表示し、イーサネット経由で接続する必要があるアプリケーション「モニター」です。パフォーマンスとグラフィックに興味があります。私はc++をよく知っています。開発ツールの選択を手伝ってもらえますか?ありがとう

0 投票する
2 に答える
5429 参照

c++ - 実行可能ファイルをサードパーティ依存の共有ライブラリにリンクするときの C++ CMake の未定義の参照

私は多くの関連トピック ( 123など) を読みましたが、自分で答えを見つけられなかったので、ここにいます。

ビルドして実行可能な CMake プロジェクトがあります。「x」としましょう。「b.so」という他の共有ライブラリに依存する「a.so」という名前の共有ライブラリを作成しました。「x」に「a」を使いたい。

これが私の簡略化された「x」CMakelists.txtです:

「x」コンパイル出力の抜粋:

「a」と「b」はコンパイルします。

問題は、x をコンパイルしたいときに、リンク時にエラーが発生することです: undefined reference to 'function name'. 「b」にもリンクしようとしましたが、まだ機能していません

ここで「b」も表示されますが、同じエラーが発生します...

エラー出力は次のとおりです。

何が問題なのかわかりません。動作させるために多くのことを試みたので、今は混乱しています...しかし、何も機能しませんでした。

何か案が?

ありがとう!