VDS Renaissance 的界面提供多种语言。官方文档以英语维护,以确保提供统一、一致且始终最新的参考。
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