For use natively in Pure Data, Dahlia corporates the controls_classic.pd
and controls_modern.pd
user interfaces. Both use the same controls, however the 'modern' user interface is more aesthetically pleasing and improves upon the 'classic' control layout. The 'classic' UI matches that of the Waveshape-Synth predecessor to Dahlia, and is included as an alternative. Either UI should, hopefully, be relatively straightforward for anyone familiar with synthesizers.
Due to having a limited number of physical controls and feedback elements, the Daisy Pod UI is significantly limited when compared to the full-featured Pure Data UI. Using the Daisy Pod UI simulator (daisy_pod_ui_sim.pd
) to mimic the Pod hardware, the Daisy Pod UI looks approximately like this:
This UI can be broken down into four main components:
- Switches: Each switch toggles between one of three parameters, as defined in the table below. The LED above each switch will cycle between Red, Green, and Blue to denote which parameter is currently active.
- Knobs: Control the active parameters, as determined by the LED color above the switch:
Switch | LED Color | Function |
---|---|---|
sw1 |
Red | Attack |
sw2 |
Red | Release |
sw1 |
Green | Low-Pass Cutoff |
sw2 |
Green | Low-Pass Attack |
sw1 |
Blue | Gain |
sw2 |
Blue | Bit Depth |
Inactive parameters (those which are not actively selected) will remain unchanged from their set value (unless the Preset is changed or reset, see below). However, upon toggling selection via a switch, each parameter will immediately jump to the value represented by the position of the associated knob.
- Encoder: Preset selection, with each preset defined by the
Preset-x
abstractions in themain_daisy
patch. There are four presets defined, however there can be up to 16 presets. Presets are indicated by changing the color of the LEDs while turning the preset encoder, see LEDs section below. - Encoder Switch: Resets the current preset back to its default values. Equivalent to reloading it by cycling back to it through all other presets.
- LEDs: Change color to indicate knob control assignment (
red
,blue
,green
) or preset selection (yellow
,purple
,teal
,white
). Up to 16 presets can be indicated if the two RGB LEDs are configured to act as two quaternary numeral indicators. Put another way, each LED can represent two bits (four possible color states) and so used together they can represent 4 bits of information (or 16 possible presets).
Name | Function | Type | Variants |
---|---|---|---|
sw1 |
Select knob1 function |
Switch | sw1_press , sw1_fall , sw1_seconds |
sw2 |
Select knob2 function |
Switch | sw2_press , sw2_fall , sw2_seconds |
knob1 |
Parameter Control | Voltage Input | --- |
knob2 |
Parameter Control | Voltage Input | --- |
encoder |
Preset Selection (0-15) Reset Preset (Press) |
Encoder | encoder_press , encoder_rise , encoder_fall , encoder_seconds |
led1 |
knob1 function selection |
RGB LED | led1_red , led1_green , led1_blue , led1_white |
led2 |
knob2 function selection |
RGB LED | led2_red , led2_green , led2_blue , led2_white |
gatein |
unassigned | Gate In | gatein_trig |
--- | Volume | Potentiometer | --- |
By default, the UI is automatically created by HVCC during DPF generation, and uses the same control assignments as the Daisy Pod UI. As with the Javascript user interface, the current version of HVCC does not appear to render trig
input types correctly:
The DPF UI has no meaningful visual feedback (e.g. LEDs), so this is unlikely to be an ideal solution and an improved DPF-specific UI could be developed to replace it. Unlike the Daisy Pod, the DPF UI is theoretically not limited in number of user controls or visual feedback elements.
Name | Function | Style | Type |
---|---|---|---|
sw1 |
Select knob1 function |
Toggle | bool trig |
sw2 |
Select knob2 function |
Toggle | bool trig |
knob1 |
Parameter Control | Slider | float |
knob2 |
Parameter Control | Slider | float |
encoder |
Preset Selection (0-15) | Slider | float |
encoder_rise |
Reset Preset | Toggle | bool trig |
By default, the UI is automatically created by HVCC during Javascript/WebAudio generation, and uses the same control assignments as the Daisy Pod UI. As with the DPF user interface, the current version of HVCC does not appear to render trig
input types correctly:
The Javascript UI has no meaningful visual feedback (e.g. LEDs), so this is unlikely to be an ideal solution and an improved Javascript-specific UI could be developed to replace it. Unlike the Daisy Pod, the Javascript UI is theoretically not limited in number of user controls or visual feedback elements.
Name | Function | Style | Type |
---|---|---|---|
sw1 |
Select knob1 function |
Toggle | bool trig |
sw2 |
Select knob2 function |
Toggle | bool trig |
knob1 |
Parameter Control | Slider | float |
knob2 |
Parameter Control | Slider | float |
encoder |
Preset Selection (0-15) | Slider | float |
encoder_rise |
Reset Preset | Toggle | bool trig |