ライセンス
Personal
5万米ドルの収益制限未満の収益を持つ開発者またはスタートアップ企業向け、無料
Indie
50万米ドル未満の収益制限を持つ中小企業向け、40ドル) /月
Pro
収益制限なし、月額$ 130
Educational
収益制限なし、正規の教育機関は無料
GPLv3
無料。アプリケーションのソースコードを利用できるようにする必要があります。
JUCEフレームワークコードを使用すると、RMSは次の種類の情報を収集して使用する場合があります。 JUCE 5の場合: コンピュータをインターネットに接続するために使用されるインターネットプロトコル(IP)アドレス。 ログイン名、ライセンスタイプ、サブスクリプションステータスなど、JUCEアカウントに関連付けられたデータ。と 無料の「JUCEPersonal」または「JUCEEducational」ライセンスでJUCEコードを使用している場合、JUCEの提供および改善に関連する社内業務のためにのみ、JUCEで構築されたアプリケーションのエンドユーザーから匿名データを追加で収集する場合があります。
ファイルブラウザー
クラスにprivate FileBrowserListener,を追加
class MainSamplerView : public Component,
private DataModel::Listener,
private FileBrowserListener,
private ListBoxModel,
private ChangeListener
{
public:
コントローラの登録と設定
addAndMakeVisible(fileTreeComp);
directoryList.setDirectory(File::getSpecialLocation(File::userHomeDirectory), true, true);
fileTreeComp.setColour(juce::FileTreeComponent::backgroundColourId, juce::Colours::whitesmoke.withAlpha(0.1f));
fileTreeComp.addListener(this);
fileTreeComp.addMouseListener(this, true);
thread.startThread(3);
オーバーライド
void selectionChanged() override
{
}
void fileClicked(const File&, const MouseEvent&) override
{
loadFile(fileTreeComp.getSelectedFile());
}
void fileDoubleClicked(const File&) override {}
void browserRootChanged(const File&) override {}
宣言
WildcardFileFilter WildcardFilter{ "*.wav;*.aiff;*mp3;*.aif", "*", "Audio File Filter" };
juce::TimeSliceThread thread{ "Audio file Scanner Thread" };
juce::DirectoryContentsList directoryList{ &WildcardFilter, thread };
juce::FileTreeComponent fileTreeComp{ directoryList };
Midiキーボード
親のクラス
publicに追加
MidiKeyboardState keyboardState;
Processに追加
keyboardState.processNextMidiBuffer(midiMessages, 0, buffer.getNumSamples(), true);
追加
void prepareToPlay (double sampleRate, int) override
{
synthesiser.setCurrentPlaybackSampleRate (sampleRate);
keyboardState.reset();
}
void releaseResources() override {
keyboardState.reset();
}
呼び出し
mainSamplerView( keyboardState)
エディットクラス
MainSamplerView (MidiKeyboardState& state)
: midiKeyboard(state, MidiKeyboardComponent::horizontalKeyboard)
,keyboardState(state)
{
コントローラー登録
addAndMakeVisible(midiKeyboard);
ノート送信
keyboardState.noteOn(0, 65, 100);
宣言追加
MidiKeyboardComponent midiKeyboard;
MidiKeyboardState& keyboardState;