1 var bufferedImage=null
2 var animator=null
3 var djImage=null
4 var showEqualizer=true
5 var imagePainted=false
6 var equalizer
7 function setupEqualizer() {
8 equalizer=widget;
9 drawEqualizer()
10 }
11 function drawEqualizer() {
12 if(equalizer.showing) {
13 var x=0;
14 var y=0
15 var width=equalizer.width
16 var height=equalizer.height
17 var g2=equalizer.getContext("2d");
18 if(!showEqualizer) {
19 if(!imagePainted) {
20 if(djImage==null) {
21 djImage=new Image("images/disk_jockey128.png")
22 }
23 g2.clear()
24 g2.drawImage(djImage,x+((width-djImage.width)/2),y+((height-djImage.height)/2))
25 imagePainted=true;
26 }
27 return;
28 }
29 g2.clear()
30 var eh=4
31 var ew=20
32 x+=6
33 width-=8
34 height=height/2
35 var len=Math.floor(width/ew)
36 var tlen=Math.floor(height/eh)
37 var color=java.awt.Color.green
38 var red=java.awt.Color.red
39 var yellow=java.awt.Color.yellow
40 var i,h
41 if(tlen<1) {
42 tlen=1;
43 }
44 y=y+height
45 var n,hy;
46 var th=tlen-Math.floor(tlen/2)
47 var th2=tlen-Math.floor(tlen/3)
48 for(i=0;i<len;i++) {
49 h=sage.randomLong(tlen)
50 if(h<2) {
51 h=2;
52 }
53 g2.fillStyle=color
54 hy=0
55 for(n=0;n<h;n++) {
56 if(n>th2) {
57 g2.fillStyle=red
58 }
59 else if(n>th) {
60 g2.fillStyle=yellow
61 }
62 g2.fillRect(x, y-hy+2, ew-4,eh-2)
63 hy+=eh+1
64 }
65 x+=ew
66 }
67 g2.createReflection(0,height,.2)
68 setTimeout("drawEqualizer()",300)
69 }
70 }
71 function toggleAnimation(playWidget) {
72 if(showEqualizer) {
73 playWidget.icon=playWidget.getIcon("images/play.png")
74 }
75 else {
76 playWidget.icon=playWidget.getIcon("images/pause.png")
77 }
78 playWidget.dataComponent.pressedIcon=null
79 showEqualizer=!showEqualizer
80 imagePainted=false
81
82 drawEqualizer()
83 }
84 function changeSkin(skin) {
85 switch(String(skin)) {
86 case 'dark':
87 sage.updateUIColor(window,'defaultBackground',"#161920")
88 sage.updateUIColor(window,'foregroundColor',"#818083")
89 sage.updateUIColor(window,'brightForeground',"foregroundColor+50")
90 sage.updateUIColor(window,'podHilite',"green")
91 sage.updateUIColor(window,'linkColor',"#ffffff")
92
93 break;
94 case 'light':
95 sage.updateUIColor(window,'defaultBackground',"#d0d0d0")
96 sage.updateUIColor(window,'foregroundColor',"#222222")
97 sage.updateUIColor(window,'podHilite',"#D9DFF0")
98 sage.updateUIColor(window,'linkColor',"#222280")
99 sage.updateUIColor(window,'brightForeground',"#000000")
100 break;
101 case 'red':
102 sage.updateUIColor(window,'defaultBackground',"#400000")
103 sage.updateUIColor(window,'foregroundColor',"#919093")
104 sage.updateUIColor(window,'brightForeground',"foregroundColor+50")
105 sage.updateUIColor(window,'podHilite',"yellow")
106 sage.updateUIColor(window,'linkColor',"#ffffff")
107 break;
108 case 'blue':
109 sage.updateUIColor(window,'defaultBackground',"#000040")
110 sage.updateUIColor(window,'foregroundColor',"#919093")
111 sage.updateUIColor(window,'brightForeground',"foregroundColor+50")
112 sage.updateUIColor(window,'podHilite',"red")
113 sage.updateUIColor(window,'linkColor',"#ffffff")
114 break;
115 case 'green':
116 sage.updateUIColor(window,'defaultBackground',"#004000")
117 sage.updateUIColor(window,'foregroundColor',"#c1c0c3")
118 sage.updateUIColor(window,'brightForeground',"foregroundColor+50")
119 sage.updateUIColor(window,'podHilite',"yellow")
120 sage.updateUIColor(window,'linkColor',"#ffffff")
121 break
122 }
123 window.update()
124 }
125 var timeFilter=new com.sparseware.util.iFilter() {
126 passes: function(value) {
127 var s=time.value-2
128 if(s<1) {
129 return true
130 }
131 var e=s+4
132 var n=sage.intValue(value)
133 return n>s && n <e
134 }
135 }
136 function filterTable() {
137 songs.filter(2,timeFilter)
138 }
139
140
141
142
143 function toggleSongsCheckbox(e) {
144 var t=e.source
145 var p=e.point
146 var row=t.rowAtPoint(p)
147 var index=t.columnAtPoint(p)
148 var col=index
149 if(index!=-1) {
150 index=t.convertColumnIndexToModel(index)
151 }
152 if(index==1 && row>-1) {
153 var r=t.getCellRect(row,col,false)
154 r.x+=7
155 r.y+=4
156 r.width=10
157 r.height=11
158 if(r.contains(p)) {
159 var item=widget.getItemAt(row,index)
160 if(item.icon==null) {
161 item.icon=window.getResourceIcon("icon_checkbox")
162 }
163 else {
164 item.icon=null
165 }
166 widget.update()
167 }
168 }
169 }
170 function getRotater() {
171 return new com.sparseware.sage.iPaintPrimerFinisher() {
172 prime: function(c, g) {
173 var x = (c.getHeight() - c.getWidth())/2;
174 var y = (c.getWidth() - c.getHeight())/2.0;
175 var at = java.awt.geom.AffineTransform.getTranslateInstance(x, y);
176 at.rotate(java.util.Math.toRadians(10), c.getWidth()/2.0,c.getHeight()/2.0);
177 g.transform=at
178 return g
179 },
180 finish: function(c, g) {
181 g.transform=null
182 },
183 }
184 }
185