Initial community commit
132
Src/resources/skins/Big Bento/about/about.m
Normal file
@ -0,0 +1,132 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: about.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 03. Jul. 2006 - 22:40
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
#include nibbles/nibbles.m
|
||||
|
||||
Global Layer tgnibbles;
|
||||
Global Group sg;
|
||||
Global Timer change;
|
||||
Global int counter;
|
||||
Global Group g1, g2, g3, g4, g5, g6, g7, g8;
|
||||
Function blend (guiobject in, guiobject out);
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
sg = getScriptGroup();
|
||||
tgnibbles = sg.getObject("toggle");
|
||||
nibbles = sg.getObject("nibbles");
|
||||
|
||||
init_nibbles();
|
||||
|
||||
g1 = sg.getObject("about.text1");
|
||||
g2 = sg.getObject("about.text2");
|
||||
g3 = sg.getObject("about.text3");
|
||||
g4 = sg.getObject("about.text4");
|
||||
g5 = sg.getObject("about.text5");
|
||||
g6 = sg.getObject("about.text6");
|
||||
g7 = sg.getObject("about.text7");
|
||||
g8 = sg.getObject("about.text8");
|
||||
|
||||
change = new Timer;
|
||||
change.setDelay(3300);
|
||||
}
|
||||
|
||||
system.onScriptUnloading ()
|
||||
{
|
||||
delete change;
|
||||
}
|
||||
|
||||
|
||||
tgnibbles.onLeftButtonDblClk (int x, int y)
|
||||
{
|
||||
if (nibbles.isVisible()) nibbles.hide();
|
||||
else if (!nibbles.isVisible()) nibbles.show();
|
||||
}
|
||||
|
||||
sg.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
change.start();
|
||||
g1.setXmlParam("x", "400");
|
||||
g1.canceltarget();
|
||||
g1.setAlpha(255);
|
||||
g1.setTargetX(25);
|
||||
g1.setTargetSpeed(1.3);
|
||||
g1.gotoTarget();
|
||||
}
|
||||
else
|
||||
{
|
||||
change.stop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
change.onTimer ()
|
||||
{
|
||||
counter++;
|
||||
if (counter > 7) counter = 0;
|
||||
if (counter == 0)
|
||||
{
|
||||
blend(g1, g8);
|
||||
}
|
||||
else if (counter == 1)
|
||||
{
|
||||
blend(g2, g1);
|
||||
}
|
||||
else if (counter == 2)
|
||||
{
|
||||
blend(g3, g2);
|
||||
}
|
||||
else if (counter == 3)
|
||||
{
|
||||
blend(g4, g3);
|
||||
}
|
||||
else if (counter == 4)
|
||||
{
|
||||
blend(g5, g4);
|
||||
}
|
||||
else if (counter == 5)
|
||||
{
|
||||
blend(g6, g5);
|
||||
}
|
||||
else if (counter == 6)
|
||||
{
|
||||
blend(g7, g6);
|
||||
}
|
||||
else if (counter == 7)
|
||||
{
|
||||
blend(g8, g7);
|
||||
}
|
||||
}
|
||||
|
||||
blend (guiobject in, guiobject out)
|
||||
{
|
||||
out.canceltarget();
|
||||
out.setTargetA(0);
|
||||
out.setTargetX(-25);
|
||||
out.setTargetSpeed(2);
|
||||
out.gotoTarget();
|
||||
in.canceltarget();
|
||||
in.setXmlParam("x", "400");
|
||||
in.setAlpha(255);
|
||||
in.setTargetX(25);
|
||||
in.setTargetA(255);
|
||||
in.setTargetSpeed(1.5);
|
||||
in.gotoTarget();
|
||||
}
|
||||
|
BIN
Src/resources/skins/Big Bento/about/about.maki
Normal file
81
Src/resources/skins/Big Bento/about/about.xml
Normal file
@ -0,0 +1,81 @@
|
||||
<include file="nibbles/nibbles.xml"/>
|
||||
<elements>
|
||||
<bitmap id="about.fg" file="../Big Bento/about/about_fg.jpg" />
|
||||
<bitmap id="about.bg" file="../Big Bento/about/about_fg.jpg" y="0" h="321" x="0" w="1"/>
|
||||
<color id="about.font" value="162,193,204" gammgroup="none" />
|
||||
</elements>
|
||||
|
||||
<groupdef id="skin.about.group" w="0" h="0" relatw="1" relath="1" rectrgn="1">
|
||||
<rect fitparent="1" color="255,255,255" filled="1" />
|
||||
|
||||
<layer fitparent="1" image="about.bg"/>
|
||||
|
||||
<layer
|
||||
x="0" y="0"
|
||||
w="371"
|
||||
h="321"
|
||||
image="about.fg"
|
||||
/>
|
||||
|
||||
<group id="about.text1" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text2" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text3" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text4" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text5" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text6" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text7" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
<group id="about.text8" x="25" y="190" h="90" w="350" alpha="0"/>
|
||||
|
||||
<group id="nibbles" fitparent="1" visible="0" />
|
||||
|
||||
<layer id="toggle" fitparent="1" rectrgn="1" />
|
||||
|
||||
<script file="../Big Bento/about/about.maki"/>
|
||||
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text1" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="The new" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Single User Interface." alpha="60"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text2" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Coding by" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Martin Pöhlmann." alpha="70"/>
|
||||
<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="from www.skinconsortium.com" alpha="100"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text3" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Graphics by" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Taber Buhl." alpha="60"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text4" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Wasabi Development by" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Ben Allison" alpha="60"/>
|
||||
<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="and Martin Pöhlmann." alpha="100"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text5" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Color Themes by" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="16" font="tahoma" text="DJ Egg, GreayStone, J_Darnley, Martin, QOAL, VooDoo`" alpha="100"/>
|
||||
<text color="about.font" x="17" y="60" h="18" w="350" fontsize="16" font="tahoma" text="You are encouraged to submit new ones." alpha="60"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text7" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Feel free to use this skin" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="as a reference point" alpha="60"/>
|
||||
<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="to create your own winamp skins." alpha="100"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text8" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="For help visit" alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="forums.winamp.com" alpha="60"/>
|
||||
<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="or forums.skinconsortium.com" alpha="100"/>
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="about.text6" >
|
||||
<text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Thanks go to..." alpha="110"/>
|
||||
<text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="DJ Egg, SLoB and Phobos" alpha="60"/>
|
||||
<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="...for help and suggestions." alpha="100"/>
|
||||
</groupdef>
|
BIN
Src/resources/skins/Big Bento/about/about_fg.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
Src/resources/skins/Big Bento/about/nibbles/fixedsys.png
Normal file
After Width: | Height: | Size: 696 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/info.png
Normal file
After Width: | Height: | Size: 177 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/info2.png
Normal file
After Width: | Height: | Size: 197 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level1.png
Normal file
After Width: | Height: | Size: 228 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level10.png
Normal file
After Width: | Height: | Size: 284 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level2.png
Normal file
After Width: | Height: | Size: 236 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level3.png
Normal file
After Width: | Height: | Size: 253 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level4.png
Normal file
After Width: | Height: | Size: 276 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level5.png
Normal file
After Width: | Height: | Size: 392 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level6.png
Normal file
After Width: | Height: | Size: 260 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level7.png
Normal file
After Width: | Height: | Size: 268 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level8.png
Normal file
After Width: | Height: | Size: 274 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/level9.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
Src/resources/skins/Big Bento/about/nibbles/llama.png
Normal file
After Width: | Height: | Size: 211 B |
828
Src/resources/skins/Big Bento/about/nibbles/nibbles.m
Normal file
@ -0,0 +1,828 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: nibbles.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 23. Okt. 2006 - 21:11
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#define GAME_SPEED 30
|
||||
#define MAX_H 59
|
||||
#define MAX_W 72
|
||||
#define MAX_LLAMAS 9
|
||||
|
||||
function init_nibbles();
|
||||
|
||||
Function setLlama();
|
||||
Function gotLlama();
|
||||
Function showInfo(string s);
|
||||
Function showInfo2();
|
||||
Function hideInfo2();
|
||||
Function startGame(int level);
|
||||
Function setPos(layer l, int x, int y);
|
||||
Function checkforWalls(layer l);
|
||||
Function checkforLlama(layer l);
|
||||
Function checkforSammy(layer l);
|
||||
Function sammyDies ();
|
||||
Function addSammy();
|
||||
Function syncSammy();
|
||||
Function Layer createSammy(int num, int x, int y);
|
||||
|
||||
Global group nibbles;
|
||||
|
||||
Global Layer bg, llama, info, info2;
|
||||
Global Text infotxt, infotxt2a, infotxt2b, infotxt2c, infotxt2d;
|
||||
|
||||
Global Layer sammy0;
|
||||
Global String gamestate = "startup";
|
||||
Global String direction;
|
||||
Global Boolean gotkey = 0;
|
||||
Global Timer move;
|
||||
Global Boolean paused;
|
||||
|
||||
Global map wall;
|
||||
|
||||
Global int s_score, s_lives, s_level, currentllama;
|
||||
Global Text t_score, t_lives, t_level;
|
||||
|
||||
Global int n_sammy, expn_sammy;
|
||||
Global List sammy, sammy_x, sammy_y;
|
||||
Global Group sammys;
|
||||
|
||||
Global int cheat, nocheat;
|
||||
Global int cheat2, nocheat2;
|
||||
Global int cheat3, nocheat3;
|
||||
Global int evercheat;
|
||||
|
||||
Global Text c1, c2, c3;
|
||||
|
||||
init_nibbles()
|
||||
{
|
||||
sammy = new List;
|
||||
sammy_x = new List;
|
||||
sammy_y = new List;
|
||||
|
||||
llama = nibbles.getObject("llama");
|
||||
sammy0 = nibbles.getObject("sammy0");
|
||||
info = nibbles.getObject("info");
|
||||
infotxt = nibbles.getObject("infotxt");
|
||||
sammys = nibbles.getObject("sammys");
|
||||
bg = nibbles.getObject("bg");
|
||||
|
||||
info2 = nibbles.getObject("info2");
|
||||
infotxt2a = nibbles.getObject("infotxt2a");
|
||||
infotxt2b = nibbles.getObject("infotxt2b");
|
||||
infotxt2c = nibbles.getObject("infotxt2c");
|
||||
infotxt2d = nibbles.getObject("infotxt2d");
|
||||
|
||||
t_lives = nibbles.getObject("lives");
|
||||
t_score = nibbles.getObject("score");
|
||||
t_level = nibbles.getObject("level");
|
||||
c1 = nibbles.getObject("c1");
|
||||
c2 = nibbles.getObject("c2");
|
||||
c3 = nibbles.getObject("c3");
|
||||
gamestate = "startup";
|
||||
|
||||
n_sammy = 0;
|
||||
expn_sammy = 0;
|
||||
s_level = 1;
|
||||
s_score = 0;
|
||||
s_lives = 5;
|
||||
|
||||
cheat = 0;
|
||||
nocheat = 0;
|
||||
cheat2 = 0;
|
||||
nocheat2 = 0;
|
||||
cheat3 = 0;
|
||||
nocheat3 = 0;
|
||||
evercheat = 0;
|
||||
|
||||
move = new Timer;
|
||||
move.setDelay(GAME_SPEED);
|
||||
}
|
||||
|
||||
System.onKeyDown (String key)
|
||||
{
|
||||
if (nibbles.isVisible() && nibbles.isActive())
|
||||
{
|
||||
if (!gotkey)
|
||||
{
|
||||
if (strsearch(key, "up") != -1 && direction != "d" && direction != "u")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
gotkey = 1;
|
||||
direction = "u";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (strsearch(key, "down") != -1 && direction != "u" && direction != "d")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
gotkey = 1;
|
||||
direction = "d";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (strsearch(key, "left") != -1 && direction != "r" && direction != "l")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
gotkey = 1;
|
||||
direction = "l";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (strsearch(key, "right") != -1 && direction != "l" && direction != "r")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
gotkey = 1;
|
||||
direction = "r";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Cheet on */
|
||||
|
||||
if (key == "n" && cheat == 0 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
|
||||
{
|
||||
cheat = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "o" && cheat == 1)
|
||||
{
|
||||
cheat = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "s" && cheat == 2)
|
||||
{
|
||||
cheat = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "a" && cheat == 3)
|
||||
{
|
||||
cheat = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && cheat == 4 && cheat != 5)
|
||||
{
|
||||
cheat = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && cheat == 5 && cheat != 4)
|
||||
{
|
||||
cheat = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "y" && cheat == 6)
|
||||
{
|
||||
c1.setText("NOSAMMY");
|
||||
cheat = 7;
|
||||
evercheat = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Cheet off */
|
||||
|
||||
else if (key == "n" && cheat == 7 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
|
||||
{
|
||||
nocheat = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "o" && nocheat == 1)
|
||||
{
|
||||
nocheat = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "s" && nocheat == 2)
|
||||
{
|
||||
nocheat = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "a" && nocheat == 3)
|
||||
{
|
||||
nocheat = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && nocheat == 4 && nocheat != 5)
|
||||
{
|
||||
nocheat = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && nocheat == 5 && nocheat != 4)
|
||||
{
|
||||
nocheat = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "y" && nocheat == 6 && nocheat3 != 7)
|
||||
{
|
||||
c1.setText("");
|
||||
cheat = 0;
|
||||
nocheat = 0;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* end cheat */
|
||||
|
||||
|
||||
/* Cheet2 on */
|
||||
|
||||
else if (key == "f" && cheat2 == 0 && cheat3 != 2 && nocheat3 != 2)
|
||||
{
|
||||
cheat2 = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "r" && cheat2 == 1)
|
||||
{
|
||||
cheat2 = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "e" && cheat2 == 2 && cheat2 != 3)
|
||||
{
|
||||
cheat2 = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "e" && cheat2 == 3 && cheat2 != 2)
|
||||
{
|
||||
cheat2 = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "s" && cheat2 == 4)
|
||||
{
|
||||
cheat2 = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "a" && cheat2 == 5)
|
||||
{
|
||||
cheat2 = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && cheat2 == 6)
|
||||
{
|
||||
c2.setText("FREESAM");
|
||||
cheat2 = 7;
|
||||
evercheat = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Cheet2 off */
|
||||
|
||||
else if (key == "f" && cheat2 == 7 && cheat3 != 2 && nocheat3 != 2)
|
||||
{
|
||||
nocheat2 = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "r" && nocheat2 == 1)
|
||||
{
|
||||
nocheat2 = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "e" && nocheat2 == 2 && nocheat2 != 3)
|
||||
{
|
||||
nocheat2 = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "e" && nocheat2 == 3 && nocheat2 != 2)
|
||||
{
|
||||
nocheat2 = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "s" && nocheat2 == 4)
|
||||
{
|
||||
nocheat2 = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "a" && nocheat2 == 5)
|
||||
{
|
||||
nocheat2 = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "m" && nocheat2 == 6)
|
||||
{
|
||||
c2.setText("");
|
||||
cheat2 = 0;
|
||||
nocheat2 = 0;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* end cheat2 */
|
||||
|
||||
/* Cheet3 on */
|
||||
|
||||
else if (key == "i" && cheat3 == 0 && cheat3 != 3 && cheat3 != 5)
|
||||
{
|
||||
cheat3 = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "n" && cheat3 == 1 && cheat3 != 4)
|
||||
{
|
||||
cheat3 = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "f" && cheat3 == 2)
|
||||
{
|
||||
cheat3 = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "i" && cheat3 == 3 && cheat3 != 5 && cheat3 != 0)
|
||||
{
|
||||
cheat3 = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "n" && cheat3 == 4 && cheat3 != 2)
|
||||
{
|
||||
cheat3 = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "i" && cheat3 == 5 && cheat3 != 3 && cheat3 != 0)
|
||||
{
|
||||
cheat3 = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "t" && cheat3 == 6)
|
||||
{
|
||||
cheat3 = 7;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "y" && cheat3 == 7)
|
||||
{
|
||||
c3.setText("INFINITY");
|
||||
cheat3 = 8;
|
||||
evercheat = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Cheet3 off */
|
||||
|
||||
else if (key == "i" && cheat3 == 8 && nocheat3 != 3 && nocheat3 != 5)
|
||||
{
|
||||
nocheat3 = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "n" && nocheat3 == 1 && nocheat3 != 4)
|
||||
{
|
||||
nocheat3 = 2;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "f" && nocheat3 == 2)
|
||||
{
|
||||
nocheat3 = 3;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "i" && nocheat3 == 3 && nocheat3 != 5 && nocheat3 != 0)
|
||||
{
|
||||
nocheat3 = 4;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "n" && nocheat3 == 4 && nocheat3 != 1)
|
||||
{
|
||||
nocheat3 = 5;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "i" && nocheat3 == 5 && nocheat3 != 3 && nocheat3 != 0)
|
||||
{
|
||||
nocheat3 = 6;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "t" && nocheat3 == 6)
|
||||
{
|
||||
nocheat3 = 7;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
else if (key == "y" && nocheat3 == 7 && nocheat != 6)
|
||||
{
|
||||
c3.setText("");
|
||||
cheat3 = 0;
|
||||
nocheat3 = 0;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
/* end cheat3 */
|
||||
|
||||
else if (key == "space")
|
||||
{
|
||||
if (gamestate == "startup" || gamestate == "New Try" || gamestate == "Next level")
|
||||
{
|
||||
hideInfo2();
|
||||
info.hide();
|
||||
infotxt.hide();
|
||||
gamestate = "running";
|
||||
startGame(s_level);
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
if (gamestate == "Game Over")
|
||||
{
|
||||
info.hide();
|
||||
infotxt.hide();
|
||||
showInfo2();
|
||||
s_level = 1;
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
if (gamestate == "Once Again")
|
||||
{
|
||||
s_level = 1;
|
||||
s_score = 0;
|
||||
s_lives = 5;
|
||||
hideInfo2();
|
||||
info.hide();
|
||||
infotxt.hide();
|
||||
gamestate = "running";
|
||||
startGame(s_level);
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
if (move.isRunning())
|
||||
{
|
||||
paused = 1;
|
||||
move.stop();
|
||||
showInfo("Game Paused ... Push Space");
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
if (paused == 1)
|
||||
{
|
||||
paused = 0;
|
||||
info.hide();
|
||||
infotxt.hide();
|
||||
move.start();
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
/* if (key == "up" && direction != "d")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
direction = "u";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (key == "down" && direction != "u")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
direction = "d";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (key == "left" && direction != "r")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
direction = "l";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (key == "right" && direction != "l")
|
||||
{
|
||||
if (move.isRunning())
|
||||
{
|
||||
direction = "r";
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
startGame (int level)
|
||||
{
|
||||
if (level == 11) level = 10;
|
||||
|
||||
if (wall) delete wall;
|
||||
wall = new map;
|
||||
wall.loadMap("level" + integerToString(level));
|
||||
bg.setXmlParam("image", "level" + integerToString(level));
|
||||
|
||||
int n = sammy.getNumItems();
|
||||
|
||||
for ( int i = 1; i <= n; i++ )
|
||||
{
|
||||
layer newsammy = sammy.enumItem(0);
|
||||
sammy.removeItem(0);
|
||||
newsammy.hide();
|
||||
}
|
||||
|
||||
currentllama = 0;
|
||||
t_lives.setText(translate("Lives: ") + integerToString(s_lives));
|
||||
t_score.setText(translate("Score: ") + integerToString(s_score));
|
||||
t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
|
||||
n_sammy = 0;
|
||||
expn_sammy = 5;
|
||||
gotkey = 1;
|
||||
if (level != 8) direction = "r";
|
||||
else direction = "u";
|
||||
setLlama();
|
||||
sammy.removeAll();
|
||||
sammy_x.removeAll();
|
||||
sammy_y.removeAll();
|
||||
sammy0.setXmlParam("x", "180");
|
||||
sammy0.setXMLParam("y", "155");
|
||||
sammy0.show();
|
||||
move.start();
|
||||
}
|
||||
|
||||
move.onTimer ()
|
||||
{
|
||||
if (n_sammy < expn_sammy)
|
||||
{
|
||||
addSammy();
|
||||
}
|
||||
else
|
||||
{
|
||||
syncSammy();
|
||||
}
|
||||
|
||||
if (direction == "r")
|
||||
{
|
||||
setPos(sammy0, 1, 0);
|
||||
}
|
||||
else if (direction == "l")
|
||||
{
|
||||
setPos(sammy0, -1, 0);
|
||||
}
|
||||
else if (direction == "u")
|
||||
{
|
||||
setPos(sammy0, 0, -1);
|
||||
}
|
||||
else if (direction == "d")
|
||||
{
|
||||
setPos(sammy0, 0, 1);
|
||||
}
|
||||
checkForWalls (sammy0);
|
||||
checkForSammy (sammy0);
|
||||
checkForllama (sammy0);
|
||||
}
|
||||
|
||||
setPos (layer l, int x, int y)
|
||||
{
|
||||
l.setXMLParam("x", integerToString(l.getGuiX() + x*5));
|
||||
l.setXMLParam("y", integerToString(l.getGuiY() + y*5));
|
||||
gotkey = 0;
|
||||
}
|
||||
|
||||
setLlama ()
|
||||
{
|
||||
int lx = 5+random(MAX_W-3)*5;
|
||||
int ly = 20+random(MAX_H-3)*5;
|
||||
|
||||
int x = sammy0.getGuiX();
|
||||
int y = sammy0.getGuiY();
|
||||
|
||||
if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
|
||||
{
|
||||
setLlama ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (wall.getValue(lx, ly) == 255 || wall.getValue(lx+5, ly) == 255 || wall.getValue(lx+10, ly) == 255 ||
|
||||
wall.getValue(lx, ly+5) == 255 || wall.getValue(lx+5, ly+5) == 255 || wall.getValue(lx+10, ly+5) == 255 ||
|
||||
wall.getValue(lx, ly+10) == 255 || wall.getValue(lx+5, ly+10) == 255 || wall.getValue(lx+10, ly+10) == 255 )
|
||||
{
|
||||
setLlama ();
|
||||
return;
|
||||
}
|
||||
|
||||
int n = sammy_x.getNumItems();
|
||||
|
||||
for ( int i = 0; i < n; i++ )
|
||||
{
|
||||
x = sammy_x.enumItem(i);
|
||||
y = sammy_y.enumItem(i);
|
||||
if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
|
||||
{
|
||||
setLlama ();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
|
||||
|
||||
llama.setXMLParam("x", integerToString(lx));
|
||||
llama.setXMLParam("y", integerToString(ly));
|
||||
|
||||
llama.show();
|
||||
}
|
||||
|
||||
addSammy ()
|
||||
{
|
||||
int x = sammy0.getGuiX();
|
||||
int y = sammy0.getGuiY();
|
||||
n_sammy++;
|
||||
layer newsammy = createSammy(n_sammy, x, y);
|
||||
sammy.addItem(newsammy);
|
||||
sammy_x.addItem(x);
|
||||
sammy_y.addItem(y);
|
||||
newsammy.setXMLParam("x", integerToString(x));
|
||||
newsammy.setXMLParam("y", integerToString(y));
|
||||
newsammy.show();
|
||||
}
|
||||
|
||||
Layer createSammy (int num, int x, int y)
|
||||
{
|
||||
layer l = new Layer;
|
||||
l.setXmlParam("id", "sammy" + integerToString(num));
|
||||
l.setXmlParam("image", "sammy");
|
||||
l.setXMLParam("x", integerToString(x));
|
||||
l.setXMLParam("y", integerToString(y));
|
||||
l.init(sammys);
|
||||
return l;
|
||||
}
|
||||
|
||||
syncSammy ()
|
||||
{
|
||||
layer newsammy = sammy.enumItem(0);
|
||||
sammy.removeItem(0);
|
||||
sammy_x.removeItem(0);
|
||||
sammy_y.removeItem(0);
|
||||
int x = sammy0.getGuiX();
|
||||
int y = sammy0.getGuiY();
|
||||
newsammy.setXMLParam("x", integerToString(x));
|
||||
newsammy.setXMLParam("y", integerToString(y));
|
||||
sammy.addItem(newsammy);
|
||||
sammy_x.addItem(x);
|
||||
sammy_y.addItem(y);
|
||||
}
|
||||
|
||||
showInfo (string s)
|
||||
{
|
||||
infotxt.setText(s);
|
||||
info.show();
|
||||
infotxt.show();
|
||||
}
|
||||
|
||||
checkForWalls (layer l)
|
||||
{
|
||||
if ( cheat2 == 7 ) return;
|
||||
int x = l.getGuiX();
|
||||
int y = l.getGuiY();
|
||||
|
||||
if (wall.getValue(x, y) == 255) sammyDies();
|
||||
}
|
||||
|
||||
checkForLlama (layer l)
|
||||
{
|
||||
int x = l.getGuiX();
|
||||
int y = l.getGuiY();
|
||||
|
||||
int lx = llama.getGuiX();
|
||||
int ly = llama.getGuiY();
|
||||
|
||||
if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
|
||||
}
|
||||
|
||||
checkForSammy (layer l)
|
||||
{
|
||||
if ( cheat == 7 ) return;
|
||||
int x = l.getGuiX();
|
||||
int y = l.getGuiY();
|
||||
int n = sammy_x.getNumItems();
|
||||
|
||||
for ( int i = 0; i < n; i++ )
|
||||
{
|
||||
if (sammy_x.enumItem(i) == x && sammy_y.enumItem(i) == y)
|
||||
{
|
||||
sammyDies ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sammyDies ()
|
||||
{
|
||||
llama.hide();
|
||||
move.stop();
|
||||
sammy0.hide();
|
||||
s_lives--;
|
||||
s_score -= 1000;
|
||||
t_lives.setText(translate("Lives: ") + integerToString(s_lives));
|
||||
t_score.setText(translate("Score: ") + integerToString(s_score));
|
||||
t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
|
||||
gamestate = "New Try";
|
||||
if (s_lives == 0) {
|
||||
gamestate = "Game Over";
|
||||
}
|
||||
showInfo ("Sammy Dies! Push Space!");
|
||||
}
|
||||
|
||||
gotLlama ()
|
||||
{
|
||||
currentllama++;
|
||||
s_score += 100 * currentllama;
|
||||
t_score.setText(translate("Score: ") + integerToString(s_score));
|
||||
t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
|
||||
if (currentllama >= MAX_LLAMAS && cheat3 != 8)
|
||||
{
|
||||
move.stop();
|
||||
s_level++;
|
||||
llama.hide();
|
||||
gamestate = "Next Level";
|
||||
showInfo (translate("Level: ") + integerToString(s_level) + translate(", Push Space"));
|
||||
}
|
||||
else
|
||||
{
|
||||
expn_sammy += 12;
|
||||
setLlama();
|
||||
}
|
||||
}
|
||||
|
||||
showInfo2 ()
|
||||
{
|
||||
if (evercheat == 0)
|
||||
{
|
||||
if (s_score > getPrivateInt("Nibbles", "Personal Best", 0))
|
||||
{
|
||||
setPrivateInt("Nibbles", "Personal Best", s_score);
|
||||
infotxt2d.setText("Congrats, New Highscore!");
|
||||
}
|
||||
else infotxt2d.setText(translate("Highscore") +": " + integerToString(getPrivateInt("Nibbles", " ", 0)));
|
||||
}
|
||||
else
|
||||
{
|
||||
infotxt2d.setTExt("You have cheated!");
|
||||
}
|
||||
if (cheat == 0 && cheat2 == 0 && cheat3 ==0) evercheat = 0;
|
||||
gamestate = "Once Again";
|
||||
infotxt2b.setText(translate("Your Score") + ": " + integerToString(s_score));
|
||||
info2.show();
|
||||
infotxt2a.show();
|
||||
infotxt2d.show();
|
||||
infotxt2b.show();
|
||||
infotxt2c.show();
|
||||
}
|
||||
|
||||
hideInfo2 ()
|
||||
{
|
||||
info2.hide();
|
||||
infotxt2a.hide();
|
||||
infotxt2b.hide();
|
||||
infotxt2c.hide();
|
||||
infotxt2d.hide();
|
||||
}
|
52
Src/resources/skins/Big Bento/about/nibbles/nibbles.xml
Normal file
@ -0,0 +1,52 @@
|
||||
<elements>
|
||||
<bitmap id="sammy" file="../Big Bento/about/nibbles/sammy.png" />
|
||||
<bitmap id="level1" file="../Big Bento/about/nibbles/level1.png" />
|
||||
<bitmap id="level2" file="../Big Bento/about/nibbles/level2.png" />
|
||||
<bitmap id="level3" file="../Big Bento/about/nibbles/level3.png" />
|
||||
<bitmap id="level4" file="../Big Bento/about/nibbles/level4.png" />
|
||||
<bitmap id="level5" file="../Big Bento/about/nibbles/level5.png" />
|
||||
<bitmap id="level6" file="../Big Bento/about/nibbles/level6.png" />
|
||||
<bitmap id="level7" file="../Big Bento/about/nibbles/level7.png" />
|
||||
<bitmap id="level8" file="../Big Bento/about/nibbles/level8.png" />
|
||||
<bitmap id="level9" file="../Big Bento/about/nibbles/level9.png" />
|
||||
<bitmap id="level10" file="../Big Bento/about/nibbles/level10.png" />
|
||||
<bitmap id="llama" file="../Big Bento/about/nibbles/llama.png" />
|
||||
<bitmap id="info" file="../Big Bento/about/nibbles/info.png" />
|
||||
<bitmap id="info2" file="../Big Bento/about/nibbles/info2.png" />
|
||||
<bitmapfont id="font" file="../Big Bento/about/nibbles/fixedsys.png" charwidth="8" charheight="14" hspacing="0" vspacing="0"/>
|
||||
|
||||
</elements>
|
||||
|
||||
<groupdef id="sammys">
|
||||
|
||||
</groupdef>
|
||||
|
||||
<groupdef id="nibbles">
|
||||
|
||||
<rect filled="1" fitparent="1" color="0,0,128" />
|
||||
<layer x="0" y="0" h="321" w="371" id="bg" image="level1" move="0" />
|
||||
<layer x="0" y="0" id="llama" image="llama" visible="0"/>
|
||||
<text id="c1" x="4" y="20" w="370" h="14" text="" font="font" align="left" visible="1" alpha="100"/>
|
||||
<text id="c2" x="4" y="20" w="360" h="14" text="" font="font" align="right" visible="1" alpha="100"/>
|
||||
<text id="c3" x="4" y="20" w="360" h="14" text="" font="font" align="center" visible="1" alpha="100"/>
|
||||
|
||||
<layer x="0" y="0" h="5" w="5" id="sammy0" image="sammy" visible="0"/>
|
||||
|
||||
<group x="0" y="0" h="321" w="371" id="sammys" move="0" />
|
||||
|
||||
<layer id="info" x="0" y="0" h="321" w="371" image="info" />
|
||||
<text id="infotxt" x="0" y="156" w="371" h="14" text="Level 1, Push Space" font="font" align="center"/>
|
||||
|
||||
<layer id="info2" x="0" y="0" h="321" w="371" image="info2" visible="0" />
|
||||
<text id="infotxt2a" x="0" y="120" w="371" h="14" text="G A M E O V E R" font="font" align="center" visible="0"/>
|
||||
<text id="infotxt2b" x="0" y="150" w="371" h="14" text="Your Score:" font="font" align="center" visible="0"/>
|
||||
<text id="infotxt2c" x="0" y="192" w="371" h="14" text="To Play Again, Push Space" font="font" align="center" visible="0"/>
|
||||
<text id="infotxt2d" x="0" y="168" w="371" h="14" text="Personal Best:" font="font" align="center" visible="0"/>
|
||||
|
||||
<text id="score" x="0" y="1" w="371" h="14" text="0" font="font" align="right"/>
|
||||
<text id="lives" x="0" y="0" w="371" h="14" text="Lives: 5" font="font" align="center"/>
|
||||
<text id="level" x="0" y="0" w="371" h="14" text="Level 1" font="font" align="left" />
|
||||
|
||||
<text id="txt" y="130" x="5"/>
|
||||
|
||||
</groupdef>
|
BIN
Src/resources/skins/Big Bento/about/nibbles/sammy.png
Normal file
After Width: | Height: | Size: 83 B |
BIN
Src/resources/skins/Big Bento/screenshot.png
Normal file
After Width: | Height: | Size: 21 KiB |
135
Src/resources/skins/Big Bento/scripts/albumart.m
Normal file
@ -0,0 +1,135 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: albumart.m
|
||||
Version: 1.1
|
||||
|
||||
Type: maki
|
||||
Date: 20. Sep. 2007 - 16:54
|
||||
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/com/songinfo.m>
|
||||
|
||||
#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
|
||||
|
||||
Function loadFileInfo();
|
||||
//Function loadPlaylistArtWork();
|
||||
|
||||
Global Int plArtRetries = 0;
|
||||
Global Group scriptGroup;
|
||||
Global AlbumArtLayer l_albumart;
|
||||
Global String notfoundImage = "winamp.cover.notfound.xxl";
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
scriptGroup = getScriptGroup();
|
||||
l_albumart = scriptGroup.findObject(getToken(getParam(), ",", 0));
|
||||
notfoundImage = getToken(getParam(), ",", 1);
|
||||
loadFileInfo();
|
||||
}
|
||||
|
||||
l_albumart.onRightButtonDown (int x, int y)
|
||||
{
|
||||
popupmenu p = new popupmenu;
|
||||
|
||||
p.addCommand("Refresh Album Art", 1, 0, 0);
|
||||
String path = getPath(getPlayItemMetaDataString("filename"));
|
||||
if(path != "")
|
||||
{
|
||||
p.addCommand("Open Folder", 2, 0, 0);
|
||||
}
|
||||
|
||||
int result = p.popatmouse();
|
||||
delete p;
|
||||
|
||||
if (result == 1)
|
||||
{
|
||||
l_albumart.refresh();
|
||||
}
|
||||
else if (result == 2)
|
||||
{
|
||||
if(path != "")
|
||||
{
|
||||
System.navigateUrl(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
String url = getPlayItemMetaDataString("streamurl");
|
||||
if(url != "")
|
||||
{
|
||||
System.navigateUrl(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
l_albumart.onLeftButtonDblClk (int x, int y)
|
||||
{
|
||||
String path = getPath(getPlayItemMetaDataString("filename"));
|
||||
if(path != "")
|
||||
{
|
||||
System.navigateUrl(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
String url = getPlayItemMetaDataString("streamurl");
|
||||
if(url != "")
|
||||
{
|
||||
System.navigateUrl(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
loadFileInfo ()
|
||||
{
|
||||
songinfo_reload(); // refresh vars
|
||||
plArtRetries = 0;
|
||||
l_albumart.setXMLParam("notfoundImage", notfoundImage);
|
||||
|
||||
//debugInt(songinfo_isStream);
|
||||
if (songinfo_isStream)
|
||||
{
|
||||
// setCover either from a supplied url or from in-stream artwork or default to a generic image
|
||||
if (songinfo_streamAlbumArt != "")
|
||||
{
|
||||
l_albumart.setXMLParam("image", songinfo_streamAlbumArt);
|
||||
l_albumart.setXMLParam("notfoundImage", notfoundImage);
|
||||
}
|
||||
|
||||
if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST || songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
|
||||
{
|
||||
if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
|
||||
{
|
||||
if(l_albumart.isInvalid() && plArtRetries < 5)
|
||||
{
|
||||
if(!plArtRetries)
|
||||
{
|
||||
l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
|
||||
}
|
||||
plArtRetries += 1;
|
||||
l_albumart.refresh();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Hide branding of we start playback
|
||||
System.onPlay ()
|
||||
{
|
||||
loadFileInfo();
|
||||
}
|
||||
|
||||
System.onTitleChange (String newtitle)
|
||||
{
|
||||
loadFileInfo();
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/albumart.maki
Normal file
106
Src/resources/skins/Big Bento/scripts/attribs/gen_pageguids.m
Normal file
@ -0,0 +1,106 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: gen_pageguids.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki/page guid definitions
|
||||
Date: 03. Jul. 2006 - 18:29
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#ifndef __GEN_PAGEGUIDS_M
|
||||
#define __GEN_PAGEGUIDS_M
|
||||
|
||||
#include <lib/config.mi>
|
||||
|
||||
Function initPages();
|
||||
|
||||
/*--NON CHANGEABLE GUIDS:--------------------------*/
|
||||
|
||||
// this is the page that maps its items to the options menu, you can add attribs or more pages (submenus)
|
||||
#define CUSTOM_OPTIONSMENU_ITEMS "{1828D28F-78DD-4647-8532-EBA504B8FC04}"
|
||||
Global ConfigItem optionsmenu_page;
|
||||
|
||||
// this is the page that maps its items to the windows menu (aka View), you can add attribs or more pages (submenus)
|
||||
#define CUSTOM_WINDOWSMENU_ITEMS "{6559CA61-7EB2-4415-A8A9-A2AEEF762B7F}"
|
||||
Global ConfigItem custom_windows_page;
|
||||
|
||||
// non exposed attribs page
|
||||
#define CUSTOM_PAGE_NONEXPOSED "{E9C2D926-53CA-400f-9A4D-85E31755A4CF}"
|
||||
Global ConfigItem custom_page_nonexposed;
|
||||
|
||||
|
||||
/*--DECLARE PAGES HERE:----------------------------*/
|
||||
|
||||
initPages()
|
||||
{
|
||||
|
||||
#ifndef __PAGES
|
||||
#define __PAGES
|
||||
|
||||
custom_page_nonexposed = Config.newItem("Hidden", CUSTOM_PAGE_NONEXPOSED);
|
||||
|
||||
// load up the cfgpage in which we'll insert our custom page
|
||||
optionsmenu_page = Config.getItem(CUSTOM_OPTIONSMENU_ITEMS);
|
||||
|
||||
custom_windows_page = Config.getItem(CUSTOM_WINDOWSMENU_ITEMS);
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/*--GLOBAL DEFINITIONS:----------------------------*/
|
||||
|
||||
#define NOOFF if (getData()=="0") { setData("1"); return; }
|
||||
Global Int attribs_mychange, attribs_mychange2;
|
||||
|
||||
Global ConfigAttribute sep;
|
||||
Global Int sep_count = 0;
|
||||
|
||||
Function addMenuSeparator(ConfigItem cfgmenupage);
|
||||
|
||||
addMenuSeparator(ConfigItem cfgmenupage)
|
||||
{
|
||||
#ifdef MAIN_ATTRIBS_LOADER
|
||||
|
||||
sep_count = sep_count + 1;
|
||||
sep = cfgmenupage.newAttribute(getSkinName() + "seperator" + integerToString(sep_count), "");
|
||||
sep.setData("-");
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
Function ConfigItem addConfigSubMenu(configitem parent, string name, string guid);
|
||||
|
||||
ConfigItem addConfigSubMenu(configitem parent, string name, string guid)
|
||||
{
|
||||
ConfigItem __ret = Config.newItem(name, guid);
|
||||
ConfigAttribute __dret = parent.newAttribute(name, "");
|
||||
__dret.setData(guid);
|
||||
return __ret;
|
||||
}
|
||||
|
||||
|
||||
Function toggleAttrib(ConfigAttribute attrib);
|
||||
|
||||
toggleAttrib(ConfigAttribute attrib)
|
||||
{
|
||||
if (attrib.getData() == "0")
|
||||
{
|
||||
attrib.setData("1");
|
||||
}
|
||||
else
|
||||
{
|
||||
attrib.setData("0");
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1,92 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_Autoresize.m
|
||||
Version: 1.1
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 23. Jan. 2008 - 20:31
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/maximize.m
|
||||
scripts/videoresize.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
|
||||
Function initAttribs_Autoresize();
|
||||
|
||||
|
||||
#define CUSTOM_PAGE_RESIZE "{E704AB5A-108E-4309-B54B-43EBA5C0C3AA}"
|
||||
|
||||
Global ConfigAttribute sui_autorsize_attrib, link_w_attrib, titlebar_dblclk_max_attib, titlebar_dblclk_shade_attib, collapse_top_attrib, collapse_bottom_attrib;
|
||||
Global ConfigAttribute video_inframe_attrib;
|
||||
|
||||
initAttribs_Autoresize()
|
||||
{
|
||||
initPages();
|
||||
|
||||
ConfigItem custom_page_autoresize = addConfigSubMenu(optionsmenu_page, "Window Sizing", CUSTOM_PAGE_RESIZE);
|
||||
|
||||
sui_autorsize_attrib = custom_page_autoresize.newAttribute("Autoresize Main Window if maximized", "0");
|
||||
link_w_attrib = custom_page_autoresize.newAttribute("Link shade and player width", "1");
|
||||
addMenuSeparator(custom_page_autoresize);
|
||||
video_inframe_attrib = custom_page_autoresize.newAttribute("Enable Video in Window resizing", "0");
|
||||
addMenuSeparator(custom_page_autoresize);
|
||||
titlebar_dblclk_shade_attib = custom_page_autoresize.newAttribute("Switch to Shade on Titlebar Doubleclick", "1");
|
||||
titlebar_dblclk_max_attib = custom_page_autoresize.newAttribute("Maximize Window on Titlebar Doubleclick", "0");
|
||||
addMenuSeparator(custom_page_autoresize);
|
||||
collapse_top_attrib = custom_page_autoresize.newAttribute("Collapse Window to Top", "1");
|
||||
collapse_bottom_attrib = custom_page_autoresize.newAttribute("Collapse Window to Bottom", "0");
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
|
||||
titlebar_dblclk_shade_attib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1") titlebar_dblclk_max_attib.setData("0");
|
||||
if (getData() == "0") titlebar_dblclk_max_attib.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
titlebar_dblclk_max_attib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1") titlebar_dblclk_shade_attib.setData("0");
|
||||
if (getData() == "0") titlebar_dblclk_shade_attib.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
collapse_bottom_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1") collapse_top_attrib.setData("0");
|
||||
if (getData() == "0") collapse_top_attrib.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
collapse_top_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1") collapse_bottom_attrib.setData("0");
|
||||
if (getData() == "0") collapse_bottom_attrib.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1,63 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_appearance.m
|
||||
Version: 2.2
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 28. Jun. 2007 - 22:08
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/mainmenu.maki
|
||||
scripts/visualizer.maki
|
||||
scripts/beatvisualization.maki
|
||||
scripts/shadesize.maki
|
||||
scripts/mcvcore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
Function initAttribs_Appearance();
|
||||
|
||||
#define CUSTOM_PAGE_APPEARANCE "{F1036C9C-3919-47ac-8494-366778CF10F9}"
|
||||
|
||||
Global ConfigAttribute vis_reflection_attrib;
|
||||
Global ConfigAttribute timer_reflection_attrib;
|
||||
Global ConfigAttribute menubar_main_attrib;
|
||||
Global configAttribute beatvis_attrib;
|
||||
//Global configAttribute artist_info_buttons_attrib;
|
||||
Global ConfigAttribute pl_tab_attrib;
|
||||
Global ConfigItem custom_page_appearance;
|
||||
|
||||
initAttribs_Appearance()
|
||||
{
|
||||
|
||||
initPages();
|
||||
|
||||
custom_page_appearance = addConfigSubMenu(optionsmenu_page, "Appearance", CUSTOM_PAGE_APPEARANCE);
|
||||
|
||||
menubar_main_attrib = custom_page_appearance.newAttribute("Show Main Window Menu", "1");
|
||||
|
||||
addMenuSeparator(custom_page_appearance);
|
||||
|
||||
vis_reflection_attrib = custom_page_appearance.newAttribute("Show Visualizer Reflection", "1");
|
||||
timer_reflection_attrib = custom_page_appearance.newAttribute("Show Timer Reflection", "1");
|
||||
|
||||
addMenuSeparator(custom_page_appearance);
|
||||
|
||||
//artist_info_buttons_attrib = custom_page_appearance.newAttribute("Show Artist-Information Buttons", "0");
|
||||
pl_tab_attrib = custom_page_appearance.newAttribute("Show Playlist Tab", "0");
|
||||
|
||||
addMenuSeparator(custom_page_appearance);
|
||||
|
||||
beatvis_attrib = custom_page_appearance.newAttribute("Enable Beat Visualization", "1");
|
||||
|
||||
}
|
133
Src/resources/skins/Big Bento/scripts/attribs/init_browser.m
Normal file
@ -0,0 +1,133 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_browser.m
|
||||
Version: 1.1
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 27. Jul. 2007 - 13:36
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/browser.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
#define CUSTOM_PAGE_BROWSER "{0E17DBEA-9398-49e6-AE6F-3AB17D001DF3}"
|
||||
#define CUSTOM_PAGE_BROWSER_WASEARCH "{180E87DF-C482-41fe-A570-8575C673E1BA}"
|
||||
#define CUSTOM_PAGE_BROWSER_CONCERTSEARCH "{B8171DB3-ECF6-40c6-9332-DDEA57A8F13E}"
|
||||
|
||||
Function initAttribs_browser();
|
||||
|
||||
Class ConfigAttribute SearchAttribute;
|
||||
Function check (string unknown, SearchAttribute compare);
|
||||
|
||||
#ifdef BROWSER_SCRIPT
|
||||
Global list SearchAttributeList;
|
||||
#endif
|
||||
#ifndef BROWSER_SCRIPT
|
||||
#define SearchAttributeList //
|
||||
#endif
|
||||
|
||||
Global ConfigAttribute browser_scr_show_attrib, browser_search_attrib;
|
||||
Global SearchAttribute browser_search_winamp_mskins_attrib, browser_search_winamp_cskins_attrib, browser_search_winamp_plugins_attrib,
|
||||
browser_search_winamp_web_attrib, browser_search_wiki_attrib, browser_c_pollstar_attrib, browser_c_bit_attrib,
|
||||
browser_c_jambase_attrib;
|
||||
|
||||
initAttribs_browser()
|
||||
{
|
||||
initPages();
|
||||
|
||||
ConfigItem custom_page_browser = addConfigSubMenu(optionsmenu_page, "Browser", CUSTOM_PAGE_BROWSER);
|
||||
|
||||
browser_search_attrib = custom_page_nonexposed.newAttribute("Onesie browser Quicksearch", "Web Search");
|
||||
|
||||
SearchAttributeList = new List;
|
||||
SearchAttributeList.addItem (custom_page_browser);
|
||||
|
||||
browser_search_winamp_web_attrib = custom_page_browser.newAttribute("Web Search", "1");
|
||||
SearchAttributeList.addItem (browser_search_winamp_web_attrib);
|
||||
|
||||
browser_search_wiki_attrib = custom_page_browser.newAttribute("Wikipedia Search", "0");
|
||||
SearchAttributeList.addItem (browser_search_wiki_attrib);
|
||||
|
||||
ConfigItem custom_page_browser_concertsearch = addConfigSubMenu(custom_page_browser, "Concert Search", CUSTOM_PAGE_BROWSER_CONCERTSEARCH);
|
||||
|
||||
browser_c_jambase_attrib = custom_page_browser_concertsearch.newAttribute("JamBase", "0");
|
||||
SearchAttributeList.addItem (browser_c_jambase_attrib);
|
||||
|
||||
browser_c_pollstar_attrib = custom_page_browser_concertsearch.newAttribute("Pollstar", "0");
|
||||
SearchAttributeList.addItem (browser_c_pollstar_attrib);
|
||||
|
||||
browser_c_bit_attrib = custom_page_browser_concertsearch.newAttribute("Bandsintown", "0");
|
||||
SearchAttributeList.addItem (browser_c_bit_attrib);
|
||||
|
||||
ConfigItem custom_page_browser_winampsearch = addConfigSubMenu(custom_page_browser, "Winamp Search", CUSTOM_PAGE_BROWSER_WASEARCH);
|
||||
browser_search_winamp_mskins_attrib = custom_page_browser_winampsearch.newAttribute("Modern Skins", "0");
|
||||
SearchAttributeList.addItem (browser_search_winamp_mskins_attrib);
|
||||
browser_search_winamp_cskins_attrib = custom_page_browser_winampsearch.newAttribute("Classic Skins", "0");
|
||||
SearchAttributeList.addItem (browser_search_winamp_cskins_attrib);
|
||||
browser_search_winamp_plugins_attrib = custom_page_browser_winampsearch.newAttribute("Plug-ins", "0");
|
||||
SearchAttributeList.addItem (browser_search_winamp_plugins_attrib);
|
||||
|
||||
addMenuSeparator(custom_page_browser);
|
||||
|
||||
browser_scr_show_attrib = custom_page_browser.newAttribute("Show Media Monitor", "1");
|
||||
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
|
||||
browser_search_attrib.onDataChanged ()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
string dta = getData();
|
||||
if (dta == "Modern Skins") browser_search_winamp_mskins_attrib.setData("1");
|
||||
else if (dta == "Classic Skins") browser_search_winamp_plugins_attrib.setData("1");
|
||||
else if (dta == "Plug-ins") browser_search_winamp_plugins_attrib.setData("1");
|
||||
else if (dta == "Web Search with Google") browser_search_winamp_web_attrib.setData("1");
|
||||
else if (dta == "Pollstar") browser_c_pollstar_attrib.setData("1");
|
||||
else if (dta == "Bands in Town") browser_c_bit_attrib.setData("1");
|
||||
else if (dta == "JamBase") browser_c_jambase_attrib.setData("1");
|
||||
else if (dta == "Wikipedia Search") browser_search_wiki_attrib.setData("1");
|
||||
}
|
||||
|
||||
SearchAttribute.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
String s = SearchAttribute.getAttributeName();
|
||||
check (s, browser_search_winamp_mskins_attrib);
|
||||
check (s, browser_search_winamp_cskins_attrib);
|
||||
check (s, browser_search_winamp_plugins_attrib);
|
||||
check (s, browser_search_winamp_web_attrib);
|
||||
check (s, browser_c_jambase_attrib);
|
||||
check (s, browser_c_bit_attrib);
|
||||
check (s, browser_c_pollstar_attrib);
|
||||
check (s, browser_search_wiki_attrib);
|
||||
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
check (String unknown, SearchAttribute compare)
|
||||
{
|
||||
if (unknown == compare.getAttributeName())
|
||||
{
|
||||
browser_search_attrib.setData(compare.getAttributeName());
|
||||
}
|
||||
else
|
||||
{
|
||||
compare.setData("0");
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
327
Src/resources/skins/Big Bento/scripts/attribs/init_notifier.m
Normal file
@ -0,0 +1,327 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_notifier.m
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Version: 1.1
|
||||
Date: 12. Jul. 2006 - 16:15
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
wasabi/notifier/notifier.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
|
||||
Function initAttribs_notifier();
|
||||
|
||||
|
||||
#define CUSTOM_PAGE_NOTIFIER "{1AB968B3-8687-4a35-BA70-FCF6D92FB57F}"
|
||||
|
||||
#define CUSTOM_PAGE_NOTIFIER_AA "{7BF45B05-2B98-4de8-8778-E5CCC9639ED1}"
|
||||
|
||||
#define CUSTOM_PAGE_NOTIFIER_LOC "{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97}"
|
||||
|
||||
#define CUSTOM_PAGE_NOTIFIER_FDIN "{D9891A39-7A38-45d8-9D51-A08F7270C836}"
|
||||
|
||||
#define CUSTOM_PAGE_NOTIFIER_FDOUT "{560EAE41-1379-4927-AC55-FB5F4D47C9B8}"
|
||||
|
||||
|
||||
Global ConfigAttribute notifier_minimized_attrib;
|
||||
Global ConfigAttribute notifier_always_attrib;
|
||||
Global ConfigAttribute notifier_never_attrib;
|
||||
Global ConfigAttribute notifier_fadeintime_attrib;
|
||||
Global ConfigAttribute notifier_fadeouttime_attrib;
|
||||
Global ConfigAttribute notifier_holdtime_attrib;
|
||||
Global ConfigAttribute notifier_hideinfullscreen_attrib;
|
||||
Global ConfigAttribute notifier_windowshade_attrib;
|
||||
|
||||
//Global ConfigAttribute notifier_opennowplaying_attrib;
|
||||
Global ConfigAttribute notifier_artworkinnotification_attrib;
|
||||
|
||||
Global ConfigAttribute notifier_fdout_alpha;
|
||||
Global ConfigAttribute notifier_fdout_hslide;
|
||||
Global ConfigAttribute notifier_fdout_vslide;
|
||||
|
||||
Global ConfigAttribute notifier_fdin_alpha;
|
||||
Global ConfigAttribute notifier_fdin_hslide;
|
||||
Global ConfigAttribute notifier_fdin_vslide;
|
||||
|
||||
Global ConfigAttribute notifier_loc_br_attrib;
|
||||
Global ConfigAttribute notifier_loc_bl_attrib;
|
||||
Global ConfigAttribute notifier_loc_tr_attrib;
|
||||
Global ConfigAttribute notifier_loc_tl_attrib;
|
||||
Global ConfigAttribute notifier_loc_bc_attrib;
|
||||
Global ConfigAttribute notifier_loc_tc_attrib;
|
||||
|
||||
Global ConfigAttribute notifier_loc_vport_attrib;
|
||||
Global ConfigAttribute notifier_loc_monitor_attrib;
|
||||
|
||||
|
||||
initAttribs_notifier()
|
||||
{
|
||||
initPages();
|
||||
|
||||
ConfigItem custom_page_notifier = addConfigSubMenu(optionsmenu_page, "Notifications", CUSTOM_PAGE_NOTIFIER);
|
||||
|
||||
notifier_always_attrib = custom_page_notifier.newAttribute("Show always", "1");
|
||||
notifier_windowshade_attrib = custom_page_notifier.newAttribute("Show with windowshade and when minimized", "0");
|
||||
notifier_minimized_attrib = custom_page_notifier.newAttribute("Show only when minimized", "0");
|
||||
notifier_minimized_attrib = custom_page_notifier.newAttribute("Show only when minimized", "0");
|
||||
notifier_never_attrib = custom_page_notifier.newAttribute("Never show", "0");
|
||||
addMenuSeparator(custom_page_notifier);
|
||||
|
||||
ConfigItem custom_page_notifier_loc = addConfigSubMenu(custom_page_notifier, "Location", CUSTOM_PAGE_NOTIFIER_LOC);
|
||||
|
||||
ConfigItem custom_page_notifier_fdin = addConfigSubMenu(custom_page_notifier, "Fade In Effect", CUSTOM_PAGE_NOTIFIER_FDIN);
|
||||
|
||||
ConfigItem custom_page_notifier_fdout = addConfigSubMenu(custom_page_notifier, "Fade Out Effect", CUSTOM_PAGE_NOTIFIER_FDOUT);
|
||||
|
||||
addMenuSeparator(custom_page_notifier);
|
||||
notifier_hideinfullscreen_attrib = custom_page_notifier.newAttribute("Disable in fullscreen", "1");
|
||||
addMenuSeparator(custom_page_notifier);
|
||||
//notifier_opennowplaying_attrib = custom_page_notifier.newAttribute("Open Now Playing on Click", "1");
|
||||
sep = custom_page_notifier.newAttribute("sep333", ""); sep.setData("-");
|
||||
notifier_artworkinnotification_attrib = custom_page_notifier.newAttribute("Show Now Playing Artwork", "1");
|
||||
|
||||
notifier_fadeintime_attrib = custom_page_nonexposed.newAttribute("Notifications fade in time", "1000");
|
||||
notifier_fadeouttime_attrib = custom_page_nonexposed.newAttribute("Notifications fade out time", "5000");
|
||||
notifier_holdtime_attrib = custom_page_nonexposed.newAttribute("Notifications display time", "2000");
|
||||
|
||||
|
||||
// Notifications > Location
|
||||
notifier_loc_bl_attrib = custom_page_notifier_loc.newAttribute("Bottom Left", "0");
|
||||
notifier_loc_bc_attrib = custom_page_notifier_loc.newAttribute("Bottom Center", "0");
|
||||
notifier_loc_br_attrib = custom_page_notifier_loc.newAttribute("Bottom Right", "1");
|
||||
notifier_loc_tl_attrib = custom_page_notifier_loc.newAttribute("Top Left", "0");
|
||||
notifier_loc_tc_attrib = custom_page_notifier_loc.newAttribute("Top Center", "0");
|
||||
notifier_loc_tr_attrib = custom_page_notifier_loc.newAttribute("Top Right", "0");
|
||||
addMenuSeparator(custom_page_notifier_loc);
|
||||
notifier_loc_vport_attrib = custom_page_notifier_loc.newAttribute("Relative to Viewport", "1");
|
||||
notifier_loc_monitor_attrib = custom_page_notifier_loc.newAttribute("Relative to Monitor", "0");
|
||||
|
||||
// Notifications > Fade...
|
||||
notifier_fdout_alpha = custom_page_notifier_fdout.newAttribute("Alpha Fade ", "1");
|
||||
notifier_fdout_vslide = custom_page_notifier_fdout.newAttribute("Vertical Slide ", "0");
|
||||
notifier_fdout_hslide = custom_page_notifier_fdout.newAttribute("Horizontal Slide ", "0");
|
||||
|
||||
// Martin> We need a additional spacer for the last 3 attribs, so we won't cross withe the 3 below in studio.xnf
|
||||
|
||||
notifier_fdin_alpha = custom_page_notifier_fdin.newAttribute("Alpha Fade", "1");
|
||||
notifier_fdin_vslide = custom_page_notifier_fdin.newAttribute("Vertical Slide", "0");
|
||||
notifier_fdin_hslide = custom_page_notifier_fdin.newAttribute("Horizontal Slide", "0");
|
||||
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
|
||||
notifier_always_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_never_attrib.setData("0");
|
||||
notifier_minimized_attrib.setData("0");
|
||||
notifier_windowshade_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_never_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_always_attrib.setData("0");
|
||||
notifier_minimized_attrib.setData("0");
|
||||
notifier_windowshade_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_minimized_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_never_attrib.setData("0");
|
||||
notifier_always_attrib.setData("0");
|
||||
notifier_windowshade_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_windowshade_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_never_attrib.setData("0");
|
||||
notifier_always_attrib.setData("0");
|
||||
notifier_minimized_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdout_alpha.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdout_hslide.setData("0");
|
||||
notifier_fdout_vslide.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdout_hslide.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdout_alpha.setData("0");
|
||||
notifier_fdout_vslide.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdout_vslide.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdout_hslide.setData("0");
|
||||
notifier_fdout_alpha.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdin_alpha.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdin_hslide.setData("0");
|
||||
notifier_fdin_vslide.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdin_hslide.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdin_alpha.setData("0");
|
||||
notifier_fdin_vslide.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_fdin_vslide.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_fdin_hslide.setData("0");
|
||||
notifier_fdin_alpha.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_br_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_bl_attrib.setData("0");
|
||||
notifier_loc_tr_attrib.setData("0");
|
||||
notifier_loc_tl_attrib.setData("0");
|
||||
notifier_loc_tc_attrib.setData("0");
|
||||
notifier_loc_bc_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_bl_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_br_attrib.setData("0");
|
||||
notifier_loc_tr_attrib.setData("0");
|
||||
notifier_loc_tl_attrib.setData("0");
|
||||
notifier_loc_tc_attrib.setData("0");
|
||||
notifier_loc_bc_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_tl_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_bl_attrib.setData("0");
|
||||
notifier_loc_tr_attrib.setData("0");
|
||||
notifier_loc_br_attrib.setData("0");
|
||||
notifier_loc_tc_attrib.setData("0");
|
||||
notifier_loc_bc_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_tr_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_bl_attrib.setData("0");
|
||||
notifier_loc_br_attrib.setData("0");
|
||||
notifier_loc_tl_attrib.setData("0");
|
||||
notifier_loc_tc_attrib.setData("0");
|
||||
notifier_loc_bc_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_tc_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_bl_attrib.setData("0");
|
||||
notifier_loc_br_attrib.setData("0");
|
||||
notifier_loc_tl_attrib.setData("0");
|
||||
notifier_loc_tr_attrib.setData("0");
|
||||
notifier_loc_bc_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_bc_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_bl_attrib.setData("0");
|
||||
notifier_loc_br_attrib.setData("0");
|
||||
notifier_loc_tl_attrib.setData("0");
|
||||
notifier_loc_tc_attrib.setData("0");
|
||||
notifier_loc_tr_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_vport_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_monitor_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
notifier_loc_monitor_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
notifier_loc_vport_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1,39 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_playlist.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 23. Okt. 2006 - 16:58
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
config/configsystem.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
#define COSTUM_PAGE_PLAYLIST "{0167CFD9-5D35-404a-8F03-80ED5B89DEDF}"
|
||||
|
||||
|
||||
Function initAttribs_playlist();
|
||||
|
||||
Global ConfigAttribute playlist_enlarge_attrib;
|
||||
Global ConfigAttribute playlist_cover_attrib;
|
||||
|
||||
initAttribs_Playlist()
|
||||
{
|
||||
initPages();
|
||||
|
||||
ConfigItem playlist_parent = addConfigSubMenu(optionsmenu_page, "Playlist", COSTUM_PAGE_PLAYLIST);
|
||||
playlist_enlarge_attrib = playlist_parent.newAttribute("Enlarge Playlist", "1");
|
||||
playlist_cover_attrib = playlist_parent.newAttribute("Show Album Art if Playlist is enlarged", "1");
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_songticker.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 01. Sep. 2007 - 01:10
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/songticker.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
Function initAttribs_Songticker();
|
||||
|
||||
Class ConfigAttribute ScrollingAttribute;
|
||||
|
||||
#define CUSTOM_PAGE_SONGTICKER "{7061FDE0-0E12-11D8-BB41-0050DA442EF4}"
|
||||
|
||||
|
||||
Global ScrollingAttribute songticker_scrolling_disabled_attrib;
|
||||
Global ScrollingAttribute songticker_style_modern_attrib;
|
||||
Global ScrollingAttribute songticker_style_old_attrib;
|
||||
|
||||
|
||||
initAttribs_Songticker()
|
||||
{
|
||||
|
||||
initPages();
|
||||
|
||||
ConfigItem custom_page_songticker = addConfigSubMenu(optionsmenu_page, "Songticker", CUSTOM_PAGE_SONGTICKER);
|
||||
|
||||
songticker_scrolling_disabled_attrib = custom_page_songticker.newAttribute("Disable Songticker Scrolling", "0");
|
||||
songticker_style_modern_attrib = custom_page_songticker.newAttribute("Modern Songticker Scrolling", "1");
|
||||
songticker_style_old_attrib = custom_page_songticker.newAttribute("Classic Songticker Scrolling", "0");
|
||||
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
|
||||
|
||||
songticker_scrolling_disabled_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
songticker_style_modern_attrib.setData("0");
|
||||
songticker_style_old_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
|
||||
songticker_style_old_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
songticker_style_modern_attrib.setData("0");
|
||||
songticker_scrolling_disabled_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
songticker_style_modern_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
songticker_scrolling_disabled_attrib.setData("0");
|
||||
songticker_style_old_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
#endif
|
80
Src/resources/skins/Big Bento/scripts/attribs/init_vis.m
Normal file
@ -0,0 +1,80 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_vis.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 03. Nov. 2006 - 18:12
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/infocompcore.maki
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
|
||||
Function initAttribs_vis();
|
||||
|
||||
Global ConfigAttribute vis_lefttoplayer_attrib, vis_inbig_attrib, vis_lefttoplayer_full_attrib;
|
||||
|
||||
#define CUSTOM_PAGE_VIS "{090B63DE-FD24-4528-ABE5-A522615E8AE9}"
|
||||
|
||||
|
||||
initAttribs_vis()
|
||||
{
|
||||
initPages();
|
||||
|
||||
// System.isSafeMode() is not recognized by mc.exe
|
||||
// if (!System.isSafeMode())
|
||||
// {
|
||||
ConfigItem vis_parent = addConfigSubMenu(optionsmenu_page, "Visualization", CUSTOM_PAGE_VIS);
|
||||
|
||||
vis_inbig_attrib = vis_parent.newAttribute("Open in Big Component View", "1");
|
||||
vis_lefttoplayer_full_attrib = vis_parent.newAttribute("Open in Multi Content View (stretched)", "0");
|
||||
vis_lefttoplayer_attrib = vis_parent.newAttribute("Open in Multi Content View (mini)", "0");
|
||||
// }
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
|
||||
vis_lefttoplayer_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
vis_inbig_attrib.setData("0");
|
||||
vis_lefttoplayer_full_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
vis_inbig_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
vis_lefttoplayer_attrib.setData("0");
|
||||
vis_lefttoplayer_full_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
vis_lefttoplayer_full_attrib.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
vis_lefttoplayer_attrib.setData("0");
|
||||
vis_inbig_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
#endif
|
309
Src/resources/skins/Big Bento/scripts/attribs/init_windowpage.m
Normal file
@ -0,0 +1,309 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: init_windowpage.m
|
||||
Version: 1.1
|
||||
|
||||
Type: maki/attrib definitions
|
||||
Date: 08. Jul. 2006 - 17:28
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/mcvcompcore.maki
|
||||
scripts/suicore.maki
|
||||
scripts/browser.maki
|
||||
scripts/fileinfo.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#include "gen_pageguids.m"
|
||||
|
||||
//#define DOHIDEMCV
|
||||
//#define IC_COVERFLOW
|
||||
|
||||
|
||||
#define CUSTOM_PAGE_FILEINFO "{6A619628-6A91-46e3-A3F3-5C1B2D93DF4F}"
|
||||
|
||||
Function initAttribs_windowpage();
|
||||
|
||||
Global ConfigAttribute sui_browser_attrib, sui_eq_attrib, sui_config_attrib;
|
||||
Global ConfigAttribute ic_fileinfo, ic_cover_fileinfo, ic_vis, ic_vis_fileinfo, ic_hidden, ic_eq, ic_config, _plsc_ic_attrib;
|
||||
#ifdef IC_COVERFLOW
|
||||
Global ConfigAttribute _cflow_ic_attrib;
|
||||
#else
|
||||
#define _cflow_ic_attrib //
|
||||
#endif
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
Global ConfigAttribute ic_hidden;
|
||||
#endif
|
||||
Global ConfigItem custom_page_fileinfo;
|
||||
|
||||
#ifndef DOHIDEMCV
|
||||
#define ic_hidden //
|
||||
#endif
|
||||
|
||||
#define CUSTOM_PAGE_INFOCOMP "{8D3829F9-5790-4c8e-9C3A-C397D3602FF9}"
|
||||
Class ConfigAttribute InfoLineAttribute;
|
||||
Global InfoLineAttribute infocomp_show_rating, infocomp_show_genre, infocomp_show_year, infocomp_show_track, infocomp_show_publisher, infocomp_show_composer, infocomp_show_albumartist, infocomp_show_format, infocomp_show_disc;
|
||||
Global ConfigAttribute infocomp_cycle, infocomp_nowplaying, infocomp_browser;
|
||||
|
||||
initAttribs_windowpage()
|
||||
{
|
||||
initPages();
|
||||
|
||||
sui_eq_attrib = custom_windows_page.newAttribute("Equalizer\tAlt+G", "0");
|
||||
// sui_browser_attrib = custom_windows_page.newAttribute("Web Browser\tAlt+X", "0");
|
||||
sui_config_attrib = custom_windows_page.newAttribute("Skin Settings\tAlt+C", "0");
|
||||
|
||||
custom_page_fileinfo = addConfigSubMenu(optionsmenu_page, "Multi Content View", CUSTOM_PAGE_FILEINFO);
|
||||
|
||||
ic_fileinfo = custom_page_fileinfo.newAttribute("File Info", "1");
|
||||
_cflow_ic_attrib = custom_page_fileinfo.newAttribute("Cover Flow", "0");
|
||||
ic_vis = custom_page_fileinfo.newAttribute("Visualization ", "0");
|
||||
_plsc_ic_attrib = custom_page_fileinfo.newAttribute("Stored Playlists", "0");
|
||||
ic_eq = custom_page_fileinfo.newAttribute("Equalizer", sui_eq_attrib.getData());
|
||||
ic_config = custom_page_fileinfo.newAttribute("Skin Settings", sui_config_attrib.getData());
|
||||
#ifdef DOHIDEMCV
|
||||
ic_hidden = custom_page_fileinfo.newAttribute("Hide Multi Content View", "0");
|
||||
#endif
|
||||
addMenuSeparator(custom_page_fileinfo);
|
||||
ConfigItem fileinfo_parent = addConfigSubMenu(custom_page_fileinfo, "File Info Components", CUSTOM_PAGE_INFOCOMP);
|
||||
|
||||
ic_vis_fileinfo = fileinfo_parent.newAttribute("Visualization ", "0");
|
||||
ic_cover_fileinfo = fileinfo_parent.newAttribute("Album Art", "1");
|
||||
addMenuSeparator(fileinfo_parent);
|
||||
infocomp_show_track = fileinfo_parent.newAttribute("Show Track #", "1");
|
||||
infocomp_show_year = fileinfo_parent.newAttribute("Show Year", "1");
|
||||
infocomp_show_genre = fileinfo_parent.newAttribute("Show Genre", "1");
|
||||
infocomp_show_disc = fileinfo_parent.newAttribute("Show Disc", "1");
|
||||
infocomp_show_albumartist = fileinfo_parent.newAttribute("Show Album Artist", "1");
|
||||
infocomp_show_composer = fileinfo_parent.newAttribute("Show Composer", "1");
|
||||
infocomp_show_publisher = fileinfo_parent.newAttribute("Show Publisher", "1");
|
||||
infocomp_show_format = fileinfo_parent.newAttribute("Show Decoder", "1");
|
||||
infocomp_show_rating = fileinfo_parent.newAttribute("Show Song Rating", "1");
|
||||
addMenuSeparator(fileinfo_parent);
|
||||
infocomp_cycle = fileinfo_parent.newAttribute("Cycle File Info", "1");
|
||||
addMenuSeparator(fileinfo_parent);
|
||||
//infocomp_nowplaying = fileinfo_parent.newAttribute("Open Links in Now Playing", "1");
|
||||
//infocomp_browser = fileinfo_parent.newAttribute("Open Links in Browser", "0");
|
||||
}
|
||||
|
||||
#ifdef MAIN_ATTRIBS_MGR
|
||||
System.onKeyDown(String key) {
|
||||
if (key == "alt+x")
|
||||
{
|
||||
if (sui_browser_attrib.getData() == "0") sui_browser_attrib.setData("1");
|
||||
else sui_browser_attrib.setData("0");
|
||||
complete;
|
||||
}
|
||||
/*if (key == "alt+n")
|
||||
{
|
||||
if (sui_browser_attrib.getData() == "0") sui_browser_attrib.setData("1");
|
||||
else sui_browser_attrib.setData("0");
|
||||
complete;
|
||||
}*/
|
||||
/*if (key == "alt+c")
|
||||
{
|
||||
if (sui_cover_attrib.getData() == "0") sui_cover_attrib.setData("1");
|
||||
else sui_cover_attrib.setData("0");
|
||||
complete;
|
||||
}*/
|
||||
if (key == "alt+c")
|
||||
{
|
||||
if (sui_config_attrib.getData() == "0") sui_config_attrib.setData("1");
|
||||
else sui_config_attrib.setData("0");
|
||||
complete;
|
||||
}
|
||||
if (key == "alt+g")
|
||||
{
|
||||
if (sui_eq_attrib.getData() == "0") sui_eq_attrib.setData("1");
|
||||
else sui_eq_attrib.setData("0");
|
||||
complete;
|
||||
}
|
||||
/*if (key == "ctrl+f") {
|
||||
navigateUrl(getPath(getPlayItemString()));
|
||||
complete;
|
||||
}*/
|
||||
}
|
||||
|
||||
ic_fileinfo.onDataChanged()
|
||||
{
|
||||
//debugString("ic_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_vis.setData("0");
|
||||
ic_eq.setData("0");
|
||||
ic_config.setData("0");
|
||||
_plsc_ic_attrib.setData("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
ic_vis.onDataChanged()
|
||||
{
|
||||
//debugString("ic_vis.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_fileinfo.setData("0");
|
||||
ic_eq.setData("0");
|
||||
ic_config.setData("0");
|
||||
_plsc_ic_attrib.setData("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
ic_eq.onDataChanged()
|
||||
{
|
||||
if (!attribs_mychange)
|
||||
{
|
||||
attribs_mychange = 1;
|
||||
sui_eq_attrib.setData(getData());
|
||||
if (getData() == "1") sui_config_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
//debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_fileinfo.setData("0");
|
||||
ic_vis.setData("0");
|
||||
ic_config.setData("0");
|
||||
_plsc_ic_attrib.setData("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
ic_config.onDataChanged()
|
||||
{
|
||||
if (!attribs_mychange)
|
||||
{
|
||||
attribs_mychange = 1;
|
||||
sui_config_attrib.setData(getData());
|
||||
if (getData() == "1") sui_eq_attrib.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
//debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_fileinfo.setData("0");
|
||||
ic_vis.setData("0");
|
||||
ic_eq.setData("0");
|
||||
_plsc_ic_attrib.setData("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
_plsc_ic_attrib.onDataChanged()
|
||||
{
|
||||
//debugString("ic_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_vis.setData("0");
|
||||
ic_eq.setData("0");
|
||||
ic_config.setData("0");
|
||||
ic_fileinfo.setData("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
#ifdef IC_COVERFLOW
|
||||
|
||||
_cflow_ic_attrib.onDataChanged()
|
||||
{
|
||||
//debugString("ic_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_vis.setData("0");
|
||||
ic_eq.setData("0");
|
||||
ic_config.setData("0");
|
||||
ic_fileinfo.setData("0");
|
||||
_plsc_ic_attrib.setData("0");
|
||||
ic_hidden.setdata("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
ic_hidden.onDataChanged()
|
||||
{
|
||||
//debugString("ic_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange2) return;
|
||||
NOOFF
|
||||
attribs_mychange2 = 1;
|
||||
ic_vis.setData("0");
|
||||
ic_eq.setData("0");
|
||||
ic_config.setData("0");
|
||||
ic_fileinfo.setData("0");
|
||||
_plsc_ic_attrib.setdata("0");
|
||||
_cflow_ic_attrib.setData("0");
|
||||
attribs_mychange2 = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
sui_eq_attrib.onDataChanged()
|
||||
{
|
||||
//debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange) return;
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
ic_eq.setData("1");
|
||||
sui_config_attrib.setData("0");
|
||||
}
|
||||
else ic_fileinfo.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
sui_config_attrib.onDataChanged()
|
||||
{
|
||||
//debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
|
||||
if (attribs_mychange) return;
|
||||
attribs_mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
ic_config.setData("1");
|
||||
sui_eq_attrib.setData("0");
|
||||
}
|
||||
else ic_fileinfo.setData("1");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
|
||||
/* infocomp_nowplaying.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
infocomp_browser.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
|
||||
|
||||
infocomp_browser.onDataChanged()
|
||||
{
|
||||
if (attribs_mychange) return;
|
||||
NOOFF
|
||||
attribs_mychange = 1;
|
||||
infocomp_nowplaying.setData("0");
|
||||
attribs_mychange = 0;
|
||||
}
|
||||
*/
|
||||
#endif
|
160
Src/resources/skins/Big Bento/scripts/beatvisualization.m
Normal file
@ -0,0 +1,160 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: beatvisualization.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 24. Sep. 2007 - 21:11
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
|
||||
Based on Winamp Modern
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_appearance.m
|
||||
|
||||
Function updateObj(int w);
|
||||
|
||||
#define CENTER_VAR CONTENTGRP
|
||||
Global Group contentGroup;
|
||||
#include <lib/com/centerlayer.m>
|
||||
#undef CENTER_VAR
|
||||
|
||||
Global Group scriptGroup;
|
||||
Global animatedLayer beatVisL, beatVisR;
|
||||
Global int lastBeatLeft, lastBeatRight;
|
||||
Global Timer refreshVis;
|
||||
Global Int totalFrames;
|
||||
Global GuiObject SongTicker;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_Appearance();
|
||||
|
||||
scriptGroup = getScriptGroup();
|
||||
|
||||
contentGroup = scriptGroup.getObject("player.display.beatvis.content");
|
||||
|
||||
beatVisL = contentGroup.getObject("beatvisleft");
|
||||
beatVisR = contentGroup.getObject("beatvisright");
|
||||
|
||||
_CONTENTGRPInit(contentGroup, scriptGroup, 1, 0);
|
||||
|
||||
SongTicker = contentGroup.getParent().findObject("Songticker");
|
||||
|
||||
totalFrames = beatVisR.getLength() - 1;
|
||||
|
||||
lastBeatLeft = 0;
|
||||
lastBeatRight = 0;
|
||||
|
||||
refreshVis = new Timer;
|
||||
refreshVis.setDelay(10);
|
||||
|
||||
updateObj(scriptGroup.getWidth());
|
||||
vis_reflection_attrib.onDataChanged();
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
refreshVis.stop();
|
||||
delete refreshVis;
|
||||
}
|
||||
|
||||
scriptGroup.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
updateObj(w);
|
||||
}
|
||||
|
||||
updateObj (int w)
|
||||
{
|
||||
if (w > 98)
|
||||
{
|
||||
if (scriptGroup.isVisible()) return;
|
||||
scriptGroup.show();
|
||||
if (beatvis_attrib.getData() == "1") refreshVis.start();
|
||||
//SongTicker.sendAction("setGuiX", "", 191,0,0,0);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
refreshVis.stop();
|
||||
scriptGroup.hide();
|
||||
//SongTicker.sendAction("restoreGuiX", "", 0,0,0,0);
|
||||
}
|
||||
}
|
||||
|
||||
refreshVis.onTimer ()
|
||||
{
|
||||
if (beatvis_attrib.getData() == "0")
|
||||
{
|
||||
lastBeatLeft--;
|
||||
if (lastBeatLeft<0) lastBeatLeft=0;
|
||||
lastBeatRight--;
|
||||
if (lastBeatRight<0) lastBeatRight=0;
|
||||
|
||||
beatVisL.gotoframe(lastBeatLeft);
|
||||
beatVisR.gotoframe(lastBeatRight);
|
||||
|
||||
if (lastBeatLeft + lastBeatRight == 0)
|
||||
{
|
||||
refreshVis.stop();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
int beatLeft= System.getLeftVuMeter();
|
||||
int beatRight= System.getRightVuMeter();
|
||||
|
||||
int frameLeft=beatLeft/(totalFrames+7);
|
||||
int frameRight=beatRight/(totalFrames+7);
|
||||
|
||||
if (frameLeft>totalFrames) frameLeft=totalFrames;
|
||||
if (frameRight>totalFrames) frameRight=totalFrames;
|
||||
|
||||
if (frameLeft<lastBeatLeft)
|
||||
{
|
||||
frameLeft=lastBeatLeft-1;
|
||||
if (frameLeft<0) frameLeft=0;
|
||||
}
|
||||
|
||||
if (frameRight<lastBeatRight)
|
||||
{
|
||||
frameRight=lastBeatRight-1;
|
||||
if (frameRight<0) frameRight=0;
|
||||
}
|
||||
|
||||
lastBeatLeft=frameLeft;
|
||||
lastBeatRight=frameRight;
|
||||
|
||||
beatVisL.gotoframe(frameLeft);
|
||||
beatVisR.gotoframe(frameRight);
|
||||
}
|
||||
|
||||
beatvis_attrib.onDataChanged ()
|
||||
{
|
||||
if (getData() == "1" )
|
||||
{
|
||||
if (scriptGroup.isVisible())
|
||||
{
|
||||
refreshVis.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
vis_reflection_attrib.onDataChanged ()
|
||||
{
|
||||
if (getdata() == "1")
|
||||
{
|
||||
beatVisR.setXmlParam("image", "player.beatvis.right");
|
||||
beatVisL.setXmlParam("image", "player.beatvis.left");
|
||||
}
|
||||
else
|
||||
{
|
||||
beatVisR.setXmlParam("image", "player.beatvis.right.wo");
|
||||
beatVisL.setXmlParam("image", "player.beatvis.left.wo");
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/beatvisualization.maki
Normal file
8
Src/resources/skins/Big Bento/scripts/buildall.bat
Normal file
@ -0,0 +1,8 @@
|
||||
@echo off
|
||||
|
||||
pushd %~dp0..\..\..\..\wasabi\
|
||||
set basedir=%cd%
|
||||
popd
|
||||
|
||||
for %%a in (*.m) do "%basedir%\mc.exe" %%a
|
||||
pause
|
293
Src/resources/skins/Big Bento/scripts/cbuttons.m
Normal file
@ -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;
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/cbuttons.maki
Normal file
56
Src/resources/skins/Big Bento/scripts/colorthemes.m
Normal file
@ -0,0 +1,56 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: colorthemes.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 29. Jun. 2007 - 13:06
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Group scriptGroup;
|
||||
Global GuiObject ColorthemesList, parent;
|
||||
Global string sgID;
|
||||
|
||||
Global Button getmore;
|
||||
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
scriptGroup = getScriptGroup();
|
||||
sgID = scriptGroup.getID();
|
||||
ColorthemesList = scriptGroup.getObject("colorthemes");
|
||||
parent = scriptGroup.getParent().findObject("skin.config.target");
|
||||
|
||||
getmore = scriptGroup.getObject("colorthemes.more");
|
||||
}
|
||||
|
||||
scriptGroup.onTargetReached ()
|
||||
{
|
||||
if (getAlpha() == 0) ColorthemesList.hide();
|
||||
else ColorthemesList.show();
|
||||
}
|
||||
|
||||
parent.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (getToken(action,";",0) == "switchto")
|
||||
{
|
||||
if (getToken(action, ";", 1) == sgID)
|
||||
{
|
||||
ColorthemesList.show();
|
||||
}
|
||||
else ColorthemesList.hide();
|
||||
}
|
||||
}
|
||||
|
||||
getmore.onLeftClick ()
|
||||
{
|
||||
group sui = scriptGroup.getParentLayout().findObject("sui.content");
|
||||
sui.sendAction ("browser_navigate", "http://forums.winamp.com/showthread.php?threadid=276371", 0, 0, 0, 0);
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/colorthemes.maki
Normal file
159
Src/resources/skins/Big Bento/scripts/configtarget.m
Normal file
@ -0,0 +1,159 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: configtarget.m
|
||||
Version: 2.1
|
||||
|
||||
Type: maki
|
||||
Date: 04. Jan. 2007 - 22:46
|
||||
Edited by: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
|
||||
Note: This script is based on configtarget.m
|
||||
from Winamp Modern
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
Global GuiObject target;
|
||||
Global ComponentBucket buck;
|
||||
|
||||
Global GuiObject last, current;
|
||||
// ------------------------------------------------------------------------------------
|
||||
Function turnAllOffExcept(GuiObject except);
|
||||
Function turnOn(GuiObject obj);
|
||||
Function turnOff(GuiObject obj);
|
||||
|
||||
//Member int target.fff;
|
||||
|
||||
//function fff();
|
||||
//Member button int fff();
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// init
|
||||
// ------------------------------------------------------------------------------------
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
target = getScriptGroup().findObject("skin.config.target");
|
||||
buck = getScriptGroup().findObject("my.bucket");
|
||||
|
||||
last = NULL;
|
||||
current = NULL;
|
||||
|
||||
//debugInt(guiobject.fff);ffff
|
||||
|
||||
// target.fff = 4;
|
||||
|
||||
// turn off all
|
||||
GuiObject o = NULL;
|
||||
turnAllOffExcept(o);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// save scroller position
|
||||
// ------------------------------------------------------------------------------------
|
||||
/*System.onScriptUnloading()
|
||||
{
|
||||
if (buck)
|
||||
{
|
||||
setPrivateInt(getSkinName(), "", buck.getScroll());
|
||||
}
|
||||
}*/
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// turn on last open
|
||||
// ------------------------------------------------------------------------------------
|
||||
buck.onStartup()
|
||||
{
|
||||
//setScroll(getPrivateInt(getSkinName(), "settings_last_pos", 0));
|
||||
Group g = buck.enumChildren(getPrivateInt(getSkinName(), "settings_last_pos", 0));
|
||||
if (!g) g = buck.enumChildren(0);
|
||||
if (!g) return;
|
||||
ToggleButton btn = g.getObject("btn");
|
||||
if (btn) btn.leftClick();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// this is called by the bucket button to switch to a new group
|
||||
// ------------------------------------------------------------------------------------
|
||||
target.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (getToken(action,";",0) == "switchto")
|
||||
{
|
||||
String grp = getToken(action, ";", 1);
|
||||
String is_subpage = getToken(action, ";", 2);
|
||||
|
||||
if (current != NULL)
|
||||
{
|
||||
last = current;
|
||||
}
|
||||
|
||||
target.setXmlParam("groupid", grp);
|
||||
|
||||
current = getScriptGroup().findObject(grp);
|
||||
|
||||
// setPrivateInt(getSkinName(), "settings_last_pos", stringToInteger(param));
|
||||
|
||||
if (is_subpage!="subpage") turnAllOffExcept(source.getParent()); // getParent because the source is the button itself, the parent is the whole group item in the bucket
|
||||
}
|
||||
}
|
||||
|
||||
// Hack to hide last item
|
||||
|
||||
last.onTargetReached ()
|
||||
{
|
||||
if (getAlpha() == 0)
|
||||
{
|
||||
hide();
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// turn off all buttons except for the parameter, also save last_page param based on param item
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnAllOffExcept(GuiObject except)
|
||||
{
|
||||
if (!buck) return;
|
||||
int i=0;
|
||||
// enumerate all inserted groups, turn them off if they're not our exception
|
||||
while (i<buck.getNumChildren())
|
||||
{
|
||||
GuiObject obj = buck.enumChildren(i);
|
||||
if (obj == except)
|
||||
{ // otherwise record last page
|
||||
setPrivateInt(getSkinName(), "settings_last_pos", i);
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
if (obj == NULL) { break; } // shoundnt happen
|
||||
turnOff(obj);
|
||||
i++;
|
||||
}
|
||||
// turn on the clicked item
|
||||
if (except) turnOn(except);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnOn(GuiObject obj)
|
||||
{
|
||||
Group gobj = obj;
|
||||
|
||||
// otherwise we just need this :
|
||||
ToggleButton tg = gobj.getObject("btn");
|
||||
tg.setActivated(1);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnOff(GuiObject obj)
|
||||
{
|
||||
Group gobj = obj;
|
||||
|
||||
// otherwise we just need this :
|
||||
ToggleButton tg = gobj.getObject("btn");
|
||||
tg.setActivated(0);
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/configtarget.maki
Normal file
229
Src/resources/skins/Big Bento/scripts/coverflow.m
Normal file
@ -0,0 +1,229 @@
|
||||
/********************************************************\
|
||||
** Filename: coverflow.m **
|
||||
** Version: 1.0 **
|
||||
** Date: 20. Nov. 2007 - 15:25 **
|
||||
**********************************************************
|
||||
** Type: winamp.wasabi/maki **
|
||||
** Project: Cover Flow **
|
||||
**********************************************************
|
||||
** Author: Martin Poehlmann aka Deimos **
|
||||
** E-Mail: martin@skinconsortium.com **
|
||||
** Internet: http://www.skinconsortium.com **
|
||||
** http://home.cs.tum.edu/~poehlman **
|
||||
\********************************************************/
|
||||
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include <lib/pldir.mi>
|
||||
|
||||
Function update();
|
||||
Function fade (GuiObject o, int alpha, float s);
|
||||
|
||||
Class GuiObject AlbumCover;
|
||||
Class AlbumCover playButton;
|
||||
|
||||
Global AlbumCover prev2, prev1, curr, next1, next2;
|
||||
Global String sprev2, sprev1, scurr, snext1, snext2;
|
||||
Global playButton bprev2, bprev1, bcurr, bnext1, bnext2;
|
||||
Global text info;
|
||||
|
||||
#define CENTER_VAR SGrp
|
||||
Global Group sg;
|
||||
#include <lib/com/centerlayer.m>
|
||||
#undef CENTER_VAR
|
||||
|
||||
Global PlEdit PleditListener;
|
||||
|
||||
Global Timer delay;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
sg = getScriptGroup();
|
||||
|
||||
PleditListener = new PlEdit;
|
||||
|
||||
prev2 = sg.getObject("aa.prev2");
|
||||
prev1 = sg.getObject("aa.prev1");
|
||||
curr = sg.getObject("aa.curr");
|
||||
next1 = sg.getObject("aa.next1");
|
||||
next2 = sg.getObject("aa.next2");
|
||||
|
||||
bprev2 = sg.getObject("play.prev2");
|
||||
bprev1 = sg.getObject("play.prev1");
|
||||
bcurr = sg.getObject("play.curr");
|
||||
bnext1 = sg.getObject("play.next1");
|
||||
bnext2 = sg.getObject("play.next2");
|
||||
|
||||
info = sg.getParent().findObject("info");
|
||||
|
||||
_SGrpInit(sg, sg.getParent(), 1, 0);
|
||||
|
||||
delay = new Timer;
|
||||
delay.setDelay(10);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
delete delay;
|
||||
}
|
||||
|
||||
System.onTitleChange (String newtitle)
|
||||
{
|
||||
update();
|
||||
}
|
||||
|
||||
update ()
|
||||
{
|
||||
int cur = PlEdit.getCurrentIndex();
|
||||
int max = PlEdit.getNumTracks();
|
||||
|
||||
if (cur > 1)
|
||||
{
|
||||
prev2.setXmlParam("source", PlEdit.getFileName(cur-2));
|
||||
prev2.show();
|
||||
sprev2 = PlEdit.getTitle(cur-2);
|
||||
}
|
||||
else prev2.hide();
|
||||
|
||||
if (cur > 0)
|
||||
{
|
||||
prev1.setXmlParam("source", PlEdit.getFileName(cur-1));
|
||||
prev1.show();
|
||||
sprev1 = PlEdit.getTitle(cur-1);
|
||||
}
|
||||
else prev1.hide();
|
||||
|
||||
scurr = PlEdit.getTitle(cur);
|
||||
|
||||
if (cur < max-2)
|
||||
{
|
||||
next2.setXmlParam("source", PlEdit.getFileName(cur+2));
|
||||
next2.show();
|
||||
snext2 = PlEdit.getTitle(cur+2);
|
||||
}
|
||||
else next2.hide();
|
||||
|
||||
if (cur < max-1)
|
||||
{
|
||||
next1.setXmlParam("source", PlEdit.getFileName(cur+1));
|
||||
next1.show();
|
||||
snext1 = PlEdit.getTitle(cur+1);
|
||||
}
|
||||
else next1.hide();
|
||||
}
|
||||
|
||||
PleditListener.onPleditModified ()
|
||||
{
|
||||
if (delay) delay.start();
|
||||
}
|
||||
|
||||
delay.onTimer ()
|
||||
{
|
||||
delay.stop();
|
||||
update();
|
||||
}
|
||||
|
||||
AlbumCover.onRightButtonDown (int x, int y)
|
||||
{
|
||||
popupmenu p = new popupmenu;
|
||||
|
||||
p.addCommand("Get Album Art", 1, 0, 0);
|
||||
p.addCommand("Refresh Album Art", 2, 0, 0);
|
||||
p.addCommand("Open Folder", 3, 0, 0);
|
||||
|
||||
int result = p.popatmouse();
|
||||
delete p;
|
||||
|
||||
String pis = getXmlParam("source");
|
||||
if (pis == "") pis = system.getPlayItemString();
|
||||
|
||||
if (result == 1)
|
||||
{
|
||||
if (system.getAlbumArt(pis) > 0)
|
||||
{
|
||||
setXmlParam("notfoundimage", getXmlParam("notfoundimage")); // a nesty refresh - isn't it?
|
||||
}
|
||||
}
|
||||
else if (result == 2)
|
||||
{
|
||||
setXmlParam("notfoundimage", getXmlParam("notfoundimage")); // a nesty refresh - isn't it?
|
||||
}
|
||||
else if (result == 3)
|
||||
{
|
||||
System.navigateUrl(getPath(pis));
|
||||
}
|
||||
}
|
||||
|
||||
AlbumCover.onLeftButtonDblClk (int x, int y)
|
||||
{
|
||||
if (AlbumCover == playButton)
|
||||
return;
|
||||
|
||||
String pis = getXmlParam("source");
|
||||
if (pis == "") pis = system.getPlayItemString();
|
||||
System.navigateUrl(getPath(pis));
|
||||
}
|
||||
|
||||
AlbumCover.onEnterArea ()
|
||||
{
|
||||
if (!findObject("aa." + getToken(getId(), ".", 1)).isVisible())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int cur = PlEdit.getCurrentIndex();
|
||||
|
||||
if (AlbumCover == prev2 || AlbumCover == bprev2)
|
||||
info.setText(sprev2);
|
||||
else if (AlbumCover == prev1 || AlbumCover == bprev1)
|
||||
info.setText(sprev1);
|
||||
else if (AlbumCover == curr || AlbumCover == bcurr)
|
||||
info.setText(scurr);
|
||||
else if (AlbumCover == next1 || AlbumCover == bnext1)
|
||||
info.setText(snext1);
|
||||
else if (AlbumCover == next2 || AlbumCover == bnext2)
|
||||
info.setText(snext2);
|
||||
|
||||
GuiObject o = sg.findObject("play." + getToken(getId(), ".", 1));
|
||||
if (o )
|
||||
{
|
||||
fade(o, 255, 0.133);
|
||||
}
|
||||
}
|
||||
|
||||
AlbumCover.onLeaveArea ()
|
||||
{
|
||||
info.setText("");
|
||||
|
||||
GuiObject o = sg.findObject("play." + getToken(getId(), ".", 1));
|
||||
if (o)
|
||||
{
|
||||
fade(o, 0, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
playButton.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
int cur = PlEdit.getCurrentIndex();
|
||||
if (playButton == bprev2)
|
||||
PlEdit.playTrack(cur-2);
|
||||
else if (playButton == bprev1)
|
||||
PlEdit.playTrack(cur-1);
|
||||
else if (playButton == bnext1)
|
||||
PlEdit.playTrack(cur+1);
|
||||
else if (playButton == bnext2)
|
||||
PlEdit.playTrack(cur+2);
|
||||
|
||||
setAlpha(0);
|
||||
info.setTexT("");
|
||||
}
|
||||
|
||||
fade (GuiObject o, int alpha, float s)
|
||||
{
|
||||
o.cancelTarget();
|
||||
o.setTargetA(alpha);
|
||||
o.setTargetSpeed(s);
|
||||
o.gotoTarget();
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/coverflow.maki
Normal file
247
Src/resources/skins/Big Bento/scripts/eq.m
Normal file
@ -0,0 +1,247 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: eq.m
|
||||
Version: 2.0
|
||||
|
||||
Type: maki
|
||||
Date: 25. Jun. 2007 - 11:30
|
||||
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/winampconfig.mi>
|
||||
|
||||
#define CENTER_VAR eqGroup
|
||||
#include <lib/com/centerlayer.m>
|
||||
|
||||
#define ISOBANDS "31.5 Hz,63 Hz,125 Hz,250 Hz,500 Hz,1 KHz,2 KHz,4 KHz,8 KHz,16 KHz"
|
||||
#define WINAMPBANDS "70 Hz,180 Hz,320 Hz,600 Hz,1 KHz,3 KHz,6 KHz,12 KHz,14 KHz,16 KHz"
|
||||
|
||||
Class Button Eqbutton;
|
||||
Member int EqButton.setTo;
|
||||
|
||||
Global Group frameGroup, buttongroup;
|
||||
Global Slider slidercb, Balance;
|
||||
Global Text fadertext;
|
||||
Global Button CFIncrease, CFDecrease, eqon, eqauto;
|
||||
Global ToggleButton Crossfade;
|
||||
Global GuiObject CrossfadeActive, eqonActive, eqautoActive, SongTicker;
|
||||
Global Int CrossfadeActive_Y, eqonActive_Y, eqautoActive_Y;
|
||||
Global Eqbutton btnEQp12,btnEQ0,btnEQm12;
|
||||
Global layer frequencyLabel;
|
||||
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
buttongroup = getScriptGroup().findObject("player.cbuttons");
|
||||
WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
|
||||
|
||||
int freqmode = eqwcg.getInt("frequencies"); // returns 0 for classical winamp levels, 1 for ISO levels
|
||||
|
||||
frameGroup = getScriptGroup();
|
||||
_eqGroupInit(frameGroup.findObject("info.component.eq.content"), frameGroup, 1, 0);
|
||||
slidercb = frameGroup.findObject("sCrossfade");
|
||||
fadertext = frameGroup.findObject("CFDisplay");
|
||||
CFIncrease = frameGroup.findObject("CrossfadeIncrease");
|
||||
CFDecrease = frameGroup.findObject("CrossfadeDecrease");
|
||||
Crossfade = frameGroup.findObject("Crossfade");
|
||||
CrossfadeActive = frameGroup.findObject("CrossfadeActive");
|
||||
CrossfadeActive_Y = CrossfadeActive.getGuiY();
|
||||
|
||||
eqon = frameGroup.findObject("eqonoff");
|
||||
eqonActive = frameGroup.findObject("eqonoffActive");
|
||||
eqonActive_Y = eqonActive.getGuiY();
|
||||
|
||||
eqauto = frameGroup.findObject("eqauto");
|
||||
eqautoActive = frameGroup.findObject("eqautoActive");
|
||||
eqautoActive_Y = eqautoActive.getGuiY();
|
||||
|
||||
btnEQp12 = frameGroup.findObject("EQ_p12");
|
||||
btnEQp12.setTo = 127;
|
||||
btnEQ0 = frameGroup.findObject("EQ_0");
|
||||
btnEQ0.setTo = 0;
|
||||
btnEQm12 = frameGroup.findObject("EQ_m12");
|
||||
btnEQm12.setTo = -127;
|
||||
|
||||
Balance = frameGroup.findObject("Balance");
|
||||
SongTicker = buttongroup.getParentLayout().findObject("songticker");
|
||||
|
||||
frequencyLabel = frameGroup.findObject("frequency.labels");
|
||||
|
||||
system.onEqFreqChanged(freqmode);
|
||||
|
||||
slidercb.onSetPosition(slidercb.getPosition());
|
||||
|
||||
Crossfade.onToggle(Crossfade.getActivated());
|
||||
}
|
||||
|
||||
Balance.onSetPosition(int newpos)
|
||||
{
|
||||
string t=translate("Balance")+":";
|
||||
if (newpos==127) t+= " " + translate("Center");
|
||||
if (newpos<127) t += " " + integerToString((100-(newpos/127)*100))+"% "+translate("Left");
|
||||
if (newpos>127) t += " " + integerToString(((newpos-127)/127)*100)+"% "+translate("Right");
|
||||
|
||||
SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
slidercb.onSetPosition(int val)
|
||||
{
|
||||
String s = IntegerToString(val);
|
||||
fadertext.setText(s);
|
||||
}
|
||||
|
||||
CFIncrease.onLeftClick()
|
||||
{
|
||||
slidercb.SetPosition(slidercb.getPosition()+1);
|
||||
}
|
||||
|
||||
CFDecrease.onLeftClick()
|
||||
{
|
||||
slidercb.SetPosition(slidercb.getPosition()-1);
|
||||
}
|
||||
|
||||
Crossfade.onToggle(boolean on)
|
||||
{
|
||||
if (!on)
|
||||
{
|
||||
fadertext.setAlpha(150);
|
||||
CFIncrease.setAlpha(150);
|
||||
CFDecrease.setXmlParam("ghost" , "1");
|
||||
CFDecrease.setAlpha(150);
|
||||
CFIncrease.setXmlParam("ghost" , "1");
|
||||
CrossfadeActive.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
fadertext.setAlpha(255);
|
||||
CFIncrease.setAlpha(255);
|
||||
CFDecrease.setAlpha(255);
|
||||
CFIncrease.setXmlParam("ghost" , "0");
|
||||
CFDecrease.setXmlParam("ghost" , "0");
|
||||
CrossfadeActive.show();
|
||||
}
|
||||
}
|
||||
|
||||
Global Boolean cfDown, onDown, autoDown, manual_set;
|
||||
Crossfade.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
cfDown = 1;
|
||||
CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));
|
||||
}
|
||||
|
||||
Crossfade.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
cfDown = 0;
|
||||
CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));
|
||||
}
|
||||
|
||||
Crossfade.onleaveArea ()
|
||||
{
|
||||
CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));
|
||||
}
|
||||
|
||||
Crossfade.onEnterArea ()
|
||||
{
|
||||
if (cfDown) CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));
|
||||
}
|
||||
|
||||
eqon.onEnterArea ()
|
||||
{
|
||||
if (onDown) eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));
|
||||
}
|
||||
|
||||
eqon.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
onDown = 1;
|
||||
eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));
|
||||
}
|
||||
|
||||
eqon.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
onDown = 0;
|
||||
eqonActive.setXmlParam("y", integerToString(eqonActive_Y));
|
||||
}
|
||||
|
||||
eqon.onleaveArea ()
|
||||
{
|
||||
eqonActive.setXmlParam("y", integerToString(eqonActive_Y));
|
||||
}
|
||||
|
||||
eqauto.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
autoDown = 1;
|
||||
eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));
|
||||
}
|
||||
|
||||
eqauto.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
autoDown = 0;
|
||||
eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));
|
||||
}
|
||||
|
||||
eqauto.onleaveArea ()
|
||||
{
|
||||
eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));
|
||||
}
|
||||
|
||||
eqauto.onEnterArea ()
|
||||
{
|
||||
if (autoDown) eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));
|
||||
}
|
||||
|
||||
|
||||
EqButton.onLeftClick()
|
||||
{
|
||||
manual_set = 1;
|
||||
for(int i=0; i<10; i++) setEqBand(i, EqButton.setTo);
|
||||
manual_set = 0;
|
||||
}
|
||||
|
||||
System.onEqFreqChanged (boolean isoonoff)
|
||||
{
|
||||
if (isoonoff == 1)
|
||||
{
|
||||
frequencyLabel.setXmlParam("image", "equalizer.labels.iso");
|
||||
for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(ISOBANDS,",",i));
|
||||
}
|
||||
else
|
||||
{
|
||||
frequencyLabel.setXmlParam("image", "equalizer.labels.winamp");
|
||||
for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(WINAMPBANDS,",",i));
|
||||
}
|
||||
}
|
||||
|
||||
system.onEqBandChanged(int band, int value)
|
||||
{
|
||||
if (manual_set) return;
|
||||
String t;
|
||||
Float f = value;
|
||||
f = f / 10.5;
|
||||
WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
|
||||
if (eqwcg.getInt("frequencies") == 1) {
|
||||
if (f >= 0) t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
|
||||
else t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
|
||||
}
|
||||
else {
|
||||
if (f >= 0) t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
|
||||
else t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
|
||||
}
|
||||
|
||||
SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
system.onEqPreampChanged(int value)
|
||||
{
|
||||
slider s = getScriptGroup().findObject("preamp");
|
||||
value = s.getPosition(); // Somehow this function returns a range from [-127;125] with hotpos -3, so we take the slider instead
|
||||
String t = "EQ: " + translate("Preamp:") + " ";
|
||||
Float f = value;
|
||||
f = f / 10.5;
|
||||
if (f >= 0) t += "+"+floattostring(f, 1) + " "+ translate("dB");
|
||||
else t += floattostring(f, 1) + " "+ translate("dB");
|
||||
SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/eq.maki
Normal file
1277
Src/resources/skins/Big Bento/scripts/fileinfo.m
Normal file
BIN
Src/resources/skins/Big Bento/scripts/fileinfo.maki
Normal file
145
Src/resources/skins/Big Bento/scripts/gen_dropbox.m
Normal file
@ -0,0 +1,145 @@
|
||||
#include <lib/std.mi>
|
||||
|
||||
#define GUID_DROPBOX "{E2E4AD32-D87B-4B9E-BF58-46A1336DDC8F}"
|
||||
#define GUID_DROPBOX_ "{E2E4AD32-D87B-4b9e-BF58-46A1336DDC8F}"
|
||||
#define USE_BIG_HACK
|
||||
|
||||
Global Frame dualwnd;
|
||||
Global Group sui_window;
|
||||
Global Group dropbox;
|
||||
|
||||
Global Timer box_tmr;
|
||||
Global windowholder dropbox_wdh;
|
||||
|
||||
Global Container main;
|
||||
|
||||
Global int MIN_WIDTH;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
dualwnd = getScriptGroup().findObject("wdh.ml.dualwnd");
|
||||
sui_window = getScriptGroup().getParentLayout().findObject("sui.content");
|
||||
dropbox = dualwnd.findObject("wdh.ml.dualwnd.dropbox");
|
||||
dropbox_wdh = dropbox.findObject("wdh");
|
||||
|
||||
main = dropbox.getParentLayout().getContainer();
|
||||
|
||||
//showWindow(GUID_DROPBOX, "", false);
|
||||
|
||||
MIN_WIDTH = stringToInteger(dualwnd.getXmlParam("minwidth"));
|
||||
dualwnd.setXmlParam("resizable", "0");
|
||||
dualwnd.setPosition(0);
|
||||
|
||||
box_tmr = new Timer;
|
||||
box_tmr.setDelay(1);
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
delete box_tmr;
|
||||
|
||||
int w = dualwnd.getPosition();
|
||||
if (w >= MIN_WIDTH)
|
||||
{
|
||||
setPrivateInt(getSkinName(), "gen_dropbox_poppler", w);
|
||||
}
|
||||
}
|
||||
#ifdef 0
|
||||
Global Boolean gettingclosed;
|
||||
|
||||
System.onGetCancelComponent (String guid, boolean goingvisible)
|
||||
{
|
||||
|
||||
if (guid != GUID_DROPBOX)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (goingvisible && !gettingclosed)
|
||||
{
|
||||
box_tmr.start();
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gettingclosed)
|
||||
{
|
||||
gettingclosed = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/*int w = dualwnd.getPosition();
|
||||
if (w >= MIN_WIDTH)
|
||||
{
|
||||
setPrivateInt(getSkinName(), "gen_dropbox_poppler", w);
|
||||
}
|
||||
dualwnd.setXmlParam("resizable", "0");
|
||||
dualwnd.setPosition(0);*/
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
RETURN FALSE;
|
||||
}
|
||||
|
||||
box_tmr.onTimer ()
|
||||
{
|
||||
box_tmr.stop();
|
||||
int w = getPrivateInt(getSkinName(), "gen_dropbox_poppler", 200);
|
||||
if (w < MIN_WIDTH)
|
||||
w = MIN_WIDTH;
|
||||
|
||||
dualwnd.setXmlParam("resizable", "1");
|
||||
|
||||
System.showWindow("{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}", "", 0);
|
||||
//sui_window.sendAction("opentab", "ml", 0,0,0,0);
|
||||
|
||||
dualwnd.setPosition(w);
|
||||
dropbox.hide();
|
||||
dropbox_wdh.hide();
|
||||
//dropbox_wdh.setXMLParam("hold", "");
|
||||
dropbox_wdh.show();
|
||||
//dropbox_wdh.setXMLParam("hold", "@all@");
|
||||
dropbox.show();
|
||||
}
|
||||
|
||||
#ifdef USE_BIG_HACK
|
||||
|
||||
sui_window.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (action == "callback")
|
||||
{
|
||||
if (param == "onbeforehidesui")
|
||||
{
|
||||
/*//dualwnd.setPosition(0);
|
||||
//dropbox.findObject("wdh").setXmlParam("relatw", "0");
|
||||
//dropbox.findObject("wdh").setXmlParam("w", "0");
|
||||
int i = dualwnd.getLeft() + dualwnd.getWidth();
|
||||
dualwnd.setShaded(dualwnd.clientToScreenX(dualwnd.getLeft() +dualwnd.getWidth()),dualwnd.clientToScreenX(dualwnd.getLeft() + dualwnd.getWidth()-dualwnd.getPosition()-4));
|
||||
debugInt(dualwnd.clientToScreenX(dualwnd.getLeft() +dualwnd.getWidth()));*/
|
||||
dropbox.hide();
|
||||
gettingclosed = true;
|
||||
//dualwnd.setPosition(0);
|
||||
}
|
||||
else if (param == "onshowsui")
|
||||
{
|
||||
//dualwnd.setPosition(200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main.onBeforeSwitchToLayout (Layout oldlayout, Layout newlayout)
|
||||
{
|
||||
if (newLayout.getID() == "shade")
|
||||
{
|
||||
dropbox.hide();
|
||||
gettingclosed = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
BIN
Src/resources/skins/Big Bento/scripts/gen_dropbox.maki
Normal file
83
Src/resources/skins/Big Bento/scripts/hoverstimulate.m
Normal file
@ -0,0 +1,83 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: hoverstimulate.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 03. Jul. 2007 - 23:09
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Button mainButton;
|
||||
Global Layer overlay;
|
||||
Global Boolean mouseDown;
|
||||
Global String img_normal, img_hover, img_down, img_active;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
mainButton = getScriptGroup().findObject(getToken(getParam(), ";", 0));
|
||||
overlay = getScriptGroup().findObject(getToken(getParam(), ";", 1));
|
||||
img_normal = getToken(getParam(), ";", 2);
|
||||
img_hover = getToken(getParam(), ";", 3);
|
||||
img_down = getToken(getParam(), ";", 4);
|
||||
img_active = getToken(getParam(), ";", 5);
|
||||
}
|
||||
|
||||
mainButton.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
overlay.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
overlay.hide();
|
||||
}
|
||||
}
|
||||
|
||||
mainButton.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
mouseDown = 1;
|
||||
if (img_down != "NULL") overlay.setXmlParam("image", img_down);
|
||||
}
|
||||
|
||||
mainButton.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
mouseDown = 0;
|
||||
if (img_hover != "NULL" && !getActivated() && isMouseOverRect()) overlay.setXmlParam("image", img_hover);
|
||||
}
|
||||
|
||||
mainButton.onleaveArea ()
|
||||
{
|
||||
if (!getActivated())
|
||||
{
|
||||
if (img_normal != "NULL") overlay.setXmlParam("image", img_normal);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (img_active != "NULL") overlay.setXmlParam("image", img_active);
|
||||
}
|
||||
}
|
||||
|
||||
mainButton.onEnterArea ()
|
||||
{
|
||||
if (img_hover != "NULL") overlay.setXmlParam("image", img_hover);
|
||||
}
|
||||
|
||||
mainButton.onActivate (int activated)
|
||||
{
|
||||
if (activated)
|
||||
{
|
||||
if (img_active != "NULL") overlay.setXmlParam("image", img_active);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (img_normal != "NULL") overlay.setXmlParam("image", img_normal);
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/hoverstimulate.maki
Normal file
99
Src/resources/skins/Big Bento/scripts/imagecontrol.m
Normal file
@ -0,0 +1,99 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: imagecontrol.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 29. Jun. 2007 - 12:28
|
||||
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>
|
||||
|
||||
Function updateAttrib ();
|
||||
Class ConfigAttribute ImageAttribute;
|
||||
|
||||
Global ImageAttribute a1, a2, a3, a4, a5, a6;
|
||||
Global String img1, img2, img3, img4, img5, img6;
|
||||
Global layer Display;
|
||||
Global boolean myChange;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
string param = getParam();
|
||||
|
||||
string objects = getToken(param, "|", 0);
|
||||
group scriptGroup = getScriptGroup();
|
||||
Display = scriptGroup.findObject(objects);
|
||||
|
||||
|
||||
int n = stringToInteger(getToken(param, "|", 1)) + 1;
|
||||
int i = 2;
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a1 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img1 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a2 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img2 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a3 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img3 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a4 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img4 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a5 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img5 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
if (i <= n)
|
||||
{
|
||||
objects = getToken(param, "|", i);
|
||||
a6 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
|
||||
img6 = getToken(objects, ";", 2);
|
||||
i++;
|
||||
}
|
||||
|
||||
updateAttrib ();
|
||||
}
|
||||
|
||||
ImageAttribute.onDataChanged ()
|
||||
{
|
||||
if (myChange) return;
|
||||
updateAttrib ();
|
||||
}
|
||||
|
||||
updateAttrib ()
|
||||
{
|
||||
myChange = 1;
|
||||
if (a1) if (a1.getData() == "1") Display.setXmlParam("image", img1);
|
||||
if (a2) if (a2.getData() == "1") Display.setXmlParam("image", img2);
|
||||
if (a3) if (a3.getData() == "1") Display.setXmlParam("image", img3);
|
||||
if (a4) if (a4.getData() == "1") Display.setXmlParam("image", img4);
|
||||
if (a5) if (a5.getData() == "1") Display.setXmlParam("image", img5);
|
||||
if (a6) if (a6.getData() == "1") Display.setXmlParam("image", img6);
|
||||
myChange = 0;
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/imagecontrol.maki
Normal file
44
Src/resources/skins/Big Bento/scripts/infoline.m
Normal file
@ -0,0 +1,44 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: infoline.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 06. Nov. 2007 - 22:40
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Text txt;
|
||||
Global Text label;
|
||||
Global Layer link;
|
||||
Global Group sg;
|
||||
Global Int shift = 0;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
sg = getScriptGroup();
|
||||
|
||||
txt = sg.getObject("text");
|
||||
label = sg.getObject("label");
|
||||
link = sg.getObject("link");
|
||||
}
|
||||
|
||||
System.onSetXuiParam (String param, String value)
|
||||
{
|
||||
if (strlower(param) == "shift") shift = stringToInteger(value);
|
||||
if (strlower(param) == "label") label.setText(value);
|
||||
if (strlower(param) == "link") link.setXmlparam("tooltip", value);
|
||||
}
|
||||
|
||||
label.onTextChanged (String newtxt)
|
||||
{
|
||||
int w = label.getAutoWidth() + shift;
|
||||
txt.setXmlParam("x", integerToString(w));
|
||||
txt.setXmlParam("w", integerToString(-w));
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/infoline.maki
Normal file
52
Src/resources/skins/Big Bento/scripts/lib/debug.m
Normal file
@ -0,0 +1,52 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: debug.m
|
||||
Version: 1.2
|
||||
|
||||
Type: maki/attrib loader
|
||||
Date: 29. Aug. 2006 - 23:43
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#ifndef DEBUG
|
||||
#define debugString //
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
#define DEBUG_PREFIX "["+ FILE_NAME +": " + getTimeStamp() + "] " +
|
||||
|
||||
Function String getTimeStamp();
|
||||
String getTimeStamp()
|
||||
{
|
||||
int msc = getTimeOfDay();
|
||||
int h = msc / 1000 / 3600;
|
||||
msc -= h * 1000 * 3600;
|
||||
int m = msc / 1000 / 60;
|
||||
msc -= m * 1000 * 60;
|
||||
int s = msc / 1000;
|
||||
msc -= s * 1000;
|
||||
string zeros = "";
|
||||
if (msc < 100)
|
||||
{
|
||||
zeros += "0";
|
||||
}
|
||||
if (msc < 10)
|
||||
{
|
||||
zeros += "0";
|
||||
}
|
||||
return integerToString(h)+":"+integerToString(m)+":"+integerToString(s)+"."+zeros+integerToString(msc);
|
||||
}
|
||||
|
||||
#define D_WTF 9
|
||||
#define D_NWTF 9
|
||||
|
||||
#endif
|
111
Src/resources/skins/Big Bento/scripts/lib/glow.m
Normal file
@ -0,0 +1,111 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: glow.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki/glow class
|
||||
Date: 16. Jun. 2007 - 23:13
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
|
||||
Usage: 1: #include glow.m
|
||||
2: #define GLOW_OBJECT MyGlow
|
||||
3: call _MyGlow_GlowInit (someObj, otherObj)
|
||||
to init the objects.
|
||||
You can also call _MyGlow_GlowInit (NULL, otherObj)
|
||||
and load a bunch of GuiObjects in _MyGlow_GlowTrigger
|
||||
or load up to 5 objects via _MyGlow_addTarget(obj);
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#ifndef GLOW_OBJECT
|
||||
#error GLOW_OBJECT not defined!
|
||||
#endif
|
||||
|
||||
Class GuiObject _##GLOW_OBJECT##_GlowTrigger;
|
||||
Global _##GLOW_OBJECT##_GlowTrigger _##GLOW_OBJECT##_trigger0, _##GLOW_OBJECT##_trigger1, _##GLOW_OBJECT##_trigger2, _##GLOW_OBJECT##_trigger3, _##GLOW_OBJECT##_trigger4, _##GLOW_OBJECT##_trigger5;
|
||||
Global GuiObject _##GLOW_OBJECT##_glow;
|
||||
Global float _##GLOW_OBJECT##_fdoutspeed;
|
||||
Global boolean _##GLOW_OBJECT##_mouseDown;
|
||||
|
||||
Function _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed);
|
||||
Function _##GLOW_OBJECT##_addTrigger (GuiObject triggerObject);
|
||||
|
||||
_##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed)
|
||||
{
|
||||
if (triggerObject) _##GLOW_OBJECT##_trigger0 = triggerObject;
|
||||
if (glowObject) _##GLOW_OBJECT##_glow = glowObject;
|
||||
|
||||
_##GLOW_OBJECT##_fdoutspeed = fdoutspeed;
|
||||
}
|
||||
|
||||
_##GLOW_OBJECT##_addTrigger(GuiObject triggerObject)
|
||||
{
|
||||
if (triggerObject)
|
||||
{
|
||||
if (!_##GLOW_OBJECT##_trigger1)
|
||||
{
|
||||
_##GLOW_OBJECT##_trigger1 = triggerObject;
|
||||
return;
|
||||
}
|
||||
if (!_##GLOW_OBJECT##_trigger2)
|
||||
{
|
||||
_##GLOW_OBJECT##_trigger2 = triggerObject;
|
||||
return;
|
||||
}
|
||||
if (!_##GLOW_OBJECT##_trigger3)
|
||||
{
|
||||
_##GLOW_OBJECT##_trigger3 = triggerObject;
|
||||
return;
|
||||
}
|
||||
if (!_##GLOW_OBJECT##_trigger4)
|
||||
{
|
||||
_##GLOW_OBJECT##_trigger4 = triggerObject;
|
||||
return;
|
||||
}
|
||||
if (!_##GLOW_OBJECT##_trigger5)
|
||||
{
|
||||
_##GLOW_OBJECT##_trigger5 = triggerObject;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_##GLOW_OBJECT##_GlowTrigger.onEnterArea ()
|
||||
{
|
||||
_##GLOW_OBJECT##_glow.cancelTarget();
|
||||
_##GLOW_OBJECT##_glow.setAlpha(255);
|
||||
}
|
||||
|
||||
_##GLOW_OBJECT##_GlowTrigger.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
_##GLOW_OBJECT##_mouseDown = 1;
|
||||
_##GLOW_OBJECT##_glow.cancelTarget();
|
||||
_##GLOW_OBJECT##_glow.setAlpha(0);
|
||||
}
|
||||
|
||||
_##GLOW_OBJECT##_GlowTrigger.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
_##GLOW_OBJECT##_mouseDown = 0;
|
||||
_##GLOW_OBJECT##_glow.cancelTarget();
|
||||
if (_##GLOW_OBJECT##_GlowTrigger.isMouseOverRect()) _##GLOW_OBJECT##_glow.setAlpha(255);
|
||||
}
|
||||
|
||||
_##GLOW_OBJECT##_GlowTrigger.onLeaveArea ()
|
||||
{
|
||||
if (_##GLOW_OBJECT##_mouseDown) return;
|
||||
_##GLOW_OBJECT##_glow.cancelTarget();
|
||||
_##GLOW_OBJECT##_glow.setTargetA(0);
|
||||
_##GLOW_OBJECT##_glow.setTargetX(_##GLOW_OBJECT##_glow.getGuiX());
|
||||
_##GLOW_OBJECT##_glow.setTargetSpeed(_##GLOW_OBJECT##_fdoutspeed);
|
||||
_##GLOW_OBJECT##_glow.gotoTarget();
|
||||
}
|
||||
|
||||
#undef GLOW_OBJECT
|
89
Src/resources/skins/Big Bento/scripts/loadattribs.m
Normal file
@ -0,0 +1,89 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: loadattribs.m
|
||||
Version: 1.2
|
||||
|
||||
Type: maki/attrib loader
|
||||
Date: 29. Aug. 2006 - 23:43
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#define MAIN_ATTRIBS_MGR
|
||||
#define MAIN_ATTRIBS_LOADER
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
#include attribs/init_windowpage.m
|
||||
#include attribs/init_playlist.m
|
||||
#include attribs/init_Autoresize.m
|
||||
#include attribs/init_Vis.m
|
||||
#include attribs/init_appearance.m
|
||||
#include attribs/init_songticker.m
|
||||
#include attribs/init_notifier.m
|
||||
|
||||
Global Configattribute FontRenderer, findOpenRect;
|
||||
Global String FontRenderer_default, findOpenRect_default;
|
||||
Global configAttribute skin_attrib;
|
||||
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
initAttribs_Appearance();
|
||||
initAttribs_Songticker();
|
||||
initAttribs_Autoresize();
|
||||
initAttribs_notifier();
|
||||
initAttribs_Vis();
|
||||
|
||||
//without optionsmenu entry:
|
||||
initAttribs_windowpage();
|
||||
initAttribs_Playlist();
|
||||
|
||||
// Add skin switcher to Appearance menu
|
||||
|
||||
addMenuSeparator(custom_page_appearance);
|
||||
|
||||
if (getParam() == "big")
|
||||
{
|
||||
skin_attrib = custom_page_appearance.newAttribute("Switch to Bento with Small Buttons", "0");
|
||||
}
|
||||
else
|
||||
{
|
||||
skin_attrib = custom_page_appearance.newAttribute("Switch to Bento with Big Buttons", "0");
|
||||
}
|
||||
|
||||
// Turn 'find open rect' temporary off
|
||||
|
||||
findOpenRect = config.getItemByGuid("{280876CF-48C0-40BC-8E86-73CE6BB462E5}").getAttribute("Find open rect");
|
||||
findOpenRect_default = findOpenRect.getData();
|
||||
findOpenRect.setData("0");
|
||||
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
findOpenRect.setData(findOpenRect_default);
|
||||
}
|
||||
|
||||
findOpenRect.onDataChanged ()
|
||||
{
|
||||
if (getData() == "0") return;
|
||||
findOpenRect.setData("0");
|
||||
}
|
||||
|
||||
global boolean passtrough;
|
||||
|
||||
skin_attrib.onDataChanged ()
|
||||
{
|
||||
if (passtrough)
|
||||
{
|
||||
return;
|
||||
}
|
||||
passtrough = TRUE;
|
||||
setData("0");
|
||||
if (getParam() == "big") switchSkin("Bento");
|
||||
else switchSkin("Big Bento");
|
||||
passtrough = FALSE;
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/loadattribs.maki
Normal file
164
Src/resources/skins/Big Bento/scripts/mainmenu.m
Normal file
@ -0,0 +1,164 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: songinfo.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 20. Nov. 2006 - 22:47
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_appearance.m
|
||||
|
||||
Class Layer LinkedLayer;
|
||||
|
||||
Function initLL(linkedLayer l);
|
||||
Function fadeLL(linkedLayer l, boolean in);
|
||||
Function setLL(linkedLayer l, boolean in);
|
||||
|
||||
Global Group MenuBar;
|
||||
Global GuiObject mousetrap;
|
||||
Global Int texth;
|
||||
|
||||
Global LinkedLayer _play, _options, _file, _view, _help;
|
||||
Global int xpos;
|
||||
|
||||
Global guiObject titlebargrid;
|
||||
|
||||
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
initAttribs_Appearance();
|
||||
MenuBar = getscriptgroup().findobject("player.mainmenu");
|
||||
xpos = 0;
|
||||
|
||||
titlebargrid = getScriptGroup().findObject("titlebar.grid.right");
|
||||
|
||||
_file = MenuBar.getObject("menu.text.file");
|
||||
initLL(_file);
|
||||
|
||||
_play = MenuBar.getObject("menu.text.play");
|
||||
initLL(_play);
|
||||
|
||||
_options = MenuBar.getObject("menu.text.options");
|
||||
initLL(_options);
|
||||
|
||||
_view = MenuBar.getObject("menu.text.view");
|
||||
initLL(_view);
|
||||
|
||||
_help = MenuBar.getObject("menu.text.help");
|
||||
initLL(_help);
|
||||
|
||||
mousetrap = MenuBar.findObjecT("menu.hidden.mousetrap");
|
||||
|
||||
texth = _file.getGuiH();
|
||||
|
||||
if (menubar_main_attrib.getData() == "1")
|
||||
{
|
||||
_options.setXmlParam("h", integerToString(texth));
|
||||
_file.setXmlParam("h", integerToString(texth));
|
||||
_help.setXmlParam("h", integerToString(texth));
|
||||
_view.setXmlParam("h", integerToString(texth));
|
||||
_play.setXmlParam("h", integerToString(texth));
|
||||
mousetrap.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
_options.setXmlParam("h", "0");
|
||||
_file.setXmlParam("h", "0");
|
||||
_help.setXmlParam("h", "0");
|
||||
_view.setXmlParam("h", "0");
|
||||
_play.setXmlParam("h", "0");
|
||||
mousetrap.show();
|
||||
}
|
||||
}
|
||||
|
||||
menubar_main_attrib.onDataChanged() {
|
||||
if (getData() == "1")
|
||||
{
|
||||
mousetrap.hide();
|
||||
fadeLL(_play, 1);
|
||||
fadeLL(_view, 1);
|
||||
fadeLL(_help, 1);
|
||||
fadeLL(_file, 1);
|
||||
fadeLL(_options, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
mousetrap.show();
|
||||
fadeLL(_play, 0);
|
||||
fadeLL(_view, 0);
|
||||
fadeLL(_help, 0);
|
||||
fadeLL(_file, 0);
|
||||
fadeLL(_options, 0);
|
||||
}
|
||||
}
|
||||
|
||||
System.onAccelerator(String action, String section, String key) {
|
||||
if (menubar_main_attrib.getData() == "0") return;
|
||||
|
||||
Layout l = getScriptGroup().getParentLayout();
|
||||
if (!l.isActive()) return;
|
||||
if (action == "MENUHOTKEY_FILE")
|
||||
{
|
||||
MenuBar.findObject("file.menu").sendAction("open", "", 0, 0, 0, 0);
|
||||
complete;
|
||||
}
|
||||
if (action == "MENUHOTKEY_PLAY")
|
||||
{
|
||||
MenuBar.findObject("play.menu").sendAction("open", "", 0, 0, 0, 0);
|
||||
complete;
|
||||
}
|
||||
if (action == "MENUHOTKEY_OPTIONS")
|
||||
{
|
||||
MenuBar.findObject("options.menu").sendAction("open", "", 0, 0, 0, 0);
|
||||
complete;
|
||||
}
|
||||
if (action == "MENUHOTKEY_VIEW")
|
||||
{
|
||||
MenuBar.findObject("view.menu").sendAction("open", "", 0, 0, 0, 0);
|
||||
complete;
|
||||
}
|
||||
if (action == "MENUHOTKEY_HELP")
|
||||
{
|
||||
MenuBar.findObject("help.menu").sendAction("open", "", 0, 0, 0, 0);
|
||||
complete;
|
||||
}
|
||||
}
|
||||
|
||||
initLL (LinkedLayer l)
|
||||
{
|
||||
int w = l.getAutoWidth();
|
||||
String id = getToken(l.getId(), ".", 2);
|
||||
GuiObject o = MenuBar.findObject("menu.layer." + id + ".normal");
|
||||
if (o) o.setXmlParam("w", integerToString(w));
|
||||
if (o) o.setXmlParam("x", integerToString(xpos));
|
||||
|
||||
o = MenuBar.findObject("menu.layer." + id + ".hover");
|
||||
if (o) o.setXmlParam("w", integerToString(w));
|
||||
if (o) o.setXmlParam("x", integerToString(xpos));
|
||||
|
||||
o = MenuBar.findObject("menu.layer." + id + ".down");
|
||||
if (o) o.setXmlParam("w", integerToString(w));
|
||||
if (o) o.setXmlParam("x", integerToString(xpos));
|
||||
|
||||
Menu m = MenuBar.findObject(id + ".menu");
|
||||
if (m) m.setXmlParam("w", integerToString(w));
|
||||
if (m) m.setXmlParam("x", integerToString(xpos));
|
||||
|
||||
l.setXmlParam("x", integerToString(xpos));
|
||||
xpos += w;
|
||||
}
|
||||
|
||||
fadeLL (linkedLayer l, boolean in)
|
||||
{
|
||||
l.cancelTarget();
|
||||
l.setTargetH(texth*in);
|
||||
l.setTargetSpeed(0.5);
|
||||
l.gotoTarget();
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/mainmenu.maki
Normal file
648
Src/resources/skins/Big Bento/scripts/maximize.m
Normal file
@ -0,0 +1,648 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: maximize.m
|
||||
Version: 3.4
|
||||
|
||||
Type: maki
|
||||
Date: 13. Sep. 2007 - 15:05
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_Autoresize.m
|
||||
|
||||
Function setImages(boolean isMaximized);
|
||||
Function maximizeShade(boolean save);
|
||||
Function restoreShade();
|
||||
Function maximizePlayer(boolean save);
|
||||
Function restorePlayer();
|
||||
Function setWndToScreen();
|
||||
|
||||
#define SAVEPOS_SHADE 2
|
||||
#define SAVEPOS_NORMAL 1
|
||||
#define SAVEPOS_ALL 0
|
||||
Function savePos(int code);
|
||||
|
||||
Class GuiObject Mousetrap;
|
||||
|
||||
Global Button Maximize, MaximizeShade, Restore, RestoreShade;
|
||||
Global Mousetrap noResizerTB, MousetrapTB, MousetrapShade, MousetrapMenu;
|
||||
Global Layout normal, shade;
|
||||
Global Boolean tgst;
|
||||
Global Layer resizer, noResizer, resizerShade, resizerShade2, topResizer;
|
||||
Global Container player;
|
||||
Global GuiObject shadeticker, slamclose;
|
||||
|
||||
Global Group regions, regionsShade;
|
||||
Global Layer regionBlack, regionBlackShade;
|
||||
|
||||
Global Int DEFAULT_PLAYER_H, DEFAULT_SHADE_H;
|
||||
Global Int old_x, old_y, old_h, old_w;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_Autoresize();
|
||||
|
||||
player = System.getContainer("main");
|
||||
normal = player.getLayout("normal");
|
||||
|
||||
Maximize = normal.findObject("player.titlebar.button.maximize");
|
||||
Restore = normal.findObject("player.titlebar.button.restore");
|
||||
MousetrapTB = normal.findObject("player.mousetrap.maximize");
|
||||
resizer = normal.findObject("player.resizer.bottomright");
|
||||
noResizer = normal.findObject("player.resizer.disable");
|
||||
noResizerTB = normal.findObject("titlebar.resizer.disable");
|
||||
regions = normal.findObject("window.background.regions");
|
||||
regionBlack = normal.findObject("window.background.maximize");
|
||||
topResizer = normal.findObject("titlebar.resizer.top");
|
||||
slamclose = normal.findObject("maximize.slam.close");
|
||||
MousetrapMenu = normal.findObject("menu.hidden.mousetrap");
|
||||
|
||||
shade = player.getLayout("shade");
|
||||
shadeticker = shade.findObject("Songticker");
|
||||
|
||||
MaximizeShade = shade.findObject("shade.button.maximize");
|
||||
RestoreShade = shade.findObject("shade.button.restore");
|
||||
resizerShade = shade.findObject("shade.resizer.right");
|
||||
resizerShade2 = shade.findObject("shade.resizer.right2");
|
||||
MousetrapShade = shade.findObject("shade.mousetrap");
|
||||
regionsShade = Shade.findObject("window.background.regions");
|
||||
regionBlackShade = Shade.findObject("window.background.maximize");
|
||||
|
||||
DEFAULT_PLAYER_H = stringToInteger(getToken(getParam(), "," , 0));
|
||||
DEFAULT_SHADE_H = stringToInteger(getToken(getParam(), "," , 1));
|
||||
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizePlayer (FALSE);
|
||||
maximizeShade (FALSE);
|
||||
setImages (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (getPrivateInt(getSkinName(), "First Start", 1)) setWndToScreen();
|
||||
else
|
||||
{
|
||||
restorePlayer ();
|
||||
restoreShade ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Cope with viewport changes so we're happy with Windows 8.x snapping mode, etc
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
System.onViewPortChanged(int width, int height)
|
||||
{
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
if (normal == player.getCurLayout()) maximizePlayer (FALSE);
|
||||
else if (shade == player.getCurLayout()) maximizeShade (FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Save all our window positions on skin unloading
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
// if (player.getCurLayout() == normal) savePos(SAVEPOS_NORMAL);
|
||||
// else if (player.getCurLayout() == shade) savePos(SAVEPOS_SHADE);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Prohibit autoresizing by Video if we're in maximized player (layout_normal)
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
sui_autorsize_attrib.onDataChanged ()
|
||||
{
|
||||
if (getData() == "1")
|
||||
{
|
||||
normal.setXMLParam("lockminmax", "0");
|
||||
}
|
||||
else
|
||||
{
|
||||
double d = normal.getScale();
|
||||
if (normal.getLeft() == getViewportLeft() && normal.getTop() == getViewportTop() && normal.getWidth() == getViewPortWidthfromGuiObject(normal)/d && normal.getHeight() == getViewPortHeightfromGuiObject(normal)/d)
|
||||
{
|
||||
normal.setXMLParam("lockminmax", "1");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.onKeyDown (String key)
|
||||
{
|
||||
if (key == "ctrl+w" && (shade.isActive() || normal.isActive()))
|
||||
{
|
||||
if (shade != player.getCurLayout())
|
||||
{
|
||||
player.switchToLayout("shade");
|
||||
}
|
||||
else
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
complete;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Button clicks
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
Maximize.onLeftClick ()
|
||||
{
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizePlayer (TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
Restore.onLeftClick ()
|
||||
{
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
restorePlayer ();
|
||||
}
|
||||
}
|
||||
|
||||
MaximizeShade.onLeftClick ()
|
||||
{
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
restoreShade ();
|
||||
}
|
||||
else
|
||||
{
|
||||
maximizeShade (TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
RestoreShade.onLeftClick ()
|
||||
{
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
restoreShade ();
|
||||
}
|
||||
else
|
||||
{
|
||||
maximizeShade (TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
/** This will detect the second down click */
|
||||
|
||||
Mousetrap.onLeftButtonDblClk (int x, int y)
|
||||
{
|
||||
tgst = true;
|
||||
}
|
||||
|
||||
/** Once the button gets up, we'll toggle the maximized state */
|
||||
|
||||
mousetrap.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
if (tgst)
|
||||
{
|
||||
if (shade == player.getCurLayout())
|
||||
{
|
||||
if (titlebar_dblclk_max_attib.getData() == "1")
|
||||
{
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizeShade (TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
restoreShade();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (titlebar_dblclk_max_attib.getData() == "1")
|
||||
{
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizePlayer (TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
restorePlayer();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.switchToLayout("shade");
|
||||
}
|
||||
}
|
||||
}
|
||||
tgst = false;
|
||||
}
|
||||
|
||||
topResizer.onLeftButtonDblClk (int x, int y)
|
||||
{
|
||||
if (titlebar_dblclk_max_attib.getData() == "1")
|
||||
{
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizePlayer (TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
restorePlayer();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.switchToLayout("shade");
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Detect maximized states on window resize
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
normal.onEndMove ()
|
||||
{
|
||||
savePos(SAVEPOS_NORMAL);
|
||||
}
|
||||
|
||||
normal.onResize (int x, int y, int w, int nh)
|
||||
{
|
||||
//debugString("onResize("+integertoString(x)+","+integertoString(y)+","+integertoString(w)+","+integertoString(nh)+");", 9);
|
||||
y = normal.getTop();
|
||||
// prohibit to set nh = 0
|
||||
if (nh == 0 || w == 0)
|
||||
{
|
||||
//debug("error setting player_normal w=" + integerToString(w) + " , h=" + integerToString(nh));
|
||||
normal.resize(getLeft(), getTop(), getWidth(), DEFAULT_PLAYER_H);
|
||||
return;
|
||||
}
|
||||
|
||||
if (normal != player.getCurLayout()) return;
|
||||
|
||||
if (old_x == x && old_y == y && old_h = nh && old_w == w) return;
|
||||
old_x = x; old_y = y; old_h = nh; old_w = w;
|
||||
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
|
||||
{
|
||||
double d = normal.getScale();
|
||||
if (w == getViewPortWidthfromGuiObject(normal)/d && x == getViewportLeft() && y == getViewportTop())
|
||||
{
|
||||
//setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
|
||||
//setImages (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
double d = normal.getScale();
|
||||
if (w == getViewPortWidthfromGuiObject(normal)/d && nh == getViewPortHeightfromGuiObject(normal)/d)
|
||||
{
|
||||
//setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
|
||||
//setImages (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
||||
}
|
||||
savePos(SAVEPOS_NORMAL);
|
||||
}
|
||||
|
||||
shade.onEndMove ()
|
||||
{
|
||||
savePos(SAVEPOS_SHADE);
|
||||
}
|
||||
|
||||
shade.onResize (int x, int y, int w, int nh)
|
||||
{
|
||||
y = shade.getTop();
|
||||
// prohibit to set nh = 0
|
||||
if (nh == 0 || w == 0)
|
||||
{
|
||||
debug("error setting player_shade w=" + integerToString(w) + " , h=" + integerToString(nh));
|
||||
shade.resize(getLeft(), getTop(), getWidth(), DEFAULT_SHADE_H);
|
||||
return;
|
||||
}
|
||||
|
||||
if (shade != player.getCurLayout()) return;
|
||||
|
||||
if (old_x == x && old_y == y && old_h = nh && old_w == w) return;
|
||||
old_x = x; old_y = y; old_h = nh; old_w = w;
|
||||
|
||||
double d = shade.getScale();
|
||||
if (w == getViewPortWidthfromGuiObject(shade)/d && y == getViewportTop() && x == getViewportLeft())
|
||||
{
|
||||
//setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
|
||||
//setImages (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
||||
savePos(SAVEPOS_SHADE);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Resize our window on scale if we are maximized
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
normal.onScale (Double newscalevalue)
|
||||
{
|
||||
if (normal != player.getCurLayout()) return;
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizePlayer(FALSE);
|
||||
}
|
||||
savePos(SAVEPOS_NORMAL);
|
||||
}
|
||||
|
||||
shade.onScale (Double newscalevalue)
|
||||
{
|
||||
if (shade != player.getCurLayout()) return;
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
maximizeShade(FALSE);
|
||||
}
|
||||
savePos(SAVEPOS_SHADE);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Before we switch between layouts, check all images and window sizes
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
player.onBeforeSwitchToLayout (Layout _layoutnow, Layout _layouttobe)
|
||||
{
|
||||
if (_layoutnow == normal) savePos(SAVEPOS_NORMAL);
|
||||
else if (_layoutnow == shade) savePos(SAVEPOS_SHADE);
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
if (_layouttobe == normal) maximizePlayer (FALSE);
|
||||
else if (_layouttobe == shade) maximizeShade (FALSE);
|
||||
setImages (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_layouttobe == normal) restorePlayer ();
|
||||
else if (_layouttobe == shade) restoreShade ();
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Save wnd position before we go to collapsed state
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (action == "sui" && param == "tonocomp" && x == 0)
|
||||
{
|
||||
savePos (SAVEPOS_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
// ******************************************************************************
|
||||
// Our Function Handles
|
||||
// ******************************************************************************
|
||||
|
||||
setImages (boolean isMaximized)
|
||||
{
|
||||
if (isMaximized)
|
||||
{
|
||||
// Normal
|
||||
Maximize.hide();
|
||||
Restore.show();
|
||||
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
|
||||
{
|
||||
MousetrapTB.setXMLparam("move", "0");
|
||||
MousetrapMenu.setXMLparam("move", "0");
|
||||
noResizerTB.setXMLparam("ghost", "0");
|
||||
}
|
||||
else
|
||||
{
|
||||
MousetrapTB.setXMLparam("move", "0");
|
||||
MousetrapMenu.setXMLparam("move", "0");
|
||||
noResizerTB.setXMLparam("ghost", "0");
|
||||
}
|
||||
|
||||
if (sui_autorsize_attrib.getData() == "0") normal.setXMLParam("lockminmax", "1");
|
||||
else normal.setXMLParam("lockminmax", "0");
|
||||
resizer.hide();
|
||||
noResizer.show();
|
||||
regions.hide();
|
||||
regionBlack.show();
|
||||
// Shade
|
||||
MousetrapShade.setXMLparam("move", "0");
|
||||
shadeticker.setXmlParam("move", "0");
|
||||
MaximizeShade.hide();
|
||||
RestoreShade.show();
|
||||
resizerShade.hide();
|
||||
regionsShade.hide();
|
||||
resizerShade2.hide();
|
||||
regionBlackShade.show();
|
||||
slamclose.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Normal
|
||||
resizer.show();
|
||||
noResizer.hide();
|
||||
MousetrapTB.setXMLparam("move", "1");
|
||||
noResizerTB.setXMLparam("ghost", "1");
|
||||
MousetrapMenu.setXMLparam("move", "1");
|
||||
normal.setXMLParam("lockminmax", "0");
|
||||
Maximize.show();
|
||||
Restore.hide();
|
||||
regions.show();
|
||||
regionBlack.hide();
|
||||
// Shade
|
||||
MousetrapShade.setXMLparam("move", "1");
|
||||
shadeticker.setXmlParam("move", "1");
|
||||
resizerShade.show();
|
||||
resizerShade2.show();
|
||||
MaximizeShade.show();
|
||||
RestoreShade.hide();
|
||||
regionsShade.show();
|
||||
regionBlackShade.hide();
|
||||
slamclose.hide();
|
||||
}
|
||||
}
|
||||
|
||||
maximizeShade (boolean save)
|
||||
{
|
||||
if (save)
|
||||
{
|
||||
savePos(SAVEPOS_SHADE);
|
||||
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
|
||||
setImages (1);
|
||||
}
|
||||
double newscalevalue = shade.getScale();
|
||||
int sh = shade.getHeight();
|
||||
if (sh < 1) sh = DEFAULT_SHADE_H;
|
||||
shade.resize(getViewPortLeftfromGuiObject(shade),getViewPortTopfromGuiObject(shade),getViewportWidthfromGuiObject(shade)/newscalevalue, sh);
|
||||
}
|
||||
|
||||
restoreShade ()
|
||||
{
|
||||
if (link_w_attrib.getData() == "0")
|
||||
{
|
||||
shade.resize(
|
||||
getPrivateInt(getSkinName(), "shade_nomax_x", shade.getLeft()),
|
||||
getPrivateInt(getSkinName(), "shade_nomax_y", shade.getTop()),
|
||||
getPrivateInt(getSkinName(), "shade_nomax_w", 500),
|
||||
DEFAULT_SHADE_H
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
shade.resize(
|
||||
getPrivateInt(getSkinName(), "nomax_x", shade.getLeft()),
|
||||
getPrivateInt(getSkinName(), "nomax_y", shade.getTop()),
|
||||
getPrivateInt(getSkinName(), "nomax_w", 700),
|
||||
DEFAULT_SHADE_H
|
||||
);
|
||||
}
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
||||
|
||||
maximizePlayer (boolean save)
|
||||
{
|
||||
if (save)
|
||||
{
|
||||
savePos(SAVEPOS_NORMAL);
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
|
||||
setImages (1);
|
||||
}
|
||||
|
||||
double newscalevalue = normal.getScale();
|
||||
int nh;
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
|
||||
{
|
||||
nh = DEFAULT_PLAYER_H;
|
||||
}
|
||||
else
|
||||
{
|
||||
nh = getViewPortHeightfromGuiObject(normal)/newscalevalue;
|
||||
}
|
||||
if (nh < 1) nh = DEFAULT_PLAYER_H;
|
||||
normal.resize(getViewPortLeftfromGuiObject(normal), getViewPortTopfromGuiObject(normal), getViewPortWidthfromGuiObject(normal)/newscalevalue, nh);
|
||||
}
|
||||
|
||||
restorePlayer ()
|
||||
{
|
||||
//messagebox("restorePlayer", "", 0, "");
|
||||
|
||||
int x, y, w, h;
|
||||
x = getPrivateInt(getSkinName(), "nomax_x", normal.getLeft());
|
||||
y = getPrivateInt(getSkinName(), "nomax_y", normal.getTop());
|
||||
w = getPrivateInt(getSkinName(), "nomax_w", normal.getWidth());
|
||||
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
|
||||
{
|
||||
h = DEFAULT_PLAYER_H;
|
||||
}
|
||||
else
|
||||
{
|
||||
h = getPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
|
||||
|
||||
}
|
||||
// check if player_w is too small
|
||||
if (w < stringToInteger(normal.getXmlParam("minimum_w"))) w = stringToInteger(normal.getXmlParam("minimum_w"));
|
||||
|
||||
normal.resize(x, y, w, h);
|
||||
normal.sendAction("pledit_posupdate", "", 0,0,0,0);
|
||||
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
||||
|
||||
savePos (int code)
|
||||
{
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
|
||||
{
|
||||
if (code == SAVEPOS_NORMAL || code == SAVEPOS_ALL)
|
||||
{
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
|
||||
{
|
||||
int nnh = normal.getHeight();
|
||||
|
||||
//martin> i really dunno why i've added this code:
|
||||
//if (nnh > 0 && nnh < 200) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
|
||||
//So lets try it again w/o switch in order to fix resizing - goto shade - goback - size not remembered bug
|
||||
if (nnh > 200) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
|
||||
// ^ otherwise we save in collapsed mode
|
||||
}
|
||||
setPrivateInt(getSkinName(), "nomax_x", normal.getLeft());
|
||||
setPrivateInt(getSkinName(), "nomax_y", normal.getTop());
|
||||
if (normal.getWidth() > 0) setPrivateInt(getSkinName(), "nomax_w", normal.getWidth());
|
||||
//debugInt(getPrivateInt(getSkinName(), "nomax_w", normal.getWidth()));
|
||||
}
|
||||
if (code == SAVEPOS_SHADE || code == SAVEPOS_ALL)
|
||||
{
|
||||
if (link_w_attrib.getData() == "0")
|
||||
{
|
||||
setPrivateInt(getSkinName(), "shade_nomax_x", shade.getLeft());
|
||||
setPrivateInt(getSkinName(), "shade_nomax_y", shade.getTop());
|
||||
if (shade.getWidth() > 0) setPrivateInt(getSkinName(), "shade_nomax_w", shade.getWidth());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (shade.getWidth() > 0) setPrivateInt(getSkinName(), "nomax_w", shade.getWidth());
|
||||
setPrivateInt(getSkinName(), "nomax_x", shade.getLeft());
|
||||
setPrivateInt(getSkinName(), "nomax_y", shade.getTop());
|
||||
}
|
||||
//debugInt(getPrivateInt(getSkinName(), "nomax_w", shade.getWidth()));
|
||||
//debugInt(getPrivateInt(getSkinName(), "shade_nomax_w", shade.getWidth()));
|
||||
}
|
||||
}
|
||||
if (code == SAVEPOS_NORMAL || code == SAVEPOS_ALL)
|
||||
{
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden") setPrivateInt(getSkinName(), "nomax_y_h", normal.getTop());
|
||||
}
|
||||
//debugInt(getPrivateInt(getSkinName(), "nomax_w", shade.getWidth()));
|
||||
}
|
||||
|
||||
setWndToScreen ()
|
||||
{
|
||||
int y = getViewPortTop();
|
||||
int x = getViewPortLeft();
|
||||
int h = getViewPortHeight();
|
||||
int w = getViewPortWidth();
|
||||
|
||||
int sw = 0.8 * w;
|
||||
int sh = 0.85 * h;
|
||||
|
||||
int mh = stringToInteger(normal.getXmlParam("minimum_h"));
|
||||
int mw = stringToInteger(normal.getXmlParam("minimum_w"));
|
||||
|
||||
if (sh < mh) sh = mh;
|
||||
if (sw < mw) sw = mw;
|
||||
|
||||
/* int sx = x + (w-sw)/2;
|
||||
int sy = y + (h-sh)/2;*/
|
||||
|
||||
normal.resize(normal.getLeft(), normal.getTop(), sw, sh);
|
||||
|
||||
setPrivateInt(getSkinName(), "First Start", 0);
|
||||
setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
|
||||
setImages (0);
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/maximize.maki
Normal file
469
Src/resources/skins/Big Bento/scripts/mcvcore.m
Normal file
@ -0,0 +1,469 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: mcvcore.m
|
||||
Version: 4.5
|
||||
|
||||
Type: maki
|
||||
Date: 13. Aug. 2007 - 11:22
|
||||
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 drawer.m
|
||||
from Winamp Modern, but extended to
|
||||
5 components presets!
|
||||
Like in drawer.m I warn everybody not
|
||||
to modify this script, cause it can be
|
||||
harmed very fast! And you don't want
|
||||
a buggy winamp skin, want you?
|
||||
|
||||
Since script version 3.1
|
||||
(onesie build #022)
|
||||
the script is devided into subscripts
|
||||
for better debugging.
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_windowpage.m
|
||||
#include attribs/init_vis.m
|
||||
#include attribs/init_appearance.m
|
||||
|
||||
//define DEBUG
|
||||
#define FILE_NAME "infocompcore.m"
|
||||
#include <lib/com/debug.m>
|
||||
|
||||
#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
|
||||
|
||||
#ifndef DOHIDEMCV
|
||||
#define updateSaving //
|
||||
#endif
|
||||
|
||||
//define FIT_W2_COMP fit(sui_fi, 159, 0, 2, 0, -162, 1, 76, 0)
|
||||
#define FIT_W2_COMP fit(sui_fi, 234, 0, 2, 0, -236, 1, 117, 0)
|
||||
//define FIT_W_COMP fit(sui_fi, 81, 0, 2, 0, -84, 1, 76, 0)
|
||||
#define FIT_W_COMP fit(sui_fi, 119, 0, 2, 0, -121, 1, 117, 0)
|
||||
#define FIT_WO_COMP fit(sui_fi, 4, 0, 2, 0, -6, 1, 117, 0)
|
||||
|
||||
Global Boolean bypasscancel;
|
||||
Global Timer callbackTimer, tempDisable;
|
||||
|
||||
#define CURR_COMP plsc
|
||||
#include mcvcore/defs.m
|
||||
|
||||
#ifdef IC_COVERFLOW
|
||||
#undef CURR_COMP
|
||||
#define CURR_COMP cflow
|
||||
#include mcvcore/defs.m
|
||||
#endif
|
||||
|
||||
Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
|
||||
|
||||
Function switchToIcOnly();
|
||||
Function switchToCover();
|
||||
Function switchToVisCover();
|
||||
Function switchToVis();
|
||||
Function switchToEQ();
|
||||
Function switchToCfg();
|
||||
Function switchToVis_Full();
|
||||
Function updateFileInfo();
|
||||
|
||||
Function hideFi();
|
||||
Function showFi();
|
||||
Function hideCover();
|
||||
Function showCover();
|
||||
Function hideVis();
|
||||
Function showVis();
|
||||
Function hideVis_Full();
|
||||
Function showVis_Full();
|
||||
Function hideEq();
|
||||
Function showEq();
|
||||
Function hideCfg();
|
||||
Function showCfg();
|
||||
Function openIC();
|
||||
Function closeIC();
|
||||
Function openLC();
|
||||
Function closeLC();
|
||||
#ifdef DOHIDEMCV
|
||||
Function hideMCV();
|
||||
#endif
|
||||
|
||||
Function onHideFi();
|
||||
Function onShowFi();
|
||||
Function onHideCover();
|
||||
Function onShowCover();
|
||||
Function onHideVis();
|
||||
Function onShowVis();
|
||||
Function onHideVis_Full();
|
||||
Function onShowVis_Full();
|
||||
Function onHideEq();
|
||||
Function onShowEq();
|
||||
Function onHideCfg();
|
||||
Function onShowCfg();
|
||||
Function onCloseIC();
|
||||
Function onOpenIC();
|
||||
Function onhideMCV();
|
||||
|
||||
Function dc_hideFi();
|
||||
Function dc_showFi();
|
||||
Function dc_showEq();
|
||||
Function dc_hideEq();
|
||||
Function dc_showCfg();
|
||||
Function dc_hideCfg();
|
||||
Function dc_hideCover();
|
||||
Function dc_showCover();
|
||||
Function dc_hideVis();
|
||||
Function dc_showVis();
|
||||
Function dc_hideVis_Full();
|
||||
Function dc_showVis_Full();
|
||||
|
||||
Function updateFooter();
|
||||
|
||||
Function ProcessMenuResult (int a);
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
function updateSaving (int l);
|
||||
#endif
|
||||
|
||||
Global Group sg, sui_cover, sui_vis_full, sui_vis, sui_fi, sui_eq, sui_cfg, g_footer, g_visbtns;
|
||||
Global WindowHolder sui_vis_wdh, sui_vis_full_wdh;
|
||||
Global Layout main;
|
||||
Global Boolean callback_showing_vis, callback_hiding_vis, callback_showing_vis_full, callback_hiding_vis_full, callback_showing_cover, callback_hiding_cover, callback_showing_fi, callback_hiding_fi, callback_hiding_eq, callback_showing_eq, callback_hiding_cfg, callback_showing_cfg;
|
||||
Global Boolean showing_vis, hiding_vis, showing_vis_full, hiding_vis_full, showing_cover, hiding_cover, hiding_fi, showing_fi, showing_eq, hiding_eq, showing_cfg, hiding_cfg;
|
||||
Global Boolean Mychange;
|
||||
Global Boolean prevent_vis = 1;
|
||||
Global Frame dualwnd, mainframe;
|
||||
Global GuiObject footerGrid, sendToBtn;
|
||||
|
||||
Global Popupmenu compMenu;
|
||||
// Global Button compChoose, nowPlayingBtn, webSearchBtn;
|
||||
Global Button compChoose;
|
||||
Global Boolean startup_done;
|
||||
Global Int substract = 0;
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
Global Int last_menu_sel;
|
||||
#endif
|
||||
|
||||
// script loading/unloading goes here
|
||||
#include mcvcore/load_handles.m
|
||||
|
||||
// open / hiding components not caused by button clicks
|
||||
#include mcvcore/external_handles.m
|
||||
|
||||
// showing and hiding the components
|
||||
#include mcvcore/show_hide.m
|
||||
|
||||
|
||||
/* Switching menu */
|
||||
compChoose.onRightButtonUp(int x, int y)
|
||||
{
|
||||
complete;
|
||||
}
|
||||
|
||||
compChoose.onRightClick () {
|
||||
compChoose.onLeftClick ();
|
||||
}
|
||||
|
||||
compChoose.onLeftClick ()
|
||||
{
|
||||
compMenu = new Popupmenu;
|
||||
popupmenu fiSub = new Popupmenu;
|
||||
compMenu.addCommand("File Info", 1, ic_fileinfo.getData() == "1", 0);
|
||||
#ifdef IC_COVERFLOW
|
||||
compMenu.addCommand("Cover Flow", 7, _cflow_ic_attrib.getData() == "1", 0);
|
||||
#endif
|
||||
// System.isSafeMode() is not recognized by mc.exe
|
||||
// if(!System.isSafeMode())
|
||||
// {
|
||||
compMenu.addCommand("Visualization", 2, ic_vis.getData() == "1", 0);
|
||||
// }
|
||||
compMenu.addCommand("Stored Playlists", 3, _plsc_ic_attrib.getData() == "1", 0);
|
||||
compMenu.addCommand("Equalizer", 4, ic_eq.getData() == "1", 0);
|
||||
compMenu.addCommand("Skin Settings", 5, ic_config.getData() == "1", 0);
|
||||
#ifdef DOHIDEMCV
|
||||
compMenu.addCommand("Hide Multi Content View", 6, ic_hidden.getData() == "1", 0);
|
||||
#endif
|
||||
compMenu.addSeparator();
|
||||
compMenu.addSubmenu(fiSub, "File Info Components");
|
||||
|
||||
// System.isSafeMode() is not recognized by mc.exe
|
||||
// if(!System.isSafeMode())
|
||||
// {
|
||||
fiSub.addCommand("Visualization", 12, ic_vis_fileinfo.getData() == "1", 0);
|
||||
// }
|
||||
fiSub.addCommand("Album Art", 11, ic_cover_fileinfo.getData() == "1", 0);
|
||||
fiSub.addSeparator();
|
||||
fiSub.addCommand("Show Track #", 24, infocomp_show_track.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Year", 21, infocomp_show_year.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Genre", 22, infocomp_show_genre.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Disc", 28, infocomp_show_disc.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Album Artist", 25, infocomp_show_albumartist.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Composer", 26, infocomp_show_composer.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Publisher", 23, infocomp_show_publisher.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Decoder", 27, infocomp_show_format.getData() == "1", 0);
|
||||
fiSub.addCommand("Show Song Rating", 20, infocomp_show_rating.getData() == "1", 0);
|
||||
fiSub.addSeparator();
|
||||
fiSub.addCommand("Cycle File Info", 30, infocomp_cycle.getData() == "1", 0);
|
||||
fiSub.addSeparator();
|
||||
//fiSub.addCommand("Open Links in Now Playing", 40, infocomp_nowplaying.getData() == "1", 0);
|
||||
//fiSub.addCommand("Open Links in Browser", 41, infocomp_browser.getData() == "1", 0);
|
||||
|
||||
ProcessMenuResult (compMenu.popAtXY(clientToScreenX(compChoose.getLeft()), clientToScreenY(compChoose.getTop() + compChoose.getHeight())));
|
||||
delete compMenu;
|
||||
delete fiSub;
|
||||
complete;
|
||||
}
|
||||
|
||||
ProcessMenuResult (int a)
|
||||
{
|
||||
if (a < 1) return;
|
||||
if (a == 1)
|
||||
{
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
else if (a == 2)
|
||||
{
|
||||
ic_vis.setData("1");
|
||||
}
|
||||
else if (a == 3)
|
||||
{
|
||||
_plsc_ic_attrib.setData("1");
|
||||
}
|
||||
#ifdef IC_COVERFLOW
|
||||
else if (a == 7)
|
||||
{
|
||||
_cflow_ic_attrib.setData("1");
|
||||
}
|
||||
#endif
|
||||
else if (a == 4)
|
||||
{
|
||||
ic_eq.setData("1");
|
||||
}
|
||||
else if (a == 5)
|
||||
{
|
||||
ic_config.setData("1");
|
||||
}
|
||||
#ifdef DOHIDEMCV
|
||||
else if (a == 6)
|
||||
{
|
||||
ic_hidden.setData("1");
|
||||
}
|
||||
#endif
|
||||
else if (a == 11)
|
||||
{
|
||||
toggleAttrib(ic_cover_fileinfo);
|
||||
}
|
||||
else if (a == 12)
|
||||
{
|
||||
toggleAttrib(ic_vis_fileinfo);
|
||||
}
|
||||
else if (a == 20)
|
||||
{
|
||||
toggleAttrib(infocomp_show_rating);
|
||||
}
|
||||
else if (a == 21)
|
||||
{
|
||||
toggleAttrib(infocomp_show_year);
|
||||
}
|
||||
else if (a == 22)
|
||||
{
|
||||
toggleAttrib(infocomp_show_genre);
|
||||
}
|
||||
else if (a == 23)
|
||||
{
|
||||
toggleAttrib(infocomp_show_publisher);
|
||||
}
|
||||
else if (a == 24)
|
||||
{
|
||||
toggleAttrib(infocomp_show_track);
|
||||
}
|
||||
else if (a == 25)
|
||||
{
|
||||
toggleAttrib(infocomp_show_albumartist);
|
||||
}
|
||||
else if (a == 26)
|
||||
{
|
||||
toggleAttrib(infocomp_show_composer);
|
||||
}
|
||||
else if (a == 27)
|
||||
{
|
||||
toggleAttrib(infocomp_show_format);
|
||||
}
|
||||
else if (a == 28)
|
||||
{
|
||||
toggleAttrib(infocomp_show_disc);
|
||||
}
|
||||
else if (a == 30)
|
||||
{
|
||||
toggleAttrib(infocomp_cycle);
|
||||
}
|
||||
/* else if (a == 40)
|
||||
{
|
||||
toggleAttrib(infocomp_nowplaying);
|
||||
}
|
||||
else if (a == 41)
|
||||
{
|
||||
toggleAttrib(infocomp_browser);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// Hiding footer buttons (for file info view)
|
||||
|
||||
/* artist_info_buttons_attrib.onDataChanged ()
|
||||
{
|
||||
|
||||
updateFooter ();
|
||||
}
|
||||
*/
|
||||
g_footer.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
if (substract == 1)
|
||||
w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 78;
|
||||
else if (substract == 2)
|
||||
w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 102;
|
||||
|
||||
/* if (artist_info_buttons_attrib.getData() == "1")
|
||||
{
|
||||
if (w < 132) footerGrid.hide();
|
||||
else footerGrid.show();
|
||||
|
||||
if (w < 125) nowPlayingBtn.hide();
|
||||
else nowPlayingBtn.show();
|
||||
|
||||
if (w < 94) webSearchBtn.hide();
|
||||
else webSearchBtn.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (w < 70) footerGrid.hide();
|
||||
else footerGrid.show();
|
||||
nowPlayingBtn.hide();
|
||||
webSearchBtn.hide();
|
||||
}
|
||||
*/
|
||||
if (w < 63) sendToBtn.hide();
|
||||
else sendToBtn.show();
|
||||
|
||||
if (w < 32) compChoose.hide();
|
||||
else compChoose.show();
|
||||
}
|
||||
|
||||
updateFooter ()
|
||||
{
|
||||
g_footer.onResize (0, 0, g_footer.getWidth(), 0);
|
||||
}
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
// Switching back from no comp
|
||||
|
||||
sg.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
|
||||
if (ic_hidden.getData() == "0" || last_menu_sel == 0 || w == 0)// && dualwnd.getXmlParam("from") == "left")
|
||||
{
|
||||
return;
|
||||
}
|
||||
ProcessMenuResult (getPrivateInt(getSkinName(), "MCV last sel", 1));
|
||||
}
|
||||
|
||||
// save last pos
|
||||
|
||||
updateSaving (int l)
|
||||
{
|
||||
if (last_menu_sel == l)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (last_menu_sel != 0) setPrivateInt(getSkinName(), "MCV last sel", last_menu_sel);
|
||||
last_menu_sel = l;
|
||||
}
|
||||
#endif
|
||||
|
||||
/** OSD */
|
||||
/*
|
||||
Global boolean mouse_is_over = FALSE;
|
||||
|
||||
osd_trigger.onEnterArea ()
|
||||
{
|
||||
//setXmlParam("ghost", "1");
|
||||
}
|
||||
|
||||
osd_trigger.onMouseMove (int x, int y)
|
||||
{
|
||||
if (!isMouseOverRect() && mouse_is_over)
|
||||
{
|
||||
mouse_is_over = 0;
|
||||
component c = sui_vis_full.findObject("vis");
|
||||
c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
|
||||
c = sui_vis.findObject("vis");
|
||||
c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
|
||||
}
|
||||
else if (isMouseOverRect() && !mouse_is_over)
|
||||
{
|
||||
mouse_is_over = 1;
|
||||
component c = sui_vis_full.findObject("vis");
|
||||
c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
|
||||
c = sui_vis.findObject("vis");
|
||||
c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
osd_trigger.onLeaveArea ()
|
||||
{
|
||||
component c = sui_vis_full.findObject("vis");
|
||||
c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
|
||||
}*/
|
||||
|
||||
/** Calls after comp is shown */
|
||||
|
||||
onCloseIC() {}
|
||||
onOpenIC() {}
|
||||
|
||||
onShowCover() {}
|
||||
|
||||
onHideCover() {}
|
||||
|
||||
onShowFi() {}
|
||||
|
||||
onHideFi() {}
|
||||
|
||||
onShowEq() {}
|
||||
|
||||
onHideEq() {}
|
||||
|
||||
onShowCfg() {}
|
||||
|
||||
onHideCfg() {}
|
||||
|
||||
onShowVis()
|
||||
{
|
||||
g_visbtns.show();
|
||||
}
|
||||
onHideVis()
|
||||
{
|
||||
g_visbtns.hide();
|
||||
}
|
||||
|
||||
onShowVis_Full() {}
|
||||
|
||||
onHideVis_Full() {}
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
onhideMCV() {}
|
||||
#endif
|
||||
|
||||
fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh)
|
||||
{
|
||||
if (!g) return;
|
||||
g.setXmlParam("x", integerToString(x));
|
||||
g.setXmlParam("y", integerToString(y));
|
||||
g.setXmlParam("w", integerToString(w));
|
||||
g.setXmlParam("h", integerToString(h));
|
||||
g.setXmlParam("relatx", integerToString(rx));
|
||||
g.setXmlParam("relaty", integerToString(ry));
|
||||
g.setXmlParam("relatw", integerToString(rw));
|
||||
g.setXmlParam("relath", integerToString(rh));
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/mcvcore.maki
Normal file
98
Src/resources/skins/Big Bento/scripts/mcvcore/defs.m
Normal file
@ -0,0 +1,98 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: defs.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 08. Jun. 2007 - 23:32
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/infocompcore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
|
||||
Function _##CURR_COMP##_switchTo();
|
||||
Function _##CURR_COMP##_show();
|
||||
Function _##CURR_COMP##_hide();
|
||||
|
||||
Function _##CURR_COMP##_onHide();
|
||||
Function _##CURR_COMP##_onShow();
|
||||
|
||||
Function _##CURR_COMP##_dc_show();
|
||||
Function _##CURR_COMP##_dc_hide();
|
||||
|
||||
Global Group _##CURR_COMP##_sui;
|
||||
Global Boolean _##CURR_COMP##_callback_hiding, _##CURR_COMP##_callback_showing;
|
||||
Global Boolean _##CURR_COMP##_showing, _##CURR_COMP##_hiding;
|
||||
|
||||
|
||||
|
||||
_##CURR_COMP##_show()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "_##CURR_COMP##_show() {", D_WTF);
|
||||
|
||||
_##CURR_COMP##_showing = 1;
|
||||
GuiObject o = _##CURR_COMP##_sui;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) ##CURR_COMP## object not provided (show)", D_WTF);
|
||||
#endif
|
||||
_##CURR_COMP##_onShow();
|
||||
_##CURR_COMP##_showing = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
_##CURR_COMP##_hide()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "_##CURR_COMP##_hide() {", D_WTF);
|
||||
|
||||
_##CURR_COMP##_hiding = 1;
|
||||
GuiObject o = _##CURR_COMP##_sui;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) ##CURR_COMP## object not provided (hide)", D_WTF);
|
||||
#endif
|
||||
_##CURR_COMP##_onHide();
|
||||
_##CURR_COMP##_hiding = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
_##CURR_COMP##_dc_show ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "_##CURR_COMP##__dc_show();", D_WTF);
|
||||
_##CURR_COMP##_callback_showing = 1;
|
||||
_##CURR_COMP##_callback_hiding = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
_##CURR_COMP##_dc_hide()
|
||||
{
|
||||
_##CURR_COMP##_callback_showing = 0;
|
||||
_##CURR_COMP##_callback_hiding = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
_##CURR_COMP##_onShow() {}
|
||||
_##CURR_COMP##_onHide() {}
|
295
Src/resources/skins/Big Bento/scripts/mcvcore/external_handles.m
Normal file
@ -0,0 +1,295 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: external_handles.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 29. Nov. 2006 - 15:57
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
/** has only debug aims :) */
|
||||
/*
|
||||
System.onLookForComponent(String guid) {
|
||||
debugString(DEBUG_PREFIX "System.onLookForComponent ( "+ guid + " )", D_WTF);
|
||||
}*/
|
||||
#endif
|
||||
|
||||
#ifdef IC_COVERFLOW
|
||||
#define ACTIONPERFORMED showing_Fi || hiding_Fi || showing_Cover || hiding_Cover || showing_Vis || hiding_Vis || showing_Vis_Full || hiding_Vis_Full || hiding_eq || showing_eq || hiding_cfg || showing_cfg || _plsc_hiding || _plsc_showing || _cflow_hiding || _cflow_showing
|
||||
#endif
|
||||
#ifndef IC_COVERFLOW
|
||||
#define ACTIONPERFORMED showing_Fi || hiding_Fi || showing_Cover || hiding_Cover || showing_Vis || hiding_Vis || showing_Vis_Full || hiding_Vis_Full || hiding_eq || showing_eq || hiding_cfg || showing_cfg || _plsc_hiding || _plsc_showing
|
||||
#endif
|
||||
/** the component switching */
|
||||
|
||||
System.onGetCancelComponent(String guid, boolean goingvisible) {
|
||||
debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " ) {", D_WTF);
|
||||
|
||||
if (bypasscancel)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> bypasscancel", 0);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", 0);
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && !goingvisible && hiding_vis)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && goingvisible && showing_vis)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && !goingvisible && hiding_vis_full)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && goingvisible && showing_vis_full)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!main.isVisible())
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> main layout isn't visible", 0);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", 0);
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (goingvisible) {
|
||||
if (guid == VIS_GUID)
|
||||
{
|
||||
if (vis_inbig_attrib.getData() == "1") return FALSE;
|
||||
debugString(DEBUG_PREFIX " --> external showing_vis --- start Timer", D_WTF);
|
||||
if (vis_lefttoplayer_attrib.getData() == "1" && !sui_vis.isVisible())
|
||||
{
|
||||
sui_vis_wdh.setXmlParam("autoopen", "0");
|
||||
//showVis();
|
||||
callback_showing_vis = 1;
|
||||
callback_hiding_vis = 0;
|
||||
callbackTimer.onTimer();
|
||||
|
||||
sui_vis_wdh.setXmlParam("autoopen", "1");
|
||||
|
||||
debugString(DEBUG_PREFIX " --> open SMALL", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
if (vis_lefttoplayer_full_attrib.getData() == "1" && !sui_vis_full.isVisible())
|
||||
{
|
||||
sui_vis_full_wdh.setXmlParam("autoopen", "0");
|
||||
//switchToVis_Full();
|
||||
callback_showing_vis_full = 1;
|
||||
callback_hiding_vis_full = 0;
|
||||
callbackTimer.onTimer();
|
||||
sui_vis_full_wdh.setXmlParam("autoopen", "1");
|
||||
|
||||
debugString(DEBUG_PREFIX " --> open FULL", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
debugString(DEBUG_PREFIX " return FALSE; (other handle?)", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if (!goingvisible) {
|
||||
if (guid == VIS_GUID && (sui_vis.isVisible() || sui_vis_full.isVisible())) {
|
||||
if (vis_inbig_attrib.getData() == "1") return FALSE;
|
||||
debugString(DEBUG_PREFIX " --> external hiding_vis", D_WTF);
|
||||
|
||||
if (ic_vis.getdata() == "1")
|
||||
{
|
||||
ic_fileinfo.setdata("1");
|
||||
}
|
||||
|
||||
ic_vis_fileinfo.setData("0");
|
||||
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
debugString(DEBUG_PREFIX " --> Went thru", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ic_cover_fileinfo.onDataChanged ()
|
||||
{
|
||||
if (ic_fileinfo.getData() == "0") return;
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
updateFileInfo();
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
ic_fileinfo.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
updateFileInfo();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
ic_eq.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
switchToEq();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
ic_config.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
switchToCfg();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
_plsc_ic_attrib.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
_Plsc_switchTo();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
#ifdef IC_COVERFLOW
|
||||
_cflow_ic_attrib.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
_Cflow_switchTo();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
ic_vis.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
ic_vis_fileinfo.setData("0");
|
||||
switchToVis_Full();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
ic_vis_fileinfo.onDataChanged ()
|
||||
{
|
||||
if (ic_fileinfo.getData() == "0") return;
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
updateFileInfo();
|
||||
mychange = 0;
|
||||
}
|
||||
#ifdef DOHIDEMCV
|
||||
ic_hidden.onDataChanged ()
|
||||
{
|
||||
if ( ACTIONPERFORMED ) return;
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
if (getData() == "1")
|
||||
{
|
||||
hideMCV();
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
#endif
|
||||
vis_lefttoplayer_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
if (getData() == "1" && (window_content == "Vis" || ic_vis.getData() == "1" || xg))
|
||||
{
|
||||
if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
ic_vis_fileinfo.setData("1");
|
||||
ic_fileinfo.setData("0");
|
||||
}
|
||||
else if (getData() == "0" && sui_vis.isVisible() && vis_lefttoplayer_full_attrib.getData() != "1")
|
||||
{
|
||||
setPrivateInt(getSkinName(), "ComponentXgive", 1);
|
||||
ic_vis_fileinfo.setData("0");
|
||||
}
|
||||
}
|
||||
|
||||
vis_lefttoplayer_full_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
if (getData() == "1" && (window_content == "Vis" || ic_vis_fileinfo.getData() == "1" || xg))
|
||||
{
|
||||
if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
switchToVis_Full();
|
||||
}
|
||||
else if (getData() == "0" && sui_vis_full.isVisible() && vis_lefttoplayer_attrib.getData() != "1")
|
||||
{
|
||||
setPrivateInt(getSkinName(), "ComponentXgive", 1);
|
||||
updateFileInfo();
|
||||
}
|
||||
}
|
138
Src/resources/skins/Big Bento/scripts/mcvcore/load_handles.m
Normal file
@ -0,0 +1,138 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: load_handles.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 28. Dez. 2006 - 08:40
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/infocompcore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_windowpage();
|
||||
initAttribs_vis();
|
||||
initAttribs_Appearance();
|
||||
|
||||
debugString(DEBUG_PREFIX "System.onScriptLoded() {", 0);
|
||||
|
||||
sg = getScriptGroup();
|
||||
main = sg.getParentLayout();
|
||||
|
||||
if (getParam() == "big")
|
||||
{
|
||||
mainframe = main.getObject("player.mainframe.big");
|
||||
}
|
||||
else
|
||||
{
|
||||
mainframe = main.getObject("player.mainframe");
|
||||
}
|
||||
|
||||
dualwnd = mainframe.findObject("player.dualwnd");
|
||||
|
||||
sui_cover = sg.findObject("info.component.cover");
|
||||
sui_vis = sg.findObject("info.component.vis");
|
||||
sui_vis_full = sg.findObject("info.component.vis.full");
|
||||
sui_vis_wdh = sui_vis.getObject("vis");
|
||||
sui_vis_full_wdh = sui_vis_full.getObject("vis");
|
||||
sui_fi = sg.findObject("info.component.infodisplay");
|
||||
sui_eq = sg.findObject("info.component.eq");
|
||||
sui_cfg = sg.findObject("info.component.config");
|
||||
_plsc_sui = sg.findObject("info.component.plsidecar");
|
||||
#ifdef IC_COVERFLOW
|
||||
_cflow_sui = sg.findObject("info.component.coverflow");
|
||||
#endif
|
||||
g_footer = sg.findObject("infocomp.background.footer");
|
||||
g_visbtns = g_footer.findObject("infocomp.visbuttons");
|
||||
footerGrid = g_footer.findObject("footer.background.grid");
|
||||
|
||||
compChoose = sg.findObject("comp.menu");
|
||||
sendToBtn = sg.findObject("sendTo");
|
||||
//nowPlayingBtn = sg.findObject("nowplaying");
|
||||
//webSearchBtn = sg.findObject("search");
|
||||
#ifdef DOHIDEMCV
|
||||
last_menu_sel = getPrivateInt(getSkinName(), "MCV last sel", 1);
|
||||
#endif
|
||||
callbackTimer = new Timer;
|
||||
callbackTimer.setDelay(1);
|
||||
tempDisable = new Timer;
|
||||
tempDisable.setDelay(50);
|
||||
|
||||
if (ic_fileinfo.getData() == "1")
|
||||
{
|
||||
updateFileInfo ();
|
||||
}
|
||||
else if (ic_vis.getData() == "1")
|
||||
{
|
||||
switchToVis_Full();
|
||||
}
|
||||
else if (ic_eq.getData() == "1")
|
||||
{
|
||||
switchToEq();
|
||||
}
|
||||
else if (ic_config.getData() == "1")
|
||||
{
|
||||
switchToCfg();
|
||||
}
|
||||
else if (_plsc_ic_attrib.getData() == "1")
|
||||
{
|
||||
_plsc_switchTo();
|
||||
}
|
||||
#ifdef IC_COVERFLOW
|
||||
else if (_cflow_ic_attrib.getData() == "1")
|
||||
{
|
||||
_cflow_switchTo();
|
||||
}
|
||||
#endif
|
||||
#ifdef DOHIDEMCV
|
||||
else if (ic_hidden.getData() == "1")
|
||||
{
|
||||
hideMCV();
|
||||
}
|
||||
#endif
|
||||
startup_done = 1;
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
prevent_vis = 0;
|
||||
}
|
||||
|
||||
updateFileInfo ()
|
||||
{
|
||||
if (ic_vis_fileinfo.getData() == "1" && ic_cover_fileinfo.getData() == "1")
|
||||
{
|
||||
switchToVisCover();
|
||||
}
|
||||
else if (ic_vis_fileinfo.getData() == "1")
|
||||
{
|
||||
switchToVis();
|
||||
}
|
||||
else if (ic_cover_fileinfo.getData() == "1")
|
||||
{
|
||||
switchToCover();
|
||||
}
|
||||
else
|
||||
{
|
||||
switchToIcOnly();
|
||||
}
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "System.onScriptUnloading() {", 0);
|
||||
|
||||
delete callbackTimer;
|
||||
delete tempDisable;
|
||||
|
||||
debugString(DEBUG_PREFIX " delete Timers;", 0);
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
915
Src/resources/skins/Big Bento/scripts/mcvcore/show_hide.m
Normal file
@ -0,0 +1,915 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: show_hide.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 29. Nov. 2006 - 15:57
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/infocompcore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
switchToCover ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis();
|
||||
hideVis_Full();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
openIC();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
if (startup_done)
|
||||
{
|
||||
ic_cover_fileinfo.setData("1");
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
mychange = 0;
|
||||
substract = 0;
|
||||
sui_cover.setXmlParam("x", "4");
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-127");
|
||||
dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "117");
|
||||
g_footer.setXmlParam("w", "-118");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
showCover();
|
||||
FIT_W_COMP;
|
||||
updateSaving(1);
|
||||
}
|
||||
|
||||
switchToVisCover ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
openIC();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
if (startup_done)
|
||||
{
|
||||
ic_cover_fileinfo.setData("1");
|
||||
ic_vis_fileinfo.setData("1");
|
||||
vis_lefttoplayer_attrib.setData("1");
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
mychange = 0;
|
||||
substract = 0;
|
||||
sui_cover.setXmlParam("x", "119");
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-242");
|
||||
dualwnd.sendAction("set_maxwidth", "", -242, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "232");
|
||||
g_footer.setXmlParam("w", "-234");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
showCover();
|
||||
showVis();
|
||||
FIT_W2_COMP;
|
||||
updateSaving(1);
|
||||
}
|
||||
switchToVis ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "switchToVis();", D_WTF);
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideCover();
|
||||
hideVis_Full();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
openIC();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
if (startup_done)
|
||||
{
|
||||
ic_vis_fileinfo.setData("1");
|
||||
vis_lefttoplayer_attrib.setData("1");
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
mychange = 0;
|
||||
substract = 1;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-127");
|
||||
dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "117");
|
||||
g_footer.setXmlParam("w", "-118");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
|
||||
showVis();
|
||||
FIT_W_COMP;
|
||||
updateSaving(1);
|
||||
}
|
||||
|
||||
switchToIcOnly ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
if (startup_done) ic_fileinfo.setData("1");
|
||||
//ic_vis_fileinfo.setData("0");
|
||||
//ic_vis.setData("0");
|
||||
mychange = 0;
|
||||
substract = 0;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-127");
|
||||
dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
showFi();
|
||||
FIT_WO_COMP;
|
||||
updateSaving(1);
|
||||
}
|
||||
|
||||
switchToEq ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideFi();
|
||||
hideCfg();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
substract = 1;
|
||||
ic_eq.setData("1");
|
||||
//ic_vis_fileinfo.setData("0");
|
||||
//ic_vis.setData("0");
|
||||
mychange = 0;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-196");
|
||||
dualwnd.sendAction("set_maxwidth", "", -196, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
|
||||
showEq();
|
||||
updateSaving(4);
|
||||
}
|
||||
|
||||
switchToCfg ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideFi();
|
||||
hideEq();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
ic_config.setData("1");
|
||||
//ic_vis_fileinfo.setData("0");
|
||||
//ic_vis.setData("0");
|
||||
mychange = 0;
|
||||
substract = 2;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-242");
|
||||
dualwnd.sendAction("set_maxwidth", "", -242, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
|
||||
showCfg();
|
||||
updateSaving(5);
|
||||
}
|
||||
|
||||
_Plsc_switchTo ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideFi();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
_plsc_ic_attrib.setData("1");
|
||||
//ic_vis_fileinfo.setData("0");
|
||||
//ic_vis.setData("0");
|
||||
mychange = 0;
|
||||
substract = 0;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-156");
|
||||
dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
|
||||
_Plsc_show();
|
||||
updateSaving(3);
|
||||
}
|
||||
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_switchTo ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideFi();
|
||||
hideEq();
|
||||
hideCfg();
|
||||
_Plsc_hide();
|
||||
mychange = 1;
|
||||
_cflow_ic_attrib.setData("1");
|
||||
//ic_vis_fileinfo.setData("0");
|
||||
//ic_vis.setData("0");
|
||||
mychange = 0;
|
||||
substract = 0;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-156");
|
||||
dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
|
||||
_Cflow_show();
|
||||
updateSaving(3);
|
||||
}
|
||||
#endif
|
||||
|
||||
switchToVis_Full ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "switchToVis_FULL();", D_WTF);
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
closeIC();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideEq();
|
||||
//hideFi();
|
||||
hideCfg();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
ic_vis.setData("1");
|
||||
vis_lefttoplayer_full_attrib.setData("1");
|
||||
mychange = 0;
|
||||
substract = 1;
|
||||
|
||||
dualwnd.setXmlParam("maxwidth", "-196");
|
||||
dualwnd.sendAction("set_maxwidth", "", -196, 0 , 0, 0);
|
||||
|
||||
g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
|
||||
updateFooter();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
dualwnd.setXmlParam("from", "right");
|
||||
dualwnd.setXmlParam("minwidth", "147");
|
||||
#endif
|
||||
showVis_Full();
|
||||
updateSaving(2);
|
||||
}
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
hideMCV ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideMCV();", D_WTF);
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis_Full();
|
||||
closeIC();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideEq();
|
||||
//hideFi();
|
||||
hideCfg();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
mychange = 1;
|
||||
ic_hidden.setData("1");
|
||||
mychange = 0;
|
||||
updateSaving(0);
|
||||
/*g_footer.setXmlParam("x", "6");
|
||||
g_footer.setXmlParam("w", "-7");
|
||||
dualwnd.setXmlParam("maxwidth", "-156");
|
||||
dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);*/
|
||||
// dualwnd.setXmlParam("maxwidth", "-8");
|
||||
// dualwnd.sendAction("set_maxwidth", "", -8, 0 , 0, 0);
|
||||
dualwnd.setXmlParam("from", "left");
|
||||
dualwnd.setXmlParam("minwidth", integerToString(8 - stringtoInteger(dualwnd.getXmlParam("maxwidth"))));
|
||||
dualwnd.setXmlParam("maxwidth", "-155");
|
||||
dualwnd.sendAction("set_maxwidth", "", -155, 0 , 0, 0);
|
||||
dualwnd.setPosition(0);
|
||||
updateSaving(6);
|
||||
}
|
||||
#endif
|
||||
|
||||
tempDisable.onTimer()
|
||||
{
|
||||
stop();
|
||||
}
|
||||
|
||||
closeLC ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideVis();
|
||||
hideCover();
|
||||
hideCfg();
|
||||
hideEq();
|
||||
hideVis_Full();
|
||||
_Plsc_hide();
|
||||
#ifdef IC_COVERFLOW
|
||||
_Cflow_hide();
|
||||
#endif
|
||||
}
|
||||
|
||||
closeIC ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "closeIC() {", 0);
|
||||
|
||||
hideFi();
|
||||
|
||||
onCloseIC();
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
openIC ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "openIC() {", 0);
|
||||
|
||||
showFi();
|
||||
|
||||
onOpenIC();
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
showFi()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showFi() {", 0);
|
||||
|
||||
showing_fi = 1;
|
||||
setPrivateString(getSkinName(), "Component3", "File Info");
|
||||
GuiObject o = sui_fi;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", 0);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) fi object not provided (show)", 0);
|
||||
#endif
|
||||
onShowFi();
|
||||
showing_Fi = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
hideFi()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideFi() {", 0);
|
||||
|
||||
hiding_Fi = 1;
|
||||
GuiObject o = sui_fi;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", 0);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) sfi object not provided (hide)", 0);
|
||||
#endif
|
||||
onHideFi();
|
||||
hiding_Fi = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
showVis()
|
||||
{
|
||||
//if (vis_inbig_attrib.getData() == "1") return;
|
||||
debugString(DEBUG_PREFIX "showVis() {", D_WTF);
|
||||
showing_vis = 1;
|
||||
GuiObject o = sui_vis;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) vis object not provided (show)", D_WTF);
|
||||
#endif
|
||||
onShowVis();
|
||||
showing_vis = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
hideVis()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideVis() {", D_WTF);
|
||||
|
||||
hiding_vis = 1;
|
||||
GuiObject o = sui_vis;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) vis object not provided (hide)", D_WTF);
|
||||
#endif
|
||||
onHideVis();
|
||||
hiding_vis = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
showCover()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showCover() {", 0);
|
||||
|
||||
showing_Cover = 1;
|
||||
GuiObject o = sui_Cover;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", 0);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (show)", 0);
|
||||
#endif
|
||||
onShowCover();
|
||||
showing_Cover = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
hideCover()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideCover() {", 0);
|
||||
|
||||
hiding_Cover = 1;
|
||||
GuiObject o = sui_Cover;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", 0);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (hide)", 0);
|
||||
#endif
|
||||
onHideCover();
|
||||
hiding_Cover = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", 0);
|
||||
}
|
||||
|
||||
showVis_Full()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showVis_Full() {", D_WTF);
|
||||
|
||||
showing_vis_full = 1;
|
||||
GuiObject o = sui_vis_full;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
|
||||
#endif
|
||||
onShowVis_Full();
|
||||
showing_vis_full = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
hideVis_Full()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
|
||||
|
||||
hiding_vis_full = 1;
|
||||
GuiObject o = sui_vis_full;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (hide)", D_WTF);
|
||||
#endif
|
||||
onHideVis_Full();
|
||||
hiding_vis_full = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
showEq()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showEq() {", D_WTF);
|
||||
|
||||
showing_eq = 1;
|
||||
GuiObject o = sui_eq;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
|
||||
#endif
|
||||
onShowEq();
|
||||
showing_eq = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
hideEq()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
|
||||
|
||||
hiding_eq = 1;
|
||||
GuiObject o = sui_eq;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) Eq object not provided (hide)", D_WTF);
|
||||
#endif
|
||||
onHideEq();
|
||||
hiding_eq = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
showCfg()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showCfg() {", D_WTF);
|
||||
|
||||
showing_cfg = 1;
|
||||
GuiObject o = sui_cfg;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) cfg_Full object not provided (show)", D_WTF);
|
||||
#endif
|
||||
onShowcfg();
|
||||
showing_cfg = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
hideCfg()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
|
||||
|
||||
hiding_cfg = 1;
|
||||
GuiObject o = sui_cfg;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_WTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else debugString(DEBUG_PREFIX " --> (!) cfg object not provided (hide)", D_WTF);
|
||||
#endif
|
||||
onHidecfg();
|
||||
hiding_cfg = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
}
|
||||
|
||||
callbackTimer.onTimer()
|
||||
{
|
||||
callbackTimer.stop();
|
||||
|
||||
debugString(DEBUG_PREFIX "callbackTimer();", D_WTF);
|
||||
|
||||
int _callback_showing_vis = callback_showing_vis;
|
||||
int _callback_hiding_vis = callback_hiding_vis;
|
||||
int _callback_showing_fi = callback_showing_fi;
|
||||
int _callback_hiding_fi = callback_hiding_fi;
|
||||
int _callback_showing_cover = callback_showing_cover;
|
||||
int _callback_hiding_cover = callback_hiding_cover;
|
||||
int _callback_showing_vis_full = callback_showing_vis_full;
|
||||
int _callback_hiding_vis_full = callback_hiding_vis_full;
|
||||
int _callback_showing_eq = callback_showing_eq;
|
||||
int _callback_hiding_eq = callback_hiding_eq;
|
||||
int _callback_showing_cfg = callback_showing_cfg;
|
||||
int _callback_hiding_cfg = callback_hiding_cfg;
|
||||
int _plsc_callback_showing_temp = _plsc_callback_showing;
|
||||
int _plsc_callback_hiding_temp = _plsc_callback_hiding;
|
||||
#ifdef IC_COVERFLOW
|
||||
int _cflow_callback_showing_temp = _cflow_callback_showing;
|
||||
int _cflow_callback_hiding_temp = _cflow_callback_hiding;
|
||||
#endif
|
||||
|
||||
callback_showing_vis = 0;
|
||||
callback_hiding_vis = 0;
|
||||
callback_showing_fi = 0;
|
||||
callback_hiding_fi = 0;
|
||||
callback_showing_cover = 0;
|
||||
callback_hiding_cover = 0;
|
||||
callback_showing_vis_full = 0;
|
||||
callback_hiding_vis_full = 0;
|
||||
callback_showing_eq = 0;
|
||||
callback_hiding_eq = 0;
|
||||
callback_showing_cfg = 0;
|
||||
callback_hiding_cfg = 0;
|
||||
_plsc_callback_showing = 0;
|
||||
_plsc_callback_hiding = 0;
|
||||
#ifdef IC_COVERFLOW
|
||||
_cflow_callback_showing = 0;
|
||||
_cflow_callback_hiding = 0;
|
||||
#endif
|
||||
|
||||
if (_callback_showing_vis == 1)
|
||||
{
|
||||
ic_vis_fileinfo.setData("1");
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
if (_callback_hiding_vis == 1)
|
||||
{
|
||||
ic_vis_fileinfo.setData("0");
|
||||
}
|
||||
if (_callback_showing_fi == 1)
|
||||
{
|
||||
showFi();
|
||||
}
|
||||
if (_callback_hiding_fi == 1)
|
||||
{
|
||||
hideFi();
|
||||
}
|
||||
if (_callback_showing_cover == 1)
|
||||
{
|
||||
ic_cover_fileinfo.setData("1");
|
||||
ic_fileinfo.setData("1");
|
||||
}
|
||||
if (_callback_hiding_cover == 1)
|
||||
{
|
||||
ic_cover_fileinfo.setData("0");
|
||||
}
|
||||
if (_callback_showing_vis_full == 1)
|
||||
{
|
||||
switchToVis_Full();
|
||||
}
|
||||
if (_callback_hiding_vis_full == 1)
|
||||
{
|
||||
hideVis_Full();
|
||||
}
|
||||
if (_callback_showing_eq == 1)
|
||||
{
|
||||
switchToEq();
|
||||
}
|
||||
if (_callback_hiding_eq == 1)
|
||||
{
|
||||
hideEq();
|
||||
}
|
||||
if (_callback_showing_cfg == 1)
|
||||
{
|
||||
switchTocfg();
|
||||
}
|
||||
if (_callback_hiding_cfg == 1)
|
||||
{
|
||||
hidecfg();
|
||||
}
|
||||
if (_plsc_callback_showing_temp == 1)
|
||||
{
|
||||
_Plsc_switchTo();
|
||||
}
|
||||
if (_plsc_callback_hiding_temp == 1)
|
||||
{
|
||||
_Plsc_hide();
|
||||
}
|
||||
#ifdef IC_COVERFLOW
|
||||
if (_cflow_callback_showing_temp == 1)
|
||||
{
|
||||
_Cflow_switchTo();
|
||||
}
|
||||
if (_cflow_callback_hiding_temp == 1)
|
||||
{
|
||||
_Cflow_hide();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
dc_showFi ()
|
||||
{
|
||||
callback_showing_fi = 1;
|
||||
callback_hiding_fi = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideFi ()
|
||||
{
|
||||
callback_showing_fi = 0;
|
||||
callback_hiding_fi = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showCover ()
|
||||
{
|
||||
callback_showing_cover = 1;
|
||||
callback_hiding_cover = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideCover ()
|
||||
{
|
||||
callback_showing_cover = 0;
|
||||
callback_hiding_cover = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showVis ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "dc_showVis();", D_WTF);
|
||||
callback_showing_vis = 1;
|
||||
callback_hiding_vis = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideVis ()
|
||||
{
|
||||
callback_showing_vis = 0;
|
||||
callback_hiding_vis = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showVis_Full ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
|
||||
callback_showing_vis_full = 1;
|
||||
callback_hiding_vis_full = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideVis_Full ()
|
||||
{
|
||||
callback_showing_vis_full = 0;
|
||||
callback_hiding_vis_full = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showEq ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
|
||||
callback_showing_eq = 1;
|
||||
callback_hiding_eq = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideEq ()
|
||||
{
|
||||
callback_showing_eq = 0;
|
||||
callback_hiding_eq = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showCfg ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
|
||||
callback_showing_Cfg = 1;
|
||||
callback_hiding_Cfg = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideCfg ()
|
||||
{
|
||||
callback_showing_Cfg = 0;
|
||||
callback_hiding_Cfg = 1;
|
||||
callbackTimer.start();
|
||||
}
|
162
Src/resources/skins/Big Bento/scripts/mute.m
Normal file
@ -0,0 +1,162 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
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;
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/mute.maki
Normal file
827
Src/resources/skins/Big Bento/scripts/notifier.m
Normal file
@ -0,0 +1,827 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: notifier.m
|
||||
Version: 1.3
|
||||
|
||||
Type: maki/notifier
|
||||
Date: 14. Mrz. 2007 - 14:50
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
|
||||
Note: Based on notifier.m from Winamp Modern
|
||||
|
||||
|
||||
|
||||
-----------------------------------------------------
|
||||
// Workaround for Winamp bug by Pieter Nieuwoudt (pjn123) - pjn123@outlook.com \\
|
||||
|
||||
Temparary fix for the Winamp bug where the...
|
||||
extern AlbumArtLayer.onAlbumArtLoaded(boolean success);
|
||||
...event stops working.
|
||||
|
||||
Please note that this workaround only kicks in if the above event stops responding.
|
||||
If you want to test the workaround, just add // after the FORCE_BUG_MODE below.
|
||||
Once the above event stop responding the first notifier trigger will be delayed (3 sec),
|
||||
but after that there will be no delays anymore.
|
||||
|
||||
To remove this fix in the future just search //BUGFIX for steps ;)
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
#define FORCE_BUG_MODE
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_notifier.m
|
||||
#define DEBUG
|
||||
#define DebugString //
|
||||
|
||||
Function reset();
|
||||
Function createNotifier(boolean cancel);
|
||||
Function showNotifier(Int w);
|
||||
Function onNext();
|
||||
function cancelAnimation();
|
||||
|
||||
Function Int fillNextTrackInfo(String corneroverride);
|
||||
Function Int fillCustomInfo(String customstring);
|
||||
Function prepareAlbumArtNotifier();
|
||||
|
||||
Function checkPref(int bypassfs);
|
||||
|
||||
Function getArtist();
|
||||
|
||||
Function onAlbumArt(Boolean success);
|
||||
|
||||
Global Container notifier_container;
|
||||
Global Layout notifier_layout;
|
||||
Global Timer notifier_timer;
|
||||
Global String last_autotitle, last_autopis, cur_status;
|
||||
|
||||
Global Boolean b_tohide = 0;
|
||||
Global boolean handleAACalback = false;
|
||||
|
||||
Global AlbumArtLayer cover;
|
||||
|
||||
Global Boolean triggerBug; //BUGFIX remove this
|
||||
Global Timer fallbackTempFix; //BUGFIX remove this
|
||||
|
||||
#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// init
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onScriptLoaded() {
|
||||
initAttribs_notifier();
|
||||
notifier_timer = new Timer;
|
||||
fallbackTempFix = new Timer; //BUGFIX remove this
|
||||
fallbackTempFix.setDelay(3000); //BUGFIX remove this / Time that onAlbumArtLoaded have to execute before bug mode is ON
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// shutdown
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onScriptUnloading() {
|
||||
delete notifier_timer;
|
||||
delete fallbackTempFix; //BUGFIX remove this
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the global hotkey for notification is pressed
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onShowNotification() {
|
||||
//if (checkPref(1)) return; --mp: if we push the hotkey, we want to show the notifier, no matter what the pref settings are.
|
||||
createNotifier(false);
|
||||
if (getStatus() == STATUS_PLAYING) cur_status = "Playing";
|
||||
if (getStatus() == STATUS_PAUSED) cur_status = "Playback Paused";
|
||||
if (getStatus() == STATUS_STOPPED) cur_status = "Playback Stopped";
|
||||
prepareAlbumArtNotifier();
|
||||
complete; // prevents other scripts from getting the message
|
||||
return 1; // tells anybody else that might watch the returned value that, yes, we implemented that
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the title for the playing item changes, this could be the result of the player
|
||||
// going to the next track, or of an update in the track title
|
||||
// ------------------------------------------------------------------------------
|
||||
// mpdeimos> seems like we get an onTitleChange callback sometimes on pause/resume, d'oh
|
||||
Global String lastUrl = 0;
|
||||
System.onTitleChange(String newtitle) {
|
||||
if (getPlayItemMetaDataString("streamtype") == "0" && lastUrl == getPlayItemString())
|
||||
{
|
||||
return;
|
||||
}
|
||||
lastUrl = getPlayItemString();
|
||||
|
||||
if (StrLeft(newtitle, 1) == "[") {
|
||||
if (StrLeft(newtitle, 7) == "[Buffer" ||
|
||||
StrLeft(newtitle, 4) == "[ICY") return;
|
||||
}
|
||||
//String newpis = System.getPlayItemString();
|
||||
//if (last_autotitle == newtitle && last_autopis == newpis) return;
|
||||
//last_autotitle = newtitle;
|
||||
//last_autopis = newpis;
|
||||
DebugString("onTitleChange: "+getPlayItemString(), 9);
|
||||
|
||||
onNext();
|
||||
|
||||
fallbackTempFix.stop(); //BUGFIX remove later
|
||||
fallbackTempFix.start(); //BUGFIX remove later
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the user clicks the next button
|
||||
// ------------------------------------------------------------------------------
|
||||
onNext() {
|
||||
if (checkPref(0)) return;
|
||||
createNotifier(false);
|
||||
cur_status = "";
|
||||
prepareAlbumArtNotifier();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the user clicks the play button
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onPlay() {
|
||||
if (checkPref(0)) return;
|
||||
createNotifier(false);
|
||||
cur_status = "Playing";
|
||||
prepareAlbumArtNotifier();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the user clicks the pause button
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onPause() {
|
||||
fallbackTempFix.stop();
|
||||
if (checkPref(0)) return;
|
||||
DebugString("onPause",9);
|
||||
createNotifier(true);
|
||||
showNotifier(fillCustomInfo("Playback Paused"));
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the user clicks the pause button again
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onResume() {
|
||||
if (checkPref(0)) return;
|
||||
DebugString("onResume",9);
|
||||
createNotifier(false);
|
||||
cur_status = "Resuming Playback";
|
||||
prepareAlbumArtNotifier();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// called by the system when the user clicks the play button
|
||||
// ------------------------------------------------------------------------------
|
||||
System.onStop() {
|
||||
fallbackTempFix.stop();
|
||||
if (checkPref(0)) return;
|
||||
createNotifier(true);
|
||||
showNotifier(fillCustomInfo("End of Playback"));
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// checks if we should display anything
|
||||
// ------------------------------------------------------------------------------
|
||||
Int checkPref(int bypassfs) {
|
||||
if (!bypassfs && notifier_hideinfullscreen_attrib.getData() == "1" && isVideoFullscreen()) return 1;
|
||||
if (notifier_never_attrib.getData() == "1") return 1;
|
||||
if (notifier_minimized_attrib.getData() == "1" && !isMinimized()) return 1;
|
||||
if (notifier_windowshade_attrib.getData() == "1") {
|
||||
if (isMinimized()) return 0;
|
||||
Container c = getContainer("main");
|
||||
if (!c) return 1;
|
||||
Layout l = c.getCurLayout();
|
||||
if (!l) return 1;
|
||||
if (l.getId() != "shade") return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// fade in/out completed
|
||||
// ------------------------------------------------------------------------------
|
||||
// TODO: on dual monitors the notif stays on 2nd monitor :(
|
||||
notifier_layout.onTargetReached() {
|
||||
if (b_tohide) {
|
||||
notifier_layout.setAlpha(0);
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
int a = notifier_layout.getAlpha();
|
||||
if (a == 255 && !b_tohide) {
|
||||
notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
|
||||
notifier_timer.start();
|
||||
}
|
||||
else if (a == 0) {
|
||||
reset();
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// hold time elapsed
|
||||
// ------------------------------------------------------------------------------
|
||||
notifier_timer.onTimer() {
|
||||
stop();
|
||||
if (notifier_fdout_alpha.getData() == "1") {
|
||||
if (notifier_layout.isTransparencySafe()) {
|
||||
notifier_layout.setTargetA(0);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeouttime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (notifier_fdout_vslide.getData() == "1") {
|
||||
b_tohide = 1;
|
||||
int sy;
|
||||
int geth;
|
||||
|
||||
Layout m = getContainer("main").getCurLayout();
|
||||
if (notifier_loc_vport_attrib.getData() == "1")
|
||||
{
|
||||
geth = getViewportHeightFromGuiObject(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
geth = getMonitorHeightFromGuiObject(m);
|
||||
}
|
||||
if (notifier_layout.getGuiY() == 2) sy = -80;
|
||||
else sy = geth + 80;
|
||||
notifier_layout.setTargetY(sy);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
if (b_tohide) return;
|
||||
b_tohide = 1;
|
||||
int sx;
|
||||
int getw;
|
||||
|
||||
Layout m = getContainer("main").getCurLayout();
|
||||
if (notifier_loc_vport_attrib.getData() == "1") {
|
||||
getw = getViewportWidthFromGuiObject(m);
|
||||
}
|
||||
else {
|
||||
getw = getMonitorWidthFromGuiObject(m);
|
||||
}
|
||||
|
||||
if (notifier_layout.getGuiX() == 2) sx = -notifier_layout.getWidth();
|
||||
else sx = getw + notifier_layout.getWidth();
|
||||
notifier_layout.setTargetX(sx);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// when notifier is clicked, bring back the app from minimized state if its minimized and focus it
|
||||
// ------------------------------------------------------------------------------
|
||||
notifier_layout.onLeftButtonDown(int x, int y) {
|
||||
cancelAnimation();
|
||||
restoreApplication();
|
||||
activateApplication();
|
||||
/*if (notifier_opennowplaying_attrib.getData() == "1")
|
||||
{
|
||||
String artist = getArtist();
|
||||
if (artist == "") return;
|
||||
System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid=notifierbento&artistName=" + artist);
|
||||
}*/
|
||||
reset();
|
||||
}
|
||||
|
||||
notifier_layout.onRightButtonUp(int x, int y) {
|
||||
cancelAnimation();
|
||||
reset();
|
||||
complete;
|
||||
return;
|
||||
}
|
||||
|
||||
//TODO merge w/ code below
|
||||
String getArtist ()
|
||||
{
|
||||
String artist = getPlayItemMetaDataString("artist");
|
||||
if (artist == "") artist = getPlayItemMetaDataString("uvox/artist");
|
||||
if (artist == "") artist = getPlayItemMetaDataString("cbs/artist");
|
||||
if (artist == "") artist = getPlayItemMetaDataString("streamtitle");
|
||||
if (artist == "") artist = getPlayItemDisplayTitle();
|
||||
|
||||
return artist;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// close the notifier window, destroys the container automatically because it's dynamic
|
||||
// ------------------------------------------------------------------------------
|
||||
reset() {
|
||||
notifier_container.close();
|
||||
notifier_container = NULL;
|
||||
notifier_layout = NULL;
|
||||
handleAACalback = FALSE;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
createNotifier(boolean cancel) {
|
||||
if (notifier_container == NULL) {
|
||||
notifier_container = newDynamicContainer("notifier");
|
||||
if (!notifier_container) return; // reinstall duh!
|
||||
if (isDesktopAlphaAvailable())
|
||||
notifier_layout = notifier_container.getLayout("desktopalpha");
|
||||
else
|
||||
notifier_layout = notifier_container.getLayout("normal");
|
||||
if (!notifier_layout) return; // reinstall twice, man
|
||||
} else if (cancel) {
|
||||
cancelAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
cancelAnimation()
|
||||
{
|
||||
notifier_layout.cancelTarget();
|
||||
notifier_timer.stop();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
showNotifier(int w) {
|
||||
DebugString(IntegerToString(w), 0);
|
||||
b_tohide = 0;
|
||||
int x; int y;
|
||||
int sy; int sx;
|
||||
w = w + 30;
|
||||
|
||||
int getx, gety, geth, getw;
|
||||
|
||||
Layout m = getContainer("main").getCurLayout();
|
||||
if (notifier_loc_vport_attrib.getData() == "1")
|
||||
{
|
||||
getx = getViewportLeftFromGuiObject(m);
|
||||
gety = getViewportTopFromGuiObject(m);
|
||||
geth = getViewportHeightFromGuiObject(m);
|
||||
getw = getViewportWidthFromGuiObject(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
getx = getMonitorLeftFromGuiObject(m);
|
||||
gety = getMonitorTopFromGuiObject(m);
|
||||
geth = getMonitorHeightFromGuiObject(m);
|
||||
getw = getMonitorWidthFromGuiObject(m);
|
||||
}
|
||||
if (notifier_loc_br_attrib.getData() == "1") {
|
||||
x = getw + getx - w - 2;
|
||||
y = geth + gety - 80 - 2;
|
||||
}
|
||||
else if (notifier_loc_bl_attrib.getData() == "1") {
|
||||
x = getx + 2;
|
||||
y = geth + gety - 80 - 2;
|
||||
}
|
||||
else if (notifier_loc_bc_attrib.getData() == "1") {
|
||||
x = getx + ((getw - w) / 2);
|
||||
y = geth + gety - 80 - 2;
|
||||
}
|
||||
else if (notifier_loc_tr_attrib.getData() == "1") {
|
||||
x = getw + getx - w - 2;
|
||||
y = 2;
|
||||
}
|
||||
else if (notifier_loc_tc_attrib.getData() == "1") {
|
||||
x = getx + ((getw - w) / 2);
|
||||
y = 2;
|
||||
}
|
||||
else {
|
||||
x = getx + 2;
|
||||
y = 2;
|
||||
}
|
||||
if (notifier_fdin_alpha.getData() == "1") {
|
||||
if (!notifier_layout.isVisible()) notifier_layout.resize(x, y, w, 80);
|
||||
else
|
||||
{
|
||||
notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
|
||||
}
|
||||
if (notifier_layout.isTransparencySafe()) {
|
||||
notifier_layout.show();
|
||||
notifier_layout.settargetA(255);
|
||||
notifier_layout.setTargetX(x);
|
||||
notifier_layout.setTargetY(y);
|
||||
notifier_layout.setTargetW(w);
|
||||
notifier_layout.setTargetH(80);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
} else {
|
||||
notifier_layout.setAlpha(255);
|
||||
notifier_layout.show();
|
||||
notifier_layout.settargetA(255);
|
||||
notifier_layout.setTargetX(x);
|
||||
notifier_layout.setTargetY(y);
|
||||
notifier_layout.setTargetW(w);
|
||||
notifier_layout.setTargetH(80);
|
||||
notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
|
||||
notifier_timer.start();
|
||||
}
|
||||
}
|
||||
else if (notifier_fdin_vslide.getData() == "1") {
|
||||
if (y == 2) sy = -80;
|
||||
else sy = geth + 80;
|
||||
if (!notifier_layout.isVisible()) notifier_layout.resize(x, sy, w, 80);
|
||||
else
|
||||
{
|
||||
notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
|
||||
}
|
||||
notifier_layout.show();
|
||||
notifier_layout.setAlpha(255);
|
||||
notifier_layout.setTargetX(x);
|
||||
notifier_layout.setTargetY(y);
|
||||
notifier_layout.setTargetW(w);
|
||||
notifier_layout.setTargetH(80);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
}
|
||||
else {
|
||||
if (x < (getw + getx)/2) sx = -w;
|
||||
else sx = getw + w;
|
||||
if (!notifier_layout.isVisible()) {
|
||||
notifier_layout.resize(sx, y, w, 80);
|
||||
}
|
||||
else {
|
||||
notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
|
||||
}
|
||||
notifier_layout.show();
|
||||
notifier_layout.setAlpha(255);
|
||||
notifier_layout.setTargetX(x);
|
||||
notifier_layout.setTargetY(y);
|
||||
notifier_layout.setTargetW(w);
|
||||
notifier_layout.setTargetH(80);
|
||||
notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
|
||||
notifier_layout.gotoTarget();
|
||||
}
|
||||
}
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
prepareAlbumArtNotifier()
|
||||
{
|
||||
if (!notifier_layout) return;
|
||||
Group g_albumart = notifier_layout.findObject("notifier.albumart");
|
||||
|
||||
DebugString("prepareAlbumArtNotifier: handleAACalback="+integerToString(handleAACalback), 9);
|
||||
if (g_albumart)
|
||||
{
|
||||
cover = g_albumart.findObject("notifier.cover");
|
||||
DebugString("prepareAlbumArtNotifier: cover.isLoading="+integerToString(cover.isLoading()), 9);
|
||||
DebugString("prepareAlbumArtNotifier: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
|
||||
handleAACalback = true;
|
||||
cover.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
cover.onAlbumArtLoaded(boolean success)
|
||||
{
|
||||
/*
|
||||
Created a seperate function for the code that was here because for some reason I couldn't force this
|
||||
event (from the fallbackTempFix.onTimer) with cover.onAlbumArtLoaded(success) after the Winamp bug appears.
|
||||
Weird, yes.
|
||||
*/
|
||||
FORCE_BUG_MODE onAlbumArt(success);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
Int fillNextTrackInfo(String corneroverride) {
|
||||
Int maxv = 0;
|
||||
Int stream = 0;
|
||||
|
||||
if (!notifier_layout) return 0;
|
||||
|
||||
Group g_text = notifier_layout.findObject("notifier.text");
|
||||
Group g_albumart = notifier_layout.findObject("notifier.albumart");
|
||||
|
||||
Text plentry = g_text.findObject("plentry");
|
||||
Text nexttrack = g_text.findObject("nexttrack");
|
||||
Text _title = g_text.findObject("title");
|
||||
Text album = g_text.findObject("album");
|
||||
Text artist = g_text.findObject("artist");
|
||||
Text endofplayback = notifier_layout.findObject("endofplayback");
|
||||
Text s_plentry = g_text.findObject("plentry.shadow");
|
||||
Text s_nexttrack = g_text.findObject("nexttrack.shadow");
|
||||
Text s_title = g_text.findObject("title.shadow");
|
||||
Text s_album = g_text.findObject("album.shadow");
|
||||
Text s_artist = g_text.findObject("artist.shadow");
|
||||
Text s_endofplayback = notifier_layout.findObject("endofplayback.shadow");
|
||||
|
||||
DebugString("got callback for " + getPlayItemString(), 0);
|
||||
|
||||
// Get Stream Name - if no stream returns ""
|
||||
string s = getPlayItemMetaDataString("streamname");
|
||||
string stype = getPlayItemMetaDataString("streamtype"); //"streamtype" will return "2" for SHOUTcast and "5" for SHOUTcast 2
|
||||
if (stype == "2" || stype == "5") stream = 1;
|
||||
|
||||
if (endofplayback) endofplayback.hide();
|
||||
if (s_endofplayback) s_endofplayback.hide();
|
||||
|
||||
if (plentry)
|
||||
{
|
||||
plentry.setText(integerToString(getPlaylistIndex()+1)+translate(" of ")+integerToString(getPlaylistLength()));
|
||||
plentry.show();
|
||||
s_plentry.setText(integerToString(getPlaylistIndex()+1)+translate(" of ")+integerToString(getPlaylistLength()));
|
||||
s_plentry.show();
|
||||
}
|
||||
if (nexttrack) {
|
||||
if (corneroverride == "") {
|
||||
if (!stream) {
|
||||
if (!isVideo())
|
||||
{
|
||||
nexttrack.setText("New track");
|
||||
s_nexttrack.setText("New track");
|
||||
}
|
||||
else
|
||||
{
|
||||
nexttrack.setText("New video");
|
||||
s_nexttrack.setText("New video");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nexttrack.setText("On air");
|
||||
s_nexttrack.setText("On air");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nexttrack.setText(corneroverride);
|
||||
s_nexttrack.setText(corneroverride);
|
||||
}
|
||||
nexttrack.show();
|
||||
s_nexttrack.show();
|
||||
}
|
||||
string set_artist = "";
|
||||
string set = "";
|
||||
if (_title) {
|
||||
_title.setXmlParam("ticker", "0");
|
||||
_title.setXmlParam("display", "");
|
||||
s_title.setXmlParam("ticker", "0");
|
||||
s_title.setXmlParam("display", "");
|
||||
String str;
|
||||
if (!stream)
|
||||
{
|
||||
str = getPlayitemMetaDataString("title");
|
||||
if (str == "") str = getPlayitemDisplayTitle();
|
||||
String l = getPlayItemMetaDataString("length");
|
||||
if (l != "") {
|
||||
str += " (" + integerToTime(stringtointeger(l)) + ")";
|
||||
}
|
||||
_title.setText(str);
|
||||
s_title.setText(str);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str = getPlayItemMetaDataString("streamtitle") != "")
|
||||
{
|
||||
int v = strsearch(str, " - "); // We divide the string by a " - " sublimiter - no luck for old / wrong tagged stations
|
||||
if (v > 0) {
|
||||
set_artist = strleft (str, v); // Store artist
|
||||
string str = strright (str, strlen(str) - 3 - v);
|
||||
_title.setText(str);
|
||||
s_title.setText(str);
|
||||
}
|
||||
else
|
||||
{
|
||||
_title.setXmlParam("ticker", "1"); // These titles can be _very_ long
|
||||
s_title.setXmlParam("ticker", "1");
|
||||
_title.setText(str);
|
||||
s_title.setText(str);
|
||||
}
|
||||
} else {
|
||||
_title.setXmlParam("ticker", "1");
|
||||
_title.setXmlParam("display", "songtitle");
|
||||
_title.setText("");
|
||||
s_title.setXmlParam("ticker", "1");
|
||||
s_title.setXmlParam("display", "songtitle");
|
||||
s_title.setText("");
|
||||
}
|
||||
}
|
||||
_title.show();
|
||||
s_title.show();
|
||||
}
|
||||
if (artist) {
|
||||
if (!stream) {
|
||||
if (isVideo())
|
||||
{
|
||||
artist.setText("");
|
||||
s_artist.setText("");
|
||||
}
|
||||
else
|
||||
{
|
||||
artist.setText(getPlayitemMetaDataString("artist"));
|
||||
s_artist.setText(getPlayitemMetaDataString("artist"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Perhaps we've stored the artist before?
|
||||
if (set_artist != "")
|
||||
{
|
||||
artist.setText(set_artist);
|
||||
s_artist.setText(set_artist);
|
||||
}
|
||||
// Then display the station name
|
||||
else if (s != "")
|
||||
{
|
||||
artist.setText(s);
|
||||
s_artist.setText(s);
|
||||
}
|
||||
// So, we've had no luck - just display a static text :(
|
||||
else
|
||||
{
|
||||
if (isVideo())
|
||||
{
|
||||
artist.setText("Internet TV");
|
||||
s_artist.setText("Internet TV");
|
||||
}
|
||||
else
|
||||
{
|
||||
artist.setText("Internet Radio");
|
||||
s_artist.setText("Internet Radio");
|
||||
}
|
||||
}
|
||||
}
|
||||
artist.show();
|
||||
s_artist.show();
|
||||
}
|
||||
if (album) {
|
||||
String str;
|
||||
if (!stream && !isVideo()) {
|
||||
s_album.setXmlParam("display", "");
|
||||
album.setXmlParam("display", "");
|
||||
str = getPlayitemMetaDataString("album");
|
||||
String l = getPlayitemMetaDataString("track");
|
||||
if (l != "" && l != "-1") str += " (" + translate("Track ") + l + ")";
|
||||
album.setText(str);
|
||||
s_album.setText(str);
|
||||
}
|
||||
else
|
||||
{
|
||||
album.setXmlParam("display", "");
|
||||
s_album.setXmlParam("display", "");
|
||||
// we have divided the songname - let's display the station name
|
||||
if (set_artist != "" && s != "")
|
||||
{
|
||||
album.setText(s);
|
||||
s_album.setText(s);
|
||||
}
|
||||
// no luck either...
|
||||
else
|
||||
{
|
||||
album.setText("");
|
||||
album.setXmlParam("display", "songinfo_localise");
|
||||
s_album.setText("");
|
||||
s_album.setXmlParam("display", "songinfo_localise");
|
||||
}
|
||||
}
|
||||
album.show();
|
||||
s_album.show();
|
||||
}
|
||||
|
||||
// Album Art Stuff
|
||||
|
||||
Layer webcover;
|
||||
if (g_albumart)
|
||||
{
|
||||
cover = g_albumart.findObject("notifier.cover");
|
||||
webcover = g_albumart.findObject("notifier.webcover");
|
||||
}
|
||||
|
||||
Boolean showAlbumArt = FALSE;
|
||||
|
||||
if (cover != NULL && webcover != NULL && notifier_artworkinnotification_attrib.getData() == "1")
|
||||
{
|
||||
if (stream)
|
||||
{
|
||||
if(stype == "2" || stype == "5" && cover.isInvalid())
|
||||
{
|
||||
webcover.setXMLParam("image", WEBCOVER_SHOUTCAST);
|
||||
cover.hide();
|
||||
webcover.show();
|
||||
showAlbumArt = TRUE;
|
||||
}
|
||||
else if(stype == "5" && !cover.isInvalid())
|
||||
{
|
||||
webcover.hide();
|
||||
cover.show();
|
||||
showAlbumArt = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cover.isInvalid()) // Check if the album art obj shows a pic
|
||||
{
|
||||
showAlbumArt = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
webcover.hide();
|
||||
cover.show();
|
||||
showAlbumArt = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (showAlbumArt)
|
||||
{
|
||||
if (g_albumart) g_albumart.show();
|
||||
if (g_text) g_text.setXmlParam("x", "75");
|
||||
if (g_text) g_text.setXmlParam("w", "-95");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (g_albumart) g_albumart.hide();
|
||||
if (g_text) g_text.setXmlParam("x", "15");
|
||||
if (g_text) g_text.setXmlParam("w", "-35");
|
||||
}
|
||||
|
||||
if (g_text) g_text.show();
|
||||
|
||||
maxv = artist.getAutoWidth();
|
||||
if (maxv < album.getAutoWidth()) maxv = album.getAutoWidth();
|
||||
if (maxv < _title.getAutoWidth()) maxv = _title.getAutoWidth();
|
||||
if (maxv < (plentry.getAutoWidth() + nexttrack.getAutoWidth())) maxv = (plentry.getAutoWidth() + nexttrack.getAutoWidth());
|
||||
if (maxv < 128) maxv = 128;
|
||||
|
||||
int getw;
|
||||
|
||||
Layout m = getContainer("main").getCurLayout();
|
||||
if (notifier_loc_vport_attrib.getData() == "1")
|
||||
{
|
||||
//getw = getViewportWidth();
|
||||
getw = getViewportWidthFromGuiObject(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
getw = getMonitorWidthFromGuiObject(m);
|
||||
}
|
||||
|
||||
if (maxv > getw/4) maxv = getw/4;
|
||||
|
||||
return maxv + ( showAlbumArt * 60 ) + 1; // Adds 60 extra pixels if album art is visible
|
||||
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
Int fillCustomInfo(String customtext)
|
||||
{
|
||||
Group g_text = notifier_layout.findObject("notifier.text");
|
||||
Group g_albumart = notifier_layout.findObject("notifier.albumart");
|
||||
|
||||
Text endofplayback = notifier_layout.findObject("endofplayback");
|
||||
Text s_endofplayback = notifier_layout.findObject("endofplayback.shadow");
|
||||
|
||||
if (g_text) { g_text.hide(); }
|
||||
if (g_albumart) g_albumart.hide();
|
||||
|
||||
if (endofplayback != NULL && s_endofplayback != NULL) {
|
||||
endofplayback.setText(translate(customtext)+" ");
|
||||
s_endofplayback.setText(translate(customtext)+" ");
|
||||
int aw = endofplayback.getAutoWidth();
|
||||
endofplayback.show();
|
||||
s_endofplayback.show();
|
||||
if (aw > 128)
|
||||
return aw;
|
||||
}
|
||||
return 128;
|
||||
}
|
||||
|
||||
//BUGFIX remove this timer later
|
||||
fallbackTempFix.onTimer() //As soon as this timer run, bug mode is ON ;)
|
||||
{
|
||||
if (checkPref(0)) return;
|
||||
|
||||
if (!notifier_layout) onNext();
|
||||
|
||||
if(!triggerBug)
|
||||
{
|
||||
triggerBug = true;
|
||||
|
||||
onAlbumArt(cover.isInvalid()); //First time we see the bug
|
||||
fallbackTempFix.setDelay(30);
|
||||
|
||||
DebugString("Hello Bug", 9);
|
||||
}
|
||||
else if(triggerBug && !cover.isLoading()) onAlbumArt(cover.isInvalid());
|
||||
}
|
||||
|
||||
onAlbumArt(Boolean success){
|
||||
fallbackTempFix.stop(); //BUGFIX remove later
|
||||
|
||||
DebugString("onAlbumArtLoaded: success="+integerToString(success), 9);
|
||||
DebugString("onAlbumArtLoaded: handleAACalback="+integerToString(handleAACalback), 9);
|
||||
DebugString("onAlbumArtLoaded: cover.isLoading="+integerToString(cover.isLoading()), 9);
|
||||
DebugString("onAlbumArtLoaded: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
|
||||
if (!handleAACalback || !notifier_layout /*|| isLoading()*/)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
handleAACalback = cover.isLoading();
|
||||
cancelAnimation();
|
||||
showNotifier(fillNextTrackInfo(cur_status));
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/notifier.maki
Normal file
426
Src/resources/skins/Big Bento/scripts/playlistpro.m
Normal file
@ -0,0 +1,426 @@
|
||||
/*
|
||||
|
||||
PlaylistPro build 005
|
||||
Originally done by pjn123 (www.skinconsortium.com) for the Classic Pro plugin
|
||||
|
||||
*/
|
||||
|
||||
#include "lib/std.mi"
|
||||
#include "lib/pldir.mi"
|
||||
#include "attribs/init_Playlist.m"
|
||||
|
||||
Function resizeResults(int items);
|
||||
Function doSearch(String input);
|
||||
Function setSearchBox(boolean onOff);
|
||||
Function clearSearchBox();
|
||||
Function int getPlEntry(int search_item);
|
||||
Function String replaceString(string baseString, string toreplace, string replacedby);
|
||||
|
||||
Global Group frameGroup, topbar;
|
||||
Global Edit searchBox;
|
||||
Global Text helpSearch, searchNews;// fakeText;
|
||||
Global GuiObject fakeSB, searchXUI, searchButtonXui;
|
||||
Global Button searchButton, clearButton, clearButtonText;
|
||||
Global GuiList searchResults;
|
||||
Global Boolean foundsomething;
|
||||
Global int tn, h_tune;
|
||||
Global String temptoken;
|
||||
Global Windowholder plwh;
|
||||
GLobal Timer refreshActiveCheck;
|
||||
Global PopupMenu search_rc;
|
||||
|
||||
Global Container results_container;
|
||||
Global Layout results_layout, main_layout;
|
||||
|
||||
System.onScriptLoaded() {
|
||||
frameGroup = getScriptGroup();
|
||||
topbar = frameGroup.findObject("PlaylistPro.topbar");
|
||||
plwh = frameGroup.findObject("wdh.playlist");
|
||||
|
||||
searchBox = frameGroup.findObject("wasabi.edit.box");
|
||||
searchXUI = frameGroup.findObject("pl.search.edit");
|
||||
searchButton = frameGroup.findObject("pl.search.go");
|
||||
searchButtonXui = frameGroup.findObject("pl.search.go");
|
||||
fakeSB = frameGroup.findObject("pl.search.edit.rect");
|
||||
clearButton = frameGroup.findObject("pl.search.edit.clear");
|
||||
clearButtonText = frameGroup.findObject("pl.search.edit.clear.text");
|
||||
helpSearch = frameGroup.findObject("pl.search.edit.searchhelp");
|
||||
//fakeText = frameGroup.findObject("pl.search.go.text.fake");
|
||||
|
||||
results_container = newDynamicContainer("searchresults");
|
||||
results_layout = results_container.getLayout("normal");
|
||||
searchResults = results_layout.findObject("PlaylistPro.list");
|
||||
searchResults.setFontSize(16);
|
||||
searchNews = results_layout.findObject("PlaylistPro.list.news");
|
||||
|
||||
main_layout = getContainer("main").getLayout("normal");
|
||||
|
||||
initAttribs_Playlist();
|
||||
|
||||
//translation workaround
|
||||
/*searchButtonXui.setXmlParam("text", System.translate("Search"));
|
||||
searchButtonXui.setXmlParam("x", integerToString(-1*fakeText.getAutoWidth()-4));
|
||||
searchButtonXui.setXmlParam("w", integerToString(fakeText.getAutoWidth()+2));
|
||||
searchXUI.setXmlParam("w", integerToString(-1*fakeText.getAutoWidth()-9));*/
|
||||
|
||||
refreshActiveCheck = new Timer;
|
||||
refreshActiveCheck.setDelay(100);
|
||||
}
|
||||
System.onScriptUnLoading() {
|
||||
delete refreshActiveCheck;
|
||||
}
|
||||
|
||||
refreshActiveCheck.onTimer(){
|
||||
if((!System.isAppActive() || System.isMinimized()) && results_layout.isVisible() ) results_layout.hide();
|
||||
}
|
||||
|
||||
results_layout.onSetVisible(boolean onOff){
|
||||
if(onOff){
|
||||
refreshActiveCheck.start();
|
||||
}
|
||||
else{
|
||||
refreshActiveCheck.stop();
|
||||
}
|
||||
}
|
||||
|
||||
System.onShowLayout(Layout _layout){
|
||||
if(main_layout.isVisible()) results_layout.setXmlParam("ontop", "1");
|
||||
}
|
||||
|
||||
frameGroup.onSetVisible(boolean onOff){
|
||||
if(!onOff) clearSearchBox();
|
||||
}
|
||||
|
||||
searchButton.onLeftClick(){
|
||||
doSearch(searchBox.getText());
|
||||
}
|
||||
|
||||
resizeResults(int items){
|
||||
/*results_layout.setTargetX(results_layout.getLeft());
|
||||
results_layout.setTargetY(results_layout.getTop());
|
||||
results_layout.setTargetW(results_layout.getWidth());
|
||||
results_layout.setTargetH(500);
|
||||
results_layout.setTargetSpeed(1);
|
||||
results_layout.gotoTarget();*/
|
||||
|
||||
//items++; //temp add one extra for info... xx items found
|
||||
if(items>20) items=20;
|
||||
|
||||
|
||||
if(items>=1) h_tune=29;
|
||||
else h_tune=25;
|
||||
|
||||
//results_layout.setXmlParam("h", integerToString(20+items*18));
|
||||
|
||||
/*results_layout.setTargetX(results_layout.getLeft());
|
||||
results_layout.setTargetY(results_layout.getTop());
|
||||
results_layout.setTargetW(results_layout.getWidth());
|
||||
results_layout.setTargetH(h_tune+items*16);
|
||||
results_layout.setTargetSpeed(0.3);
|
||||
results_layout.gotoTarget();*/
|
||||
results_layout.resize(results_layout.getLeft(), results_layout.getTop(), results_layout.getWidth(), h_tune+items*16);
|
||||
}
|
||||
|
||||
searchBox.onEnter(){
|
||||
doSearch(searchBox.getText());
|
||||
}
|
||||
|
||||
doSearch(String input){
|
||||
if(input==""){
|
||||
clearSearchBox();
|
||||
return;
|
||||
}
|
||||
|
||||
//search history stuff
|
||||
String history = getPublicString("cPro.PlaylistPro.history", "");
|
||||
history = replaceString(history, input, "");
|
||||
history = replaceString(history, ";;", ";");
|
||||
if(strleft(history, 1)==";") history = strright(history, strlen(history)-1);
|
||||
if(strright(history, 1)==";") history = strleft(history, strlen(history)-1);
|
||||
if(history=="") history= input;
|
||||
else history= input+";"+history;
|
||||
|
||||
String output = getToken(history, ";", 0);
|
||||
for(int i = 1; i<15; i++){
|
||||
if(getToken(history, ";", i)=="") break;
|
||||
output+=";"+getToken(history, ";", i);
|
||||
}
|
||||
setPublicString("cPro.PlaylistPro.history", history);
|
||||
|
||||
|
||||
int itemsfound = 0;
|
||||
input = strlower(input);
|
||||
|
||||
results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
|
||||
results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
|
||||
results_layout.setXmlParam("w", integerToString(frameGroup.getWidth()-19));
|
||||
|
||||
if(!results_layout.isVisible()) results_layout.setXmlParam("h", "1");
|
||||
|
||||
searchResults.deleteAllItems();
|
||||
searchResults.scrollToItem(0);
|
||||
|
||||
for(int i = 0; i<PlEdit.getNumTracks(); i++){
|
||||
foundsomething=false;
|
||||
|
||||
for(tn = 0; tn<10; tn++){
|
||||
if(getToken(input, " ", tn)==""){
|
||||
break;
|
||||
}
|
||||
|
||||
temptoken = getToken(input, " ", tn);
|
||||
if(strsearch(strlower(PlEdit.getTitle(i) + " " + PlEdit.getFileName(i)), temptoken)>=0){
|
||||
foundsomething=true;
|
||||
}
|
||||
else{
|
||||
foundsomething=false;
|
||||
}
|
||||
|
||||
if(!foundsomething){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(foundsomething){
|
||||
itemsfound++;
|
||||
searchResults.addItem(integerToString(i+1)+". " + PlEdit.getTitle(i));
|
||||
if(itemsfound>500){
|
||||
searchNews.setText("Search result limited to 500 items");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(itemsfound==0){
|
||||
searchNews.setText("Nothing was found");
|
||||
}
|
||||
else if(itemsfound<=500){
|
||||
searchNews.setText(System.translate("Items found: ") +integerToString(itemsfound));
|
||||
}
|
||||
|
||||
if(!results_layout.isVisible()) results_layout.show();
|
||||
|
||||
// Fix if always on top is enabled.. it just refresh the ontop ;)
|
||||
results_layout.setXmlParam("ontop", "1");
|
||||
|
||||
resizeResults(itemsfound);
|
||||
}
|
||||
|
||||
searchResults.onDoubleClick(Int itemnum){
|
||||
PlEdit.playTrack (getPlEntry(itemnum));
|
||||
setSearchBox(false);
|
||||
}
|
||||
|
||||
searchResults.onRightClick(Int itemnum){
|
||||
search_rc = new PopupMenu;
|
||||
search_rc.addCommand("Move selected to top", 1, 0, 0);
|
||||
search_rc.addCommand("Move selected to bottom", 2, 0, 0);
|
||||
search_rc.addCommand("Move selected after current", 3, 0, 0);
|
||||
search_rc.addCommand("Move selected together", 4, 0, 0);
|
||||
search_rc.addSeparator();
|
||||
search_rc.addCommand("Remove selected from playlist", 5, 0, 0);
|
||||
int result = search_rc.popAtMouse();
|
||||
delete search_rc;
|
||||
|
||||
int lastselected = searchResults.getFirstItemSelected();
|
||||
int itemcounter = 1;
|
||||
|
||||
if(result==1){
|
||||
PlEdit.moveTo (getPlEntry(lastselected), 0);
|
||||
while(searchResults.getNextItemSelected(lastselected) != -1){
|
||||
lastselected = searchResults.getNextItemSelected(lastselected);
|
||||
PlEdit.moveTo (getPlEntry(lastselected), itemcounter);
|
||||
itemcounter++;
|
||||
}
|
||||
PlEdit.showTrack(0);
|
||||
}
|
||||
else if(result==2){
|
||||
PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getNumTracks ()-1);
|
||||
while(searchResults.getNextItemSelected(lastselected) != -1){
|
||||
lastselected = searchResults.getNextItemSelected(lastselected);
|
||||
PlEdit.moveTo (getPlEntry(lastselected)-itemcounter, PlEdit.getNumTracks ()-1);
|
||||
itemcounter++;
|
||||
}
|
||||
PlEdit.showTrack(PlEdit.getNumTracks ()-1);
|
||||
}
|
||||
else if(result==3){
|
||||
int align = 0;
|
||||
int orignalPos = PlEdit.getCurrentIndex();
|
||||
int temp = getPlEntry(lastselected);
|
||||
if(PlEdit.getCurrentIndex() > temp) align++;
|
||||
|
||||
if(orignalPos > getPlEntry(lastselected)) PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex());
|
||||
else PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+1);
|
||||
|
||||
while(searchResults.getNextItemSelected(lastselected) != -1){
|
||||
lastselected = searchResults.getNextItemSelected(lastselected);
|
||||
|
||||
if(orignalPos != getPlEntry(lastselected)){
|
||||
if(orignalPos > getPlEntry(lastselected)){
|
||||
PlEdit.moveTo (getPlEntry(lastselected)-align, PlEdit.getCurrentIndex()+itemcounter);
|
||||
}
|
||||
else{
|
||||
PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+itemcounter+1);
|
||||
}
|
||||
|
||||
temp = getPlEntry(lastselected);
|
||||
if(orignalPos > temp) align++;
|
||||
itemcounter++;
|
||||
}
|
||||
}
|
||||
PlEdit.showCurrentlyPlayingTrack();
|
||||
}
|
||||
else if(result==4){
|
||||
int startpos = getPlEntry(lastselected);
|
||||
while(searchResults.getNextItemSelected(lastselected) != -1){
|
||||
lastselected = searchResults.getNextItemSelected(lastselected);
|
||||
PlEdit.moveTo (getPlEntry(lastselected), startpos+itemcounter);
|
||||
itemcounter++;
|
||||
}
|
||||
PlEdit.showTrack(startpos);
|
||||
}
|
||||
else if(result==5){
|
||||
PlEdit.removeTrack (getPlEntry(lastselected));
|
||||
while(searchResults.getNextItemSelected(lastselected) != -1){
|
||||
lastselected = searchResults.getNextItemSelected(lastselected);
|
||||
PlEdit.removeTrack (getPlEntry(lastselected)-itemcounter);
|
||||
itemcounter++;
|
||||
}
|
||||
}
|
||||
|
||||
else return;
|
||||
|
||||
//hides the search
|
||||
setSearchBox(false);
|
||||
}
|
||||
|
||||
int getPlEntry(int search_item){
|
||||
return stringToInteger(getToken(searchResults.getItemLabel(search_item,0), ". ", 0))-1;
|
||||
}
|
||||
|
||||
setSearchBox(boolean onOff){
|
||||
if(onOff){
|
||||
searchBox.show();
|
||||
clearButton.show();
|
||||
clearButtonText.show();
|
||||
helpSearch.hide();
|
||||
searchBox.setFocus();
|
||||
}
|
||||
else{
|
||||
searchBox.hide();
|
||||
clearButton.hide();
|
||||
clearButtonText.hide();
|
||||
helpSearch.show();
|
||||
results_layout.hide();
|
||||
}
|
||||
}
|
||||
|
||||
fakeSB.onLeftButtonDown(int x, int y){
|
||||
setSearchBox(true);
|
||||
}
|
||||
fakeSB.onRightButtonDown(int x, int y){
|
||||
search_rc = new PopupMenu;
|
||||
search_rc.addCommand("** Search history **", 0, 0, 1);
|
||||
search_rc.addSeparator();
|
||||
|
||||
String history = getPublicString("cPro.PlaylistPro.history", "");
|
||||
boolean historyfound=false;
|
||||
for(int i=0;i<15;i++){
|
||||
String historyitem = getToken(history, ";", i);
|
||||
if(historyitem==""){
|
||||
if(i>0) historyfound=true;
|
||||
break;
|
||||
}
|
||||
search_rc.addCommand(historyitem, i+1, 0, 0);
|
||||
}
|
||||
if(historyfound) search_rc.addSeparator();
|
||||
search_rc.addCommand("Clear History", 100, 0, 0);
|
||||
|
||||
int result = search_rc.popAtMouse();
|
||||
delete search_rc;
|
||||
|
||||
if(result>0 && result<100){
|
||||
setSearchBox(true);
|
||||
searchBox.setText(getToken(history, ";", result-1));
|
||||
searchButton.leftClick();
|
||||
}
|
||||
else if(result==100){
|
||||
setPublicString("cPro.PlaylistPro.history", "");
|
||||
}
|
||||
}
|
||||
|
||||
clearSearchBox(){
|
||||
searchBox.setText("");
|
||||
setSearchBox(false);
|
||||
}
|
||||
|
||||
main_layout.onMove(){
|
||||
if(results_layout.isVisible()){
|
||||
results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
|
||||
results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
|
||||
results_layout.setXmlParam("ontop", "1");
|
||||
}
|
||||
}
|
||||
main_layout.onResize(int x, int y, int w, int h){
|
||||
if(results_layout.isVisible()) clearSearchBox();
|
||||
}
|
||||
|
||||
frameGroup.onResize(int x, int y, int w, int h){
|
||||
if(results_layout.isVisible()) clearSearchBox();
|
||||
|
||||
//if(playlist_search_attib.getData()=="0") return;
|
||||
|
||||
if(h<102 || playlist_search_attrib.getData()=="0"){
|
||||
|
||||
if(!topbar.isVisible()) return; //Don't do the same code over and over
|
||||
|
||||
topbar.hide();
|
||||
plwh.setXmlParam("y", "0");
|
||||
plwh.setXmlParam("h", "0");
|
||||
}
|
||||
else{
|
||||
if(topbar.isVisible()) return; //Don't do the same code over and over
|
||||
|
||||
topbar.show();
|
||||
plwh.setXmlParam("y", "30");
|
||||
plwh.setXmlParam("h", "-30");
|
||||
}
|
||||
}
|
||||
|
||||
clearButton.onLeftClick(){
|
||||
clearSearchBox();
|
||||
}
|
||||
|
||||
playlist_search_attrib.onDataChanged(){
|
||||
frameGroup.onResize(frameGroup.getLeft(), frameGroup.getTop(), frameGroup.getWidth(), frameGroup.getHeight());
|
||||
//debug("abc " + getData());
|
||||
|
||||
if (getData() == "0"){
|
||||
topbar.hide();
|
||||
plwh.setXMLParam("y", "0");
|
||||
plwh.setXMLParam("h", "0");
|
||||
}
|
||||
else if(getData() == "1"){
|
||||
|
||||
topbar.show();
|
||||
plwh.setXMLParam("y", "30");
|
||||
plwh.setXMLParam("h", "-30");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
String replaceString(string baseString, string toreplace, string replacedby){
|
||||
if (toreplace == "") return baseString;
|
||||
string sf1 = strupper(baseString);
|
||||
string sf2 = strupper(toreplace);
|
||||
int i = strsearch(sf1, sf2);
|
||||
if (i == -1) return baseString;
|
||||
string left = "", right = "";
|
||||
if (i != 0) left = strleft(baseString, i);
|
||||
if (strlen(basestring) - i - strlen(toreplace) != 0) {
|
||||
right = strright(basestring, strlen(basestring) - i - strlen(toreplace));
|
||||
}
|
||||
return left + replacedby + right;
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/playlistpro.maki
Normal file
619
Src/resources/skins/Big Bento/scripts/pledit.m
Normal file
@ -0,0 +1,619 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: pledit.m
|
||||
Version: 3.1
|
||||
|
||||
Type: maki
|
||||
Date: 18. Sep. 2007 - 19:42
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include "lib/std.mi"
|
||||
|
||||
//#define DEBUG
|
||||
#define FILE_NAME "pledit.m"
|
||||
#include "lib/com/debug.m"
|
||||
|
||||
#define PL_GUID "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D}"
|
||||
#define PLC_POPPLER_POS 200
|
||||
|
||||
#include "attribs/init_playlist.m"
|
||||
|
||||
Function fitContent (int playlistw, int playlistx);
|
||||
Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
|
||||
Function int updatePoppler(int w);
|
||||
Function int updateMainPoppler(int w);
|
||||
|
||||
Global Frame dualwnd, pl_dualwnd, mainframe;
|
||||
|
||||
Global Group g_playlist, g_player, g_sui, g_buttons, g_mcv, g_cover, g_upper, wdh_pl;
|
||||
Global Button p_enlarge, p_small;
|
||||
Global Button p_resize;
|
||||
Global int down_x, down_gx, isresizing;
|
||||
Global layout normal;
|
||||
Global Container player;
|
||||
//Global WindowHolder wdh_pl;
|
||||
Global Text pl_time;
|
||||
|
||||
Global Button pe_add, pe_rem, pe_sel, pe_misc, pe_manage;
|
||||
|
||||
Global Boolean startup, isBig, bypass_nocomp;
|
||||
|
||||
Global Timer dc_openPl, dc_closePl, dc_loadWnd;
|
||||
|
||||
Global Int COMP_Y, COMP_H, SUI_Y, SUI_H, BOTTOMSPACER, MAX_PL_H;
|
||||
Global Int DEF_PL_W, SIDESPACER;
|
||||
|
||||
Global Int min_infowidth;
|
||||
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_Playlist();
|
||||
normal = getScriptGroup();
|
||||
player = normal.getContainer();
|
||||
|
||||
isBig = (getParam() == "big");
|
||||
if (isBig)
|
||||
{
|
||||
mainframe = normal.getObject("player.mainframe.big");
|
||||
}
|
||||
else
|
||||
{
|
||||
mainframe = normal.getObject("player.mainframe");
|
||||
}
|
||||
|
||||
dualwnd = mainframe.findObject("player.dualwnd");
|
||||
g_mcv = dualwnd.findObject("player.component.fileinfo");
|
||||
g_upper = dualwnd.findObject("player.component.playlist.frame");
|
||||
pl_dualwnd = dualwnd.findObject("playlist.dualwnd");
|
||||
g_playlist = pl_dualwnd.findObject("player.component.playlist");
|
||||
g_cover = pl_dualwnd.findObject("player.component.playlist.albumart");
|
||||
g_player = dualwnd.findObject("player.layout");
|
||||
g_sui = normal.getObject("sui.content");
|
||||
g_buttons = g_playlist.getObject("player.component.playlist.buttons");
|
||||
p_enlarge = g_buttons.getObject("player.playlist.enlarge");
|
||||
p_small = g_buttons.getObject("player.playlist.small");
|
||||
p_resize = g_playlist.getObject("player.resize");
|
||||
wdh_pl = g_playlist.getObject("playlistpro");
|
||||
pl_time = g_buttons.getObject("PLTime");
|
||||
|
||||
pe_add = g_buttons.getObject("player.playlist.add");
|
||||
pe_rem = g_buttons.getObject("player.playlist.rem");
|
||||
pe_sel = g_buttons.getObject("player.playlist.sel");
|
||||
pe_misc = g_buttons.getObject("player.playlist.misc");
|
||||
pe_manage = g_buttons.getObject("player.playlist.manage");
|
||||
|
||||
min_infowidth = stringtoInteger(dualwnd.getXmlParam("maxwidth"));
|
||||
|
||||
dc_openPl = new Timer;
|
||||
dc_openPl.setDelay(1);
|
||||
|
||||
dc_closePl = new Timer;
|
||||
dc_closePl.setDelay(1);
|
||||
|
||||
dc_loadWnd = new Timer;
|
||||
dc_loadWnd.setDelay(1);
|
||||
|
||||
// Global Definitions:
|
||||
|
||||
DEF_PL_W = g_playlist.getGuiW(); // (-)
|
||||
SIDESPACER = g_sui.getGuiX(); // (+)
|
||||
COMP_Y = mainframe.getGuiY(); // (+)
|
||||
COMP_H = mainframe.getGuiH(); // (+)
|
||||
SUI_Y = g_sui.getGuiY(); // (+)
|
||||
SUI_H = g_sui.getGuiH(); // (-)
|
||||
BOTTOMSPACER = SUI_Y + SUI_H; // (-)
|
||||
MAX_PL_H = BOTTOMSPACER - COMP_Y; // (-)
|
||||
|
||||
startup = 1;
|
||||
|
||||
// show playlist album art if checked
|
||||
playlist_cover_attrib.onDataChanged();
|
||||
|
||||
//Bento v0.8 hack
|
||||
if (mainframe.getPosition() < stringToInteger(mainframe.getXmlParam("minwidth")))
|
||||
{
|
||||
mainframe.setPosition(stringToInteger(mainframe.getXmlParam("minwidth")));
|
||||
}
|
||||
}
|
||||
|
||||
system.onScriptUnloading ()
|
||||
{
|
||||
int pos = pl_dualwnd.getPosition();
|
||||
if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
|
||||
delete dc_loadWnd;
|
||||
}
|
||||
|
||||
dc_loadWnd.onTimer ()
|
||||
{
|
||||
stop();
|
||||
int pos = dualwnd.getPosition();
|
||||
if (pos > 0) updatePoppler(pos);
|
||||
playlist_enlarge_attrib.onDataChanged();
|
||||
|
||||
if (dualwnd.getPosition() > 0
|
||||
#ifdef DOHIDEMCV
|
||||
|| dualwnd.getXMlParam("from") == "left"
|
||||
#endif
|
||||
) dc_openPL.start();
|
||||
|
||||
|
||||
else wdh_pl.hide(); //hideWa2Component(PL_GUID);
|
||||
}
|
||||
|
||||
playlist_enlarge_attrib.onDataChanged ()
|
||||
{
|
||||
int pl_w = dualwnd.getPosition();
|
||||
|
||||
#ifdef DOHIDEMCV
|
||||
if (dualwnd.getXmlParam("from") == "left")
|
||||
{
|
||||
pl_w = dualwnd.getWidth() - 8;
|
||||
}
|
||||
#endif
|
||||
|
||||
int pl_x = 0 - ( pl_w + SIDESPACER ); // (-)
|
||||
|
||||
if (getData() == "1")
|
||||
{
|
||||
int sui_w = pl_x - SIDESPACER; // (-)
|
||||
|
||||
dualwnd.setXmlParam("relath", "1");
|
||||
dualwnd.setXmlParam("h", integerToString(0));
|
||||
mainframe.setXmlParam("relath", "1");
|
||||
mainframe.setXmlParam("h", integerToString(MAX_PL_H));
|
||||
|
||||
g_sui.setXmlParam("w", integerToString(sui_w-8));
|
||||
|
||||
int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
|
||||
if (playlist_cover_attrib.getData() == "1" && pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
|
||||
{
|
||||
g_cover.show();
|
||||
pl_dualwnd.setPosition (pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
pl_dualwnd.setPosition (0);
|
||||
g_cover.hide();
|
||||
}
|
||||
|
||||
p_enlarge.hide();
|
||||
p_small.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
int sui_w = 0 - SIDESPACER - SIDESPACER; // (-)
|
||||
int pc_w = pl_x - SIDESPACER; // (-)
|
||||
|
||||
g_cover.hide();
|
||||
|
||||
if (playlist_cover_attrib.getData() == "1")
|
||||
{
|
||||
int pos = pl_dualwnd.getPosition();
|
||||
if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
|
||||
}
|
||||
pl_dualwnd.setPosition (0);
|
||||
|
||||
dualwnd.setXmlParam("h", integerToString(COMP_H-3));
|
||||
dualwnd.setXmlParam("relath", "0");
|
||||
mainframe.setXmlParam("h", integerToString(COMP_H));
|
||||
mainframe.setXmlParam("relath", "0");
|
||||
|
||||
g_sui.setXmlParam("w", integerToString(sui_w));
|
||||
p_enlarge.show();
|
||||
p_small.hide();
|
||||
}
|
||||
}
|
||||
|
||||
g_playlist.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
int pos = dualwnd.getPosition();
|
||||
debugString(integerToString(pos), 9);
|
||||
updateMainPoppler(min_infowidth - pos - 8);
|
||||
|
||||
if (pos > 0
|
||||
#ifdef DOHIDEMCV
|
||||
|| dualwnd.getXMlParam("from") == "left"
|
||||
#endif
|
||||
)
|
||||
{
|
||||
//setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
|
||||
if (!wdh_pl.isVisible())
|
||||
{
|
||||
setPrivateString(getSkinName(), "Pledit_pos", "top");
|
||||
g_sui.sendAction("hide_comp", "pe", 0,0,0,0);
|
||||
|
||||
dc_openPl.start();
|
||||
}
|
||||
|
||||
if (isBig)
|
||||
{
|
||||
if (w > 189)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.show();
|
||||
pe_manage.show();
|
||||
}
|
||||
else if (w <= 189 && w >158)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.show();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 158 && w >127)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 127 && w >96)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 96 && w >65)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.hide();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
pe_add.hide();
|
||||
pe_rem.hide();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (w > 146)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.show();
|
||||
pe_manage.show();
|
||||
}
|
||||
else if (w <= 146 && w >122)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.show();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 122 && w >98)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.show();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 98 && w >74)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.show();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else if (w <= 74 && w >50)
|
||||
{
|
||||
pe_add.show();
|
||||
pe_rem.hide();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
pe_add.hide();
|
||||
pe_rem.hide();
|
||||
pe_sel.hide();
|
||||
pe_misc.hide();
|
||||
pe_manage.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
else wdh_pl.hide();
|
||||
if (playlist_enlarge_attrib.getdata() == "1")
|
||||
{
|
||||
int sui_w = - g_playlist.getWidth() - (2 * SIDESPACER) - 8;
|
||||
g_sui.setXmlParam("w", integerToString(sui_w));
|
||||
if (startup)
|
||||
{
|
||||
startup = 0;
|
||||
mainframe.setXmlParam("relath", "1");
|
||||
mainframe.setXmlParam("h", integerToString(MAX_PL_H));
|
||||
dualwnd.setXmlParam("relath", "1");
|
||||
dualwnd.setXmlParam("h", integerToString(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
normal.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
playlist_enlarge_attrib.onDataChanged();
|
||||
int pos = dualwnd.getPosition();
|
||||
if (pos > 0
|
||||
#ifdef DOHIDEMCV
|
||||
|| dualwnd.getXMlParam("from") == "left"
|
||||
#endif
|
||||
)
|
||||
{
|
||||
updatePoppler(pos);
|
||||
dc_openPL.start();
|
||||
}
|
||||
else wdh_pl.hide();//hideWa2Component(PL_GUID);
|
||||
}
|
||||
}
|
||||
|
||||
normal.onUserResize (int x, int y, int w, int h)
|
||||
{
|
||||
int pos = dualwnd.getPosition();
|
||||
if (pos > 0) updatePoppler(pos);
|
||||
}
|
||||
|
||||
/** Hide pl_time if it cannot be full displayed */
|
||||
|
||||
pl_time.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
if (w < getTextWidth())
|
||||
{
|
||||
hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
pl_time.onTextChanged (String newtxt)
|
||||
{
|
||||
if (getWidth() < getTextWidth())
|
||||
{
|
||||
hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
/** Playlist Component Handling */
|
||||
|
||||
System.onGetCancelComponent (String guid, boolean goingvisible)
|
||||
{
|
||||
if (getPrivateString(getSkinName(), "Pledit_pos", "top") == "sui")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " )", D_WTF);
|
||||
if (guid == PL_GUID)
|
||||
{
|
||||
Boolean isShade = player.getCurLayout() != normal;
|
||||
if (goingvisible == TRUE && !isShade)
|
||||
{
|
||||
int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
|
||||
if (poppler_w < 1) poppler_w = 200;
|
||||
g_playlist.show();
|
||||
updatePoppler(poppler_w);
|
||||
dc_openPl.start();
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dualwnd.getPosition() > 0) setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
|
||||
wdh_pl.hide();
|
||||
dualwnd.setPosition(0);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (action == "load_comp" && strlower(param) == "pledit")
|
||||
{
|
||||
int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
|
||||
if (dualwnd.getPosition() > 0) poppler_w = dualwnd.getPosition();
|
||||
if (dualwnd.getPosition() == 0) poppler_w = 200;
|
||||
updatePoppler(poppler_w);
|
||||
dc_openPl.start();
|
||||
}
|
||||
if (action == "hide_comp" && strlower(param) == "pledit")
|
||||
{
|
||||
setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
|
||||
wdh_pl.hide();
|
||||
dualwnd.setPosition(0);
|
||||
}
|
||||
if (action == "pledit_posupdate")
|
||||
{
|
||||
int pos = dualwnd.getPosition();
|
||||
if (pos > 0) updatePoppler(pos);
|
||||
}
|
||||
if (action == "sui")
|
||||
{
|
||||
if (param == "tonocomp")
|
||||
{
|
||||
if (playlist_cover_attrib.getData() == "1")
|
||||
{
|
||||
int pos = pl_dualwnd.getPosition();
|
||||
if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
|
||||
}
|
||||
bypass_nocomp = TRUE; //we need to add a bypass otherwise playlist_cover_attrib will be turned OFF
|
||||
pl_dualwnd.setPosition (0);
|
||||
g_cover.hide();
|
||||
bypass_nocomp = FALSE;
|
||||
}
|
||||
else if (param == "fromnocomp")
|
||||
{
|
||||
playlist_cover_attrib.onDataChanged ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dualwnd.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (action == "set_maxwidth")
|
||||
{
|
||||
// update poppler for playlist/infocomp
|
||||
updatePoppler(dualwnd.getPosition());
|
||||
// update poppler bands for player/infocomp
|
||||
min_infowidth = x;
|
||||
updateMainPoppler(min_infowidth - dualwnd.getPosition() - 8);
|
||||
}
|
||||
}
|
||||
|
||||
wdh_pl.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString("wdh_pl set visible: " + integerToString(onoff), 9);
|
||||
if (onoff)
|
||||
{
|
||||
playlist_cover_attrib.onDataChanged();
|
||||
}
|
||||
else
|
||||
{
|
||||
int pos = pl_dualwnd.getPosition();
|
||||
if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
|
||||
}
|
||||
}
|
||||
|
||||
updatePoppler(int w)
|
||||
{
|
||||
if (dualwnd.getPosition() == 0 && w == 0) return;
|
||||
int min_w = stringToInteger(dualwnd.getXmlParam("minwidth"));
|
||||
int max_w = stringToInteger(dualwnd.getXmlParam("maxwidth"));
|
||||
if (max_w < 0) max_w = dualwnd.getWidth() + max_w;
|
||||
debugString("max_w: " + integerToString(max_w), 9);
|
||||
boolean reset = FALSE;
|
||||
reset += (w == 0);
|
||||
reset += (w < min_w);
|
||||
if (reset) w = min_w;
|
||||
|
||||
// Prevent the playlist from overlapping the player
|
||||
if (w > max_w)
|
||||
{
|
||||
w = max_w;
|
||||
|
||||
// Resize the player to get more space
|
||||
if (max_w < min_w)
|
||||
{
|
||||
w = min_w;
|
||||
int mainframe_pos = mainframe.getPosition() - (min_w - max_w); // I need to save this in a variable first, otherwise mainframe.setPos will crash...
|
||||
mainframe.setPosition(mainframe_pos);
|
||||
}
|
||||
}
|
||||
debugString("set poppler: " + integerToString(w), 9);
|
||||
dualwnd.setPosition(w);
|
||||
}
|
||||
|
||||
updateMainPoppler (int w)
|
||||
{
|
||||
mainframe.setXmlparam("maxwidth", integerToString(w));
|
||||
}
|
||||
|
||||
dc_openPl.onTimer ()
|
||||
{
|
||||
dc_openPl.stop();
|
||||
debugString("dc_openPl called!", 9);
|
||||
wdh_pl.show();
|
||||
g_playlist.show();
|
||||
g_upper.show();
|
||||
//if (!wdh_pl.isVisible()) debugInt(g_playlist.getWidth());
|
||||
}
|
||||
|
||||
dc_closePl.onTimer ()
|
||||
{
|
||||
dc_closePl.stop();
|
||||
wdh_pl.hide();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// Playlist Album Art Handles
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Global boolean attrib_bypass = false;
|
||||
|
||||
playlist_cover_attrib.onDataChanged ()
|
||||
{
|
||||
if (attrib_bypass)
|
||||
return;
|
||||
|
||||
if (playlist_enlarge_attrib.getData() == "0")
|
||||
return;
|
||||
|
||||
if (getData() == "1")
|
||||
{
|
||||
int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
|
||||
if (pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
|
||||
{
|
||||
pl_dualwnd.setPosition (pos);
|
||||
g_cover.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
pl_dualwnd.setPosition (0);
|
||||
g_cover.hide();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int pos = pl_dualwnd.getPosition();
|
||||
if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
|
||||
pl_dualwnd.setPosition(0);
|
||||
g_cover.hide();
|
||||
}
|
||||
}
|
||||
|
||||
Global Boolean bypass;
|
||||
|
||||
player.onBeforeSwitchToLayout (Layout oldlayout, Layout newlayout)
|
||||
{
|
||||
if (oldlayout == normal)
|
||||
{
|
||||
bypass = 1;
|
||||
}
|
||||
}
|
||||
|
||||
g_cover.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (bypass)
|
||||
{
|
||||
bypass = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "1" && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden" && playlist_enlarge_attrib.getData() == "1" && dualwnd.getPosition() > 0)
|
||||
{
|
||||
playlist_cover_attrib.setdata("0");
|
||||
}
|
||||
else if (onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "0" && dualwnd.getPosition() > 0)
|
||||
{
|
||||
attrib_bypass = true;
|
||||
playlist_cover_attrib.setdata("1");
|
||||
attrib_bypass = false;
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/pledit.maki
Normal file
90
Src/resources/skins/Big Bento/scripts/seek.m
Normal file
@ -0,0 +1,90 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: seek.m
|
||||
Version: 1.2
|
||||
|
||||
Type: maki
|
||||
Date: 23. Jul. 2007 - 22:52
|
||||
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 seek.m
|
||||
from Winamp Modern
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Group frameGroup;
|
||||
Global Slider Seeker, SeekerBehind;
|
||||
Global Int Seeking;
|
||||
Global GuiObject SongTicker;
|
||||
Global GuiObject progressBar;
|
||||
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
frameGroup = system.getScriptGroup();
|
||||
Seeker = frameGroup.findObject("seeker.ghost");
|
||||
SeekerBehind = frameGroup.findObject("seeker.ghost");
|
||||
progressBar = frameGroup.findObject("progressbar");
|
||||
SongTicker = frameGroup.getParentLayout().findObject("songticker");
|
||||
|
||||
progressBar.hide();
|
||||
progressBar.show();
|
||||
|
||||
if (getStatus() == 0 || !seeker.isvisible())
|
||||
{
|
||||
progressBar.hide();
|
||||
}
|
||||
}
|
||||
|
||||
Seeker.onSetPosition(int p) {
|
||||
if (seeking) {
|
||||
Float f;
|
||||
f = p;
|
||||
f = f / 255 * 100;
|
||||
Float len = getPlayItemLength();
|
||||
if (len != 0) {
|
||||
int np = len * f / 100;
|
||||
SongTicker.sendAction
|
||||
(
|
||||
"showinfo",
|
||||
translate("Seek") + ": " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ",
|
||||
0, 0, 0, 0
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Hehe, this is the best trick i figured out to indicate if we have a stream */
|
||||
|
||||
Seeker.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
progressBar.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
progressBar.hide();
|
||||
}
|
||||
}
|
||||
|
||||
Seeker.onLeftButtonDown(int x, int y) {
|
||||
seeking = 1;
|
||||
Seeker.setAlpha(128);
|
||||
SeekerBehind.show();
|
||||
}
|
||||
|
||||
Seeker.onLeftButtonUp(int x, int y) {
|
||||
seeking = 0;
|
||||
Seeker.setAlpha(255);
|
||||
SeekerBehind.hide();
|
||||
SongTicker.sendAction("cancelinfo", "", 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
Seeker.onSetFinalPosition(int p) {
|
||||
SongTicker.sendAction("cancelinfo", "", 0, 0, 0, 0);
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/seek.maki
Normal file
74
Src/resources/skins/Big Bento/scripts/shadelinks.m
Normal file
@ -0,0 +1,74 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: syncbutton.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 25. Jun. 2007 - 14:04
|
||||
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/com/songinfo.m>
|
||||
|
||||
//nothing to see here
|
||||
|
||||
Function String getArtist ();
|
||||
|
||||
/*
|
||||
|
||||
Global Button search, nowplaying;
|
||||
Global boolean isShade;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
search = getScriptGroup().getObject("search");
|
||||
isShade = (search.getParentLayout().getId() == "shade");
|
||||
nowplaying = getScriptGroup().getObject("nowplaying");
|
||||
}
|
||||
|
||||
search.onLeftClick ()
|
||||
{
|
||||
String artist = getArtist();
|
||||
if (artist == "") return;
|
||||
|
||||
getContainer("main").switchToLayout("normal");
|
||||
group sui = getContainer("main").getLayout("normal").findObject("sui.content");
|
||||
sui.sendAction ("browser_search", artist, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
nowplaying.onLeftClick ()
|
||||
{
|
||||
String artist = getArtist();
|
||||
if (artist == "") return;
|
||||
|
||||
//getContainer("main").switchToLayout("normal");
|
||||
String icid = "fileinfoicon";
|
||||
if (isShade)
|
||||
{
|
||||
icid = "winshadeiconbento";
|
||||
}
|
||||
System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid="+ icid +"&artistName=" + artist);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
String getArtist ()
|
||||
{
|
||||
songinfo_reload();
|
||||
if (songinfo_isStream && songinfo_artist == "")
|
||||
{
|
||||
int v = strsearch(songinfo_streamtitle, " - ");
|
||||
if (v > 0)
|
||||
{
|
||||
return strleft(songinfo_streamtitle, v);
|
||||
}
|
||||
return songinfo_streamtitle;
|
||||
}
|
||||
|
||||
return songinfo_artist;
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/shadelinks.maki
Normal file
217
Src/resources/skins/Big Bento/scripts/shadesize.m
Normal file
@ -0,0 +1,217 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: shadesize.m
|
||||
Version: 2.1
|
||||
Type: maki
|
||||
Date: 23. Jul. 2007 - 17:24
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_appearance.m
|
||||
|
||||
Function updateObjectPosition(int w);
|
||||
|
||||
Global Group scriptGroup;
|
||||
//Global Group g_cbuttons, g_sysbuttons, g_display, g_volume, g_seek, g_vis, g_links;
|
||||
Global Group g_cbuttons, g_sysbuttons, g_display, g_volume, g_seek, g_vis;
|
||||
|
||||
//Global Int minumim_w, x_cbuttons, w_cbuttons, w_sysbuttons, w_volume, w_display, w_seek, w_vis, x_seek, w_links, w_links_, x_links, x_links_;
|
||||
Global Int minumim_w, x_cbuttons, w_cbuttons, w_sysbuttons, w_volume, w_display, w_seek, w_vis, x_seek;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_Appearance();
|
||||
|
||||
scriptGroup = getScriptGroup();
|
||||
|
||||
g_cbuttons = scriptGroup.findObject("shade.cbuttons");
|
||||
x_cbuttons = stringToInteger(g_cbuttons.getXmlParam("x"));
|
||||
w_cbuttons = stringToInteger(g_cbuttons.getXmlParam("w"));
|
||||
|
||||
g_seek = scriptGroup.findObject("shade.seek");
|
||||
w_seek = stringToInteger(g_seek.getXmlParam("w"));
|
||||
x_seek = stringToInteger(g_seek.getXmlParam("x"));
|
||||
|
||||
g_vis = scriptGroup.findObject("shade.vis");
|
||||
w_vis = stringToInteger(g_vis.getXmlParam("w"));
|
||||
|
||||
/*
|
||||
g_links = scriptGroup.findObject("shade.links");
|
||||
w_links_ = stringToInteger(g_links.getXmlParam("w"));
|
||||
x_links_ = stringToInteger(g_links.getXmlParam("x"));
|
||||
*/
|
||||
w_sysbuttons = stringToInteger(getParam());
|
||||
|
||||
g_display = scriptGroup.findObject("shade.display");
|
||||
w_display = stringToInteger(g_display.getXmlParam("w"));
|
||||
g_volume = scriptGroup.findObject("shade.volume");
|
||||
w_volume = stringToInteger(g_volume.getXmlParam("w"));
|
||||
}
|
||||
|
||||
scriptGroup.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
updateObjectPosition(w);
|
||||
}
|
||||
|
||||
scriptGroup.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff)
|
||||
{
|
||||
updateObjectPosition(scriptGroup.getWidth());
|
||||
}
|
||||
}
|
||||
/*
|
||||
artist_info_buttons_attrib.onDataChanged ()
|
||||
{
|
||||
updateObjectPosition(scriptGroup.getWidth());
|
||||
}
|
||||
*/
|
||||
updateObjectPosition (int w)
|
||||
{
|
||||
/* if (artist_info_buttons_attrib.getData() == "1")
|
||||
{
|
||||
w_links = w_links_;
|
||||
x_links = x_links_;
|
||||
}
|
||||
else
|
||||
{
|
||||
w_links = x_links = 0;
|
||||
}
|
||||
*/
|
||||
|
||||
// if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 3.5 * w_seek + w_vis + w_links)
|
||||
if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 3.5 * w_seek + w_vis)
|
||||
{
|
||||
// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - 2*w_seek - w_links));
|
||||
g_seek.setXmlParam("x", integerToString(x_seek - 2*w_seek));
|
||||
g_seek.setXmlParam("w", integerToString(3 * w_seek));
|
||||
g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
|
||||
g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
|
||||
// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 3 * w_seek - w_vis - w_links));
|
||||
g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 3 * w_seek - w_vis));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.show();
|
||||
g_vis.show();
|
||||
/* if(w_links != 0) g_links.show();
|
||||
else g_links.hide();
|
||||
*/
|
||||
}
|
||||
// else if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 2 * w_seek + w_vis + w_links)
|
||||
else if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 2 * w_seek + w_vis)
|
||||
{
|
||||
// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_seek - w_links));
|
||||
g_seek.setXmlParam("x", integerToString(x_seek - w_seek));
|
||||
g_seek.setXmlParam("w", integerToString(2 * w_seek));
|
||||
g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
|
||||
g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
|
||||
// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 2 * w_seek - w_vis - w_links));
|
||||
g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 2 * w_seek - w_vis));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.show();
|
||||
g_vis.show();
|
||||
/* if(w_links != 0) g_links.show();
|
||||
else g_links.hide();
|
||||
*/
|
||||
}
|
||||
// else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_vis + w_links)
|
||||
else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_vis)
|
||||
{
|
||||
// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_links));
|
||||
g_seek.setXmlParam("x", integerToString(x_seek));
|
||||
g_seek.setXmlParam("w", integerToString(w_seek));
|
||||
g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
|
||||
g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
|
||||
// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_vis - w_links));
|
||||
g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_vis));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.show();
|
||||
g_vis.show();
|
||||
/* if(w_links != 0) g_links.show();
|
||||
else g_links.hide();
|
||||
*/
|
||||
}
|
||||
// else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_links)
|
||||
else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek)
|
||||
{
|
||||
// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_links));
|
||||
g_seek.setXmlParam("x", integerToString(x_seek));
|
||||
g_seek.setXmlParam("w", integerToString(w_seek));
|
||||
g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
|
||||
g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
|
||||
// g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_links));
|
||||
g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.show();
|
||||
g_vis.hide();
|
||||
/* if(w_links != 0) g_links.show();
|
||||
else g_links.hide();
|
||||
*/
|
||||
}
|
||||
else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek)
|
||||
{
|
||||
g_seek.setXmlParam("x", integerToString(x_seek));
|
||||
g_seek.setXmlParam("w", integerToString(w_seek));
|
||||
g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
|
||||
g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
|
||||
g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.show();
|
||||
g_vis.hide();
|
||||
// g_links.hide();
|
||||
}
|
||||
else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons)
|
||||
{
|
||||
g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
|
||||
g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
|
||||
g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.show();
|
||||
g_seek.hide();
|
||||
g_vis.hide();
|
||||
// g_links.hide();
|
||||
}
|
||||
else if (w >= x_cbuttons + w_cbuttons + w_display + w_sysbuttons)
|
||||
{
|
||||
g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
|
||||
g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
|
||||
g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
|
||||
g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons));
|
||||
g_display.setXmlParam("relatw", "1");
|
||||
g_display.show();
|
||||
g_volume.hide();
|
||||
g_seek.hide();
|
||||
g_vis.hide();
|
||||
// g_links.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
|
||||
g_volume.hide();
|
||||
g_display.hide();
|
||||
g_seek.hide();
|
||||
g_vis.hide();
|
||||
// g_links.hide();
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/shadesize.maki
Normal file
72
Src/resources/skins/Big Bento/scripts/simplemaximize.m
Normal file
@ -0,0 +1,72 @@
|
||||
/**
|
||||
* simlple maximize script
|
||||
*
|
||||
* doesn't require a registry store, so ideal for standardframes
|
||||
* required objects: maximize & restore as buttons
|
||||
*
|
||||
* @author mpdeimos
|
||||
* @version 0.1
|
||||
*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Button restore, maximize;
|
||||
Global Layout parent;
|
||||
|
||||
Global Int lx, ly, lw, lh;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
restore = getScriptGroup().findObject("restore");
|
||||
maximize = getScriptGroup().findObject("maximize");
|
||||
parent = getScriptGroup().getParentLayout();
|
||||
|
||||
lx = -1;
|
||||
ly = -1;
|
||||
lh = -1;
|
||||
lw = -1;
|
||||
}
|
||||
|
||||
parent.onResize (int x, int y, int w, int h)
|
||||
{
|
||||
double d = getScale();
|
||||
if (getLeft() == getViewPortLeftfromGuiObject(parent) && getTop() == getViewPortTopfromGuiObject(parent) && getWidth() == getViewPortWidthfromGuiObject(parent)/d && getHeight() == getViewPortHeightfromGuiObject(parent)/d)
|
||||
{
|
||||
restore.show();
|
||||
maximize.hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
restore.hide();
|
||||
maximize.show();
|
||||
}
|
||||
}
|
||||
|
||||
maximize.onLeftClick ()
|
||||
{
|
||||
lx = parent.getLeft();
|
||||
ly = parent.getTop();
|
||||
lw = parent.getWidth();
|
||||
lh = parent.getHeight();
|
||||
|
||||
double d = parent.getScale();
|
||||
parent.resize(getViewPortLeftfromGuiObject(parent), getViewPortTopfromGuiObject(parent), getViewPortWidthfromGuiObject(parent)/d, getViewPortHeightfromGuiObject(parent)/d);
|
||||
}
|
||||
|
||||
|
||||
restore.onLeftClick ()
|
||||
{
|
||||
if (lx == -1)
|
||||
lx = parent.getLeft() - 75;
|
||||
if (ly == -1)
|
||||
ly = parent.getTop() - 75;
|
||||
if (lw == -1)
|
||||
lw = parent.getWidth() - 150;
|
||||
if (lh == -1)
|
||||
lh = parent.getHeight() - 150;
|
||||
|
||||
parent.resize(lx,ly,lw,lh);
|
||||
}
|
||||
|
||||
|
||||
// TODO (mpdeimos) add scale recognizing
|
BIN
Src/resources/skins/Big Bento/scripts/simplemaximize.maki
Normal file
214
Src/resources/skins/Big Bento/scripts/songinfo.m
Normal file
@ -0,0 +1,214 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: songinfo.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 20. Nov. 2006 - 22:47
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Function int getChannels (); // returning 1 for mono, 2 for stereo, more for multichannel (e.g. 6), -1 for no info available
|
||||
Function string getBitrate();
|
||||
Function string getFrequency();
|
||||
|
||||
Global layer monster;
|
||||
Global timer delayload, songInfoTimer;
|
||||
|
||||
Global Text Bitrate, Frequency;
|
||||
Global Layer l_Bitrate, l_Frequency;
|
||||
Global int tempwidth;
|
||||
Global boolean param;
|
||||
|
||||
System.onScriptLoaded()
|
||||
{
|
||||
group PlayerDisplay = getScriptgroup();
|
||||
|
||||
param = (getParam() == "big");
|
||||
|
||||
monster = PlayerDisplay.findObject("monster");
|
||||
|
||||
Bitrate = PlayerDisplay.findObject("Bitrate");
|
||||
Frequency = PlayerDisplay.findObject("Frequency");
|
||||
l_Bitrate = PlayerDisplay.findObject("Bitrate.label");
|
||||
l_Frequency = PlayerDisplay.findObject("Frequency.label");
|
||||
|
||||
delayload = new Timer;
|
||||
delayload.setDelay(100);
|
||||
|
||||
songInfoTimer = new Timer;
|
||||
songInfoTimer.setDelay(1000);
|
||||
|
||||
Int PlayerStatus = System.getStatus();
|
||||
|
||||
if ( PlayerStatus != 0 )
|
||||
{
|
||||
delayload.start();
|
||||
bitrate.setText(getBitrate());
|
||||
Frequency.setText(getFrequency());
|
||||
if (PlayerStatus == 1)
|
||||
{
|
||||
songInfoTimer.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
system.onScriptUnloading ()
|
||||
{
|
||||
songinfotimer.stop();
|
||||
delete songinfotimer;
|
||||
delayload.stop();
|
||||
delete delayload;
|
||||
}
|
||||
|
||||
System.onResume()
|
||||
{
|
||||
delayload.start();
|
||||
songInfoTimer.start();
|
||||
}
|
||||
|
||||
System.onPlay()
|
||||
{
|
||||
delayload.start();
|
||||
songInfoTimer.start();
|
||||
}
|
||||
|
||||
System.onStop ()
|
||||
{
|
||||
monster.setXmlParam("image", "player.songinfo.na");
|
||||
songInfoTimer.stop();
|
||||
}
|
||||
|
||||
system.onPause ()
|
||||
{
|
||||
songInfoTimer.stop();
|
||||
}
|
||||
|
||||
System.onTitleChange(String newtitle)
|
||||
{
|
||||
delayload.start();
|
||||
bitrate.setText(getBitrate());
|
||||
}
|
||||
|
||||
delayload.onTimer ()
|
||||
{
|
||||
delayload.stop();
|
||||
int c = getChannels();
|
||||
if (c == -1) monster.setXmlParam("image", "player.songinfo.na");
|
||||
else if (c == 1) monster.setXmlParam("image", "player.songinfo.mono");
|
||||
else if (c == 2 || c == 3) monster.setXmlParam("image", "player.songinfo.stereo");
|
||||
else
|
||||
{
|
||||
if (tempwidth > 23) monster.setXmlParam("image", "player.songinfo.multi2");
|
||||
else monster.setXmlParam("image", "player.songinfo.multi");
|
||||
}
|
||||
//ensure to display bitrate & frequency
|
||||
bitrate.setText(getBitrate());
|
||||
Frequency.setText(getFrequency());
|
||||
}
|
||||
|
||||
Int getChannels ()
|
||||
{
|
||||
if (strsearch(getSongInfoText(), "tereo") != -1)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if (strsearch(getSongInfoText(), "ono") != -1)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if (strsearch(getSongInfoText(), "annels") != -1)
|
||||
{
|
||||
int pos = strsearch(getSongInfoText(), "annels");
|
||||
return stringToInteger(strmid(getSongInfoText(), pos - 4, 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
songInfoTimer.onTimer ()
|
||||
{
|
||||
bitrate.setText(getBitrate());
|
||||
}
|
||||
|
||||
string getBitrate ()
|
||||
{
|
||||
string sit = strlower(getSongInfoText());
|
||||
if (sit != "")
|
||||
{
|
||||
string rtn;
|
||||
int searchresult;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
rtn = getToken(sit, " ", i);
|
||||
searchResult = strsearch(rtn, "kbps");
|
||||
if (searchResult>0) return StrMid(rtn, 0, searchResult);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
string getFrequency ()
|
||||
{
|
||||
string sit = strlower(getSongInfoText());
|
||||
if (sit != "")
|
||||
{
|
||||
string rtn;
|
||||
int searchresult;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
rtn = getToken(sit, " ", i);
|
||||
searchResult = strsearch(strlower(rtn), "khz");
|
||||
if (searchResult>0)
|
||||
{
|
||||
rtn = StrMid(rtn, 0, searchResult);
|
||||
searchResult = strsearch(strlower(rtn), ".");
|
||||
if (searchResult>0)
|
||||
{
|
||||
rtn = getToken(rtn, ".", 0);
|
||||
}
|
||||
return rtn;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Bitrate.onTextChanged (String newtxt)
|
||||
{
|
||||
if (param) return;
|
||||
if (Bitrate.getTextWidth() == tempwidth) return;
|
||||
tempwidth = getTextWidth();
|
||||
if (getTextWidth() > 23)
|
||||
{
|
||||
monster.setXmlParam("x", "-39");
|
||||
Frequency.setXmlParam("x", "-75");
|
||||
l_Bitrate.setXmlParam("x", "-91");
|
||||
l_Frequency.setXmlParam("x", "-58");
|
||||
Bitrate.setXmlParam("w", "26");
|
||||
if (getChannels() > 3) monster.setXmlParam("image", "player.songinfo.multi2");
|
||||
}
|
||||
else
|
||||
{
|
||||
monster.setXmlParam("x", "-45");
|
||||
Frequency.setXmlParam("x", "-80");
|
||||
l_Bitrate.setXmlParam("x", "-96");
|
||||
l_Frequency.setXmlParam("x", "-63");
|
||||
Bitrate.setXmlParam("w", "20");
|
||||
if (getChannels() > 3) monster.setXmlParam("image", "player.songinfo.multi");
|
||||
}
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/songinfo.maki
Normal file
190
Src/resources/skins/Big Bento/scripts/songticker.m
Normal file
@ -0,0 +1,190 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: songticker.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 18. Nov. 2006 - 16:08
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include attribs/init_songticker.m
|
||||
|
||||
Function setTextW();
|
||||
Function updateTickerScrolling();
|
||||
|
||||
Global Timer SongTickerTimer;
|
||||
Global GuiObject SongTicker;
|
||||
Global Text SongTime, InfoDisplay;
|
||||
Global int SongTicker_x, SongTicker_w, total_w;
|
||||
Global int SongTime_x, SongTime_w, offset_x;
|
||||
|
||||
Global Boolean isShade, byPassTimer;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
initAttribs_Songticker();
|
||||
|
||||
group sg = getScriptGroup();
|
||||
|
||||
if (sg.getParentLayout().getID() == "shade") isShade = TRUE;
|
||||
|
||||
SongTicker = sg.findObject("songticker");
|
||||
InfoDisplay = sg.findObject("InfoDisplay");
|
||||
SongTickerTimer = new Timer;
|
||||
SongTickerTimer.setDelay(666);
|
||||
|
||||
SongTime = sg.findObject("SongTime");
|
||||
|
||||
SongTicker_x = SongTicker.getGuiX();
|
||||
SongTicker_w = SongTicker.getGuiW();
|
||||
|
||||
total_w = SongTicker_x + SongTicker_w;
|
||||
|
||||
SongTime_x = SongTime.getGuiX();
|
||||
SongTime_w = SongTime.getTextWidth();
|
||||
|
||||
offset_x = stringToInteger(getParam());
|
||||
|
||||
setTextW();
|
||||
|
||||
updateTickerScrolling();
|
||||
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
SongTickerTimer.stop();
|
||||
delete SongTickerTimer;
|
||||
}
|
||||
|
||||
SongTicker.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
if (strlower(action) == "showinfo")
|
||||
{
|
||||
InfoDisplay.cancelTarget();
|
||||
Songticker.cancelTarget();
|
||||
SongTickerTimer.stop();
|
||||
SongTickerTimer.start();
|
||||
InfoDisplay.setText(param);
|
||||
InfoDisplay.setAlpha(255);
|
||||
SongTicker.setAlpha(0);
|
||||
}
|
||||
else if (strlower(action) == "cancelinfo")
|
||||
{
|
||||
SongTickerTimer.onTimer ();
|
||||
}
|
||||
else if (strlower(action) == "setguix")
|
||||
{
|
||||
byPassTimer = TRUE;
|
||||
SongTicker_X = x;
|
||||
SongTicker_W = total_w - SongTicker_X;
|
||||
SongTicker.setXmlParam("x", integerToString(SongTicker_X));
|
||||
InfoDisplay.setXmlParam("x", integerToString(SongTicker_X));
|
||||
SongTicker.setXmlParam("w", integerToString(SongTicker_W));
|
||||
InfoDisplay.setXmlParam("w", integerToString(SongTicker_W));
|
||||
}
|
||||
else if (strlower(action) == "restoreguix")
|
||||
{
|
||||
byPassTimer = FALSE;
|
||||
setTextW ();
|
||||
}
|
||||
}
|
||||
|
||||
SongTickerTimer.onTimer ()
|
||||
{
|
||||
SongTickerTimer.stop();
|
||||
InfoDisplay.cancelTarget();
|
||||
InfoDisplay.setTargetA(0);
|
||||
InfoDisplay.setTargetSpeed(0.3);
|
||||
InfoDisplay.gotoTarget();
|
||||
}
|
||||
|
||||
InfoDisplay.onTargetReached ()
|
||||
{
|
||||
if (InfoDisplay.getAlpha() == 0)
|
||||
{
|
||||
setTextW ();
|
||||
Songticker.cancelTarget();
|
||||
Songticker.setTargetA(255);
|
||||
Songticker.setTargetX(Songticker.getGuiX());
|
||||
Songticker.setTargetW(Songticker.getGuiW());
|
||||
Songticker.setTargetSpeed(0.3);
|
||||
Songticker.gotoTarget();
|
||||
}
|
||||
}
|
||||
|
||||
/* Changing TickerScrolling via Config Attrib */
|
||||
|
||||
ScrollingAttribute.onDataChanged ()
|
||||
{
|
||||
setTextW ();
|
||||
updateTickerScrolling();
|
||||
}
|
||||
|
||||
updateTickerScrolling ()
|
||||
{
|
||||
if (Songticker == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (songticker_scrolling_disabled_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "off");
|
||||
if (songticker_style_modern_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "bounce");
|
||||
if (songticker_style_old_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "scroll");
|
||||
}
|
||||
|
||||
/* set Songticker Position */
|
||||
|
||||
setTextW ()
|
||||
{
|
||||
if (byPassTimer) return;
|
||||
|
||||
if (Songticker == NULL || InfoDisplay == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SongTicker_X = SongTime_X + SongTime_w + offset_x;
|
||||
SongTicker_W = total_w - SongTicker_X;
|
||||
|
||||
/*if (!isShade)
|
||||
{
|
||||
if (SongTime_w > 89)
|
||||
{
|
||||
SongTime.setXmlParam("x", "0");
|
||||
SongTicker_X = SongTime_X + SongTime_w + offset_x - 11;
|
||||
SongTicker_W = total_w - SongTicker_X + 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
SongTime.setXmlParam("x", "10");
|
||||
}
|
||||
}*/
|
||||
|
||||
// debugString(system.getScriptGroup().getParentLayout().getID() + " -- x: " + integerToString(SongTicker_X) + " -- w: " + integerToString(SongTicker_W), 9);
|
||||
|
||||
Songticker.setXmlParam("x", integerToString(SongTicker_X));
|
||||
Songticker.setXmlParam("w", integerToString(SongTicker_W));
|
||||
InfoDisplay.setXmlParam("x", integerToString(SongTicker_X));
|
||||
InfoDisplay.setXmlParam("w", integerToString(SongTicker_W));
|
||||
}
|
||||
|
||||
SongTime.onTextChanged (String newtxt)
|
||||
{
|
||||
int temp_w = SongTime.getTextWidth();
|
||||
if (SongTime_w == temp_w) return;
|
||||
|
||||
SongTime_w = temp_w;
|
||||
setTextW ();
|
||||
}
|
||||
|
||||
songticker.onTargetReached ()
|
||||
{
|
||||
setTextW ();
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/songticker.maki
Normal file
68
Src/resources/skins/Big Bento/scripts/standardframe.m
Normal file
@ -0,0 +1,68 @@
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global Group frameGroup, content;//, titlebar;
|
||||
Global String x, y, w, h, rx, ry, rw, rh;
|
||||
//Global Layer mouselayer;
|
||||
Global Button Sysmenu;
|
||||
|
||||
Function setNewGroup(String groupid);
|
||||
|
||||
System.onScriptLoaded() {
|
||||
frameGroup = getScriptGroup();
|
||||
String param = getParam();
|
||||
x = getToken(param, ",", 0);
|
||||
y = getToken(param, ",", 1);
|
||||
w = getToken(param, ",", 2);
|
||||
h = getToken(param, ",", 3);
|
||||
rx = getToken(param, ",", 4);
|
||||
ry = getToken(param, ",", 5);
|
||||
rw = getToken(param, ",", 6);
|
||||
rh = getToken(param, ",", 7);
|
||||
sysmenu = frameGroup.findObject("sysmenu");
|
||||
}
|
||||
|
||||
System.onSetXuiParam(String param, String value) {
|
||||
if (param == "content") {
|
||||
setNewGroup(value);
|
||||
//titlebar = frameGroup.findObject("wasabi.titlebar");
|
||||
//mouselayer = titlebar.findObject("mousetrap");
|
||||
}
|
||||
/*if (param == "padtitleright" || param == "padtitleleft") {
|
||||
if (titlebar != NULL) titlebar.setXmlParam(param, value);
|
||||
}
|
||||
if (param == "shade") {
|
||||
if (mouselayer != NULL) mouselayer.setXmlParam("dblclickaction", "switch;"+value);
|
||||
else messagebox("Cannot set shade parameter for StandardFrame object, no mousetrap found", "Skin Error", 0, "");
|
||||
}*/
|
||||
}
|
||||
|
||||
// backward compatibility for prerelease notify trick
|
||||
frameGroup.onNotify(String cmd, String param, int a, int b) {
|
||||
String _command = getToken(cmd, ",", 0);
|
||||
String _param = getToken(cmd, ",", 1);
|
||||
if (_command == "content" || _command == "padtitleright" || _command == "padtitleleft" || _command == "shade") {
|
||||
onSetXuiParam(_command, _param);
|
||||
}
|
||||
}
|
||||
|
||||
setNewGroup(String groupid) {
|
||||
content = newGroup(groupid);
|
||||
if (content == NULL) {
|
||||
messagebox("group \"" + groupid + "\" not found", "ButtonGroup", 0, "");
|
||||
return;
|
||||
}
|
||||
content.setXmlParam("x", x);
|
||||
content.setXmlParam("y", y);
|
||||
content.setXmlParam("w", w);
|
||||
content.setXmlParam("h", h);
|
||||
content.setXmlParam("relatx", rx);
|
||||
content.setXmlParam("relaty", ry);
|
||||
content.setXmlParam("relatw", rw);
|
||||
content.setXmlParam("relath", rh);
|
||||
content.init(frameGroup);
|
||||
}
|
||||
|
||||
Sysmenu.onLeftClick() {
|
||||
LayoutStatus _status = frameGroup.findObject("sysmenu.status");
|
||||
_status.callme("{system}");
|
||||
}
|
BIN
Src/resources/skins/Big Bento/scripts/standardframe.maki
Normal file
410
Src/resources/skins/Big Bento/scripts/suicore.m
Normal file
@ -0,0 +1,410 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: suicore.m
|
||||
Version: 4.4
|
||||
|
||||
Type: maki
|
||||
Date: 02. Sep. 2007 - 17:35
|
||||
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 drawer.m
|
||||
from Winamp Modern, but extended to
|
||||
4 components that can be closed!
|
||||
Like in drawer.m I warn everybody not
|
||||
to modify this script, cause it can be
|
||||
harmed very fast! And you don't want
|
||||
a buggy winamp skin, want you?
|
||||
|
||||
Since script version 3.1
|
||||
(onesie build #022)
|
||||
the script is devided into subscripts
|
||||
for better debugging.
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
#include <lib/config.mi>
|
||||
#include <lib/winampconfig.mi>
|
||||
|
||||
#include attribs/init_windowpage.m
|
||||
#include attribs/init_Autoresize.m
|
||||
#include attribs/init_vis.m
|
||||
#include attribs/init_appearance.m
|
||||
|
||||
// #define DEBUG
|
||||
#define FILE_NAME "suicore.m"
|
||||
#include <lib/com/debug.m>
|
||||
|
||||
#define ML_GUID "{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"
|
||||
#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
|
||||
#define VIDEO_GUID "{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"
|
||||
#define PL_GUID "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D}"
|
||||
|
||||
Function switchToMl();
|
||||
Function switchToPl();
|
||||
Function switchToVideo();
|
||||
Function switchToVis();
|
||||
//--Function switchToBrw();
|
||||
//--Function switchToExp();
|
||||
//--Function switchToCfg();
|
||||
Function switchToNoComp();
|
||||
Function switchFromNoComp();
|
||||
|
||||
Function hideMl();
|
||||
Function showMl();
|
||||
Function hidePl();
|
||||
Function showPl();
|
||||
Function hideVis();
|
||||
Function showVis();
|
||||
Function showVideo();
|
||||
Function hideVideo();
|
||||
//--Function hideExp();
|
||||
//--Function showExp();
|
||||
//--Function hideBrw();
|
||||
//--Function showBrw();
|
||||
//--Function hideCfg();
|
||||
//--Function showCfg();
|
||||
|
||||
Function onShowMl();
|
||||
Function onHideMl();
|
||||
Function onShowPl();
|
||||
Function onHidePl();
|
||||
Function onShowVis();
|
||||
Function onHideVis();
|
||||
Function onShowVideo();
|
||||
Function onHideVideo();
|
||||
//--Function onShowExp();
|
||||
//--Function onHideExp();
|
||||
//--Function onShowBrw();
|
||||
//--Function onHideBrw();
|
||||
//--Function onShowCfg();
|
||||
//--Function onHideCfg();
|
||||
Function onShowSUI();
|
||||
Function onHideSUI();
|
||||
Function onBeforeHideSUI();
|
||||
|
||||
Function dc_showMl();
|
||||
Function dc_hideMl();
|
||||
Function dc_showPl();
|
||||
Function dc_hidePl();
|
||||
Function dc_showVis();
|
||||
Function dc_showVideo();
|
||||
Function dc_hideVis();
|
||||
Function dc_hideVideo();
|
||||
//--Function dc_showExp();
|
||||
//--Function dc_hideExp();
|
||||
//--Function dc_showBrw();
|
||||
//--Function dc_hideBrw();
|
||||
//--Function dc_showCfg();
|
||||
//--Function dc_hideCfg();
|
||||
|
||||
Function dc_showSUI();
|
||||
Function dc_closeSUI();
|
||||
|
||||
Global GuiObject sui_window;
|
||||
Global Group sui_components;
|
||||
Global Group sui_vis, sui_video, sui_ml, sui_pl /*--, sui_brw, sui_exp, sui_cfg--*/;
|
||||
Global WindowHolder sui_vis_wdh;
|
||||
Global Button switch_ml, switch_pl, switch_video, switch_vis /*--, switch_exp, switch_brw, switch_cfg--*/;
|
||||
Global Button hide_sui, show_sui;
|
||||
Global Boolean bypasscancel;
|
||||
Global Boolean showing_vis, hiding_vis, showing_video, hiding_video, showing_ml, hiding_ml, showing_pl, hiding_pl;
|
||||
/*--Global Boolean showing_exp, hiding_exp, showing_brw, hiding_brw, showing_cfg, hiding_cfg;--*/
|
||||
Global Int play_auto_fs_video;
|
||||
|
||||
Global Boolean callback_showing_vis, callback_hiding_vis, callback_showing_video, callback_hiding_video, callback_showing_ml, callback_hiding_ml, callback_showing_pl, callback_hiding_pl;
|
||||
/*--Global Boolean callback_showing_exp, callback_hiding_exp, callback_showing_brw, callback_hiding_brw, callback_showing_cfg, callback_hiding_cfg;--*/
|
||||
Global Boolean callback_closing_sui, callback_showing_sui;
|
||||
Global Layout normal;
|
||||
Global Container player;
|
||||
Global Boolean Mychange;
|
||||
Global Boolean startup;
|
||||
Global layer normal_resizer, normal_resizer2, normal_resizer3, normal_resizer4, normal_TBresizer, normal_TBresizer2, normal_TBresizer3;
|
||||
|
||||
Global string h;
|
||||
|
||||
Global Timer callbackTimer, tempDisable;
|
||||
|
||||
Global button pe_move_top;
|
||||
|
||||
//Global Button b_maximize, b_minimize, b_shade;
|
||||
|
||||
// init special handles for video
|
||||
#include suicore/video_handles.m
|
||||
|
||||
// script loading/unloading goes here
|
||||
#include suicore/load_handles.m
|
||||
|
||||
// open / hiding components not caused by button clicks
|
||||
#include suicore/external_handles.m
|
||||
|
||||
// showing and hiding the components
|
||||
#include suicore/show_hide.m
|
||||
|
||||
|
||||
/** Button Clicks */
|
||||
|
||||
switch_video.onLeftClick ()
|
||||
{
|
||||
debugString("switch_video.Clicked()", D_WTF);
|
||||
switchToVideo();
|
||||
}
|
||||
|
||||
switch_vis.onLeftClick ()
|
||||
{
|
||||
debugString("switch_vis.Clicked()", D_WTF);
|
||||
vis_inbig_attrib.setData("1");
|
||||
switchToVis();
|
||||
}
|
||||
|
||||
switch_ml.onLeftClick ()
|
||||
{
|
||||
debugString("switch_ml.Clicked()", D_WTF);
|
||||
switchToMl();
|
||||
}
|
||||
|
||||
switch_pl.onLeftClick ()
|
||||
{
|
||||
debugString("switch_pl.Clicked()", D_WTF);
|
||||
switchToPl();
|
||||
}
|
||||
/*--
|
||||
switch_brw.onLeftClick ()
|
||||
{
|
||||
debugString("switch_brw.Clicked()", D_WTF);
|
||||
switchToBrw();
|
||||
}
|
||||
--*/
|
||||
/*--
|
||||
switch_exp.onLeftClick ()
|
||||
{
|
||||
debugString("switch_exp.Clicked()", D_WTF);
|
||||
switchToExp();
|
||||
}
|
||||
--*/
|
||||
/*--switch_cfg.onLeftClick ()
|
||||
{
|
||||
debugString("switch_cfg.Clicked()", D_WTF);
|
||||
switchToCfg();
|
||||
}--*/
|
||||
|
||||
show_sui.onLeftClick ()
|
||||
{
|
||||
debugString("show_sui.Clicked()", D_WTF);
|
||||
switchFromNoComp();
|
||||
}
|
||||
|
||||
hide_sui.onLeftClick ()
|
||||
{
|
||||
debugString("hide_sui.Clicked()", D_WTF);
|
||||
switchToNoComp();
|
||||
|
||||
}
|
||||
|
||||
/** Calls after comp is shown */
|
||||
|
||||
onShowMl()
|
||||
{
|
||||
switch_ml.setActivated(1);
|
||||
switch_pl.setActivated(0);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(0);
|
||||
//--switch_brw.setActivated(0);
|
||||
//--switch_exp.setActivated(0);
|
||||
switch_ml.setXmlParam("ghost", "1");
|
||||
switch_pl.setXmlParam("ghost", "0");
|
||||
switch_video.setXmlParam("ghost", "0");
|
||||
switch_vis.setXmlParam("ghost", "0");
|
||||
//--switch_brw.setXmlParam("ghost", "0");
|
||||
//--switch_Cfg.setActivated(0);
|
||||
}
|
||||
onHideMl() {
|
||||
//switch_ml.setXmlParam("ghost", "0");
|
||||
}
|
||||
|
||||
onShowPl()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_pl.setActivated(1);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(0);
|
||||
//--switch_brw.setActivated(0);
|
||||
//--switch_exp.setActivated(0);
|
||||
switch_ml.setXmlParam("ghost", "0");
|
||||
switch_pl.setXmlParam("ghost", "1");
|
||||
switch_video.setXmlParam("ghost", "0");
|
||||
switch_vis.setXmlParam("ghost", "0");
|
||||
//--switch_brw.setXmlParam("ghost", "0");
|
||||
//--switch_Cfg.setActivated(0);
|
||||
}
|
||||
onHidePl() {
|
||||
//switch_ml.setXmlParam("ghost", "0");
|
||||
}
|
||||
|
||||
onShowVis()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_pl.setActivated(0);
|
||||
switch_vis.setActivated(1);
|
||||
switch_video.setActivated(0);
|
||||
//--switch_brw.setActivated(0);
|
||||
//--switch_exp.setActivated(0);
|
||||
switch_vis.setXmlParam("ghost", "1");
|
||||
switch_video.setXmlParam("ghost", "0");
|
||||
switch_ml.setXmlParam("ghost", "0");
|
||||
switch_pl.setXmlParam("ghost", "0");
|
||||
//--switch_brw.setXmlParam("ghost", "0");
|
||||
//hideNamedWindow(ML_GUID);
|
||||
//--switch_Cfg.setActivated(0);
|
||||
}
|
||||
|
||||
onHideVis() {
|
||||
//switch_vis.setXmlParam("ghost", "0");
|
||||
}
|
||||
|
||||
onShowVideo()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_pl.setActivated(0);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(1);
|
||||
//--switch_brw.setActivated(0);
|
||||
//--switch_exp.setActivated(0);
|
||||
switch_video.setXmlParam("ghost", "1");
|
||||
switch_vis.setXmlParam("ghost", "0");
|
||||
switch_ml.setXmlParam("ghost", "0");
|
||||
switch_pl.setXmlParam("ghost", "0");
|
||||
//--switch_brw.setXmlParam("ghost", "0");
|
||||
//hideNamedWindow(ML_GUID);
|
||||
//--switch_Cfg.setActivated(0);
|
||||
}
|
||||
onHideVideo() {
|
||||
//switch_video.setXmlParam("ghost", "0");
|
||||
}
|
||||
|
||||
/*--
|
||||
onShowBrw()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_pl.setActivated(0);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(0);
|
||||
switch_brw.setActivated(1);
|
||||
switch_exp.setActivated(0);
|
||||
switch_brw.setXmlParam("ghost", "1");
|
||||
switch_vis.setXmlParam("ghost", "0");
|
||||
switch_ml.setXmlParam("ghost", "0");
|
||||
switch_pl.setXmlParam("ghost", "0");
|
||||
switch_video.setXmlParam("ghost", "0");
|
||||
hideNamedWindow(ML_GUID);
|
||||
switch_Cfg.setActivated(0);
|
||||
}
|
||||
onHideBrw() {
|
||||
switch_brw.setXmlParam("ghost", "0");
|
||||
}
|
||||
--*/
|
||||
/*--
|
||||
onShowExp()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(0);
|
||||
switch_brw.setActivated(0);
|
||||
//--switch_exp.setActivated(1);
|
||||
//--switch_exp.setXmlParam("ghost", "1");
|
||||
|
||||
//hideNamedWindow(ML_GUID);
|
||||
//--switch_Cfg.setActivated(0);
|
||||
}
|
||||
onHideExp() {
|
||||
switch_exp.setXmlParam("ghost", "0");
|
||||
}
|
||||
--*/
|
||||
/*--onShowCfg()
|
||||
{
|
||||
switch_ml.setActivated(0);
|
||||
switch_vis.setActivated(0);
|
||||
switch_video.setActivated(0);
|
||||
switch_brw.setActivated(0);
|
||||
switch_exp.setActivated(0);
|
||||
//--switch_Cfg.setActivated(1);
|
||||
}
|
||||
onHideCfg() {}--*/
|
||||
|
||||
onShowSUI ()
|
||||
{
|
||||
/*string x = b_shade.getXmlParam("x");
|
||||
b_shade.setXmlParam("x", b_minimize.getXmlParam("x"));
|
||||
b_minimize.setXmlParam("x", b_maximize.getXmlParam("x"));
|
||||
b_maximize.setXmlParam("x", x);
|
||||
b_maximize.show();*/
|
||||
sui_window.sendAction("callback", "onshowsui", 0,0,0,0);
|
||||
|
||||
}
|
||||
|
||||
onHideSUI ()
|
||||
{
|
||||
//hideNamedWindow(ML_GUID);
|
||||
/*string x = b_minimize.getXmlParam("x");
|
||||
debugInt(b_shade.getGuiX());
|
||||
b_minimize.setXmlParam("x", b_shade.getXmlParam("x"));
|
||||
b_shade.setXmlParam("x", b_maximize.getXmlParam("x"));
|
||||
b_maximize.setXmlParam("x", x);
|
||||
b_maximize.hide();*/
|
||||
// sui_window.sendAction("callback", "onhidesui", 0,0,0,0);
|
||||
}
|
||||
|
||||
onBeforeHideSUI ()
|
||||
{
|
||||
//hideNamedWindow(ML_GUID);
|
||||
/*string x = b_minimize.getXmlParam("x");
|
||||
debugInt(b_shade.getGuiX());
|
||||
b_minimize.setXmlParam("x", b_shade.getXmlParam("x"));
|
||||
b_shade.setXmlParam("x", b_maximize.getXmlParam("x"));
|
||||
b_maximize.setXmlParam("x", x);
|
||||
b_maximize.hide();*/
|
||||
sui_window.sendAction("callback", "onbeforehidesui", 0,0,0,0);
|
||||
}
|
||||
|
||||
pe_move_top.onLeftClick ()
|
||||
{
|
||||
normal.sendAction("load_comp", "pledit", 0,0,0,0);
|
||||
}
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
/** Debug Stuff */
|
||||
|
||||
sui_ml.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_ml.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}
|
||||
sui_vis.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_vis.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}
|
||||
sui_video.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_video.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}
|
||||
/*--
|
||||
sui_brw.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_brw.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}
|
||||
--*/
|
||||
/*--
|
||||
sui_exp.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_exp.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}--*/
|
||||
/*--sui_cfg.onSetVisible (Boolean onoff)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "sui_cfg.setVisible(" +integerToString(onoff)+ ");", D_WTF);
|
||||
}--*/
|
||||
|
||||
#endif
|
BIN
Src/resources/skins/Big Bento/scripts/suicore.maki
Normal file
767
Src/resources/skins/Big Bento/scripts/suicore/external_handles.m
Normal file
@ -0,0 +1,767 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: external_handles.m
|
||||
|
||||
Type: maki
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// The main component switching as triggered by user menus, keyboard shortcuts, etc
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
System.onGetCancelComponent(String guid, boolean goingvisible) {
|
||||
debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " ) {", D_WTF);
|
||||
debugString(DEBUG_PREFIX " [Last Content: " + getPrivateString(getSkinName(), "Component", "Media Library") + " ]", D_WTF);
|
||||
|
||||
Boolean isShade = (player.getCurLayout() != normal);
|
||||
|
||||
// isVideo() hasn't been set yet in System.onPlay and System.onTitleChange, so we check it here instead.
|
||||
if (play_auto_fs_video && !isVideo()) play_auto_fs_video = 0;
|
||||
|
||||
// Do Playlist Stuff First (is unlinked from SUI)
|
||||
|
||||
if (guid == PL_GUID)
|
||||
{
|
||||
if (goingvisible && isShade && (getPrivateString(getSkinName(), "Pledit_pos", "top") == "top" || pl_tab_attrib.getData() == "0"))
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> opening pl --- return from shade!", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
switchToNoComp();
|
||||
player.switchToLayout("normal");
|
||||
normal.sendAction("load_comp", "pledit", 0,0,0,0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Now we detect if suicore is already performing an action - if so we will return.
|
||||
|
||||
if (bypasscancel)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> bypasscancel", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == ML_GUID && !goingvisible && hiding_ml)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_ml", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIDEO_GUID && !goingvisible && hiding_video)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_video", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && !goingvisible && hiding_vis)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == PL_GUID && !goingvisible && hiding_pl)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> hiding_pl", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == ML_GUID && goingvisible && showing_ml)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_ml", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIDEO_GUID && goingvisible && showing_video)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_video", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == VIS_GUID && goingvisible && showing_vis)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == PL_GUID && goingvisible && showing_pl)
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> showing_pl", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Let's get our current Content
|
||||
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
|
||||
// If a window wants to hide but we are still in collapsed mode - return
|
||||
if (!goingvisible && window_content == "Hidden")
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> SUI isn't visible", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// All comps that want to be shown
|
||||
if (goingvisible) {
|
||||
if (guid == VIDEO_GUID && (window_content != "Video" || isShade)) {
|
||||
debugString(DEBUG_PREFIX " --> external showing_video --- start Timer", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
if (isShade)
|
||||
{
|
||||
sui_video.hide();
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
|
||||
//setPrivateString(getSkinName(), "Component", "Video");
|
||||
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hideVis();
|
||||
hideMl();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Video");
|
||||
dc_showSUI ();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
dc_showVideo();
|
||||
|
||||
return TRUE;
|
||||
} else if (guid == VIS_GUID && (window_content != "Vis" || isShade)) {
|
||||
|
||||
if (vis_inbig_attrib.getData() == "0")
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> vis shouldn't be shown in big sui!", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
debugString(DEBUG_PREFIX " --> external showing_vis --- start Timer", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
if (isShade)
|
||||
{
|
||||
sui_vis.hide();
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
|
||||
//setPrivateString(getSkinName(), "Component", "Vis");
|
||||
|
||||
disablePSOVC();
|
||||
hideVideo();
|
||||
hideMl();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Vis");
|
||||
dc_showSUI ();
|
||||
return TRUE;
|
||||
}
|
||||
sui_vis_wdh.setXmlParam("autoopen", "0");
|
||||
showVis();
|
||||
sui_vis_wdh.setXmlParam("autoopen", "1");
|
||||
return FALSE;
|
||||
} else if (guid == ML_GUID && (window_content != "Media Library" || isShade)) {
|
||||
debugString(DEBUG_PREFIX " --> external showing_ml --- start Timer", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
if (isShade)
|
||||
{
|
||||
sui_ml.hide();
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
|
||||
//setPrivateString(getSkinName(), "Component", "Media Library");
|
||||
|
||||
disablePSOVC();
|
||||
hideVideo();
|
||||
hideVis();
|
||||
hidePL();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Media Library");
|
||||
dc_showSUI ();
|
||||
return TRUE;
|
||||
}
|
||||
dc_showMl();
|
||||
|
||||
return TRUE;
|
||||
} else if (guid == PL_GUID && (window_content != "Pledit" || isShade) && pl_tab_attrib.getData() == "1") {
|
||||
if (getPrivateString(getSkinName(), "Pledit_pos", "top") != "sui")
|
||||
{
|
||||
debugString(DEBUG_PREFIX " suicore won't handle this!", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
debugString(DEBUG_PREFIX " --> external showing_pl --- start Timer", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
if (isShade)
|
||||
{
|
||||
sui_pl.hide();
|
||||
player.switchToLayout("normal");
|
||||
}
|
||||
|
||||
//setPrivateString(getSkinName(), "Component", "Media Library");
|
||||
|
||||
disablePSOVC();
|
||||
hideVideo();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hideML();
|
||||
//--hideCfg();
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Pledit");
|
||||
dc_showSUI ();
|
||||
return TRUE;
|
||||
}
|
||||
dc_showPl();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// All comps that want to be hidden
|
||||
if (!goingvisible) {
|
||||
if (guid == VIDEO_GUID && window_content == "Video") {
|
||||
debugString(DEBUG_PREFIX " --> external hiding_video", D_WTF);
|
||||
|
||||
if (getStatus() != 0 && isVideo() && cfg_Video.getBool("autoopen") && cfg_Video.getBool("autoclose"))
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> video is playing", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
disablePSOVC();
|
||||
hideVideo();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
dc_showMl(); // normal Component
|
||||
debugString(DEBUG_PREFIX " --> no video is playing", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (guid == PL_GUID && window_content == "Pledit" && pl_tab_attrib.getData() == "1") {
|
||||
debugString(DEBUG_PREFIX " --> external hiding_pl", D_WTF);
|
||||
|
||||
if (getStatus() != STATUS_STOPPED && system.isVideo())
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> video is playing", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
disablePSOVC();
|
||||
hideML();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
dc_showVideo(); // normal Component
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
disablePSOVC();
|
||||
hideVideo();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
dc_showMl(); // normal Component
|
||||
debugString(DEBUG_PREFIX " --> no video is playing", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (guid == VIS_GUID && window_content == "Vis") {
|
||||
if (vis_inbig_attrib.getData() == "0")
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> vis shouldn't be closed in big sui!", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
if (getStatus() != STATUS_STOPPED && system.isVideo())
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> external hiding_vis --- open Video", D_WTF);
|
||||
hideMl();
|
||||
hideVis();
|
||||
hidePL();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
dc_showVideo();
|
||||
}
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> external hiding_video --- hide Video", D_WTF);
|
||||
hideVideo();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
dc_showMl(); // normal Component
|
||||
}
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
return FALSE;
|
||||
}
|
||||
if (guid == ML_GUID && window_content == "Media Library") {
|
||||
if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> external hiding_ml --- open Video", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
hideMl();
|
||||
hideVis();
|
||||
hidePL();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
dc_showVideo();
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> external hiding_ml --- switch to vis", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return flase;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
hideMl();
|
||||
hideVis();
|
||||
//--hideBrw();
|
||||
hidePL();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
dc_closeSUI();
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
debugString(DEBUG_PREFIX " --> Went thru", D_WTF);
|
||||
debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
Player.onSwitchToLayout (Layout _layout)
|
||||
{
|
||||
if (_layout.getId() != "normal")
|
||||
{
|
||||
mychange = 1;
|
||||
//--sui_explorer_attrib.setData("0");
|
||||
//--sui_browser_attrib.setData("0");
|
||||
//--sui_config_attrib.setData("0");
|
||||
mychange = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// Windows that aren't registered with winamp will be handled here, the visibility state is linked to cfgattribs
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
/*--sui_browser_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (getData() == "1")
|
||||
{
|
||||
if (player.getCurLayout() != normal)
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
dc_showBrw();
|
||||
return;
|
||||
}
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Browser");
|
||||
switchFromNoComp ();
|
||||
return;
|
||||
}
|
||||
switchToBrw();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
|
||||
{
|
||||
hideBrw();
|
||||
dc_showVideo();
|
||||
}
|
||||
else
|
||||
{
|
||||
hideBrw();
|
||||
dc_showml();
|
||||
}
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
--*/
|
||||
|
||||
/*--sui_config_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (getData() == "1")
|
||||
{
|
||||
if (player.getCurLayout() != "normal")
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
hideBrw();
|
||||
hideCfg();
|
||||
hideVideo();
|
||||
hideExp();
|
||||
dc_showCfg();
|
||||
return;
|
||||
}
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Config");
|
||||
switchFromNoComp ();
|
||||
return;
|
||||
}
|
||||
switchToCfg();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
|
||||
{
|
||||
hideCfg();
|
||||
dc_showVideo();
|
||||
}
|
||||
else
|
||||
{
|
||||
hideCfg();
|
||||
dc_showml();
|
||||
}
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
|
||||
|
||||
sui_explorer_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
mychange = 1;
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (getData() == "1")
|
||||
{
|
||||
if (player.getCurLayout() != normal)
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
hideBrw();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
dc_showExp();
|
||||
return;
|
||||
}
|
||||
if (window_content == "Hidden" )
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Explorer");
|
||||
switchFromNoComp ();
|
||||
return;
|
||||
}
|
||||
switchToExp();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
|
||||
{
|
||||
hideExp();
|
||||
dc_showVideo();
|
||||
}
|
||||
else
|
||||
{
|
||||
hideExp();
|
||||
dc_showml();
|
||||
}
|
||||
}
|
||||
mychange = 0;
|
||||
}
|
||||
--*/
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// If a link is clicked within winamp this function *should* be called by wasabi core.
|
||||
// returning 1 prevents winamp to open the url in an external browser
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
System.onOpenUrl(string url)
|
||||
{
|
||||
// If winamp is in shade mode
|
||||
if (player.getCurLayout() != normal)
|
||||
{
|
||||
string comp = getPrivateString(getSkinName(), "Component", "Media Library"); // Get the current sui component
|
||||
|
||||
// Can also happen, winamp is in shade - and normal wnd is collapsed
|
||||
if (comp == "Hidden")
|
||||
{
|
||||
player.switchToLayout("normal");
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Browser");
|
||||
setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
switchFromNoComp();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// The other case - sade & normal is not collapsed
|
||||
setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
//--dc_showBrw();
|
||||
return 0;
|
||||
}
|
||||
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
|
||||
// just deliver the url since the browser is already visible
|
||||
if (window_content == "Browser")
|
||||
/*
|
||||
{
|
||||
browser brw = sui_brw.findObject("webbrowser");
|
||||
if (brw != NULL)
|
||||
{
|
||||
brw.sendAction ("openurl", url, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
// Some other component is visible - so we store the url and show the browser
|
||||
else
|
||||
{
|
||||
setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Browser");
|
||||
switchFromNoComp ();
|
||||
return 0;
|
||||
}
|
||||
switchToBrw();
|
||||
}
|
||||
*/
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// the sui window can recieve messages from other scripts (mainly: fileinfo.maki) - we handle this here
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
/*sui_window.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
|
||||
{
|
||||
// Perform a search in the browser
|
||||
if (strlower(action) == "browser_search")
|
||||
{
|
||||
browser brw = sui_brw.findObject("webbrowser");
|
||||
//if (player.getCurLayout() != normal) // unlikely to happen!
|
||||
{
|
||||
//setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
dc_showBrw();
|
||||
brw.sendAction ("search", param, 0, 0, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (window_content == "Browser")
|
||||
{
|
||||
if (brw != NULL)
|
||||
{
|
||||
brw.sendAction ("search", param, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Browser");
|
||||
switchFromNoComp ();
|
||||
brw.sendAction ("search", param, 0, 0, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
switchToBrw();
|
||||
brw.sendAction ("search", param, 0, 0, 0, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
// Just navigate to a site
|
||||
else if (strlower(action) == "browser_navigate")
|
||||
{
|
||||
browser brw = sui_brw.findObject("webbrowser");
|
||||
if (player.getCurLayout() != normal)
|
||||
{
|
||||
//setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
player.switchToLayout("normal");
|
||||
hideMl();
|
||||
hideVis();
|
||||
//--hideCfg();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
//--dc_showBrw();
|
||||
brw.sendAction ("openurl", param, 0, 0, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (window_content == "Browser")
|
||||
{
|
||||
if (brw != NULL)
|
||||
{
|
||||
brw.sendAction ("openurl", param, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//setPrivateString(getSkinName(), "UrlXgive", url);
|
||||
debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
|
||||
if (window_content == "Hidden")
|
||||
{
|
||||
setPrivateString(getSkinName(), "Hidden Component", "Browser");
|
||||
brw.sendAction ("openurl", param, 0, 0, 0, 0);
|
||||
switchFromNoComp ();
|
||||
return 0;
|
||||
}
|
||||
switchToBrw();
|
||||
brw.sendAction ("openurl", param, 0, 0, 0, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
else if (strlower(action) == "opentab")
|
||||
{
|
||||
if (strlower(param) == "ml")
|
||||
{
|
||||
switchToMl();
|
||||
}
|
||||
}
|
||||
else if (action == "hide_comp" && param == "pe")
|
||||
{
|
||||
if (getPrivateString(getSkinName(), "Component", "Media Library") == "Pledit")
|
||||
{
|
||||
switchToMl();
|
||||
}
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// Switching Vis Plugin between MCV and SUI
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vis_inbig_attrib.onDataChanged ()
|
||||
{
|
||||
if (mychange) return;
|
||||
String window_content2 = getPrivateString(getSkinName(), "Component", "Cover");
|
||||
String window_content = getPrivateString(getSkinName(), "Component2", "Media Library");
|
||||
int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
if (getData() == "1" && (ic_vis.getData() == "1" || ic_vis_fileinfo.getData() == "1" || xg))
|
||||
{
|
||||
if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
|
||||
switchToVis();
|
||||
}
|
||||
else if (getData() == "0" && sui_Vis.isVisible())
|
||||
{
|
||||
setPrivateInt(getSkinName(), "ComponentXgive", 1);
|
||||
hideVis();
|
||||
switchToMl();
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
// this one has only debug aims :)
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#ifdef DEBUG
|
||||
System.onLookForComponent(String guid)
|
||||
{
|
||||
debugString(DEBUG_PREFIX "System.onLookForComponent ( "+ guid + " )", D_WTF);
|
||||
}
|
||||
#endif
|
221
Src/resources/skins/Big Bento/scripts/suicore/load_handles.m
Normal file
@ -0,0 +1,221 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: load_handles.m
|
||||
|
||||
Type: maki
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
Function loadSUI (string content);
|
||||
Function collectComponents();
|
||||
|
||||
Global timer tmr_collect;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
startup = 1;
|
||||
initAttribs_windowpage();
|
||||
initAttribs_vis();
|
||||
initAttribs_Autoresize();
|
||||
initAttribs_Appearance();
|
||||
initVideo();
|
||||
debugString(DEBUG_PREFIX "-------------------------", D_WTF);
|
||||
debugString(DEBUG_PREFIX "System.onScriptLoded() {", D_WTF);
|
||||
|
||||
/*debugString(integerToString(isNamedWindowVisible(ML_GUID)),9);
|
||||
showWindow(ML_GUID, "", 0);
|
||||
debugString(integerToString(isNamedWindowVisible(ML_GUID)),9);*/
|
||||
|
||||
player = getContainer("main");
|
||||
normal = player.getLayout("normal");
|
||||
sui_window = normal.findObject("sui.content");
|
||||
sui_components = sui_window.findObject("sui.components");
|
||||
|
||||
h = getToken(getParam(),",",0);
|
||||
|
||||
sui_vis = sui_components.findObject("wdh.vis");
|
||||
sui_vis_wdh = sui_components.findObject("wdh.vis.object");
|
||||
sui_video = sui_components.findObject("wdh.video");
|
||||
sui_ml = sui_components.findObject("wdh.ml");
|
||||
sui_pl = sui_components.findObject("wdh.pl");
|
||||
//--sui_brw = sui_components.findObject("wdh.browser");
|
||||
//--sui_exp = sui_components.findObject("wdh.explorer");
|
||||
//--sui_cfg = sui_components.findObject("wdh.config");
|
||||
|
||||
switch_video = sui_window.findObject("switch.video");
|
||||
switch_vis = sui_window.findObject("switch.vis");
|
||||
switch_ml = sui_window.findObject("switch.ml");
|
||||
switch_pl = sui_window.findObject("switch.pl");
|
||||
//--switch_exp = sui_window.findObject("switch.explorer");
|
||||
//--switch_brw = sui_window.findObject("switch.browser");
|
||||
//--switch_cfg = sui_window.findObject("switch.config");
|
||||
|
||||
hide_sui = normal.getObject("sui.hide");
|
||||
show_sui = normal.getObject("sui.show");
|
||||
|
||||
pe_move_top = sui_pl.findObject("pe.move.top");
|
||||
/*
|
||||
b_maximize = normal.findObject("player.button.maximize");
|
||||
b_minimize = normal.findObject("player.button.minimize");
|
||||
b_shade = normal.findObject("player.button.shade");
|
||||
*/
|
||||
normal_resizer = normal.getObject("player.resizer.bottomright.dummy");
|
||||
normal_resizer2 = normal.getObject("player.resizer.bottomleft");
|
||||
normal_resizer3 = normal.getObject("player.resizer.bottom");
|
||||
normal_resizer4 = normal.getObject("player.resizer.bottom2");
|
||||
|
||||
normal_TBresizer = normal.findObject("titlebar.resizer.topright");
|
||||
normal_TBresizer2 = normal.findObject("titlebar.resizer.topleft");
|
||||
normal_TBresizer3 = normal.findObject("titlebar.resizer.top");
|
||||
|
||||
callbackTimer = new Timer;
|
||||
callbackTimer.setDelay(1);
|
||||
tempDisable = new Timer;
|
||||
tempDisable.setDelay(100);
|
||||
|
||||
tmr_collect = new timer;
|
||||
tmr_collect.setDelay(2000);
|
||||
//tmr_collect.start();
|
||||
|
||||
//collectComponents();
|
||||
|
||||
String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
|
||||
debugString(DEBUG_PREFIX "window_content = " + window_content, D_WTF);
|
||||
|
||||
loadSUI(window_content);
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
startup = 0;
|
||||
}
|
||||
|
||||
System.onScriptUnloading ()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "System.onScriptUnloading() {", D_NWTF);
|
||||
|
||||
delete callbackTimer;
|
||||
delete PSOVCTimer;
|
||||
delete tempDisable;
|
||||
delete tmr_collect;
|
||||
|
||||
debugString(DEBUG_PREFIX " delete Timers;", D_NWTF);
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
loadSUI (string content)
|
||||
{
|
||||
if (content == "Vis")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Vis) performed", D_WTF);
|
||||
Mychange = 1;
|
||||
vis_inbig_attrib.setData("1");
|
||||
Mychange = 0;
|
||||
switchToVis();
|
||||
}
|
||||
else if (content == "Video")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Video) performed", D_WTF);
|
||||
switchToVideo();
|
||||
}
|
||||
else if (content == "Media Library")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(ML) performed", D_WTF);
|
||||
switchToMl();
|
||||
}
|
||||
else if (content == "Pledit")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(PL) performed", D_WTF);
|
||||
switchToPl();
|
||||
}/*--
|
||||
else if (content == "Browser")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Browser) performed", D_WTF);
|
||||
switchToBrw();
|
||||
}--*/
|
||||
/*--
|
||||
else if (content == "Explorer")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Explorer) performed", D_WTF);
|
||||
switchToExp();
|
||||
}--*/
|
||||
/*--else if (content == "Config")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Config) performed", D_WTF);
|
||||
switchToCfg();
|
||||
}--*/
|
||||
else if (content == "Hidden")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "if(Hidden) performed", D_WTF);
|
||||
switchToNoComp();
|
||||
}
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX "[!] oops no component to perform", D_WTF);
|
||||
}
|
||||
}
|
||||
/*
|
||||
collectComponents()
|
||||
{
|
||||
for ( int i = 0; i < getNumRegisteredWindows(); i++ )
|
||||
{
|
||||
debug((getRegisteredWindowName(i)));
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
/*
|
||||
collectComponents ()
|
||||
{
|
||||
int i = 0;
|
||||
string s;
|
||||
while (s = enumEmbedGUID(i) != "")
|
||||
{
|
||||
debug (s);
|
||||
i++;
|
||||
}
|
||||
if (i == 0 && !tmr_collect.isRunning())
|
||||
{
|
||||
tmr_collect.start();
|
||||
//}
|
||||
}*/
|
||||
/*
|
||||
tmr_collect.onTimer ()
|
||||
{
|
||||
tmr_collect.stop();
|
||||
debug(getRegisteredWindowName(0));
|
||||
|
||||
collectComponents();
|
||||
}
|
||||
*/
|
||||
/*
|
||||
player.onAddContent(GuiObject wnd, String id, String guid)
|
||||
{
|
||||
debug(wnd.getName());
|
||||
debug(id);
|
||||
// debug(guid);
|
||||
}*/
|
||||
/*
|
||||
sui_ml.onsetVisible(int v)
|
||||
{
|
||||
windowholder w = findObject("wdh");
|
||||
debug(w.getGUID());
|
||||
GuiObject o = w.getContent();
|
||||
debug(o.getId());
|
||||
debug(o.getName());
|
||||
}*/
|
||||
/*
|
||||
System.onCreateLayout (Layout _layout)
|
||||
{
|
||||
debug(_layout.getId());
|
||||
}*/
|
870
Src/resources/skins/Big Bento/scripts/suicore/show_hide.m
Normal file
@ -0,0 +1,870 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: show_hide.m
|
||||
|
||||
Type: maki
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
switchToMl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "switchToMl() {", D_WTF);
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideVis();
|
||||
hideVideo();
|
||||
hidePL();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
//prohibit a closing bug
|
||||
if (!startup) showMl();
|
||||
else
|
||||
{
|
||||
dc_showMl();
|
||||
onshowMl();
|
||||
}
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
|
||||
switchToPl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "switchToPl() {", D_WTF);
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideVis();
|
||||
hideVideo();
|
||||
hideML();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
//prohibit a closing bug
|
||||
if (!startup) showPl();
|
||||
else
|
||||
{
|
||||
dc_showPl();
|
||||
onshowPl();
|
||||
}
|
||||
debugString(DEBUG_PREFIX "}", D_WTF);
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
|
||||
switchToVideo()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
hideMl();
|
||||
hidePL();
|
||||
hideVis();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
showVideo();
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
|
||||
switchToVis()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideMl();
|
||||
hidePL();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
showVis();
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
|
||||
/*--switchToBrw()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideVis();
|
||||
hidePL();
|
||||
hideVideo();
|
||||
//--hideExp();
|
||||
hideMl();
|
||||
//--hideCfg();
|
||||
//--showBrw();
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
|
||||
switchToExp()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideVis();
|
||||
hideVideo();
|
||||
hideMl();
|
||||
//--hideBrw();
|
||||
//--hideCfg();
|
||||
showExp();
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}
|
||||
--*/
|
||||
/*--switchToCfg()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
hideVis();
|
||||
hideVideo();
|
||||
hideMl();
|
||||
hideBrw();
|
||||
hideExp();
|
||||
showCfg();
|
||||
|
||||
hide_sui.show();
|
||||
show_sui.hide();
|
||||
}--*/
|
||||
|
||||
switchToNoComp ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
tempDisable.start();
|
||||
disablePSOVC();
|
||||
|
||||
onBeforeHideSUI();
|
||||
|
||||
hideVis();
|
||||
hideVideo();
|
||||
hideMl();
|
||||
hidePL();
|
||||
//--hideBrw();
|
||||
//--hideExp();
|
||||
//--hideCfg();
|
||||
|
||||
string comp = getPrivateString(getSkinName(), "Component", "Media Library");
|
||||
if (comp != "Hidden")
|
||||
{
|
||||
normal.sendAction("sui", "tonocomp", 0,0,0,0);
|
||||
setPrivateString(getSkinName(), "Hidden Component", comp);
|
||||
setPrivateString(getSkinName(), "Component", "Hidden");
|
||||
if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0)) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
|
||||
}
|
||||
else normal.sendAction("sui", "tonocomp", 1,0,0,0);
|
||||
|
||||
normal_resizer.setXmlParam("resize", "right");
|
||||
normal_resizer2.setXmlParam("resize", "left");
|
||||
normal_resizer3.setXmlParam("resize", "");
|
||||
normal_resizer4.setXmlParam("resize", "");
|
||||
normal_TBresizer.setXmlParam("resize", "right");
|
||||
normal_TBresizer2.setXmlParam("resize", "left");
|
||||
normal_TBresizer3.hide();
|
||||
normal.setXmlParam("minimum_h" , h);
|
||||
|
||||
int sy = normal.getGuiY() + normal.getGuiH() - stringtointeger(h);
|
||||
normal.setXmlParam("h" , h);
|
||||
if (collapse_bottom_attrib.getdata() == "1") normal.setXmlParam("y" , integerToString(sy));
|
||||
|
||||
hide_sui.hide();
|
||||
show_sui.show();
|
||||
|
||||
onHideSUI();
|
||||
}
|
||||
|
||||
switchFromNoComp ()
|
||||
{
|
||||
if (callbackTimer.isRunning()) return;
|
||||
if (tempDisable.isRunning()) return;
|
||||
|
||||
string comp = getPrivateString(getSkinName(), "Hidden Component", "Media Library");
|
||||
setPrivateString(getSkinName(), "Component", comp);
|
||||
|
||||
int sh = getPrivateInt(getSkinName(), "nomax_h", 600);
|
||||
if (sh < 492) sh = 492;
|
||||
|
||||
normal.sendAction("sui", "fromnocomp", 0,0,0,0);
|
||||
normal_resizer.setXmlParam("resize", "bottomright");
|
||||
normal_resizer2.setXmlParam("resize", "bottomleft");
|
||||
normal_resizer3.setXmlParam("resize", "bottom");
|
||||
normal_resizer4.setXmlParam("resize", "bottom");
|
||||
normal_TBresizer.setXmlParam("resize", "topright");
|
||||
normal_TBresizer2.setXmlParam("resize", "topleft");
|
||||
normal_TBresizer3.show();
|
||||
normal.setXmlParam("minimum_h" , "492");
|
||||
double d_scale = normal.getScale();
|
||||
normal.beforeRedock();
|
||||
if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0)) normal.resize(getViewPortLeft(),getViewPortTop(),getViewPortWidth()/d_scale, getViewPortHeight()/d_scale);
|
||||
else
|
||||
{
|
||||
if (collapse_bottom_attrib.getdata() == "1")
|
||||
{
|
||||
int sy = normal.getGuiY() + normal.getGuiH() - sh;
|
||||
if (sy < 0) sy = 0;
|
||||
normal.setXmlParam("y" , integerToString(sy));
|
||||
}
|
||||
normal.setXmlParam("h" , integerToString(sh));
|
||||
}
|
||||
normal.redock();
|
||||
loadSUI (comp);
|
||||
|
||||
onShowSUI();
|
||||
}
|
||||
|
||||
tempDisable.onTimer()
|
||||
{
|
||||
tempDisable.stop();
|
||||
}
|
||||
|
||||
showMl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showMl() {", D_NWTF);
|
||||
|
||||
showing_ml = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Media Library");
|
||||
GuiObject o = sui_ml;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) ml object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowMl();
|
||||
showing_ml = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hideMl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideMl() {", D_NWTF);
|
||||
|
||||
callback_showing_ml = 0;
|
||||
|
||||
hiding_ml = 1;
|
||||
GuiObject o = sui_ml;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) ml object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideMl();
|
||||
hiding_ml = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
showPl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showPl() {", D_NWTF);
|
||||
|
||||
showing_pl = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Pledit");
|
||||
setPrivateString(getSkinName(), "Pledit_pos", "sui");
|
||||
normal.sendAction("hide_comp", "pledit", 0,0,0,0);
|
||||
GuiObject o = sui_pl;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) pl object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowPl();
|
||||
showing_pl = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hidePl()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hidePl() {", D_NWTF);
|
||||
|
||||
callback_showing_pl = 0;
|
||||
|
||||
hiding_pl = 1;
|
||||
GuiObject o = sui_pl;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) pl object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHidePl();
|
||||
hiding_pl = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
showVis()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "vis_inbig_attrib = " + vis_inbig_attrib.getData(), D_NWTF);
|
||||
if (vis_inbig_attrib.getData() == "1")
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showVis() {", D_NWTF);
|
||||
|
||||
|
||||
showing_vis = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Vis");
|
||||
GuiObject o = sui_vis;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) vis object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowVis();
|
||||
showing_vis = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
}
|
||||
|
||||
hideVis()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "vis_inbig_attrib = " + vis_inbig_attrib.getData(), D_NWTF);
|
||||
debugString(DEBUG_PREFIX "hideVis() {", D_NWTF);
|
||||
|
||||
callback_showing_vis = 0;
|
||||
|
||||
hiding_vis = 1;
|
||||
GuiObject o = sui_vis;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) vis object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideVis();
|
||||
hiding_vis = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
showVideo()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showVideo() {", D_NWTF);
|
||||
|
||||
showing_video = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Video");
|
||||
GuiObject o = sui_video;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) {
|
||||
// hack to fix bug for auto fullscreen on play
|
||||
if (play_auto_fs_video) setVideoFullscreen(false);
|
||||
|
||||
o.show();
|
||||
|
||||
// hack to fix bug for auto fullscreen on play
|
||||
if (play_auto_fs_video) setVideoFullscreen(true);
|
||||
}
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) video object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowVideo();
|
||||
play_auto_fs_video = 0;
|
||||
showing_video = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hideVideo()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideVideo() {", D_NWTF);
|
||||
|
||||
//callback_showing_video = 0;
|
||||
|
||||
hiding_video = 1;
|
||||
GuiObject o = sui_video;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) video object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideVideo();
|
||||
hiding_video = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
/*--showBrw()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showBrw() {", D_NWTF);
|
||||
|
||||
showing_brw = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Browser");
|
||||
GuiObject o = sui_brw;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) brw object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowBrw();
|
||||
|
||||
mychange = 1;
|
||||
sui_browser_attrib.setData("1");
|
||||
mychange = 0;
|
||||
|
||||
showing_brw = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hideBrw()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideBrw() {", D_NWTF);
|
||||
|
||||
callback_showing_brw = 0;
|
||||
|
||||
hiding_brw = 1;
|
||||
GuiObject o = sui_brw;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) brw object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideBrw();
|
||||
hiding_brw = 0;
|
||||
|
||||
mychange = 1;
|
||||
sui_browser_attrib.setData("0");
|
||||
mychange = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}--*/
|
||||
/*--
|
||||
showExp()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showExp() {", D_NWTF);
|
||||
|
||||
showing_exp = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Explorer");
|
||||
GuiObject o = sui_exp;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) exp object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowExp();
|
||||
showing_exp = 0;
|
||||
|
||||
mychange = 1;
|
||||
sui_explorer_attrib.setData("1");
|
||||
mychange = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hideExp()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideExp() {", D_NWTF);
|
||||
|
||||
callback_showing_exp = 0;
|
||||
|
||||
hiding_exp = 1;
|
||||
GuiObject o = sui_exp;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) exp object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideExp();
|
||||
hiding_exp = 0;
|
||||
|
||||
mychange = 1;
|
||||
sui_explorer_attrib.setData("0");
|
||||
mychange = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}--*/
|
||||
/*--
|
||||
showCfg()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "showCfg() {", D_NWTF);
|
||||
|
||||
showing_Cfg = 1;
|
||||
setPrivateString(getSkinName(), "Component", "Config");
|
||||
GuiObject o = sui_Cfg;
|
||||
if (o != NULL)
|
||||
{
|
||||
bypasscancel = 1;
|
||||
if (o) o.show();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) Cfg object not provided (show)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onShowCfg();
|
||||
showing_Cfg = 0;
|
||||
|
||||
mychange = 1;
|
||||
sui_Config_attrib.setData("1");
|
||||
mychange = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
|
||||
hideCfg()
|
||||
{
|
||||
debugString(DEBUG_PREFIX "hideCfg() {", D_NWTF);
|
||||
|
||||
callback_showing_cfg = 0;
|
||||
|
||||
hiding_Cfg = 1;
|
||||
GuiObject o = sui_Cfg;
|
||||
if (o != NULL) {
|
||||
bypasscancel = 1;
|
||||
if (o) o.hide();
|
||||
bypasscancel = 0;
|
||||
debugString(DEBUG_PREFIX " --> ok", D_NWTF);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
else
|
||||
{
|
||||
debugString(DEBUG_PREFIX " --> (!) Cfg object not provided (hide)", D_NWTF);
|
||||
}
|
||||
#endif
|
||||
onHideCfg();
|
||||
hiding_Cfg = 0;
|
||||
|
||||
mychange = 1;
|
||||
sui_config_attrib.setData("0");
|
||||
mychange = 0;
|
||||
|
||||
debugString(DEBUG_PREFIX "}", D_NWTF);
|
||||
}
|
||||
--*/
|
||||
callbackTimer.onTimer()
|
||||
{
|
||||
callbackTimer.stop();
|
||||
|
||||
int _callback_showing_vis = callback_showing_vis;
|
||||
int _callback_hiding_vis = callback_hiding_vis;
|
||||
int _callback_showing_video = callback_showing_video;
|
||||
int _callback_hiding_video = callback_hiding_video;
|
||||
int _callback_showing_ml = callback_showing_ml;
|
||||
int _callback_hiding_ml = callback_hiding_ml;
|
||||
int _callback_showing_pl = callback_showing_pl;
|
||||
int _callback_hiding_pl = callback_hiding_pl;
|
||||
//--int _callback_showing_exp = callback_showing_exp;
|
||||
//--int _callback_hiding_exp = callback_hiding_exp;
|
||||
//--int _callback_showing_brw = callback_showing_brw;
|
||||
//--int _callback_hiding_brw = callback_hiding_brw;
|
||||
//--int _callback_showing_cfg = callback_showing_cfg;
|
||||
//--int _callback_hiding_cfg = callback_hiding_cfg;
|
||||
int _callback_showing_sui = callback_showing_sui;
|
||||
int _callback_closing_sui = callback_closing_sui;
|
||||
|
||||
callback_showing_vis = 0;
|
||||
callback_hiding_vis = 0;
|
||||
callback_showing_video = 0;
|
||||
callback_hiding_video = 0;
|
||||
callback_showing_ml = 0;
|
||||
callback_hiding_ml = 0;
|
||||
callback_showing_pl = 0;
|
||||
callback_hiding_pl = 0;
|
||||
//--callback_showing_exp = 0;
|
||||
//--callback_hiding_exp = 0;
|
||||
//--callback_showing_brw = 0;
|
||||
//--callback_hiding_brw = 0;
|
||||
//--callback_showing_cfg = 0;
|
||||
//--callback_hiding_cfg = 0;
|
||||
|
||||
callback_showing_sui = 0;
|
||||
callback_closing_sui = 0;
|
||||
|
||||
if (_callback_showing_ml == 1)
|
||||
{
|
||||
showMl();
|
||||
}
|
||||
if (_callback_hiding_ml == 1)
|
||||
{
|
||||
hideMl();
|
||||
}
|
||||
if (_callback_showing_pl == 1)
|
||||
{
|
||||
showPl();
|
||||
}
|
||||
if (_callback_hiding_pl == 1)
|
||||
{
|
||||
hidePl();
|
||||
}
|
||||
if (_callback_showing_video == 1)
|
||||
{
|
||||
showVideo();
|
||||
}
|
||||
if (_callback_showing_vis == 1)
|
||||
{
|
||||
showVis();
|
||||
}
|
||||
if (_callback_hiding_vis == 1)
|
||||
{
|
||||
hideVis();
|
||||
}
|
||||
if (_callback_hiding_video == 1)
|
||||
{
|
||||
hideVideo();
|
||||
}/*--
|
||||
if (_callback_showing_exp == 1)
|
||||
{
|
||||
showExp();
|
||||
}
|
||||
if (_callback_hiding_exp == 1)
|
||||
{
|
||||
hideExp();
|
||||
}
|
||||
if (_callback_showing_brw == 1)
|
||||
{
|
||||
showBrw();
|
||||
}
|
||||
if (_callback_hiding_brw == 1)
|
||||
{
|
||||
hideBrw();
|
||||
}--*/
|
||||
/*--if (_callback_showing_cfg == 1)
|
||||
{
|
||||
showCfg();
|
||||
}
|
||||
if (_callback_hiding_cfg == 1)
|
||||
{
|
||||
hideCfg();
|
||||
}--*/
|
||||
if (_callback_showing_SUI == 1)
|
||||
{
|
||||
switchFromNoComp();
|
||||
}
|
||||
if (_callback_closing_SUI == 1)
|
||||
{
|
||||
switchToNoComp();
|
||||
}
|
||||
}
|
||||
|
||||
dc_showMl()
|
||||
{
|
||||
callback_showing_ml = 1;
|
||||
callback_hiding_ml = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideMl()
|
||||
{
|
||||
callback_showing_ml = 0;
|
||||
callback_hiding_ml = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showPl()
|
||||
{
|
||||
callback_showing_pl = 1;
|
||||
callback_hiding_pl = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hidePl()
|
||||
{
|
||||
callback_showing_pl = 0;
|
||||
callback_hiding_pl = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showVideo()
|
||||
{
|
||||
callback_showing_video = 1;
|
||||
callback_hiding_video = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_showVis()
|
||||
{
|
||||
callback_showing_vis = 1;
|
||||
callback_hiding_vis = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideVideo()
|
||||
{
|
||||
callback_showing_video = 0;
|
||||
callback_hiding_video = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideVis()
|
||||
{
|
||||
callback_showing_vis = 0;
|
||||
callback_hiding_vis = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
/*--
|
||||
dc_showBrw()
|
||||
{
|
||||
callback_showing_brw = 1;
|
||||
callback_hiding_brw = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideBrw()
|
||||
{
|
||||
callback_showing_brw = 0;
|
||||
callback_hiding_brw = 1;
|
||||
callbackTimer.start();
|
||||
}--*/
|
||||
/*--
|
||||
dc_showExp()
|
||||
{
|
||||
callback_showing_exp = 1;
|
||||
callback_hiding_exp = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideExp()
|
||||
{
|
||||
callback_showing_exp = 0;
|
||||
callback_hiding_exp = 1;
|
||||
callbackTimer.start();
|
||||
}
|
||||
--*/
|
||||
/*--dc_showCfg()
|
||||
{
|
||||
callback_showing_cfg = 1;
|
||||
callback_hiding_cfg = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_hideCfg()
|
||||
{
|
||||
callback_showing_cfg = 0;
|
||||
callback_hiding_cfg = 1;
|
||||
callbackTimer.start();
|
||||
}--*/
|
||||
|
||||
dc_showSUI()
|
||||
{
|
||||
callback_showing_sui = 1;
|
||||
callback_closing_sui = 0;
|
||||
callbackTimer.start();
|
||||
}
|
||||
|
||||
dc_closeSUI()
|
||||
{
|
||||
callback_showing_sui = 0;
|
||||
callback_closing_sui = 1;
|
||||
callbackTimer.start();
|
||||
}
|
146
Src/resources/skins/Big Bento/scripts/suicore/video_handles.m
Normal file
@ -0,0 +1,146 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: video_handles.m
|
||||
Version: 2.0
|
||||
|
||||
Type: maki
|
||||
Date: 28. Okt. 2006 - 16:30
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
Depending Files:
|
||||
scripts/suicore.maki
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#ifndef included
|
||||
#error This script can only be compiled as a #include
|
||||
#endif
|
||||
|
||||
#define SKINTWEAKS_CFGPAGE "{0542AFA4-48D9-4c9f-8900-5739D52C114F}"
|
||||
#define VIDEO_CONFIG_GROUP "{2135E318-6919-4bcf-99D2-62BE3FCA8FA6}"
|
||||
|
||||
Function initVideo();
|
||||
Function disablePSOVC();
|
||||
Function enablePSOVC();
|
||||
|
||||
Global Timer PSOVCTimer;
|
||||
Global string psovc_save;
|
||||
|
||||
Global WinampConfigGroup cfg_Video;
|
||||
|
||||
Global Boolean lastWasVideo;
|
||||
|
||||
initVideo ()
|
||||
{
|
||||
play_auto_fs_video = 0;
|
||||
|
||||
PSOVCTimer = new Timer;
|
||||
PSOVCTimer.setDelay(1000);
|
||||
|
||||
cfg_Video = WinampConfig.getGroup(VIDEO_CONFIG_GROUP);
|
||||
}
|
||||
|
||||
/** Prevent video playback to stop after the wnd is hidden */
|
||||
|
||||
disablePSOVC()
|
||||
{
|
||||
debugString("[suicore.m] " + "--> disabling stop on video close",0 );
|
||||
ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
|
||||
if (item)
|
||||
{
|
||||
ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
|
||||
if (attr) psovc_save = attr.getData();
|
||||
if (attr) attr.setData("1");
|
||||
}
|
||||
PSOVCTimer.start();
|
||||
debugString("[suicore.m] " + "--> PSOVCTimer.started();",0 );
|
||||
}
|
||||
|
||||
enablePSOVC()
|
||||
{
|
||||
debugString("[suicore.m] " + "--> enabling stop on video close",0 );
|
||||
PSOVCTimer.stop();
|
||||
ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
|
||||
if (item)
|
||||
{
|
||||
ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
|
||||
if (attr) attr.setData(psovc_save);
|
||||
}
|
||||
debugString("[suicore.m] " + "--> PSOVCTimer.stopped();",0 );
|
||||
}
|
||||
|
||||
PSOVCTimer.onTimer()
|
||||
{
|
||||
enablePSOVC();
|
||||
}
|
||||
|
||||
System.onPlay()
|
||||
{
|
||||
// needed to handle video auto fullscreen on play
|
||||
boolean auto_fs = cfg_Video.getBool("auto_fs");
|
||||
if (auto_fs) play_auto_fs_video = 1;
|
||||
else play_auto_fs_video = 0;
|
||||
|
||||
// removed for debugging aims
|
||||
// if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible()) dc_showVideo();
|
||||
}
|
||||
|
||||
System.onPause()
|
||||
{
|
||||
play_auto_fs_video = 0;
|
||||
}
|
||||
|
||||
System.onResume()
|
||||
{
|
||||
play_auto_fs_video = 0;
|
||||
|
||||
// removed for debugging aims
|
||||
// if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible()) dc_showVideo();
|
||||
}
|
||||
|
||||
System.onStop()
|
||||
{
|
||||
play_auto_fs_video = 0;
|
||||
}
|
||||
|
||||
System.onTitleChange(String newtitle)
|
||||
{
|
||||
// needed to handle video auto fullscreen on play
|
||||
boolean auto_fs = cfg_Video.getBool("auto_fs");
|
||||
if (auto_fs) play_auto_fs_video = 1;
|
||||
else play_auto_fs_video = 0;
|
||||
|
||||
/* removed for debugging aims
|
||||
if (startup)
|
||||
{
|
||||
lastWasVideo = isVideo();
|
||||
return;
|
||||
}
|
||||
|
||||
if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible() && getStatus() != 0) dc_showVideo();
|
||||
else if (!isVideo() && cfg_Video.getBool("autoclose") && sui_video.isVisible() && lastWasVideo) showML();
|
||||
lastWasVideo = isVideo();
|
||||
*/
|
||||
}
|
||||
|
||||
//S/ystem.onTitleChange (String newtitle)
|
||||
//{
|
||||
/*if (startup)
|
||||
{
|
||||
lastWasVideo = isVideo();
|
||||
return;
|
||||
}*/
|
||||
|
||||
/*if (!startup && isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible() && getStatus() != 0)
|
||||
{
|
||||
callbackTimer.stop();
|
||||
tempDisable.stop();
|
||||
switchToVideo();
|
||||
debug("");
|
||||
}*/
|
||||
//else if (!isVideo() && cfg_Video.getBool("autoclose") && sui_video.isVisible() && lastWasVideo) showML();
|
||||
//lastWasVideo = isVideo();
|
||||
//}
|
55
Src/resources/skins/Big Bento/scripts/syncbutton.m
Normal file
@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
Filename: syncbutton.m
|
||||
Version: 1.0
|
||||
|
||||
Type: maki
|
||||
Date: 25. Jun. 2007 - 14:04
|
||||
Author: Martin Poehlmann aka Deimos
|
||||
E-Mail: martin@skinconsortium.com
|
||||
Internet: www.skinconsortium.com
|
||||
www.martin.deimos.de.vu
|
||||
-----------------------------------------------------
|
||||
---------------------------------------------------*/
|
||||
|
||||
#include <lib/std.mi>
|
||||
|
||||
Global GuiObject mainButton, activeOverlay;
|
||||
Global Boolean mouseDown;
|
||||
Global Int activeOverlay_Y;
|
||||
|
||||
System.onScriptLoaded ()
|
||||
{
|
||||
mainButton = getScriptGroup().findObject(getToken(getParam(), ";", 0));
|
||||
activeOverlay = getScriptGroup().findObject(getToken(getParam(), ";", 1));
|
||||
activeOverlay_Y = activeOverlay.getGuiY();
|
||||
mainButton.onsetvisible(mainButton.isvIsible());
|
||||
}
|
||||
|
||||
mainButton.onLeftButtonDown (int x, int y)
|
||||
{
|
||||
mouseDown = 1;
|
||||
activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y+1));
|
||||
}
|
||||
|
||||
mainButton.onLeftButtonUp (int x, int y)
|
||||
{
|
||||
mouseDown = 0;
|
||||
activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y));
|
||||
}
|
||||
|
||||
mainButton.onleaveArea ()
|
||||
{
|
||||
activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y));
|
||||
}
|
||||
|
||||
mainButton.onEnterArea ()
|
||||
{
|
||||
if (mouseDown) activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y+1));
|
||||
}
|
||||
|
||||
mainButton.onSetVisible (Boolean onoff)
|
||||
{
|
||||
if (onoff) activeOverlay.show();
|
||||
else activeOverlay.hide();
|
||||
}
|