aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins/Big Bento/scripts/timecontrol.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/timecontrol.m
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/resources/skins/Big Bento/scripts/timecontrol.m')
-rw-r--r--Src/resources/skins/Big Bento/scripts/timecontrol.m89
1 files changed, 89 insertions, 0 deletions
diff --git a/Src/resources/skins/Big Bento/scripts/timecontrol.m b/Src/resources/skins/Big Bento/scripts/timecontrol.m
new file mode 100644
index 00000000..f801e233
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/timecontrol.m
@@ -0,0 +1,89 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: timecontrol.m
+Version: 1.0
+
+Type: maki
+Date: 29. Jun. 2007 - 00:13
+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/config.mi>
+#include <lib/com/AutoRepeatButton.m>
+
+Function updateAttrib (int val);
+
+Global ConfigAttribute timeAttrib;
+Global text Display;
+Global AutoRepeatButton Increase, Decrease;
+Global float multiplier;
+Global int maxvalue, step;
+Global string suffix;
+Global boolean myChange;
+
+System.onScriptLoaded ()
+{
+ AutoRepeat_Load();
+ string param = getParam();
+
+ string objects = getToken(param, "|", 0);
+ group scriptGroup = getScriptGroup();
+ Display = scriptGroup.findObject(getToken(objects, ";", 0));
+ Decrease = scriptGroup.findObject(getToken(objects, ";", 1));
+ Increase = scriptGroup.findObject(getToken(objects, ";", 2));
+
+ objects = getToken(param, "|", 1);
+ timeAttrib = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+
+ step = stringToInteger(getToken(param, "|", 2));
+ maxvalue = stringToInteger(getToken(param, "|", 3));
+ multiplier = stringToFloat(getToken(param, "|", 4));
+ suffix = getToken(param, "|", 5);
+
+ AutoRepeat_SetInitalDelay(250);
+ AutoRepeat_SetRepeatDelay(125);
+
+ updateAttrib (0);
+}
+
+System.onScriptUnloading ()
+{
+ AutoRepeat_Unload();
+}
+
+Increase.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (step);
+}
+
+Decrease.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (-step);
+}
+
+timeAttrib.onDataChanged ()
+{
+ if (myChange) return;
+ updateAttrib (0);
+}
+
+updateAttrib (int val)
+{
+ float i = stringToInteger(timeAttrib.getData());
+ i += val;
+ if (i < 0 || i > maxvalue) return;
+ myChange = 1;
+ string s = integerToString(i);
+ if (timeAttrib) timeAttrib.setData(s);
+ i *= multiplier;
+ s = floatToString(i,1);
+ Display.setText(s + suffix);
+ myChange = 0;
+} \ No newline at end of file