Skip to content

Latest commit

 

History

History
95 lines (67 loc) · 6.41 KB

01.ui-configurations.md

File metadata and controls

95 lines (67 loc) · 6.41 KB

Dahlia User Interface Configurations

Table of Contents

Pure Data User Interface

Dahlia's colorful 'Modern' UI running in the Pure Data environment

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.


Daisy Pod User Interface

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:

Dahlia's Daisy Pod UI as rendered by the Daisy Pod UI simulator Pd patch

This UI can be broken down into four main components:

  1. 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.
  2. 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.

  1. Encoder: Preset selection, with each preset defined by the Preset-x abstractions in the main_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.
  2. Encoder Switch: Resets the current preset back to its default values. Equivalent to reloading it by cycling back to it through all other presets.
  3. 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).

Daisy Pod UI Function Assignments

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 ---

DPF Generated User Interface

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:

Dahlia's automatically generated DPF user interface, as rendered in the Reaper DAW

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.

DPF UI Function Assignment

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

Javascript/WebAudio User Interface

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:

Dahlia's automatically generated Javascript user interface, as rendered in the Firefox browser

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.

Javascript/WebAudio UI Function Assignment

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