Features
3RVX began as a project to emulate the volume display in Mac OS X, but has evolved to support even more features over the years. Here's a few things it can do:
- Flexible skins with alpha-transparent pngs
- Volume control hotkeys that can map your keyboard's media buttons
- Display the volume level in the system tray
- Notify you when drives are ejected
3RVX also supports many different customization options, so I suggest you play around a little bit with the settings window to tweak things to your liking.
First-time Usage
When you launch 3RVX for the first time, it will prompt you to select your default language and then display the main volume display window. You can change settings using the system tray icon's menu. Here is the default hotkey configuration:
- Win+ increase volume
- Win- decrease volume
- Win\ mute
You can also create hotkeys that eject drives, open the settings window, and exit the program.
System Requirements
- Microsoft .NET Framework 3.5 (download here)
- Windows Vista or XP, Supports both x86 and x64
General Troubleshooting
- 3RVX won't start.
- Make sure you have Framework 3.5 installed.
- I disabled the tray icon and now I can't change the settings!
- Run the program executable again and the settings dialog will be displayed.
- My settings have caused the program to crash or become inoperable.
- Run the "restore defaults" shortcut in the application folder, or execute 3RVX with the /defaults argument.
- The control window shows up in the wrong place!
- You can actually drag it wherever you want and it'll save its last position.
Skinning
- Control
- back.png - the control meter's background
- glassMask.png - optional file that tells Vista where to draw glass
- knob.png - the control knob that can be dragged to change the volume
- Notification Icons
- 0.ico - shown in the notification area when the volume is muted
- x.ico - shown to reflect the current volume level. Starts with 1 and there can be as many more icons as the skin author desires. 1.ico is 0% volume, and the highest numbered icon represents 100% volume.
- OSD
- back.png - the OSD background
- eject.png - shown when a drive ejects
- glassMask.png - optional file that tells Vista where to draw glass (black regions = glass)
- meter.png - shows the current volume level
- mute.png - shown when the volume is muted
- skin.xml
- info
- author - the author of the skin
- website - the author's website. Must start with http://
- skinVersion - the skin's version
- formatVersion - the skinning format the skin was designed for, to help prevent users from loading incompatible skins. The current version is 2.
- osd
- meterOrientation [horizontal|vertical|bitstrip] - selects the type of meter the skin will be using. Horizontal shows more of meter.png from left to right as the volume increases. Vertical shows from top to bottom. Bitstrip shows a part of the image based on the current volume level, allowing more flexible meters at the cost of file size.
- meterPosition - the x and y coordinates of where the meter will be drawn.
- meterMax - the number of "pieces" the meter shows when the volume is at 100%. For bitstrip orientation, a meterMax of 4 would allow 5 states: 4 volume states and 1 for when the volume level is 0%.
- fadeStepping - how fast the meter will fade out. Smaller = faster, larger = slower
- drawPercentage [true|false] - if set to true, 3RVX will draw a text item using the following settings.
- font
- fontName
- fontSyle [normal|bold|italic]
- fontColor - font color in ARGB (alpha level,red,green,blue)
- fontSize
- fontLocation - X and Y coordinates to draw the text
- control
- orientation [horizontal|vertical] - whether the meter slides horizontally or vertically.
- sliderPosition - the x and y coordinates of where the slider will be drawn, along with its width and height to tell the program where the slider boundaries are.
- info
- sound.wav - optional file, played each time the volume changes
The best way to figure out 3RVX's skinning format is to check out different skin.xml files. There are plenty of skins available on my website that you can download and use to help you get started.
Windows Messages
3RVX supports custom messages to allow skinners or developers to send it commands. For example, your Mac Menubar skin could send WM_3RVX_CONTROL to 3RVX in order to show the control window when the volume icon is clicked. Here is a full list of the messages 3RVX responds to:
- WM_3RVX_VOLUP
- WM_3RVX_VOLDOWN
- WM_3RVX_VOLMUTE
- WM_3RVX_SETTINGS
- WM_3RVX_CONTROL
The Developer folder contains a couple programs as well as C# code to demonstrate using these messages.
Thanks
The following people helped make 3RVX possible:
- Ray M. - Vista core audio API wrapper
- Gustavo Franco - XP audio library
- Jeton - Skins and testing
- grigri - Showing me how to CBT Hook
- Ki Shodar - Vista 808 skin, testing
- Aphaits (David) - Ignition skin
- Jake - Small Glass skin
- Tim - testing
- PEPEi - translations
- Aylwin - translations
And also all the other beta testers, people who gave feedback, and anybody who put together a translation file. THANKS! :)