OpenShot Audio Library | OpenShotAudio
0.4.0
Loading...
Searching...
No Matches
juce_Phase.h
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
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11
Agreement and JUCE Privacy Policy.
12
13
End User License Agreement: www.juce.com/juce-7-licence
14
Privacy Policy: www.juce.com/juce-privacy-policy
15
16
Or: You may also use this code under the terms of the GPL v3 (see
17
www.gnu.org/licenses).
18
19
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21
DISCLAIMED.
22
23
==============================================================================
24
*/
25
26
namespace
juce::dsp
27
{
28
37
template
<
typename
Type>
38
struct
Phase
39
{
41
void
reset
() noexcept { phase = 0; }
42
47
Type
advance
(Type increment)
noexcept
48
{
49
jassert (increment >= 0);
// cannot run this value backwards!
50
51
auto
last = phase;
52
auto
next = last + increment;
53
54
while
(next >=
MathConstants<Type>::twoPi
)
55
next -=
MathConstants<Type>::twoPi
;
56
57
phase = next;
58
return
last;
59
}
60
61
Type phase = 0;
62
};
63
64
}
// namespace juce::dsp
juce::MathConstants::twoPi
static constexpr FloatType twoPi
Definition
juce_MathsFunctions.h:144
juce::dsp::Phase
Definition
juce_Phase.h:39
juce::dsp::Phase::reset
void reset() noexcept
Definition
juce_Phase.h:41
juce::dsp::Phase::advance
Type advance(Type increment) noexcept
Definition
juce_Phase.h:47
libopenshot-audio-0.4.0
JuceLibraryCode
modules
juce_dsp
maths
juce_Phase.h
Generated by
1.13.2