Go to the documentation of this file.
30 m_lastTime = nowAsDuration<std::chrono::milliseconds>();
39 QMutexLocker locker(
mutex());
42 if (
m_area.isEmpty() || !node)
45 float y = (
static_cast<float>(
m_area.height()) / 2.0F) +
m_area.top();
50 double const step =
static_cast<double>(node->m_length) /
NUM_SAMPLES;
53 auto indexTo =
static_cast<long>(index + step);
54 if (indexTo ==
static_cast<long>(index))
55 indexTo =
static_cast<long>(index + 1);
58 for (
auto s =
static_cast<long>(index); s < indexTo && s < node->m_length; s++)
60 double temp = (
static_cast<double>(node->m_left[s]) +
61 (node->m_right ?
static_cast<double>(node->m_right[s]) : 0.0) *
62 (
static_cast<double>(
m_area.height())) ) / 65536.0;
63 value = temp > 0.0 ? std::max(temp, value) : std::min(temp, value);
68 Buffer[(i * 2) + 1] = y +
static_cast<float>(value);
77 auto timenow = nowAsDuration<std::chrono::milliseconds>();
88 const QString&
name()
const override
120 const QString&
name()
const override
bool UpdateVertices(float *Buffer)
const QString & name() const override
static constexpr size_t NUM_SAMPLES
VideoVisual * Create(AudioPlayer *Audio, MythRender *Render) const override
bool SupportedRenderer(RenderType Type) override
VideoVisualMonoScopeFactory VideoVisualMonoScopeFactory
std::chrono::milliseconds m_lastTime
bool SupportedRenderer(RenderType Type) override
VideoVisual * Create(AudioPlayer *Audio, MythRender *Render) const override
const QString & name() const override
VideoVisualSimpleScopeFactory VideoVisualSimpleScopeFactory
VisualNode * GetNode(void)
void InitCommon(QRect Area)
VideoVisualMonoScope(AudioPlayer *Audio, MythRender *Render, bool Fade)