Skip to content

AMYboardweb: Better osc frequency UI #635

@dpwe

Description

@dpwe

Currently the AMYboarweb editor has a single freq knob for each oscillator that sets the constant part of the oscillator frequency calculation, between 50 and 2000 Hz. This maps directly to the AMY command, but it's not a convenient user interface - it's hard to get precise tuning, and it's hard to get small detunings, as are often desirable for synth patches.

A more conventional synth UI would be a selection list for octave (e.g. 2', 4', 8', 16', 32'), and a separate detune knob to take it +/- 1 octave only (maybe only for OSC B). Or we could have an integer semitones "knob" (quantized), plus a +/- 1 or 2 semitones detune knob.

This would break the simple mapping from knob to AMY wire command, since each control would now need to combine itself with the value of the other to generate the wire command, e.g.

      section: "OSC B",
      display_name: "b_detune",
      default_value: 0,
      min_value: -2,
      max_value: 2,
      onChange: function(value) {
        mapped_value = amy_knob_current_value("b_freq") * Math.exp(value * Math.log(2) / 12);
        amy_add_message("i1v1f" + mapped_value);
      }

It feels like it would be better to define a update_osc_b_freq() function that accessed amy_knob_current_value for both b_freq and b_detune, then was used as the onChange setting for both controls.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions