From ca10986e54d56d928db0cef81e10480e86a4fc7c Mon Sep 17 00:00:00 2001 From: yaw-man Date: Tue, 9 Aug 2022 13:02:14 -0300 Subject: [PATCH] Ajouter le parametre z --- src/yaw-tab/DistrhoPluginInfo.h | 1 + src/yaw-tab/dsp.cpp | 6 ++++++ src/yaw-tab/tab.cpp | 8 +++++++- src/yaw-tab/ui.cpp | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/yaw-tab/DistrhoPluginInfo.h b/src/yaw-tab/DistrhoPluginInfo.h index 0ecaa0c..c94c051 100644 --- a/src/yaw-tab/DistrhoPluginInfo.h +++ b/src/yaw-tab/DistrhoPluginInfo.h @@ -35,6 +35,7 @@ enum Parameters { kParameterTimeBeatsPerMinute, kParameterTabletX, kParameterTabletY, + kParameterTabletZ, kParameterTabletPressure, kParameterCount }; diff --git a/src/yaw-tab/dsp.cpp b/src/yaw-tab/dsp.cpp index 1a238e8..0e04244 100644 --- a/src/yaw-tab/dsp.cpp +++ b/src/yaw-tab/dsp.cpp @@ -165,6 +165,12 @@ protected: parameter.ranges.min = 0; parameter.ranges.max = 1024; break; + case kParameterTabletZ: + parameter.name = "TabletZ"; + parameter.symbol = "tablet_z"; + parameter.ranges.min = 0; + parameter.ranges.max = 1024; + break; case kParameterTabletPressure: parameter.name = "TabletPressure"; parameter.symbol = "tablet_p"; diff --git a/src/yaw-tab/tab.cpp b/src/yaw-tab/tab.cpp index a71953a..dbfb5d5 100644 --- a/src/yaw-tab/tab.cpp +++ b/src/yaw-tab/tab.cpp @@ -3,7 +3,7 @@ #include "MSGPACK.H" #include "wintab.h" -#define PACKETDATA (PK_X | PK_Y | PK_BUTTONS | PK_NORMAL_PRESSURE) +#define PACKETDATA (PK_X | PK_Y | PK_Z | PK_BUTTONS | PK_NORMAL_PRESSURE) #define PACKETMODE PK_BUTTONS #include "pktdef.h" #include "wtutil.h" @@ -46,6 +46,7 @@ private: UINT wDevice = 0; AXIS TabletX = { 0 }; AXIS TabletY = { 0 }; + AXIS TabletZ = { 0 }; AXIS TabletPressure = { 0 }; LOGCONTEXT ctx = {}; @@ -61,18 +62,23 @@ private: //Tablet extents. gpWTInfoA(WTI_DEVICES, DVC_X, &TabletX); gpWTInfoA(WTI_DEVICES, DVC_Y, &TabletY); + gpWTInfoA(WTI_DEVICES, DVC_Z, &TabletZ); gpWTInfoA(WTI_DEVICES, DVC_NPRESSURE, &TabletPressure); ctx.lcInOrgX = 0; ctx.lcInOrgY = 0; + ctx.lcInOrgZ = 0; ctx.lcInExtX = TabletX.axMax; ctx.lcInExtY = TabletY.axMax; + ctx.lcInExtZ = TabletZ.axMax; maxPressure = TabletPressure.axMax; ctx.lcOutOrgX = GetSystemMetrics(SM_XVIRTUALSCREEN); ctx.lcOutOrgY = GetSystemMetrics(SM_YVIRTUALSCREEN); ctx.lcOutExtX = GetSystemMetrics(SM_CXVIRTUALSCREEN); ctx.lcOutExtY = -GetSystemMetrics(SM_CYVIRTUALSCREEN); + ctx.lcOutOrgZ = 0; + ctx.lcOutExtZ = ctx.lcInExtZ; hctx = gpWTOpenA(hwnd, &ctx, FALSE); diff --git a/src/yaw-tab/ui.cpp b/src/yaw-tab/ui.cpp index ba1079b..b983bcf 100644 --- a/src/yaw-tab/ui.cpp +++ b/src/yaw-tab/ui.cpp @@ -50,6 +50,7 @@ protected: tab.NewPacket(); fParameters[kParameterTabletX] = tab.pkt.pkX; fParameters[kParameterTabletY] = tab.pkt.pkY; + fParameters[kParameterTabletZ] = tab.pkt.pkZ; fParameters[kParameterTabletPressure] = tab.pkt.pkNormalPressure;