Parameter Views vvvff

Namespace : DadGUI
Files : ParameterViews.h / ParameterViews.cpp
Directory : DAD_FORGE/GUI/Components
Class : DadGUI::cParameterViews
Class : DadGUI::cParameterNumView
Class : DadGUI::cParameterNumNormalView
Class : DadGUI::cParameterNumLeftRightView
Class : DadGUI::cParameterDiscretView
Description :
The ParameterViews module groups together all graphical components dedicated to displaying and editing parameters in the OSCAR/FORGE interface. It ensures the link between DSP parameters, user encoders and their on-screen visual representation, while offering several types of views adapted to numerical and discrete parameters.


📋 General Description

The ParameterViews module constitutes the presentation layer of parameters within the OSCAR/FORGE framework’s graphical interface. Its role is to ensure the link between DSP parameter objects and their on-screen visual representation.

Each view instance is associated with a user parameter and with one of the three parameter zones displayed on the interface.

It is responsible for:

  • displaying the parameter name and value;
  • graphically representing its state;
  • managing interactions with the associated encoder;
  • detecting changes coming from the user or other sources (MIDI, preset loading, etc.);
  • dynamically updating the display when the value changes.

The system thus allows complete separation of the business logic of parameters from their graphical representation.

Architecture The module is based on an object-oriented architecture based on inheritance.

Each parameter type has its own specialized display class, while sharing a common base provided by the cParameterView base class.

cParameterView (abstract)
├── cParameterNumView (numerical base with units)
│ └── cParameterNumNormalView (standard centered layout)
│ └── cParameterNumLeftRightView (left/right stereo-type layout)
└── cParameterDiscretView (discrete enumerated values)

🔗 External Dependencies

File Inclusions

Included File Source Role
"GUI_Include.h" DAD_FORGE/GUI/Core/Inc Global headers for GUI (constant definitions, types, palettes, __GUI)
"cUIParameter.h" DAD_FORGE/GUI/Core/Inc Parameter management class

Global Variables Used and Driver Objects

Variable / Object Type Source Role
__Encoder1 DadDrivers::cEncoder* extern in Drivers Tactile encoder 1 for parameter zone 1.
__Encoder2 DadDrivers::cEncoder* extern in Drivers Tactile encoder 2 for parameter zone 2.
__Encoder3 DadDrivers::cEncoder* extern in Drivers Tactile encoder 3 for parameter zone 3.
__GUI cGUI* extern in GUI/Core Main GUI interface.
Used to access GUI resources (e.g.: fonts)
__pActivePalette eColorPalette_t* extern in GUI/Core Pointer to the active color palette.
Used to draw graphical objects with theme colors.

DAD_FORGE/DSP - Dad Design DSP Library
Copyright (c) 2024-2026 Dad Design.


Table of contents


This site uses Just the Docs, a documentation theme for Jekyll.