openshot-audio
0.1.7
JuceLibraryCode
modules
juce_audio_basics
sources
juce_ToneGeneratorAudioSource.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2015 - ROLI Ltd.
6
7
Permission is granted to use this software under the terms of either:
8
a) the GPL v2 (or any later version)
9
b) the Affero GPL v3
10
11
Details of these licenses can be found at: www.gnu.org/licenses
12
13
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16
17
------------------------------------------------------------------------------
18
19
To release a closed-source product which uses JUCE, commercial licenses are
20
available: visit www.juce.com for more information.
21
22
==============================================================================
23
*/
24
25
#ifndef JUCE_TONEGENERATORAUDIOSOURCE_H_INCLUDED
26
#define JUCE_TONEGENERATORAUDIOSOURCE_H_INCLUDED
27
28
29
//==============================================================================
34
class
JUCE_API
ToneGeneratorAudioSource
:
public
AudioSource
35
{
36
public
:
37
//==============================================================================
39
ToneGeneratorAudioSource
();
40
42
~
ToneGeneratorAudioSource
();
43
44
//==============================================================================
46
void
setAmplitude (
float
newAmplitude);
47
49
void
setFrequency (
double
newFrequencyHz);
50
51
52
//==============================================================================
54
void
prepareToPlay
(
int
samplesPerBlockExpected,
double
sampleRate)
override
;
55
57
void
releaseResources
()
override
;
58
60
void
getNextAudioBlock
(
const
AudioSourceChannelInfo
&)
override
;
61
62
63
private
:
64
//==============================================================================
65
double
frequency, sampleRate;
66
double
currentPhase, phasePerSample;
67
float
amplitude;
68
69
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
ToneGeneratorAudioSource
)
70
};
71
72
73
#endif // JUCE_TONEGENERATORAUDIOSOURCE_H_INCLUDED
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition:
juce_PlatformDefs.h:198
ToneGeneratorAudioSource
Definition:
juce_ToneGeneratorAudioSource.h:34
JUCE_API
#define JUCE_API
Definition:
juce_StandardHeader.h:139
AudioSourceChannelInfo
Definition:
juce_AudioSource.h:33
AudioSource::releaseResources
virtual void releaseResources()=0
AudioSource::prepareToPlay
virtual void prepareToPlay(int samplesPerBlockExpected, double sampleRate)=0
AudioSource
Definition:
juce_AudioSource.h:110
AudioSource::getNextAudioBlock
virtual void getNextAudioBlock(const AudioSourceChannelInfo &bufferToFill)=0
Generated by
1.8.17