6.2.4. VSig Beginner Tutorial #4 - Intermediate Menu Design

This tutorial will focus on making more intricate user menus using VSig by building a chorus effect. The basic effect idea is as follows:

../../../_images/beg4.png

Fig. 6.22 Simple chorus algorithm with one knob

This is a simple chorus effect with a one-knob design. In this case, the knob controls the delay time used in the chorus effect. When looking at the available parameters for the knob module, we can see the following:

../../../_images/knobparams.png

Fig. 6.23 Parameter list for a knob module

There are a few different parameters that can be adjusted. Their uses can be found in the documentation by right clicking the module then clicking “Show Module Documentation.”

We can see that there are some values here.

  • Statement - Text description in the PARAMETER menu

  • Name – a short name which will be used if the knob is directly connected to the head

  • Min - minimum value. Range -32768 to max

  • Max - maximum value. Range min to 32768.0

  • Res - multiplier of the output values, or step rate

  • Default - initial value that is active when the algorithm is first loaded.

While most of these are self-explanatory, the statement parameter has a few tricks to best show the parameters.

To show the value of the variable associated, we can use the following syntax:

  • %[flags][width].[precision]f is used for numerical values

  • %[flags][width]s is used for text values

  • Inserting a ‘:’ will split the text into two lines, the first being below the knob, the second being above.

  • To show a % symbol in the text, it must be typed using two % symbols: %%

Flags:

  • ‘-’ The value will be left aligned instead of right aligned

  • ‘+’ A ‘+’/‘-’ sign will always appear in front of the number

  • ‘#’ The displayed value will always have a decimal point

Example:

../../../_images/dlyknob.png

Fig. 6.24 A knob module with a statement value ‘DELAY TIME : %4.0fms’

After becoming comfortable with knobs and other simple control inputs, menus can start to be built. Working with the same chorus effect as before, we can add additional knob modules connected to the control inputs. However, to use multiple knobs, they must be connected to a menupage module. Menupage modules can be nested to make groups of interface modules. This allows your patch to be more easily navigable and more user friendly. We can see an example of this as follows:

../../../_images/beg4-2.png

Fig. 6.25 Simple chorus effect with several interface modules and menupages

../../../_images/menu.png

Fig. 6.26 Menu displayed to user in Emote

Download the sigfile here: Intermediate Menu Design1 and here: Intermediate Menu Design2 .