1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:37:45 +00:00

Piano: Use LibDSP to implement delay

This is the first step in transitioning Piano to a full LibDSP backend.
For now, the delay effect is replaced with a (mostly identical)
implementation in LibDSP.

The new ProcessorParameterSlider attaches to a LibDSP::Processor's
range parameter (LibDSP::ProcessorRangeParameter) and changes it
automatically. It also has the ability to update an external GUI::Label.
This is used for the three delay parameters and it will become useful
for auto-generating UI for Processors.
This commit is contained in:
kleines Filmröllchen 2021-08-27 16:20:09 +02:00 committed by Ali Mohammad Pur
parent a749b16674
commit 0dc6fe9102
8 changed files with 84 additions and 49 deletions

View file

@ -0,0 +1,24 @@
/*
* Copyright (c) 2021, kleines Filmröllchen <malu.bertsch@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibDSP/ProcessorParameter.h>
#include <LibGUI/Label.h>
#include <LibGUI/Slider.h>
#include <LibGfx/Orientation.h>
class ProcessorParameterSlider : public GUI::Slider {
C_OBJECT(ProcessorParameterSlider);
public:
ProcessorParameterSlider(Orientation, LibDSP::ProcessorRangeParameter&, RefPtr<GUI::Label>);
RefPtr<GUI::Label> value_label() { return m_value_label; }
private:
LibDSP::ProcessorRangeParameter& m_parameter;
RefPtr<GUI::Label> m_value_label;
};