forked from projectM-visualizer/projectm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLine.cpp
More file actions
32 lines (24 loc) · 849 Bytes
/
Line.cpp
File metadata and controls
32 lines (24 loc) · 849 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "Line.hpp"
#include "PresetState.hpp"
namespace libprojectM {
namespace MilkdropPreset {
namespace Waveforms {
void Line::GenerateVertices(const PresetState& presetState, const PerFrameContext&)
{
m_samples = Audio::WaveformSamples / 2;
if (m_samples > presetState.renderContext.viewportSizeX / 3)
{
m_samples /= 3;
}
m_wave1Vertices.resize(m_samples);
ClipWaveformEdges(1.57f * m_mysteryWaveParam);
for (int i = 0; i < m_samples; i++)
{
m_wave1Vertices[i] = {
m_edgeX + m_distanceX * static_cast<float>(i) + m_perpetualDX * 0.25f * m_pcmDataL[i + m_sampleOffset],
m_edgeY + m_distanceY * static_cast<float>(i) + m_perpetualDY * 0.25f * m_pcmDataL[i + m_sampleOffset]};
}
}
} // namespace Waveforms
} // namespace MilkdropPreset
} // namespace libprojectM