aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins/Big Bento/scripts/cbuttons.m
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/resources/skins/Big Bento/scripts/cbuttons.m
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/resources/skins/Big Bento/scripts/cbuttons.m')
-rw-r--r--Src/resources/skins/Big Bento/scripts/cbuttons.m293
1 files changed, 293 insertions, 0 deletions
diff --git a/Src/resources/skins/Big Bento/scripts/cbuttons.m b/Src/resources/skins/Big Bento/scripts/cbuttons.m
new file mode 100644
index 00000000..0b662f4c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/cbuttons.m
@@ -0,0 +1,293 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: cbuttons.m
+Version: 1.0
+
+Type: maki
+Date: 03. Nov. 2006 - 17:02
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/pldir.mi>
+
+#define GLOW_OBJECT Prev
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Next
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Play
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Pause
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Stop
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Eject
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Repeat
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Shuffle
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Bolt
+#include <lib/com/glow.m>
+
+Class Button InfoButton;
+Class ToggleButton InfoToggleButton;
+
+Global InfoButton b_play, b_pause, b_eject, b_prev, b_next, b_stop, b_bolt;
+Global InfoToggleButton b_repeat, b_shuffle;
+Global GuiObject SongTicker;
+Global Group buttongroup;
+Global GuiObject shuffleActive, repeatActive, boltGlow;
+Global Int shuffleActive_Y, repeatActive_Y, minW, boltX, grabbX;
+Global Layer mainframe_grabber;
+Global Timer beatvis;
+
+System.onScriptLoaded ()
+{
+ buttongroup = getScriptGroup().findObject("player.cbuttons");
+
+ b_play = buttongroup.getObject("Play");
+ b_pause = buttongroup.getObject("Pause");
+ b_eject = buttongroup.getObject("Eject");
+ b_prev = buttongroup.getObject("Prev");
+ b_next = buttongroup.getObject("Next");
+ b_stop = buttongroup.getObject("Stop");
+ b_repeat = buttongroup.getObject("repeat");
+ b_shuffle = buttongroup.getObject("shuffle");
+ b_bolt = buttongroup.getParentLayout().getObject("bolt");
+ boltGlow = buttongroup.getParentLayout().getObject("bolt.glow");
+ shuffleActive = getScriptGroup().findObject("shuffle.active");
+ shuffleActive_Y = shuffleActive.getGuiY();
+ repeatActive = getScriptGroup().findObject("repeat.active");
+ repeatActive_Y = repeatActive.getGuiY();
+ mainframe_grabber = buttongroup.getParentLayout().getObject("player.mainframe.grabber");
+
+ beatvis = new Timer;
+ beatvis.setDelay(33);
+
+ minW = stringToInteger(getParam());
+ boltX = b_bolt.getGuiX();
+ grabbX = mainframe_grabber.getGuiX();
+
+ b_bolt.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ boltGlow.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ mainframe_grabber.setXmlParam("x", integerToString(grabbX + buttongroup.GetWidth() - minW));
+
+ _Play_GlowInit (b_play, buttongroup.findObject("Play.glow"), 0.3);
+ _Pause_GlowInit (b_pause, buttongroup.findObject("Pause.glow"), 0.3);
+ _Stop_GlowInit (b_stop, buttongroup.findObject("Stop.glow"), 0.3);
+ _Prev_GlowInit (b_prev, buttongroup.findObject("Prev.glow"), 0.3);
+ _Next_GlowInit (b_next, buttongroup.findObject("Next.glow"), 0.3);
+ _Eject_GlowInit (b_eject, buttongroup.findObject("Eject.glow"), 0.3);
+ _Repeat_GlowInit (b_repeat, buttongroup.findObject("repeat.glow"), 0.3);
+ _Shuffle_GlowInit (b_shuffle, buttongroup.findObject("shuffle.glow"), 0.3);
+ _Bolt_GlowInit (b_bolt, buttongroup.getParentLayout().getObject("bolt.glow"), 0.7);
+
+ SongTicker = buttongroup.getParentLayout().findObject("songticker");
+}
+
+system.onScriptUnloading ()
+{
+ beatvis.stop();
+ delete beatvis;
+}
+
+InfoButton.onLeftButtonDown (int x, int y)
+{
+ if (InfoButton == b_play)
+ {
+ if (getStatus() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Resume Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Start Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Restart Playback", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoButton == b_pause)
+ {
+ if (getStatus() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Resume Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Pause Playback", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoButton == b_pause)
+ {
+ if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Pause Playback", 0, 0, 0, 0);
+ }
+ }
+ else
+ {
+ string info = InfoButton.getXmlParam("tooltip");
+ SongTicker.sendAction("showinfo", info, 0, 0, 0, 0);
+ }
+}
+
+InfoToggleButton.onLeftButtonDown (int x, int y)
+{
+ if (InfoToggleButton == b_shuffle)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: On", 0, 0, 0, 0);
+ }
+ else
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: Off", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoToggleButton == b_repeat)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Playlist", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Track", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Off", 0, 0, 0, 0);
+ }
+ }
+}
+
+InfoToggleButton.onLeftButtonUp (int x, int y)
+{
+ if (InfoToggleButton == b_shuffle)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: On", 0, 0, 0, 0);
+ }
+ else
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: Off", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoToggleButton == b_repeat)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Playlist", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Track", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Off", 0, 0, 0, 0);
+ }
+ }
+}
+
+Global Boolean shuffleDown, repeatDown;
+b_shuffle.onLeftButtonDown (int x, int y)
+{
+ shuffleDown = 1;
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y+1));
+}
+
+b_shuffle.onLeftButtonUp (int x, int y)
+{
+ shuffleDown = 0;
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y));
+}
+
+b_shuffle.onleaveArea ()
+{
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y));
+}
+
+b_shuffle.onEnterArea ()
+{
+ if (shuffleDown) shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y+1));
+}
+
+b_repeat.onLeftButtonDown (int x, int y)
+{
+ repeatDown = 1;
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y+1));
+}
+
+b_repeat.onLeftButtonUp (int x, int y)
+{
+ repeatDown = 0;
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y));
+}
+
+b_repeat.onleaveArea ()
+{
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y));
+}
+
+b_repeat.onEnterArea ()
+{
+ if (repeatDown) repeatActive.setXmlParam("y", integerToString(repeatActive_Y+1));
+}
+
+buttongroup.onResize (int x, int y, int w, int h)
+{
+ b_bolt.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ boltGlow.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ mainframe_grabber.setXmlParam("x", integerToString(grabbX + buttongroup.GetWidth() - minW));
+}
+
+b_bolt.onLeftButtonUp (int x, int y)
+{
+ if (isKeyDown(VK_ALT) && isKeyDown(VK_SHIFT) && isKeyDown(VK_CONTROL))
+ {
+ if (beatvis.isRunning())
+ {
+ beatvis.stop();
+ }
+ else
+ {
+ beatvis.start();
+ }
+ complete;
+ }
+}
+
+beatvis.onTimer ()
+{
+ int value = (getRightVuMeter() + getLeftVuMeter()) / 2;
+ boltGlow.setAlpha(value);
+}
+/*
+System.onKeyDown (String key)
+{
+ if (key == "space")
+ {
+ PlEdit.showCurrentlyPlayingTrack();
+
+ complete;
+ }
+}*/
+
+System.onAccelerator (String action, String section, String key)
+{
+ if (strupper(action) == "SHOW_CURRENT_TRACK")
+ {
+ PlEdit.showCurrentlyPlayingTrack();
+
+ complete;
+ }
+} \ No newline at end of file