LMMS
Loading...
Searching...
No Matches
juce_ChannelRemappingAudioSource.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23namespace juce
24{
25
26//==============================================================================
44{
45public:
46 //==============================================================================
56 bool deleteSourceWhenDeleted);
57
60
61 //==============================================================================
66
72 void clearAllMappings();
73
84 void setInputChannelMapping (int destChannelIndex,
85 int sourceChannelIndex);
86
97 void setOutputChannelMapping (int sourceChannelIndex,
98 int destChannelIndex);
99
103 int getRemappedInputChannel (int inputChannelIndex) const;
104
108 int getRemappedOutputChannel (int outputChannelIndex) const;
109
110
111 //==============================================================================
115 std::unique_ptr<XmlElement> createXml() const;
116
120 void restoreFromXml (const XmlElement&);
121
122 //==============================================================================
123 void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override;
124 void releaseResources() override;
125 void getNextAudioBlock (const AudioSourceChannelInfo&) override;
126
127
128private:
129 //==============================================================================
133
137
139};
140
141} // namespace juce
Definition juce_Array.h:56
Definition juce_AudioSampleBuffer.h:34
AudioSource()=default
void setOutputChannelMapping(int sourceChannelIndex, int destChannelIndex)
Definition juce_ChannelRemappingAudioSource.cpp:62
void getNextAudioBlock(const AudioSourceChannelInfo &) override
Definition juce_ChannelRemappingAudioSource.cpp:103
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_CriticalSection.h:43
Definition juce_OptionalScopedPointer.h:38
Definition juce_XmlElement.h:83
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition carla_juce.cpp:31
Definition juce_AudioSource.h:33