JNIEnv* getEnv() noexcept { JNIEnv* env = androidJNIEnv.get(); jassert (env != nullptr); return env; }
AudioProcessor::AudioProcessor() : wrapperType (wrapperTypeBeingCreated.get()), playHead (nullptr), sampleRate (0), blockSize (0), latencySamples (0), #if JUCE_DEBUG textRecursionCheck (false), #endif suspended (false), nonRealtime (false), processingPrecision (singlePrecision) { #if ! JucePlugin_IsMidiEffect #ifdef JucePlugin_PreferredChannelConfigurations const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations }; #else const short channelConfigs[][2] = { {2, 2} }; #endif int numChannelConfigs = sizeof (channelConfigs) / sizeof (*channelConfigs); if (numChannelConfigs > 0) { #if ! JucePlugin_IsSynth busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (channelConfigs[0][0]))); #endif busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (channelConfigs[0][1]))); } #endif updateSpeakerFormatStrings(); }
void AudioProcessor::initialise (const BusesProperties& ioConfig) { cachedTotalIns = 0; cachedTotalOuts = 0; wrapperType = wrapperTypeBeingCreated.get(); playHead = nullptr; currentSampleRate = 0; blockSize = 0; latencySamples = 0; #if JUCE_DEBUG textRecursionCheck = false; #endif suspended = false; nonRealtime = false; processingPrecision = singlePrecision; const int numInputBuses = ioConfig.inputLayouts.size(); const int numOutputBuses = ioConfig.outputLayouts.size(); for (int i = 0; i < numInputBuses; ++i) createBus (true, ioConfig.inputLayouts. getReference (i)); for (int i = 0; i < numOutputBuses; ++i) createBus (false, ioConfig.outputLayouts.getReference (i)); updateSpeakerFormatStrings(); }
AudioProcessor::AudioProcessor() : wrapperType (wrapperTypeBeingCreated.get()), playHead (nullptr), currentSampleRate (0), blockSize (0), latencySamples (0), #if JUCE_DEBUG textRecursionCheck (false), #endif suspended (false), nonRealtime (false), processingPrecision (singlePrecision) { #ifdef JucePlugin_PreferredChannelConfigurations const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations }; #else const short channelConfigs[][2] = { {2, 2} }; #endif #ifdef JucePlugin_MaxNumInputChannels const int maxInChannels = JucePlugin_MaxNumInputChannels; #else const int maxInChannels = std::numeric_limits<int>::max(); #endif ignoreUnused (maxInChannels); #ifdef JucePlugin_MaxNumOutputChannels const int maxOutChannels = JucePlugin_MaxNumOutputChannels; #else const int maxOutChannels = std::numeric_limits<int>::max(); #endif ignoreUnused (maxOutChannels); #if ! JucePlugin_IsMidiEffect // #if ! JucePlugin_IsSynth const int numInChannels = jmin (maxInChannels, (int) channelConfigs[0][0]); if (numInChannels > 0) busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (numInChannels))); // #endif const int numOutChannels = jmin (maxOutChannels, (int) channelConfigs[0][1]); if (numOutChannels > 0) busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (numOutChannels))); #ifdef JucePlugin_PreferredChannelConfigurations // #if ! JucePlugin_IsSynth AudioProcessor::setPreferredBusArrangement (true, 0, AudioChannelSet::stereo()); // #endif AudioProcessor::setPreferredBusArrangement (false, 0, AudioChannelSet::stereo()); #endif #endif updateSpeakerFormatStrings(); }
static void check(const char *tname) { StackChecker *sc = checker.get(); const char *p = sc->buf; int i = 0; for( ; i < SZ; i++ ) { if( p[i] != 42 ) break; } log() << "thread " << tname << " stack usage was " << SZ-i << " bytes" << endl; wassert( i > 16000 ); }
AudioProcessor::AudioProcessor() : wrapperType (wrapperTypeBeingCreated.get()), playHead (nullptr), sampleRate (0), blockSize (0), numInputChannels (0), numOutputChannels (0), latencySamples (0), suspended (false), nonRealtime (false) { }
void setEnv (JNIEnv* env) noexcept { androidJNIEnv.get() = env; }