27 const bool deleteSourceWhenDeleted)
28 :
source (source_, deleteSourceWhenDeleted),
76 if (inputChannelIndex >= 0 && inputChannelIndex <
remappedInputs.size())
86 if (outputChannelIndex >= 0 && outputChannelIndex <
remappedOutputs.size())
95 source->prepareToPlay (samplesPerBlockExpected, sampleRate);
100 source->releaseResources();
111 for (
int i = 0;
i <
buffer.getNumChannels(); ++
i)
115 if (remappedChan >= 0 && remappedChan < numChans)
138 if (remappedChan >= 0 && remappedChan < numChans)
150 auto e = std::make_unique<XmlElement> (
"MAPPINGS");
161 e->setAttribute (
"inputs", ins.trimEnd());
162 e->setAttribute (
"outputs", outs.
trimEnd());
169 if (
e.hasTagName (
"MAPPINGS"))
176 ins.addTokens (
e.getStringAttribute (
"inputs"),
false);
177 outs.
addTokens (
e.getStringAttribute (
"outputs"),
false);
179 for (
int i = 0;
i < ins.size(); ++
i)
182 for (
int i = 0;
i < outs.
size(); ++
i)
int getNumChannels() const noexcept
Definition juce_AudioSampleBuffer.h:236
void addFrom(int destChannel, int destStartSample, const AudioBuffer &source, int sourceChannel, int sourceStartSample, int numSamples, Type gainToApplyToSource=Type(1)) noexcept
Definition juce_AudioSampleBuffer.h:780
void setOutputChannelMapping(int sourceChannelIndex, int destChannelIndex)
Definition juce_ChannelRemappingAudioSource.cpp:62
void getNextAudioBlock(const AudioSourceChannelInfo &) override
Definition juce_ChannelRemappingAudioSource.cpp:103
~ChannelRemappingAudioSource() override
Definition juce_ChannelRemappingAudioSource.cpp:35
AudioSourceChannelInfo remappedInfo
Definition juce_ChannelRemappingAudioSource.h:135
void prepareToPlay(int samplesPerBlockExpected, double sampleRate) override
Definition juce_ChannelRemappingAudioSource.cpp:93
int requiredNumberOfChannels
Definition juce_ChannelRemappingAudioSource.h:132
void setNumberOfChannelsToProduce(int requiredNumberOfChannels)
Definition juce_ChannelRemappingAudioSource.cpp:38
CriticalSection lock
Definition juce_ChannelRemappingAudioSource.h:136
Array< int > remappedOutputs
Definition juce_ChannelRemappingAudioSource.h:131
Array< int > remappedInputs
Definition juce_ChannelRemappingAudioSource.h:131
void restoreFromXml(const XmlElement &)
Definition juce_ChannelRemappingAudioSource.cpp:167
void clearAllMappings()
Definition juce_ChannelRemappingAudioSource.cpp:44
void releaseResources() override
Definition juce_ChannelRemappingAudioSource.cpp:98
int getRemappedInputChannel(int inputChannelIndex) const
Definition juce_ChannelRemappingAudioSource.cpp:72
int getRemappedOutputChannel(int outputChannelIndex) const
Definition juce_ChannelRemappingAudioSource.cpp:82
ChannelRemappingAudioSource(AudioSource *source, bool deleteSourceWhenDeleted)
Definition juce_ChannelRemappingAudioSource.cpp:26
AudioBuffer< float > buffer
Definition juce_ChannelRemappingAudioSource.h:134
std::unique_ptr< XmlElement > createXml() const
Definition juce_ChannelRemappingAudioSource.cpp:148
OptionalScopedPointer< AudioSource > source
Definition juce_ChannelRemappingAudioSource.h:130
void setInputChannelMapping(int destChannelIndex, int sourceChannelIndex)
Definition juce_ChannelRemappingAudioSource.cpp:52
Definition juce_StringArray.h:35
int size() const noexcept
Definition juce_StringArray.h:136
int addTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
Definition juce_StringArray.cpp:329
Definition juce_String.h:53
String trimEnd() const
Definition juce_String.cpp:1687
Definition juce_XmlElement.h:83
* e
Definition inflate.c:1404
register unsigned i
Definition inflate.c:1575
Definition carla_juce.cpp:31
CriticalSection::ScopedLockType ScopedLock
Definition juce_CriticalSection.h:186
Definition juce_AudioSource.h:33
int numSamples
Definition juce_AudioSource.h:81
void clearActiveBufferRegion() const
Definition juce_AudioSource.h:84
AudioBuffer< float > * buffer
Definition juce_AudioSource.h:73
int startSample
Definition juce_AudioSource.h:77