umSlider 1.2
Copyright © 2004-2006 Seg@, Brian, thegeek. Distributed under the GNU GPL2 license.
Originally umSlider.dll was just a copy of blkhawk's LSSlider. It has been written only to avoid a CPU usage bug on WinXP.
BTW if you don't know what LSSlider is; it controls Winamp or any given channel of your soundcard.
With the last update umSlider got the support of Andymon's xPaintClass and lost LSSlider compatibility,
so it means to be a separate module.
Put umSlider-1.2.dll in any directory you like, for example
C:\LiteStep\modules\,
then add this line to step.rc
LoadModule "C:\LiteStep\modules\umSlider-1.2.dll"
In the case you're using OTS2 compatible distro such as Omar's LiteStep Installer,
AngelKnight's EZ2Install or Joshhh's Dist.ru, you should use the *NetLoadModule pseudo-operator:
*NetLoadModule umSlider-1.2
umSlider module can handle multiple sliders, so first of all you need to instruct
the module about sliders' names. They will be used to configure and control the sliders.
New slider should be defined in the next manner:
*umSlider [name]
and the slider options have the following form:
[name][option] [value]
Example:
*umSlider Track
TrackX 100
Sample files available in the 'Sample Config' folder of the module archive
*NetLoadModule umSlider-1.2
*umSlider Track
TrackMode ampvolume
TrackX 100
TrackY 200
TrackWidth 100
TrackHeight 10
TrackVisible true
TrackAlwaysOnTop false
TrackHandleOffset 0
TrackInverted true
TrackDirection horizontal
TrackTip "Amp"
TrackPaintingMode .image
TrackTrueTransparency false
TrackAlphaTransparency 0
TrackImage slider_amp_pos.png
TrackImageMode stretch
TrackHandlePaintingMode .image
TrackHandleTrueTransparency false
TrackHandleImage slider.png
TrackHandleImageMode stretch
TrackHandleWidth 5
TrackHandleHeight 10
Note, please, that each option begins from the slider name, specified in the
*umSlider line
(slider)Tip [string]
The text description that is displayed when the cursor hovers over the slider.
Default : empty
(slider)X [coordinate]
Horizontal coordinate of the top-left slider's corner.
Can be negative to place the slider relative to the right edge of the screen.
Default : 0
(slider)Y [coordinate]
Vertical coordinate of the top-left slider's corner.
Can be negative to place the slider relative to the bottom edge of the screen.
Default : 0
(slider)Width [integer]
Slider width.
(slider)Height [integer]
Slider height.
(slider)HandleWidth [integer]
Handle width.
(slider)HandleHeight [integer]
Handle height.
(slider)Offset [integer]
An offset of the SliderBar's handle from the edge of the slider.
(slider)Texture
Texture used to paint slider background (see xPaintClass Wiki for details). Texture prefix is (slider-name)
(slider)HandleTexture
Texture used to paint slider handle (see xPaintClass Wiki for details). Texture prefix is (slider-name)Handle
(slider)Direction [string]
Use 'vertical' or 'horizontal' to get either a Horizontal or a Vertical Slider.
(slider)AlwaysOnTop [false/true]
Set this flag to make a Slider stay ontop of all windows
Default : false
(slider)Inverted [false/true]
Set this flag to invert a Slider.
Default : false
(slider)Visible [false/true]
Use 'false' to start a slider hidden
Default : true
(slider)Mode [string]
Here you can define what kind of Slider the Slider should be.
Currently there are four modes: 'volume', 'balance', track' and 'ampvolume'
(slider)Channel [integer]
Can be any number from 0 (usually MainVolume) upto the number of channels your Soundcard has.
Default : 0
(slider)MixerID [integer]
Mixer device number (default 0 - primary sound driver).
Default : 0
Note that each slider bang takes a slider name as a first parameter.
Example:
!SliderShow MySlider
!umSliderCreate [string]
Creates a slider with the specified name.
!umSliderDestroy [string]
Destroys a slider with the specified name.
!umSliderHook [string]
It's a bang which can be used in *ModuleHook lines of the LsBox and similar modules.
The first parameter is a slider name.
See corresponding modules' documentation for details.
Don't call this bang manually!
!umSliderShow [string]
Shows a slider with the specified name.
!umSliderHideGroup [string]
Hides a slider with the specified name.
!umSliderToggle [string]
Toggle visibility state of the specified slider.
!umSliderMove [string] [coordinate] [coordinate]
Move a slider to the specified point.
!umSliderMoveBy [string] [integer] [integer]
Shift a slider by the specified number of pixels.
!umSliderResize [string] [integer] [integer]
Set new slider width and height.
!umSliderResizeBy [string] [integer] [integer]
Cnanges slider width and height by specified number of pixels.
!umSliderReposition [string] [coordinate] [coordinate] [integer] [integer]
Set new slider position, width and height
!umSliderRepositionBy [string] [integer] [integer] [integer] [integer]
Changes slider position, width and height by specified number of pixels
The following bangs can be used to change the system volume (originally
they were a part of the V_Bang.dll). First parameter of each !bang is a mixer number, second - sound
channel number.
umSliderVolumeStep [integer]
Default step value for !umSliderVolumeUp and !umSliderVolumeDown !bangs
Default : 1
umSliderBalanceStep [integer]
Default step value for !umSliderBalanceLeft and !umSliderBalanceRight !bangs
Default : 1
!umSliderVolumeUp [integer] [integer] [integer]
Increases specified mixer (first parameter) channel volume (second parameter) by specified number of percents (third parameter).
If volume step is omitted, umSliderVolumeStep used.
!umSliderVolumeDown [integer] [integer] [integer]
Decreases specified mixer (first parameter) channel volume (second parameter) by specified number of percents (third parameter).
If volume step is omitted, umSliderVolumeStep used.
!umSliderMute [integer] [integer]
Toggles channel on/off.
!umSliderBalanceLeft [integer] [integer] [integer]
Changes specified mixer (first parameter) channel balance (second parameter) by specified number of percents (third parameter).
If balance step is omitted, umSliderBalanceStep used.
!umSliderBalanceRight [integer] [integer] [integer]
Changes specified mixer (first parameter) channel balance (second parameter) by specified number of percents (third parameter).
If balance step is omitted, umSliderBalanceStep used.
!umSliderSetVolume [integer] [integer] [integer]
Set specified mixer (first parameter) channel volume (the third parameter is a value from 0 to 100)
!umSliderSetBalance [integer] [integer] [integer]
Set specified mixer (first parameter) channel balance (the third parameter is a value from -100 to 100)
Version 1.2, 2007-05-13 (alexV)
ADDED: (slider)MixerID property - allow control custom mixer when presents few soundcards
CHANGED: Bang commands to volume control (first parameter - mixerid)
Version 1.1, 2007-02-23 (thegeek)
ADDED: Support for "proper" painting of handle (Handle is now painted directly onto slider, this allows for _all_ xpaintclass effects, such as alpha)
ADDED:
!umSliderCreate, !umSliderDestroyMoveBy
CHANGED: Slider behaviour is now more like lssliderfoo, you can now click anywhere on the slider and then directly continue to drag the handle. Much more intuitive this way.
CHANGED: HandleOffset works properly now (equal offset on both sides of the list)
CHANGED: Fixed volume/balance bug where balance would "stray"
CHANGED: Fixed volume divide by zero bug
CHANGED: Fixed "disappear on recycle"-bug
Version 1.0, 2006-12-25 (Seg@)
Note that new umSlider requires VC++ 2005 run-time libraries ( available with .NET Framework 2.0
or separately at http://miranda.or.at/files/vcredist_x86.exe, about 2,8 Mb )
ADDED: xPaintClass v1.0 support
CHANGED: The version isn't backwards compatibile, thereby configuration prefix changed to "umSlider"
ADDED:
!umSliderMove, !umSliderMoveBy,
!umSliderResize, !umSliderResizeBy,
!umSliderReposition, !umSliderRepositionBy
ADDED: umSliderVolumeStep, umSliderBalanceStep and stepping parameters for volume control bangs
Version 0.3, 2006-08-16 (Brian)
FIXED: the muting code (was bustigated)
CHANGED: the volume stepsize from 10 to 1 (not an adjustable step setting yet).
Version 0.2, 2004-11-13 (Seg@)
I don't think there will be future releases, so it is a first and alone umSlider version.
Handle:
Sergey Gagarin a.k.a.
Seg@
E-Mail :
inform-sega_AT_freemail.ru
ICQ: 162261148
Handle:
Brian Wolven
E-Mail :
bcwolven_AT_hotmail.com
Handle:
Øystein E. Krog a.k.a. thegeek
E-Mail :
okrog_AT_online.no