mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-19 21:35:57 +01:00
162 lines
3.6 KiB
Objective-C
162 lines
3.6 KiB
Objective-C
/*---------------------------------------------------
|
|
-----------------------------------------------------
|
|
Filename: mute.m
|
|
Version: 1.1
|
|
|
|
Type: maki
|
|
Date: 13. Jun. 2007 - 12:39
|
|
Author: Martin Poehlmann aka Deimos
|
|
E-Mail: martin@skinconsortium.com
|
|
Internet: www.skinconsortium.com
|
|
www.martin.deimos.de.vu
|
|
|
|
Note: This script is based on mute.m
|
|
from Winamp Modern
|
|
-----------------------------------------------------
|
|
---------------------------------------------------*/
|
|
|
|
#include <lib/std.mi>
|
|
|
|
#define GLOW_OBJECT MuteButton
|
|
#include <lib/com/glow.m>
|
|
|
|
Class Button GlowButton;
|
|
|
|
Global int VOLUME_FILL_MAX_W;
|
|
|
|
Global Group frameGroup;
|
|
Global Button MuteBtn, DeMuteBtn;
|
|
Global GuiObject SongTicker;
|
|
Global Float VolumeLevel;
|
|
Global Boolean Muted,BtnPressed;
|
|
Global GuiObject fill;
|
|
Global GuiObject muteActive;
|
|
Global Int muteActive_Y;
|
|
Global Boolean demuteDown;
|
|
Global Boolean isShade;
|
|
|
|
System.onScriptLoaded()
|
|
{
|
|
frameGroup = system.getScriptGroup();
|
|
isShade = (frameGroup.getParentlayout().getID() == "shade");
|
|
|
|
MuteBtn = frameGroup.findObject("mute");
|
|
DeMuteBtn = frameGroup.findObject("etum");
|
|
fill = frameGroup.findObject("player.volume.fill");
|
|
muteActive = frameGroup.findObject("mute.active");
|
|
SongTicker = frameGroup.findObject("songticker");
|
|
|
|
if (!isShade) muteActive_Y = muteActive.getGuiY();
|
|
|
|
if (!isShade) _MuteButton_GlowInit (MuteBtn, frameGroup.findObject("mute.glow"), 0.3);
|
|
if (!isShade) _MuteButton_addTrigger (DeMuteBtn);
|
|
|
|
Muted = getPrivateInt("winamp5", "muted", 0);
|
|
VolumeLevel = getPrivateInt("winamp5", "old_volume", 0);
|
|
|
|
VOLUME_FILL_MAX_W = stringToInteger(getParam());
|
|
|
|
fill.setXmlParam("w", integerToString(VOLUME_FILL_MAX_W*getVolume()/255));
|
|
|
|
if (Muted)
|
|
{
|
|
SongTicker.sendAction("showinfo", "Mute ON", 0, 0, 0, 0);
|
|
MuteBtn.hide();
|
|
DeMuteBtn.show();
|
|
if (!isShade) muteActive.show();
|
|
}
|
|
else
|
|
{
|
|
MuteBtn.show();
|
|
DeMuteBtn.hide();
|
|
if (!isShade) muteActive.hide();
|
|
}
|
|
|
|
BtnPressed = 0;
|
|
}
|
|
|
|
|
|
System.onScriptUnloading()
|
|
{
|
|
setPrivateInt("winamp5", "muted", Muted);
|
|
setPrivateInt("winamp5", "old_volume", VolumeLevel);
|
|
}
|
|
|
|
MuteBtn.onLeftClick()
|
|
{
|
|
BtnPressed = 1;
|
|
|
|
VolumeLevel = System.getVolume();
|
|
System.setVolume(0);
|
|
Muted = 1;
|
|
DeMuteBtn.show();
|
|
MuteBtn.hide();
|
|
if (!isShade) muteActive.show();
|
|
}
|
|
|
|
MuteBtn.onLeftButtonDown (int x, int y)
|
|
{
|
|
SongTicker.sendAction("showinfo", "Mute: Off", 0, 0, 0, 0);
|
|
}
|
|
|
|
DeMuteBtn.onLeftButtonDown (int x, int y)
|
|
{
|
|
SongTicker.sendAction("showinfo", "Mute: On", 0, 0, 0, 0);
|
|
if (!isShade) demuteDown = 1;
|
|
if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y+1));
|
|
}
|
|
|
|
MuteBtn.onLeftButtonUp (int x, int y)
|
|
{
|
|
if (Muted) SongTicker.sendAction("showinfo", "Mute: On", 0, 0, 0, 0);
|
|
}
|
|
|
|
DeMuteBtn.onLeftButtonUp (int x, int y)
|
|
{
|
|
if (!Muted) SongTicker.sendAction("showinfo", "Mute: Off", 0, 0, 0, 0);
|
|
if (!isShade) demuteDown = 0;
|
|
if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y));
|
|
}
|
|
|
|
DeMuteBtn.onLeftClick()
|
|
{
|
|
BtnPressed = 1;
|
|
|
|
System.setVolume(VolumeLevel);
|
|
Muted = 0;
|
|
DeMuteBtn.hide();
|
|
MuteBtn.show();
|
|
if (!isShade) muteActive.hide();
|
|
}
|
|
|
|
DeMuteBtn.onleaveArea ()
|
|
{
|
|
if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y));
|
|
}
|
|
|
|
DeMuteBtn.onEnterArea ()
|
|
{
|
|
if (!isShade && demuteDown) muteActive.setXmlParam("y", integerToString(muteActive_Y+1));
|
|
}
|
|
|
|
System.onvolumechanged(int newvol)
|
|
{
|
|
fill.setXmlParam("w", integerToString(VOLUME_FILL_MAX_W*getVolume()/255));
|
|
if (!BtnPressed)
|
|
{
|
|
SongTicker.sendAction
|
|
(
|
|
"showinfo",
|
|
translate("Volume") + ": " + integerToString(newvol/2.55) + "%",
|
|
0, 0, 0, 0
|
|
);
|
|
if (Muted)
|
|
{
|
|
Muted = 0;
|
|
MuteBtn.show();
|
|
DeMuteBtn.hide();
|
|
if (!isShade) muteActive.hide();
|
|
}
|
|
}
|
|
BtnPressed = 0;
|
|
} |