시간과 노력 투자하셔서 만드신 스크립트를 공개해주신
Michael님께 정말 감사드립니다.
올려주신 스크립트를 기반으로 제가 사용하는 환경에 맞게 일부 수정을 했는데요,
수정한 부분은
1. 마스터/웨이브 볼륨바 색을 바꾸었고, 위치도 바꾸었습니다(바가 나타나는 위치도 조금 내렸고요...)
2. 볼륨조절이 마우스 커서가 태스크 바에 올라가 있을 때에만 되던 것을, 아무 위치에서나 작동하도록 바꾸었습니다.
3. 키 조합을 컨트롤과 시프트에서, 컨트롤(마스터볼륨), 알트(웨이브볼륨), 윈도우키(마스터+웨이브)로 바꾸었습니다.
4. 마우스 휠로만 조절되던 볼륨을 키보드 방향키로도 조절되도록 바꾸었습니다.
5. 볼륨바가 나타나는 관계로 따로 딩사운드는 필요 없을 것 같아서, 딩 사운드는 뮤트시켰습니다.
이러한 것들을 바꾸었는데요...
제가 일단 해보니 되는 것 같기는 한데...
제가 프로그래밍을 전혀 몰라서 이게 문제가 있는 것인지 없는 것인지 소스만 보고는 알지를 못합니다.
수정도 코드를 보고 해독(?)을 해서 수정한 것인지라...
아래의 코드를 보시고 혹 제가 잘못 건드려놓아서 문제될만한 곳이 있는지 좀 보아주시면 감사드리겠습니다. (__)
복받으세요~
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Description
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; On TaskBar or Not On TaskBar
; WindowsKey + (Wheel) Up/Down : Master&Wave Up/Down
; Ctrl + (Wheel) Up/Down : Master Volume Up/Down
; Alt + (Wheel) Up/Down : Wave Volume Up/Down
; Ctrl + Alt + (Wheel) Up/Down : Master&Wave Mute
; No Ding Sound
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Originally Made by Michael Kim + Revised by GON
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;esc::EXITAPP ; used only in development
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VolumeDegree = 3
BarWidth = 80
BarHeight = 10
BarColorWaveDefault = Fuchsia
BarColorMastDefault = Lime
BackColorDefault = White
BarShowTime = 1000 ; milli-seconds
BarExist = FALSE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Functions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MouseIsOnTaskBar(ByRef iMouseX, ByRef iMouseY)
{
CoordMode, Mouse, Screen
MouseGetPos, iMouseX, iMouseY, id
WinGetClass, class, ahk_id %id%
if class = Shell_TrayWnd
return TRUE
else
return TRUE ;; Editted by GON
}
ShowVolumeBar(iMouseX, iMouseY)
{
global BarWidth
global BarHeight
global BarColorMastDefault
global BarColorWaveDefault
global BarExist
global BarShowTime
global BackColorDefault
SoundGet, MastMute, MASTER, MUTE
SoundGet, WaveMute, WAVE, MUTE
IF WaveMute = ON
{
BackColorWave = Gray
BarColorWave = Black
}
ELSE
{
BackColorWave := BackColorDefault
BarColorWave := BarColorWaveDefault
}
IF MastMute = ON
{
BackColorMast = Gray
BarColorMast = Black
}
ELSE
{
BackColorMast := BackColorDefault
BarColorMast := BarColorMastDefault
}
SoundGet, MastVol, MASTER
SoundGet, WaveVol, WAVE
if BarExist = FALSE
{
BarPosX := iMouseX - BarWidth/2
BarPosY := iMouseY - BarHeight - 16
Progress, 1: B X%BarPosX% Y%BarPosY% W%BarWidth% ZH%BarHeight% ZX0 ZY0 CW%BackColorMast%
CB%BarColorMast% P%MastVol%
BarPosY := iMouseY - BarHeight - 6
Progress, 2: B X%BarPosX% Y%BarPosY% W%BarWidth% ZH%BarHeight% ZX0 ZY0 CW%BackColorWave%
CB%BarColorWave% P%WaveVol%
BarExist = TRUE
}
else
{
Progress, 1: %MastVol%
Progress, 2: %WaveVol%
}
SetTimer, RemoveVolumeBar, %BarShowTime%
return
}
; Timer
RemoveVolumeBar:
{
SetTimer, RemoveVolumeBar, OFF
Progress, 1: OFF
Progress, 2: OFF
BarExist = FALSE
return
}
PlayDing()
{
; SoundPlay, %A_WinDir%\Media\Windows XP Ding.wav ;; Editted by GON
return
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Hotkeys
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#WheelDown::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, -%VolumeDegree%
SoundSet, -%VolumeDegree%, WAVE
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^{WheelDown}
}
return
}
#WheelUp::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, +%VolumeDegree%
SoundSet, +%VolumeDegree%, WAVE
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^{WheelUp}
}
return
}
#Up::
Gosub #WheelUp
return
#Down::
Gosub #WheelDown
return
^WheelDown::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, -%VolumeDegree%
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^{WheelDown}
}
return
}
^WheelUp::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, +%VolumeDegree%
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^{WheelUp}
}
return
}
^Up::
Gosub ^WheelUp
return
^Down::
Gosub ^WheelDown
return
!WheelDown::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, -%VolumeDegree%, WAVE
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, +{WheelDown}
}
return
}
!WheelUp::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, +%VolumeDegree%, WAVE
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, +{WheelUp}
}
return
}
!Up::
Gosub !WheelUp
return
!Down::
Gosub !WheelDown
return
^!WheelDown::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, 1, MASTER, MUTE
SoundSet, 1, WAVE , MUTE
BarExist = FALSE
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^+{WheelDown}
}
return
}
^!WheelUp::
{
if MouseIsOnTaskBar(iMouseX, iMouseY) = TRUE
{
SoundSet, 0, MASTER, MUTE
SoundSet, 0, WAVE, MUTE
Gosub, RemoveVolumeBar
ShowVolumeBar(iMouseX, iMouseY)
PlayDing()
}
else
{
Send, ^+{WheelUp}
}
return
}
^!Up::
Gosub ^!WheelUp
return
^!Down::
Gosub ^!WheelDown
return