La interfaz de VDS Renaissance está disponible en varios idiomas. La documentación oficial se mantiene en inglés para garantizar una referencia única, coherente y siempre actualizada.

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