aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens/UScreenOptionsRecord.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-05-10 12:28:56 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-05-10 12:28:56 +0000
commitc6da424a1508eae4538244b4d00ddf1f0436b1b7 (patch)
tree18a125cc8a590c0916811e47c912134278e92bb7 /Game/Code/Screens/UScreenOptionsRecord.pas
parent8af89b5940bd15b013e3f48536888e352eb1c43b (diff)
downloadusdx-c6da424a1508eae4538244b4d00ddf1f0436b1b7.tar.gz
usdx-c6da424a1508eae4538244b4d00ddf1f0436b1b7.tar.xz
usdx-c6da424a1508eae4538244b4d00ddf1f0436b1b7.zip
Volumes are floating point values (single) now. The range changed from [0 .. 100] to [0.0 .. 1.0]
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1081 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r--Game/Code/Screens/UScreenOptionsRecord.pas20
1 files changed, 12 insertions, 8 deletions
diff --git a/Game/Code/Screens/UScreenOptionsRecord.pas b/Game/Code/Screens/UScreenOptionsRecord.pas
index 8e3d0f67..8db5ede9 100644
--- a/Game/Code/Screens/UScreenOptionsRecord.pas
+++ b/Game/Code/Screens/UScreenOptionsRecord.pas
@@ -64,7 +64,7 @@ type
procedure StartPreview;
procedure StopPreview;
procedure UpdateInputDevice;
- procedure ChangeVolume(VolumeChange: integer);
+ procedure ChangeVolume(VolumeChange: single);
procedure DrawVolume(x, y, Width, Height: single);
procedure DrawVUMeter(const State: TDrawState; x, y, Width, Height: single);
procedure DrawPitch(const State: TDrawState; x, y, Width, Height: single);
@@ -119,13 +119,13 @@ begin
begin
// FIXME: add a nice volume-slider instead
// or at least provide visualization and acceleration if the user holds the key pressed.
- ChangeVolume(2);
+ ChangeVolume(0.02);
end;
'-':
begin
// FIXME: add a nice volume-slider instead
// or at least provide visualization and acceleration if the user holds the key pressed.
- ChangeVolume(-2);
+ ChangeVolume(-0.02);
end;
'T':
begin
@@ -203,6 +203,8 @@ begin
PreviewDeviceIndex := -1;
+ WidgetYPos := 0;
+
// init sliders if at least one device was detected
if (Length(AudioInputProcessor.DeviceList) > 0) then
begin
@@ -292,7 +294,9 @@ begin
// add Exit-button
ButtonTheme := Theme.OptionsRecord.ButtonExit;
- ButtonTheme.Y := WidgetYPos;
+ // adjust button position
+ if (WidgetYPos <> 0) then
+ ButtonTheme.Y := WidgetYPos;
AddButton(ButtonTheme);
if (Length(Button[0].Text) = 0) then
AddButtonText(14, 20, Theme.Options.Description[7]);
@@ -372,10 +376,10 @@ begin
StartPreview();
end;
-procedure TScreenOptionsRecord.ChangeVolume(VolumeChange: integer);
+procedure TScreenOptionsRecord.ChangeVolume(VolumeChange: single);
var
InputDevice: TAudioInputDevice;
- Volume: integer;
+ Volume: single;
begin
// validate CurrentDeviceIndex
if ((CurrentDeviceIndex < 0) or
@@ -391,7 +395,7 @@ begin
// set new volume
Volume := InputDevice.GetVolume() + VolumeChange;
InputDevice.SetVolume(Volume);
- //DebugWriteln('Volume: ' + inttostr(InputDevice.GetVolume));
+ //DebugWriteln('Volume: ' + floattostr(InputDevice.GetVolume));
// volume must be polled again
NextVolumePollTime := 0;
@@ -700,7 +704,7 @@ begin
if (SDL_GetTicks() >= NextVolumePollTime) then
begin
NextVolumePollTime := SDL_GetTicks() + 500; // next poll in 500ms
- SourceVolume := Device.GetVolume()/100;
+ SourceVolume := Device.GetVolume();
end;
// get source select slide