Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
229
Src/resources/skins/Big Bento/scripts/coverflow.m
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();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue