MP3-jPlayer - Version 1.4.3

Version Description

  • Fixed player buttons for Modularity Lite and Portfolio Press themes (they were disappearing / misaligned when player was in sidebar), thanks to Nate, Jeppe, and Nicklas for the reports.
  • Fixed the bug in stylesheet loading when using the mp3j_addscripts() template tag (style was not being loaded in some cases), thanks to biggordonlips for reporting.
Download this release

Release Info

Developer simon.ward
Plugin Icon 128x128 MP3-jPlayer
Version 1.4.3
Comparing to
See all releases

Code changes from version 1.4.2 to 1.4.3

css/images/Thumbs.db CHANGED
Binary file
css/mp3jplayer-blu-sidebar.css CHANGED
@@ -109,7 +109,7 @@ div.jp-interface { position: relative;
109
 
110
  #status { font-size: 8px; }
111
 
112
- span.mp3-finding { background: url('../css/images/finding-bar10.gif') repeat-y -2px 3px; margin-left: -3px; padding-left: 4px; }
113
  span.mp3-loading { background: url('../css/images/finding-barBc.gif') repeat-y -2px 3px; margin-left: -3px; padding-left: 4px; }
114
 
115
  /* span.mp3-finding { background: url('../css/images/finding-bar11.gif') repeat-y 0px 3px; padding-left: 6px; }
@@ -149,20 +149,20 @@ div.jp-interface { position: relative;
149
  border: 0px !important;
150
  cursor: default !important;
151
  }
152
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
153
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
154
 
155
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
156
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
157
 
158
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
159
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
160
 
161
- a.jp-previous { bottom:8px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
162
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
163
 
164
- a.jp-next { bottom:8px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
165
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
166
 
167
  /* other buttons*/
168
  #playlist-toggle, #downloadmp3-button {
109
 
110
  #status { font-size: 8px; }
111
 
112
+ span.mp3-finding { background: url('../css/images/finding-barBc.gif') repeat-y -2px 3px; margin-left: -3px; padding-left: 4px; }
113
  span.mp3-loading { background: url('../css/images/finding-barBc.gif') repeat-y -2px 3px; margin-left: -3px; padding-left: 4px; }
114
 
115
  /* span.mp3-finding { background: url('../css/images/finding-bar11.gif') repeat-y 0px 3px; padding-left: 6px; }
149
  border: 0px !important;
150
  cursor: default !important;
151
  }
152
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
153
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
154
 
155
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
156
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
157
 
158
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
159
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
160
 
161
+ a.jp-previous { bottom:8px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
162
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
163
 
164
+ a.jp-next { bottom:8px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
165
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
166
 
167
  /* other buttons*/
168
  #playlist-toggle, #downloadmp3-button {
css/mp3jplayer-blu.css CHANGED
@@ -149,20 +149,20 @@ div.jp-interface { position: relative;
149
  border: 0px !important;
150
  cursor: default !important;
151
  }
152
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
153
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
154
 
155
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
156
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
157
 
158
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
159
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
160
 
161
- a.jp-previous { bottom:10px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
162
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
163
 
164
- a.jp-next { bottom:10px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
165
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
166
 
167
 
168
 
@@ -355,14 +355,14 @@ div.jp-interface { position: relative;
355
  div.jp-playlist-player div#jplayer_playlist.jp-playlist li, #playlist-wrap div.jp-playlist li {
356
  padding:0px 0px 0px 2px !important;
357
  border-bottom:1px solid #ebebeb !important;
358
- font-family: 'verdana', 'Lucida Grande', 'arial';
359
- font-weight: 500;
360
- font-size: 11px;
361
- line-height: 18px;
362
- letter-spacing: 0px;
363
- word-spacing: 0px;
364
- margin: 0px;
365
- background-image: none;
366
  list-style-type:none !important; }
367
 
368
  div.jp-playlist-player div.jp-playlist li.jplayer_playlist_item_last { border-bottom:none; background-image: none; }
@@ -371,18 +371,18 @@ div.jp-interface { position: relative;
371
 
372
  div.jp-playlist-player div.jp-playlist a, #playlist-wrap div.jp-playlist a {
373
  color: #444;
374
- text-decoration: none;
375
  display: block !important;
376
  width: 254px;
377
- padding: 5px 0px 4px 20px !important;
378
  white-space: nowrap;
379
  overflow: hidden !important;
380
- outline: none;
381
  margin: 0px !important;
382
  font-family: 'verdana', 'Lucida Grande', 'arial';
383
  font-weight: 500;
384
  background-image: none;
385
- border: 0px; }
386
 
387
  div.jp-playlist-player div.jp-playlist a:hover, #playlist-wrap div.jp-playlist a:hover {
388
  color:#808080; /* b4b4b4 c7b67f d1b37c 00c0f0 */
149
  border: 0px !important;
150
  cursor: default !important;
151
  }
152
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
153
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
154
 
155
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
156
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
157
 
158
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
159
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
160
 
161
+ a.jp-previous { bottom:10px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
162
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
163
 
164
+ a.jp-next { bottom:10px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
165
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
166
 
167
 
168
 
355
  div.jp-playlist-player div#jplayer_playlist.jp-playlist li, #playlist-wrap div.jp-playlist li {
356
  padding:0px 0px 0px 2px !important;
357
  border-bottom:1px solid #ebebeb !important;
358
+ font-family: 'verdana', 'Lucida Grande', 'arial' !important;
359
+ font-weight: 500 !important;
360
+ font-size: 11px !important;
361
+ line-height: 18px !important;
362
+ letter-spacing: 0px !important;
363
+ word-spacing: 0px !important;
364
+ margin: 0px !important;
365
+ background-image: none !important;
366
  list-style-type:none !important; }
367
 
368
  div.jp-playlist-player div.jp-playlist li.jplayer_playlist_item_last { border-bottom:none; background-image: none; }
371
 
372
  div.jp-playlist-player div.jp-playlist a, #playlist-wrap div.jp-playlist a {
373
  color: #444;
374
+ text-decoration: none !important;
375
  display: block !important;
376
  width: 254px;
377
+ padding: 5px 0px 4px 20px !important;
378
  white-space: nowrap;
379
  overflow: hidden !important;
380
+ outline: none !important;
381
  margin: 0px !important;
382
  font-family: 'verdana', 'Lucida Grande', 'arial';
383
  font-weight: 500;
384
  background-image: none;
385
+ border: 0px !important; }
386
 
387
  div.jp-playlist-player div.jp-playlist a:hover, #playlist-wrap div.jp-playlist a:hover {
388
  color:#808080; /* b4b4b4 c7b67f d1b37c 00c0f0 */
css/mp3jplayer-cyanALT-sidebar.css CHANGED
@@ -144,20 +144,20 @@ div.jp-interface { position: relative;
144
  border: 0px !important;
145
  cursor: default !important;
146
  }
147
- a.jp-play { bottom:5px; right: 4px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
148
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
149
 
150
- a.jp-pause { bottom:5px; right: 4px; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
151
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
152
 
153
- a.jp-stop { bottom:5px; right: 33px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
154
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
155
 
156
- a.jp-previous { bottom:9px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
157
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
158
 
159
- a.jp-next { bottom:9px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
160
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
161
 
162
 
163
 
144
  border: 0px !important;
145
  cursor: default !important;
146
  }
147
+ a.jp-play { bottom:5px !important; right: 4px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
148
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
149
 
150
+ a.jp-pause { bottom:5px !important; right: 4px !important; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
151
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
152
 
153
+ a.jp-stop { bottom:5px !important; right: 33px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
154
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
155
 
156
+ a.jp-previous { bottom:9px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
157
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
158
 
159
+ a.jp-next { bottom:9px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
160
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
161
 
162
 
163
 
css/mp3jplayer-cyanALT.css CHANGED
@@ -144,20 +144,20 @@ div.jp-interface { position: relative;
144
  border: 0px !important;
145
  cursor: default !important;
146
  }
147
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
148
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
149
 
150
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
151
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
152
 
153
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
154
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
155
 
156
- a.jp-previous { bottom:10px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
157
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
158
 
159
- a.jp-next { bottom:10px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
160
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
161
 
162
 
163
 
144
  border: 0px !important;
145
  cursor: default !important;
146
  }
147
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
148
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
149
 
150
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
151
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
152
 
153
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
154
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
155
 
156
+ a.jp-previous { bottom:10px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
157
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
158
 
159
+ a.jp-next { bottom:10px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
160
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
161
 
162
 
163
 
css/mp3jplayer-green-sidebar.css CHANGED
@@ -145,20 +145,20 @@ div.jp-interface { position: relative;
145
  border: 0px !important;
146
  cursor: default !important;
147
  }
148
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
149
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
150
 
151
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
152
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
153
 
154
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
155
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
156
 
157
- a.jp-previous { bottom:8px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
158
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
159
 
160
- a.jp-next { bottom:8px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
161
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
162
 
163
  /* other buttons*/
164
  #playlist-toggle, #downloadmp3-button {
145
  border: 0px !important;
146
  cursor: default !important;
147
  }
148
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
149
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
150
 
151
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
152
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
153
 
154
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
155
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
156
 
157
+ a.jp-previous { bottom:8px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
158
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
159
 
160
+ a.jp-next { bottom:8px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
161
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
162
 
163
  /* other buttons*/
164
  #playlist-toggle, #downloadmp3-button {
css/mp3jplayer-green.css CHANGED
@@ -145,20 +145,20 @@ div.jp-interface { position: relative;
145
  border: 0px !important;
146
  cursor: default !important;
147
  }
148
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
149
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
150
 
151
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
152
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
153
 
154
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
155
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
156
 
157
- a.jp-previous { bottom:10px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
158
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
159
 
160
- a.jp-next { bottom:10px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
161
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
162
 
163
 
164
 
145
  border: 0px !important;
146
  cursor: default !important;
147
  }
148
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
149
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
150
 
151
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
152
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
153
 
154
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
155
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
156
 
157
+ a.jp-previous { bottom:10px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
158
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
159
 
160
+ a.jp-next { bottom:10px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
161
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
162
 
163
 
164
 
css/mp3jplayer-grey-sidebar.css CHANGED
@@ -148,20 +148,20 @@ div.jp-interface { position: relative;
148
  border: 0px !important;
149
  cursor: default !important;
150
  }
151
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
152
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
153
 
154
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
155
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
156
 
157
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
158
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
159
 
160
- a.jp-previous { bottom:8px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
161
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
162
 
163
- a.jp-next { bottom:8px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
164
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
165
 
166
 
167
 
148
  border: 0px !important;
149
  cursor: default !important;
150
  }
151
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
152
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
153
 
154
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:32px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
155
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
156
 
157
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:32px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
158
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
159
 
160
+ a.jp-previous { bottom:8px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
161
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
162
 
163
+ a.jp-next { bottom:8px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
164
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
165
 
166
 
167
 
css/mp3jplayer-grey.css CHANGED
@@ -148,20 +148,20 @@ div.jp-interface { position: relative;
148
  border: 0px !important;
149
  cursor: default !important;
150
  }
151
- a.jp-play { bottom:4px; right: 4px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
152
- a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat; border-bottom: none; }
153
 
154
- a.jp-pause { bottom:4px; right: 4px; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
155
- a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat; border-bottom: none; }
156
 
157
- a.jp-stop { bottom:4px; right: 33px; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
158
- a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat; border-bottom: none; }
159
 
160
- a.jp-previous { bottom:10px; right:84px; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
161
- a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat; border-bottom: none; }
162
 
163
- a.jp-next { bottom:10px; right:63px; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
164
- a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat; border-bottom: none; }
165
 
166
 
167
 
148
  border: 0px !important;
149
  cursor: default !important;
150
  }
151
+ a.jp-play { bottom:4px !important; right: 4px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -112px 1px no-repeat; }
152
+ a.jp-play:hover { background: url("images/buttons2H.png") -112px 1px no-repeat !important; border-bottom: none; }
153
 
154
+ a.jp-pause { bottom:4px !important; right: 4px !important; width:28px !important; height:34px !important; background: url("images/buttons2.png") -2px 1px no-repeat; }
155
+ a.jp-pause:hover { background: url("images/buttons2H.png") -2px 1px no-repeat !important; border-bottom: none; }
156
 
157
+ a.jp-stop { bottom:4px !important; right: 33px !important; width:26px !important; height:34px !important; background: url("images/buttons2.png") -81px 1px no-repeat; }
158
+ a.jp-stop:hover { background: url("images/buttons2H.png") -81px 1px no-repeat !important; border-bottom: none; }
159
 
160
+ a.jp-previous { bottom:10px !important; right:84px !important; width:22px !important; height:28px !important; background: url("images/buttons2.png") -32px -1px no-repeat; }
161
+ a.jp-previous:hover { background: url("images/buttons2H.png") -32px -1px no-repeat !important; border-bottom: none; }
162
 
163
+ a.jp-next { bottom:10px !important; right:63px !important; width:19px !important; height:28px !important; background: url("images/buttons2.png") -57px -1px no-repeat; }
164
+ a.jp-next:hover { background: url("images/buttons2H.png") -57px -1px no-repeat !important; border-bottom: none; }
165
 
166
 
167
 
css/mp3jplayer-text-sidebar.css CHANGED
@@ -75,27 +75,25 @@ div.jp-interface {
75
 
76
  div.jp-play-time,
77
  div.jp-total-time,
78
- #status { position: absolute !important;
79
- left: 0px !important;
80
- margin:0px !important;
81
- padding:0px !important;
82
  text-align: left;
83
  font-size: 11px;
84
  z-index: 50;
85
  font-family: 'trebuchet ms', Arial, sans-serif;
86
- }
87
 
88
- div.jp-play-time { top: 48px !important; width:37px; opacity:0.6; filter:alpha(opacity=60) }
89
  div.jp-total-time { top: 63px; width:37px; visibility:hidden; }
90
- #status { top: 48px !important; left: 35px !important; }
91
 
92
- span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
93
- span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
94
 
95
  /* transport buttons */
96
  div.jp-interface ul.jp-controls {
97
  list-style-type:none;
98
- padding:0;
99
  margin: 0px 0px 0px 0px !important; }
100
 
101
  div.jp-interface ul.jp-controls li {
@@ -106,32 +104,32 @@ div.jp-interface {
106
 
107
  div.jp-interface ul.jp-controls a, div.jp-interface ul.jp-controls a:hover {
108
  display: block;
109
- position: absolute;
110
  overflow:hidden;
111
- text-indent:0px;
112
  outline: none;
113
- margin: 0px;
114
- padding: 0px;
115
  border-bottom: none !important;
116
  font-family: 'trebuchet ms', Arial, sans-serif; }
117
 
118
  a.jp-play, a.jp-pause, a.jp-stop, a.jp-previous, a.jp-next {
119
- top: 47px;
120
-
 
121
  border: 0;
122
  cursor: default;
123
  border-bottom: none !important;
124
  background:none !important;
125
  font-family: 'trebuchet ms', Arial, sans-serif; }
126
 
 
 
 
 
 
 
127
 
128
- a.jp-play { left: 184px; font-size: 14px; width:27px; }
129
- a.jp-pause { left: 175px; font-size: 13px; width:37px; }
130
- a.jp-stop { visibility: hidden; left: 50px; font-size: 14px; width:26px; }
131
- a.jp-previous { left:108px; font-size: 11px; top: 48px; width:29px;}
132
- a.jp-next { left:140px; font-size: 11px; top: 48px; width:30px; }
133
-
134
-
135
  /* other buttons*/
136
  #playlist-toggle {
137
  position: absolute;
75
 
76
  div.jp-play-time,
77
  div.jp-total-time,
78
+ #status { position: absolute;
79
+ left: 0px;
 
 
80
  text-align: left;
81
  font-size: 11px;
82
  z-index: 50;
83
  font-family: 'trebuchet ms', Arial, sans-serif;
84
+ }
85
 
86
+ div.jp-play-time { top: 48px; width:37px; opacity:0.6; filter:alpha(opacity=60); }
87
  div.jp-total-time { top: 63px; width:37px; visibility:hidden; }
88
+ #status { top: 48px; left: 35px;; }
89
 
90
+ span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px !important; margin-left: -3px !important; padding-left: 4px !important; }
91
+ span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px !important; margin-left: -3px !important; padding-left: 4px !important; }
92
 
93
  /* transport buttons */
94
  div.jp-interface ul.jp-controls {
95
  list-style-type:none;
96
+ padding:0 !important;
97
  margin: 0px 0px 0px 0px !important; }
98
 
99
  div.jp-interface ul.jp-controls li {
104
 
105
  div.jp-interface ul.jp-controls a, div.jp-interface ul.jp-controls a:hover {
106
  display: block;
107
+ position: absolute !important;
108
  overflow:hidden;
109
+ text-indent:0px !important;
110
  outline: none;
111
+ margin: 0px !important;
112
+ padding: 0px !important;
113
  border-bottom: none !important;
114
  font-family: 'trebuchet ms', Arial, sans-serif; }
115
 
116
  a.jp-play, a.jp-pause, a.jp-stop, a.jp-previous, a.jp-next {
117
+ top: 48px;
118
+ width:auto!important;
119
+ height:15px !important;
120
  border: 0;
121
  cursor: default;
122
  border-bottom: none !important;
123
  background:none !important;
124
  font-family: 'trebuchet ms', Arial, sans-serif; }
125
 
126
+ a.jp-play { right: 0px; font-size: 14px!important; width:27px!important; }
127
+ a.jp-pause { right: 0px; font-size: 13px!important; width:37px!important; }
128
+ a.jp-stop { visibility: hidden; right: 50px; font-size: 14px!important; width:26px!important; }
129
+ a.jp-previous { right:75px; font-size: 11px!important; top: 49px; width:29px!important; }
130
+ a.jp-next { right:42px; font-size: 11px!important; top: 49px; width:30px!important; }
131
+
132
 
 
 
 
 
 
 
 
133
  /* other buttons*/
134
  #playlist-toggle {
135
  position: absolute;
css/mp3jplayer-text.css CHANGED
@@ -86,13 +86,13 @@ div.jp-interface {
86
  div.jp-total-time { top: 63px; width:37px; visibility:hidden; }
87
  #status { top: 48px; left: 35px;; }
88
 
89
- span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
90
- span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
91
 
92
  /* transport buttons */
93
  div.jp-interface ul.jp-controls {
94
  list-style-type:none;
95
- padding:0;
96
  margin: 0px 0px 0px 0px !important; }
97
 
98
  div.jp-interface ul.jp-controls li {
@@ -103,19 +103,19 @@ div.jp-interface {
103
 
104
  div.jp-interface ul.jp-controls a, div.jp-interface ul.jp-controls a:hover {
105
  display: block;
106
- position: absolute;
107
  overflow:hidden;
108
- text-indent:0px;
109
  outline: none;
110
- margin: 0px;
111
- padding: 0px;
112
  border-bottom: none !important;
113
  font-family: 'trebuchet ms', Arial, sans-serif; }
114
 
115
  a.jp-play, a.jp-pause, a.jp-stop, a.jp-previous, a.jp-next {
116
- top: 47px;
117
- width:auto;
118
- height:auto;
119
  border: 0;
120
  cursor: default;
121
  border-bottom: none !important;
@@ -123,11 +123,11 @@ div.jp-interface {
123
  font-family: 'trebuchet ms', Arial, sans-serif; }
124
 
125
 
126
- a.jp-play { left: 254px; font-size: 14px; width:27px; }
127
- a.jp-pause { left: 243px; font-size: 14px; width:37px; }
128
- a.jp-stop { visibility: hidden; left: 50px; font-size: 14px; width:26px; }
129
- a.jp-previous { left:178px; font-size: 11px; top: 48px; width:29px; }
130
- a.jp-next { left:210px; font-size: 11px; top: 48px; width:30px; }
131
 
132
 
133
  /* other buttons*/
86
  div.jp-total-time { top: 63px; width:37px; visibility:hidden; }
87
  #status { top: 48px; left: 35px;; }
88
 
89
+ span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px !important; margin-left: -3px !important; padding-left: 4px !important; }
90
+ span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px !important; margin-left: -3px !important; padding-left: 4px !important; }
91
 
92
  /* transport buttons */
93
  div.jp-interface ul.jp-controls {
94
  list-style-type:none;
95
+ padding:0 !important;
96
  margin: 0px 0px 0px 0px !important; }
97
 
98
  div.jp-interface ul.jp-controls li {
103
 
104
  div.jp-interface ul.jp-controls a, div.jp-interface ul.jp-controls a:hover {
105
  display: block;
106
+ position: absolute !important;
107
  overflow:hidden;
108
+ text-indent:0px !important;
109
  outline: none;
110
+ margin: 0px !important;
111
+ padding: 0px !important;
112
  border-bottom: none !important;
113
  font-family: 'trebuchet ms', Arial, sans-serif; }
114
 
115
  a.jp-play, a.jp-pause, a.jp-stop, a.jp-previous, a.jp-next {
116
+ top: 48px;
117
+ width:auto!important;
118
+ height:15px !important;
119
  border: 0;
120
  cursor: default;
121
  border-bottom: none !important;
123
  font-family: 'trebuchet ms', Arial, sans-serif; }
124
 
125
 
126
+ a.jp-play { right: 0px; font-size: 14px!important; width:27px!important; }
127
+ a.jp-pause { right: 0px; font-size: 14px!important; width:37px!important; }
128
+ a.jp-stop { visibility: hidden; right: 50px; font-size: 14px!important; width:26px!important; }
129
+ a.jp-previous { right:75px; font-size: 11px!important; top: 49px; width:29px!important; }
130
+ a.jp-next { right:42px; font-size: 11px!important; top: 49px; width:30px!important; }
131
 
132
 
133
  /* other buttons*/
js/mp3-jplayer.js CHANGED
@@ -1,5 +1,5 @@
1
  <!--
2
- // MP3-jPlayer 1.4.1
3
  // www.sjward.org
4
 
5
  var foxcurrentstate = "open";
1
  <!--
2
+ // MP3-jPlayer (since 1.4.1)
3
  // www.sjward.org
4
 
5
  var foxcurrentstate = "open";
mp3jplayer.php CHANGED
@@ -2,7 +2,7 @@
2
  Plugin Name: MP3-jPlayer
3
  Plugin URI: http://sjward.org/jplayer-for-wordpress
4
  Description: A flexible MP3 player with a playlist that can be added to your content or sidebar.
5
- Version: 1.4.2
6
  Author: Simon Ward
7
  Author URI: http://www.sjward.org
8
  License: GPL2
@@ -28,7 +28,7 @@ if ( !class_exists("mp3Fox") )
28
  class mp3Fox
29
  {
30
  // ------------------ //
31
- var $version_of_plugin = "1.4.2"; // Update me! //
32
  var $option_count = 22;
33
  // ------------------ //
34
 
@@ -904,7 +904,7 @@ if ( !class_exists("mp3Fox") )
904
  * ENQUEUES the js and css scripts.
905
  */
906
  function add_Scripts( $theme ) {
907
-
908
  wp_enqueue_script( 'jquery', '/wp-content/plugins/mp3-jplayer/js/jquery.js' );
909
  wp_enqueue_script( 'ui.core', '/wp-content/plugins/mp3-jplayer/js/ui.core.js', array( 'jquery' ) );
910
  wp_enqueue_script( 'ui.progressbar.min', '/wp-content/plugins/mp3-jplayer/js/ui.progressbar.min.js', array( 'jquery' ) );
@@ -915,11 +915,14 @@ if ( !class_exists("mp3Fox") )
915
  // Set the style sheet either from admin (A-E) or template tag //
916
  $size = "";
917
  if ( $this->theSettings['use_small_player'] == "true" ) { $size = "-sidebar"; }
 
918
  if ( $theme == "styleA" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-grey" . $size . ".css"; }
919
- if ( $theme == "styleB" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-green" . $size . ".css"; }
920
- if ( $theme == "styleC" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-blu" . $size . ".css"; }
921
- if ( $theme == "styleD" ) { $themepath = str_replace(".css", "", $this->theSettings['custom_stylesheet']) . $size . ".css"; }
922
- if ( $theme == "styleE" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-text" . $size . ".css"; }
 
 
923
  $name = strrchr( $themepath, "/");
924
  $name = str_replace( "/", "", $name);
925
  $name = str_replace( ".css", "", $name);
2
  Plugin Name: MP3-jPlayer
3
  Plugin URI: http://sjward.org/jplayer-for-wordpress
4
  Description: A flexible MP3 player with a playlist that can be added to your content or sidebar.
5
+ Version: 1.4.3
6
  Author: Simon Ward
7
  Author URI: http://www.sjward.org
8
  License: GPL2
28
  class mp3Fox
29
  {
30
  // ------------------ //
31
+ var $version_of_plugin = "1.4.3"; // Update me! //
32
  var $option_count = 22;
33
  // ------------------ //
34
 
904
  * ENQUEUES the js and css scripts.
905
  */
906
  function add_Scripts( $theme ) {
907
+
908
  wp_enqueue_script( 'jquery', '/wp-content/plugins/mp3-jplayer/js/jquery.js' );
909
  wp_enqueue_script( 'ui.core', '/wp-content/plugins/mp3-jplayer/js/ui.core.js', array( 'jquery' ) );
910
  wp_enqueue_script( 'ui.progressbar.min', '/wp-content/plugins/mp3-jplayer/js/ui.progressbar.min.js', array( 'jquery' ) );
915
  // Set the style sheet either from admin (A-E) or template tag //
916
  $size = "";
917
  if ( $this->theSettings['use_small_player'] == "true" ) { $size = "-sidebar"; }
918
+
919
  if ( $theme == "styleA" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-grey" . $size . ".css"; }
920
+ elseif ( $theme == "styleB" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-green" . $size . ".css"; }
921
+ elseif ( $theme == "styleC" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-blu" . $size . ".css"; }
922
+ elseif ( $theme == "styleD" ) { $themepath = str_replace(".css", "", $this->theSettings['custom_stylesheet']) . $size . ".css"; }
923
+ elseif ( $theme == "styleE" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/mp3jplayer-text" . $size . ".css"; }
924
+ else { $themepath = $theme; }
925
+
926
  $name = strrchr( $themepath, "/");
927
  $name = str_replace( "/", "", $name);
928
  $name = str_replace( ".css", "", $name);
readme.txt CHANGED
@@ -4,14 +4,14 @@ Plugin URI: http://www.sjward.org/jplayer-for-wordpress
4
  Contributors: simon.ward
5
  Tags: mp3, audio, player, music, jplayer, integration, music player, mp3 player, playlist, media, jquery, javascript, plugin, shortcode, widget, widgets, css, posts, page, sidebar
6
  Requires at least: 2.8
7
- Tested up to: 3.1
8
- Stable tag: 1.4.2
9
 
10
  An mp3 player for pages and posts, optional widget and shortcode, template tags. HTML5 / Flash, works on iphone and ipad.
11
 
12
 
13
  == Description ==
14
- 1.4.2 fixes an error with the widget handling (it's scripts weren't being loaded in some themes and widget areas). Also fixed are the library captions that weren't showing up when using widget modes 2/3, and a css fix that should re-align the buttons that were still out-of-place in some themes.
15
 
16
  Recently added - sidebar widget, text based player style, easy play of entire folders and library, randomise playlists, set custom stylesheet from admin.
17
 
@@ -205,8 +205,12 @@ Yes if your theme has header/footer widget areas, if it doesn't then you can sti
205
 
206
  == Changelog ==
207
 
 
 
 
 
208
  = 1.4.2 =
209
- * Fixed error in the scripts handling for the widget, thanks to kathy for reporting.
210
  * Fixed the non-showing library captions when using widget modes 2/3 to play library files.
211
  * Fixed (hopefully) the mis-aligned buttons that were still happening in some themes.
212
 
@@ -215,7 +219,6 @@ Yes if your theme has header/footer widget areas, if it doesn't then you can sti
215
  * Fixed text-player buttons css in Opera.
216
  * Fixed initial-volume setting error where only the slider was being set and not the volume. Thanks to Darkwave for reporting.
217
 
218
-
219
  = 1.4.0 =
220
  * Added a widget.
221
  * Improvements to admin including library and default folder mp3 lists, custom stylesheet setting, and some new options.
4
  Contributors: simon.ward
5
  Tags: mp3, audio, player, music, jplayer, integration, music player, mp3 player, playlist, media, jquery, javascript, plugin, shortcode, widget, widgets, css, posts, page, sidebar
6
  Requires at least: 2.8
7
+ Tested up to: 3.0.5
8
+ Stable tag: 1.4.3
9
 
10
  An mp3 player for pages and posts, optional widget and shortcode, template tags. HTML5 / Flash, works on iphone and ipad.
11
 
12
 
13
  == Description ==
14
+ 1.4.3 adds minor CSS fixes that correct the player's buttons for 'Modularity Lite' and 'Portfolio Press' themes. Also fixed is stylesheet changing via the mp3j_addscripts() template tag (the CSS was not loaded in some cases).
15
 
16
  Recently added - sidebar widget, text based player style, easy play of entire folders and library, randomise playlists, set custom stylesheet from admin.
17
 
205
 
206
  == Changelog ==
207
 
208
+ = 1.4.3 =
209
+ * Fixed player buttons for Modularity Lite and Portfolio Press themes (they were disappearing / misaligned when player was in sidebar), thanks to Nate, Jeppe, and Nicklas for the reports.
210
+ * Fixed the bug in stylesheet loading when using the mp3j_addscripts() template tag (style was not being loaded in some cases), thanks to biggordonlips for reporting.
211
+
212
  = 1.4.2 =
213
+ * Fixed error in the scripts handling for the widget, thanks to Kathy for reporting.
214
  * Fixed the non-showing library captions when using widget modes 2/3 to play library files.
215
  * Fixed (hopefully) the mis-aligned buttons that were still happening in some themes.
216
 
219
  * Fixed text-player buttons css in Opera.
220
  * Fixed initial-volume setting error where only the slider was being set and not the volume. Thanks to Darkwave for reporting.
221
 
 
222
  = 1.4.0 =
223
  * Added a widget.
224
  * Improvements to admin including library and default folder mp3 lists, custom stylesheet setting, and some new options.