From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/skin/widgets/seqpreamp.cpp | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Src/Wasabi/api/skin/widgets/seqpreamp.cpp (limited to 'Src/Wasabi/api/skin/widgets/seqpreamp.cpp') diff --git a/Src/Wasabi/api/skin/widgets/seqpreamp.cpp b/Src/Wasabi/api/skin/widgets/seqpreamp.cpp new file mode 100644 index 00000000..7b61d2cd --- /dev/null +++ b/Src/Wasabi/api/skin/widgets/seqpreamp.cpp @@ -0,0 +1,44 @@ +#include +#include "seqpreamp.h" + +#include + +const wchar_t eqPreAmpXuiStr[] = L"EQPreAmp"; // This is the xml tag +char eqPreAmpXuiSvcName[] = "EQPreAmp xui object"; // this is the name of the xuiservice + +SEQPreamp::SEQPreamp() { + setDrawOnBorders(TRUE); + setEnable(TRUE); + setHotPosition(0); + setLimits(-127,127); + discard_next_event = 0; +} + +SEQPreamp::~SEQPreamp() { + WASABI_API_MEDIACORE->core_delCallback(0, this); +} + +int SEQPreamp::onInit() { + SEQPREAMP_PARENT::onInit(); + + corecb_onEQPreampChange(WASABI_API_MEDIACORE->core_getEqPreamp(0)); + WASABI_API_MEDIACORE->core_addCallback(0, this); + + return 1; +} + +int SEQPreamp::onSetPosition() { + setHotPosition((Std::keyDown(VK_SHIFT) ? -1 : 0)); + SEQPREAMP_PARENT::onSetPosition(); + int pos = getSliderPosition(); // get slider pos + discard_next_event = 1; + WASABI_API_MEDIACORE->core_setEqPreamp(0,pos); + discard_next_event = 0; + return 1; +} + +int SEQPreamp::corecb_onEQPreampChange(int newval) { + if (discard_next_event) return 0; + setPosition(newval,0); + return 0; +} \ No newline at end of file -- cgit