De interface van VDS Renaissance is in meerdere talen beschikbaar. De officiële documentatie wordt in het Engels onderhouden om één consistente en altijd actuele referentie te garanderen.

Audio and visual components (vdsfx70)

Windows Linux macOS

[VDS7] The vdsfx70 extension adds a set of decorative, hi-fi style dialog elements — VU meters, faders, LED bar graphs, knobs, seven-segment displays and switches. They are external components (drawn in Win32 GDI/GDI+), so they do not add to the core; load them only when you need them.

Loading the extension

Each component is an external command. In your script, declare the ones you use and load the DLL:

#define command,vumeter
EXTERNAL vdsfx70

The bitness is inserted automatically (vds64fx70.dll / vds32fx70.dll). A compiled program must ship vdsfx70.dll beside it (it is a free extension — no licence key).

Two ways to drive a component

All components share the same model:

  • Manual (default): the script sets the value with DIALOG SET,<name>,<0-100> and reads it with @DLGTEXT. Interactive components (SLIDER, KNOB, POWER, SWITCH) also emit a <name>CHANGE event when the user moves or clicks them.
  • AUTO: with the AUTO style the component runs on its own thread and updates itself from a source, with no code:
    • AUDIO (the default source) — the system audio peak level (the needle/bar dances to whatever is playing);
    • CPU — processor load (%); RAM — memory in use (%).

Common styles: AUTO{,<source>}, 3D (bevelled frame), BACK=RRGGBB (background colour).

VUMETER — analogue needle VU meter

DIALOG ADD,VUMETER,<name>,<top>,<left>,<width>,<height>{,<value 0-100>}{,<tooltip>}{,styles}

Styles: CLASSIC (vintage cream dial), EMBOSS/SYSTEM (sober grey dial that blends into a native dialog), SMOOTH (anti-aliased), 3D, BACK=RRGGBB, AUTO{,<source>}, CHAN=G / CHAN=D (stereo label + left/right audio channel).

#define command,vumeter
EXTERNAL vdsfx70
DIALOG CREATE,Player,-1,0,340,240
DIALOG ADD,VUMETER,VU,20,20,300,160,,,AUTO,AUDIO
DIALOG SHOW
:loop
  wait event
  goto @event()

SLIDER — fader (horizontal or vertical), with mixing mode

DIALOG ADD,SLIDER,<name>,<top>,<left>,<width>,<height>{,<value 0-100>}{,<tooltip>}{,styles}

Styles: HORIZ (default) / VERT, MEDIA{,<file>}, AUTO{,<source>}, 3D, BACK=RRGGBB.

  • Manual interactive (default): drag the thumb; each change emits a <name>CHANGE event and @DLGTEXT gives the value 0-100. The script can also set it with DIALOG SET.
  • AUTO: follows a source (AUDIO/CPU/RAM).
  • Mixing (MEDIA): assign a track to the slider — at creation (...,MEDIA,C:\music\track.mp3) or later (DIALOG SET,<name>,C:\music\track.mp3; a path instead of a number assigns it). The fader then drives the track (via MCI, the same engine as PLAY): leaving 0 starts playback, the fader position is the volume, and returning to 0 pauses. One slider per deck makes a DJ mixer.
#define command,slider
EXTERNAL vdsfx70
DIALOG CREATE,Mixer,-1,0,260,300
DIALOG ADD,SLIDER,CH1,20,40,40,220,0,,VERT,MEDIA,C:\music\a.mp3
DIALOG ADD,SLIDER,CH2,20,180,40,220,0,,VERT,MEDIA,C:\music\b.mp3
DIALOG SHOW
:loop
  wait event
  goto @event()

BARGRAPH — LED bar (round LEDs)

DIALOG ADD,BARGRAPH,<name>,<top>,<left>,<width>,<height>{,<value>}{,<tooltip>}{,styles}

Styles: HORIZ (default) / VERT, AUTO{,<source>}, 3D, BACK=RRGGBB. Manual or AUTO. LED colour: with no keyword, the classic green→amber→red ladder; a colour keyword (GREEN/AMBER/GOLD/CYAN/BLUE/RED/WHITE) gives a uniform tint.

KNOB — rotary hi-fi knob

DIALOG ADD,KNOB,<name>,<top>,<left>,<width>,<height>{,<value>}{,<tooltip>}{,styles}

A brushed-metal knob (GDI+). Manual interactive (circular drag sets the value and emits <name>CHANGE) or AUTO{,<source>}.

SEVENSEG — seven-segment numeric display

DIALOG ADD,SEVENSEG,<name>,<top>,<left>,<width>,<height>{,<value>}{,<tooltip>}{,styles}

Shows the value 0-100 as LED digits. Manual (DIALOG SET,<name>,<n>) or AUTO{,<source>}. Styles BACK=RRGGBB, 3D. Digit colour: default red; or a colour keyword (GREEN/AMBER/CYAN/BLUE/RED/WHITE).

POWER — glossy round power button (ON/OFF)

DIALOG ADD,POWER,<name>,<top>,<left>,<width>,<height>{,<value 0|100>}{,<tooltip>}{,styles}

A glossy dome with a power glyph that glows when on. A click toggles it (emits <name>CHANGE; value 0/100 via @DLGTEXT). Glow colour: RED (default), GREEN, AMBER, CYAN, BLUE, WHITE; BACK=RRGGBB.

SWITCH — ON/OFF pill switch

DIALOG ADD,SWITCH,<name>,<top>,<left>,<width>,<height>{,<value 0|100>}{,<tooltip>}{,styles}

A sliding pill toggle with a metal knob. A click toggles it (emits <name>CHANGE). ON colour: GREEN (default), AMBER, CYAN, BLUE, RED; BACK=RRGGBB. (Make the width greater than the height — it is a horizontal pill.)

Dialog Designer — the "Audio" palette

The seven components are integrated into the dialog designer: an Audio tab appears in the palette (next to Standard and Extended), with a glyph for each. You place, move and edit them (Value / Tooltip / Styles properties) like any control, and the real rendering is shown in the designer. The generated script must then contain EXTERNAL vdsfx70 and #define command,<type>, as for any external plugin.

A complete demonstration is provided in demos/vdsfx_showcase.dsc.

See also