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)
[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>CHANGEevent when the user moves or clicks them. - AUTO: with the
AUTOstyle 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>CHANGEevent 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
- Dialogs
- Creating Dialogs
- PLAY command
- EXTERNAL command