MP3-jPlayer - Version 1.7.2

Version Description

  • Fixed bug in the case where sidebars_widgets array was not defined (was throwing a php warning), thanks to Craig for reporting.
  • Fixed bug on search pages where full post content was being used (players in posts were breaking unless a player widget was present), thanks to Marco for reporting.
  • Fixed loop parameter in single players (wasn't responding to 'n' or '0'). Thanks to George for reporting.
  • Corrected the template tag handling so that it can auto pick-up mp3's from post fields on index/archive/search pages.
  • Fixed the 'text' player's colour pickup for the popout, and refined it's layout a little.
  • Changed from using depreciated wp user-levels to capabilities for options page setup (was throwing a wp_debug warning).
  • Corrected typos in the plugin help (invasion of capitalised L's).
Download this release

Release Info

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

Code changes from version 1.7.1 to 1.7.2

Files changed (50) hide show
  1. css/images/Thumbs.db +0 -0
  2. css/images/buttons-dark.png +0 -0
  3. css/images/buttons-hard.png +0 -0
  4. css/images/buttons-popout.png +0 -0
  5. css/images/buttons-popout4.png +0 -0
  6. css/images/buttons-popout4H.png +0 -0
  7. css/images/buttonsH-dark.png +0 -0
  8. css/images/buttonsH-hard.png +0 -0
  9. css/images/finding-bar9.gif +0 -0
  10. css/images/finding-bar9b.gif +0 -0
  11. css/images/inlineHandle.gif +0 -0
  12. css/images/inlineHandle1.png +0 -0
  13. css/images/inlineHandle2.gif +0 -0
  14. css/images/inlineHandle2.png +0 -0
  15. css/images/inlineHandleB.png +0 -0
  16. css/images/inlineHandleBH.png +0 -0
  17. css/images/inlineHandleC.png +0 -0
  18. css/images/inlineHandleCH.png +0 -0
  19. css/images/inlineHandleCH2.png +0 -0
  20. css/images/inlineHandleH.gif +0 -0
  21. css/images/pos-handle3.gif +0 -0
  22. css/images/pos-handle3H.gif +0 -0
  23. css/images/pos-handleALT.png +0 -0
  24. css/images/shcode2-hard.png +0 -0
  25. css/images/shcode2H-hard.png +0 -0
  26. css/images/transport-dark.png +0 -0
  27. css/images/transport-hard.png +0 -0
  28. css/images/transport-outline.png +0 -0
  29. css/images/transport-shard.png +0 -0
  30. css/images/vol-handle.png +0 -0
  31. css/images/vol-handle2.gif +0 -0
  32. css/images/vol-handleH.gif +0 -0
  33. css/images/vol-handleT.gif +0 -0
  34. css/player-darkgrey.css +42 -34
  35. css/player-silver.css +39 -33
  36. css/player-silverALT.css +40 -34
  37. css/player-text.css +55 -48
  38. js/mp3-jplayer.js +210 -210
  39. js/mp3j-functions.js +14 -14
  40. js/ui.progressbar.js +0 -16
  41. mp3j_frontend.php +49 -36
  42. mp3j_main.php +22 -20
  43. mp3jplayer.php +11 -6
  44. popout-mp3j.php +8 -2
  45. readme.txt +47 -30
  46. screenshot-5.png +0 -0
  47. screenshot-6.png +0 -0
  48. screenshot-7.png +0 -0
  49. screenshot-8.png +0 -0
  50. template-tag-help.htm +21 -18
css/images/Thumbs.db CHANGED
Binary file
css/images/buttons-dark.png DELETED
Binary file
css/images/buttons-hard.png DELETED
Binary file
css/images/buttons-popout.png ADDED
Binary file
css/images/buttons-popout4.png DELETED
Binary file
css/images/buttons-popout4H.png DELETED
Binary file
css/images/buttonsH-dark.png DELETED
Binary file
css/images/buttonsH-hard.png DELETED
Binary file
css/images/finding-bar9.gif DELETED
Binary file
css/images/finding-bar9b.gif DELETED
Binary file
css/images/inlineHandle.gif DELETED
Binary file
css/images/inlineHandle1.png ADDED
Binary file
css/images/inlineHandle2.gif DELETED
Binary file
css/images/inlineHandle2.png ADDED
Binary file
css/images/inlineHandleB.png DELETED
Binary file
css/images/inlineHandleBH.png DELETED
Binary file
css/images/inlineHandleC.png DELETED
Binary file
css/images/inlineHandleCH.png DELETED
Binary file
css/images/inlineHandleCH2.png DELETED
Binary file
css/images/inlineHandleH.gif DELETED
Binary file
css/images/pos-handle3.gif DELETED
Binary file
css/images/pos-handle3H.gif DELETED
Binary file
css/images/pos-handleALT.png ADDED
Binary file
css/images/shcode2-hard.png DELETED
Binary file
css/images/shcode2H-hard.png DELETED
Binary file
css/images/transport-dark.png ADDED
Binary file
css/images/transport-hard.png ADDED
Binary file
css/images/transport-outline.png ADDED
Binary file
css/images/transport-shard.png ADDED
Binary file
css/images/vol-handle.png ADDED
Binary file
css/images/vol-handle2.gif DELETED
Binary file
css/images/vol-handleH.gif DELETED
Binary file
css/images/vol-handleT.gif DELETED
Binary file
css/player-darkgrey.css CHANGED
@@ -83,21 +83,21 @@
83
  div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom:-2px; border:0; }
84
 
85
  /* playpause button */
86
- div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-dark.png") -110px 1px no-repeat !important; }
87
- div.buttons_mp3j:hover { background:transparent url("images/buttonsH-dark.png") -110px 1px no-repeat !important; }
88
- div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-dark.png") -4px 1px no-repeat !important; }
89
- div.buttons_mp3jpause:hover { background:transparent url("images/buttonsH-dark.png") -4px 1px no-repeat !important; }
90
 
91
  /* prev & next buttons */
92
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
93
- div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/buttons-dark.png") -34px -1px no-repeat !important; }
94
- div.Prev_mp3j:hover { background: transparent url("images/buttonsH-dark.png") -34px -1px no-repeat !important; }
95
- div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/buttons-dark.png") -57px -1px no-repeat !important; }
96
- div.Next_mp3j:hover { background: transparent url("images/buttonsH-dark.png") -57px -1px no-repeat !important; }
97
 
98
  /* stop button */
99
- div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/buttons-dark.png") -81px 1px no-repeat !important; }
100
- div.stop_mp3j:hover { background:transparent url("images/buttonsH-dark.png") -81px 1px no-repeat !important; }
101
 
102
  /* PLAYLIST TOGGLE */
103
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:2px; left:1px; color:#a2a2a2; padding:2px 6px 3px 5px; line-height:9px; min-width:24px; background:#4a4a4a; -moz-border-radius-top:2px; -webkit-border-top-radius:2px; cursor:default; }
@@ -114,11 +114,11 @@
114
  div.dloadmp3-MI.betweenlinks a { visibility: hidden; }
115
  div.dloadmp3-MI.whilelinks a { color: #f3f3f3; visibility: inherit; }
116
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
117
-
118
- /* POPOUT BUTTON */
119
- div.mp3j-popout-MI { position:absolute; font:normal normal 500 10px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:17px; left:1px; height:16px; color:#595959; padding:3px 8px 0px 27px; line-height:11px; border:0px solid #686868; background:#555 url('images/buttons-popout4.png') no-repeat -5px -5px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; }
120
- div.mp3j-popout-MI:hover { color:#666; background:#606060 url('images/buttons-popout4H.png') no-repeat -5px -5px; }
121
-
122
  /* BARS */
123
  .ui-state-disabled { cursor:default !important; }
124
  .ui-slider { position:relative; text-align:left; }
@@ -138,17 +138,17 @@
138
  }
139
  div.MIsliderVolume .ui-slider-handle,
140
  div.vol_mp3j .ui-slider-handle {
141
- height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-3px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handleH.gif') no-repeat -1px 0px; z-index:150; overflow:hidden !important; cursor:default;
142
  }
143
  div.MIsliderVolume .ui-slider-handle:hover,
144
  div.vol_mp3j .ui-slider-handle:hover {
145
- background:transparent url('images/vol-handle2.gif') no-repeat -1px 0px;
146
  }
147
  div.MIsliderVolume .ui-state-active,
148
  div.MIsliderVolume .ui-widget-content .ui-state-active,
149
  div.vol_mp3j .ui-state-active,
150
  div.vol_mp3j .ui-widget-content .ui-state-active {
151
- border:0px; background:transparent url('images/vol-handle2.gif') no-repeat -1px 0px; outline:none;
152
  }
153
 
154
  /* LOADER AND SLIDER */
@@ -196,7 +196,7 @@
196
  .mp3j-link-play { cursor:pointer; }
197
 
198
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer !important; padding:0; white-space:nowrap; text-align:left; }
199
- span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
200
 
201
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
202
 
@@ -207,32 +207,40 @@ span.bars_mp3j { position:absolute; width:100%; height:100%; }
207
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
208
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
209
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
210
- span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500; background: transparent url('images/inlineHandle2.gif') no-repeat 8px 0px; cursor: default; padding:0px !important; }
211
- span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleH.gif') no-repeat 8px 0px; }
 
 
 
 
 
 
212
 
213
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
214
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
215
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
216
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
217
- span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500; background: transparent url('images/inlineHandleCH.png') no-repeat -3px -3px; cursor: default; padding:0px !important; }
218
- span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleCH2.png') no-repeat -3px -3px; }
 
 
219
 
220
  /* SPAN TRANSPORT since 1.5 */
221
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
222
 
223
  /* playpause button */
224
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
225
- span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -80px -3px; }
226
- span.buttons_mp3j:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
227
- span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -2px -3px; }
228
- span.buttons_mp3jpause:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -2px -3px; }
229
 
230
  /* prev & next buttons*/
231
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
232
- span.Prev_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -25px -4px; }
233
- span.Prev_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -25px -4px; }
234
- span.Next_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -44px -4px; }
235
- span.Next_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -44px -4px; }
236
 
237
  /* -- player & list containers -- */
238
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
@@ -249,9 +257,9 @@ div.Holderg_mp3j { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; /*
249
 
250
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
251
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
252
- div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px; }
253
- div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
254
- div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
255
 
256
  #debug_mp3j { position:relative; border:1px solid #ccc; padding:10px; width:200px; }
257
  /* end_____________________________________________________________________________________ */
83
  div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom:-2px; border:0; }
84
 
85
  /* playpause button */
86
+ div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-dark.png") -110px 1px no-repeat !important; }
87
+ div.buttons_mp3j:hover { background:transparent url("images/transport-dark.png") -110px -31px no-repeat !important; }
88
+ div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-dark.png") -4px 1px no-repeat !important; }
89
+ div.buttons_mp3jpause:hover { background:transparent url("images/transport-dark.png") -4px -31px no-repeat !important; }
90
 
91
  /* prev & next buttons */
92
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
93
+ div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/transport-dark.png") -34px -1px no-repeat !important; }
94
+ div.Prev_mp3j:hover { background: transparent url("images/transport-dark.png") -34px -33px no-repeat !important; }
95
+ div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/transport-dark.png") -57px -1px no-repeat !important; }
96
+ div.Next_mp3j:hover { background: transparent url("images/transport-dark.png") -57px -33px no-repeat !important; }
97
 
98
  /* stop button */
99
+ div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/transport-dark.png") -81px 1px no-repeat !important; }
100
+ div.stop_mp3j:hover { background:transparent url("images/transport-dark.png") -81px -31px no-repeat !important; }
101
 
102
  /* PLAYLIST TOGGLE */
103
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:2px; left:1px; color:#a2a2a2; padding:2px 6px 3px 5px; line-height:9px; min-width:24px; background:#4a4a4a; -moz-border-radius-top:2px; -webkit-border-top-radius:2px; cursor:default; }
114
  div.dloadmp3-MI.betweenlinks a { visibility: hidden; }
115
  div.dloadmp3-MI.whilelinks a { color: #f3f3f3; visibility: inherit; }
116
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
117
+
118
+ /* POPOUT BUTTON */
119
+ div.mp3j-popout-MI { position:absolute; font:normal normal 500 10px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:17px; left:1px; height:16px; color:#595959; padding:3px 8px 0px 27px; line-height:11px; border:0px solid #686868; background:#555 url('images/buttons-popout.png') no-repeat -5px -5px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; }
120
+ div.mp3j-popout-MI:hover { color:#666; background:#606060 url('images/buttons-popout.png') no-repeat -45px -5px; }
121
+
122
  /* BARS */
123
  .ui-state-disabled { cursor:default !important; }
124
  .ui-slider { position:relative; text-align:left; }
138
  }
139
  div.MIsliderVolume .ui-slider-handle,
140
  div.vol_mp3j .ui-slider-handle {
141
+ height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-3px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handle.png') no-repeat -21px 0px; z-index:150; overflow:hidden !important; cursor:default;
142
  }
143
  div.MIsliderVolume .ui-slider-handle:hover,
144
  div.vol_mp3j .ui-slider-handle:hover {
145
+ background:transparent url('images/vol-handle.png') no-repeat -1px 0px;
146
  }
147
  div.MIsliderVolume .ui-state-active,
148
  div.MIsliderVolume .ui-widget-content .ui-state-active,
149
  div.vol_mp3j .ui-state-active,
150
  div.vol_mp3j .ui-widget-content .ui-state-active {
151
+ border:0px; background:transparent url('images/vol-handle.png') no-repeat -1px 0px; outline:none;
152
  }
153
 
154
  /* LOADER AND SLIDER */
196
  .mp3j-link-play { cursor:pointer; }
197
 
198
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer !important; padding:0; white-space:nowrap; text-align:left; }
199
+ span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
200
 
201
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
202
 
207
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
208
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
209
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
210
+ span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500;
211
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px 0px;
212
+ opacity:0.75;
213
+ filter:alpha(opacity=75);
214
+ cursor: default; padding:0px !important; }
215
+ span.posbar_mp3j .ui-slider-handle:hover {
216
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px -30px;
217
+ }
218
 
219
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
220
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
221
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
222
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
223
+ span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500;
224
+ background: transparent url('images/inlineHandle2.png') no-repeat -3px -3px;
225
+ cursor: default; padding:0px !important; }
226
+ span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle2.png') no-repeat -3px -33px; }
227
 
228
  /* SPAN TRANSPORT since 1.5 */
229
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
230
 
231
  /* playpause button */
232
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
233
+ span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -80px -3px; }
234
+ span.buttons_mp3j:hover { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
235
+ span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -2px -3px; }
236
+ span.buttons_mp3jpause:hover { background:transparent url('images/transport-shard.png') no-repeat -2px -35px; }
237
 
238
  /* prev & next buttons*/
239
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
240
+ span.Prev_mp3j { background: transparent url('images/transport-shard.png') no-repeat -25px -4px; }
241
+ span.Prev_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -25px -36px; }
242
+ span.Next_mp3j { background: transparent url('images/transport-shard.png') no-repeat -44px -4px; }
243
+ span.Next_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -44px -36px; }
244
 
245
  /* -- player & list containers -- */
246
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
257
 
258
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
259
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
260
+ div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handle.png') no-repeat -21px 0px; }
261
+ div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
262
+ div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
263
 
264
  #debug_mp3j { position:relative; border:1px solid #ccc; padding:10px; width:200px; }
265
  /* end_____________________________________________________________________________________ */
css/player-silver.css CHANGED
@@ -83,21 +83,21 @@
83
  div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom:0px; border:0; }
84
 
85
  /* playpause button */
86
- div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-hard.png") -110px 1px no-repeat !important; }
87
- div.buttons_mp3j:hover { background:transparent url("images/buttonsH-hard.png") -110px 1px no-repeat !important; }
88
- div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-hard.png") -2px 1px no-repeat !important; }
89
- div.buttons_mp3jpause:hover { background:transparent url("images/buttonsH-hard.png") -2px 1px no-repeat !important; }
90
 
91
  /* prev & next buttons */
92
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
93
- div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/buttons-hard.png") -32px -1px no-repeat !important; }
94
- div.Prev_mp3j:hover { background: transparent url("images/buttonsH-hard.png") -32px -1px no-repeat !important; }
95
- div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/buttons-hard.png") -57px -1px no-repeat !important; }
96
- div.Next_mp3j:hover { background: transparent url("images/buttonsH-hard.png") -57px -1px no-repeat !important; }
97
 
98
  /* stop button */
99
- div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/buttons-hard.png") -81px 1px no-repeat !important; }
100
- div.stop_mp3j:hover { background:transparent url("images/buttonsH-hard.png") -81px 1px no-repeat !important; }
101
 
102
  /* PLAYLIST TOGGLE */
103
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:5px; left:2px; color:#707070; padding:2px 6px 2px 5px; line-height:9px; min-width:24px; background:#b9b9b9; -moz-border-radius:1px; -webkit-border-radius:1px; cursor:default; }
@@ -115,10 +115,10 @@
115
  div.dloadmp3-MI.whilelinks a { color: #f3f3f3; visibility: inherit; }
116
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
117
 
118
- /* POPOUT BUTTON */
119
- div.mp3j-popout-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:18px; left:1px; height:16px; color:#595959; padding:3px 5px 0px 28px; min-width:2px; line-height:11px; border:1px solid #acacac; background:#bfbfbf url('images/buttons-popout4.png') no-repeat -5px -5px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; }
120
- div.mp3j-popout-MI:hover { color:#606060; background:#c6c6c6 url('images/buttons-popout4H.png') no-repeat -5px -5px; }
121
-
122
  /* BARS */
123
  .ui-state-disabled { cursor:default !important; }
124
  .ui-slider { position:relative; text-align:left; }
@@ -138,17 +138,17 @@
138
  }
139
  div.MIsliderVolume .ui-slider-handle,
140
  div.vol_mp3j .ui-slider-handle {
141
- height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-3px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handle2.gif') no-repeat -1px 0px; z-index:150; overflow:hidden !important; cursor:default;
142
  }
143
  div.MIsliderVolume .ui-slider-handle:hover,
144
  div.vol_mp3j .ui-slider-handle:hover {
145
- background:transparent url('images/vol-handleH.gif') no-repeat -1px 0px;
146
  }
147
  div.MIsliderVolume .ui-state-active,
148
  div.MIsliderVolume .ui-widget-content .ui-state-active,
149
  div.vol_mp3j .ui-state-active,
150
  div.vol_mp3j .ui-widget-content .ui-state-active {
151
- border:0px; background:transparent url('images/vol-handleH.gif') no-repeat -1px 0px; outline:none;
152
  }
153
 
154
  /* LOADER AND SLIDER */
@@ -193,7 +193,7 @@
193
 
194
  /* === [mp3j] & [mp3t] ============================ */
195
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
196
- span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
197
 
198
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
199
 
@@ -204,32 +204,38 @@ span.bars_mp3j { position:absolute; width:100%; height:100%; }
204
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
205
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
206
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
207
- span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500; background: transparent url('images/inlineHandle2.gif') no-repeat 8px 0px; cursor: default; padding:0px !important; }
208
- span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleH.gif') no-repeat 8px 0px; }
 
 
 
 
209
 
210
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
211
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
212
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
213
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
214
- span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500; background: transparent url('images/inlineHandleCH.png') no-repeat -3px -3px; cursor: default; padding:0px !important; }
215
- span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleCH2.png') no-repeat -3px -3px; }
 
 
216
 
217
  /* SPAN TRANSPORT */
218
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
219
 
220
  /* playpause button */
221
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
222
- span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -80px -3px; }
223
- span.buttons_mp3j:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
224
- span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -2px -3px; }
225
- span.buttons_mp3jpause:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -2px -3px; }
226
 
227
  /* prev & next buttons*/
228
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
229
- span.Prev_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -25px -4px; }
230
- span.Prev_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -25px -4px; }
231
- span.Next_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -44px -4px; }
232
- span.Next_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -44px -4px; }
233
 
234
  /* -- player & list containers -- */
235
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
@@ -247,9 +253,9 @@ div.Holderg_mp3j { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; /*
247
 
248
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
249
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
250
- div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px; }
251
- div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
252
- div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
253
 
254
 
255
  .mp3j-link-play { cursor:pointer; }
83
  div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom:0px; border:0; }
84
 
85
  /* playpause button */
86
+ div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-hard.png") -110px 1px no-repeat !important; }
87
+ div.buttons_mp3j:hover { background:transparent url("images/transport-hard.png") -110px -31px no-repeat !important; }
88
+ div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-hard.png") -2px 1px no-repeat !important; }
89
+ div.buttons_mp3jpause:hover { background:transparent url("images/transport-hard.png") -2px -31px no-repeat !important; }
90
 
91
  /* prev & next buttons */
92
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
93
+ div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/transport-hard.png") -32px -1px no-repeat !important; }
94
+ div.Prev_mp3j:hover { background: transparent url("images/transport-hard.png") -32px -33px no-repeat !important; }
95
+ div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/transport-hard.png") -57px -1px no-repeat !important; }
96
+ div.Next_mp3j:hover { background: transparent url("images/transport-hard.png") -57px -33px no-repeat !important; }
97
 
98
  /* stop button */
99
+ div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/transport-hard.png") -81px 1px no-repeat !important; }
100
+ div.stop_mp3j:hover { background:transparent url("images/transport-hard.png") -81px -31px no-repeat !important; }
101
 
102
  /* PLAYLIST TOGGLE */
103
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:5px; left:2px; color:#707070; padding:2px 6px 2px 5px; line-height:9px; min-width:24px; background:#b9b9b9; -moz-border-radius:1px; -webkit-border-radius:1px; cursor:default; }
115
  div.dloadmp3-MI.whilelinks a { color: #f3f3f3; visibility: inherit; }
116
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
117
 
118
+ /* POPOUT BUTTON */
119
+ div.mp3j-popout-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:18px; left:1px; height:16px; color:#595959; padding:3px 5px 0px 28px; min-width:2px; line-height:11px; border:1px solid #acacac; background:#bfbfbf url('images/buttons-popout.png') no-repeat -5px -35px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; }
120
+ div.mp3j-popout-MI:hover { color:#606060; background:#c6c6c6 url('images/buttons-popout.png') no-repeat -45px -35px; }
121
+
122
  /* BARS */
123
  .ui-state-disabled { cursor:default !important; }
124
  .ui-slider { position:relative; text-align:left; }
138
  }
139
  div.MIsliderVolume .ui-slider-handle,
140
  div.vol_mp3j .ui-slider-handle {
141
+ height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-3px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handle.png') no-repeat -1px 0px; z-index:150; overflow:hidden !important; cursor:default;
142
  }
143
  div.MIsliderVolume .ui-slider-handle:hover,
144
  div.vol_mp3j .ui-slider-handle:hover {
145
+ background:transparent url('images/vol-handle.png') no-repeat -21px 0px;
146
  }
147
  div.MIsliderVolume .ui-state-active,
148
  div.MIsliderVolume .ui-widget-content .ui-state-active,
149
  div.vol_mp3j .ui-state-active,
150
  div.vol_mp3j .ui-widget-content .ui-state-active {
151
+ border:0px; background:transparent url('images/vol-handle.png') no-repeat -21px 0px; outline:none;
152
  }
153
 
154
  /* LOADER AND SLIDER */
193
 
194
  /* === [mp3j] & [mp3t] ============================ */
195
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
196
+ span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
197
 
198
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
199
 
204
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
205
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
206
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
207
+ span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500;
208
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px 0px;
209
+ opacity:0.75;
210
+ filter:alpha(opacity=75);
211
+ cursor: default; padding:0px !important; }
212
+ span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle1.png') no-repeat 8px -30px; }
213
 
214
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
215
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
216
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
217
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
218
+ span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500;
219
+ background: transparent url('images/inlineHandle2.png') no-repeat -3px -3px;
220
+ cursor: default; padding:0px !important; }
221
+ span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle2.png') no-repeat -3px -33px; }
222
 
223
  /* SPAN TRANSPORT */
224
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
225
 
226
  /* playpause button */
227
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
228
+ span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -80px -3px; }
229
+ span.buttons_mp3j:hover { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
230
+ span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -2px -3px; }
231
+ span.buttons_mp3jpause:hover { background:transparent url('images/transport-shard.png') no-repeat -2px -35px; }
232
 
233
  /* prev & next buttons*/
234
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
235
+ span.Prev_mp3j { background: transparent url('images/transport-shard.png') no-repeat -25px -4px; }
236
+ span.Prev_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -25px -36px; }
237
+ span.Next_mp3j { background: transparent url('images/transport-shard.png') no-repeat -44px -4px; }
238
+ span.Next_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -44px -36px; }
239
 
240
  /* -- player & list containers -- */
241
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
253
 
254
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
255
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
256
+ div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handle.png') no-repeat -21px 0px; }
257
+ div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
258
+ div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
259
 
260
 
261
  .mp3j-link-play { cursor:pointer; }
css/player-silverALT.css CHANGED
@@ -117,21 +117,21 @@
117
  div.transport-MI { position:absolute; left:0px; height:39px; right:0px; bottom:0px; border:0; z-index:15; background:url('images/case2t-x.png') repeat-x left -65px; padding-right:2px; }
118
 
119
  /* playpause button */
120
- div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-hard.png") -110px 1px no-repeat !important; }
121
- div.buttons_mp3j:hover { background:transparent url("images/buttonsH-hard.png") -110px 1px no-repeat !important; }
122
- div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/buttons-hard.png") -2px 1px no-repeat !important; }
123
- div.buttons_mp3jpause:hover { background:transparent url("images/buttonsH-hard.png") -2px 1px no-repeat !important; }
124
 
125
  /* prev & next buttons */
126
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
127
- div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/buttons-hard.png") -32px -1px no-repeat !important; }
128
- div.Prev_mp3j:hover { background: transparent url("images/buttonsH-hard.png") -32px -1px no-repeat !important; }
129
- div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/buttons-hard.png") -57px -1px no-repeat !important; }
130
- div.Next_mp3j:hover { background: transparent url("images/buttonsH-hard.png") -57px -1px no-repeat !important; }
131
 
132
  /* stop button */
133
- div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/buttons-hard.png") -81px 1px no-repeat !important; }
134
- div.stop_mp3j:hover { background:transparent url("images/buttonsH-hard.png") -81px 1px no-repeat !important; }
135
 
136
  /* PLAYLIST TOGGLE */
137
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:5px; left:1px; color:#707070; padding:2px 6px 2px 5px; line-height:9px; min-width:24px; background:#b9b9b9; -moz-border-radius:1px; -webkit-border-radius:1px; cursor:default; z-index:30; }
@@ -150,8 +150,8 @@
150
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
151
 
152
  /* POPOUT BUTTON */
153
- div.mp3j-popout-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:18px; left:0px; height:16px; color:#595959; padding:3px 5px 0px 28px; min-width:2px; line-height:11px; border:1px solid #acacac; background:#bfbfbf url('images/buttons-popout4.png') no-repeat -5px -5px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; z-index:30; }
154
- div.mp3j-popout-MI:hover { color:#606060; background:#c6c6c6 url('images/buttons-popout4H.png') no-repeat -5px -5px; }
155
 
156
 
157
  /* sliders/bars */
@@ -193,18 +193,18 @@
193
  border: 0px;
194
  -moz-border-radius: 2px;
195
  -webkit-border-radius: 2px;
196
- background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px;
197
  overflow:hidden !important; }
198
 
199
  div.MIsliderVolume .ui-slider-handle:hover {
200
  border-color: #888;
201
  background: #606060;
202
- background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px; }
203
 
204
  div.MIsliderVolume .ui-state-active,
205
  div.MIsliderVolume .ui-widget-content .ui-state-active {
206
  border: 0px solid #777;
207
- background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px;
208
  outline: none; }
209
 
210
  div.bars_holder { position:absolute;
@@ -245,15 +245,15 @@
245
  border: 0px;
246
  height: 13px;
247
  width: 12px;
248
- background: transparent url('images/pos-handle3.gif') no-repeat left top;
249
  z-index: 800; }
250
 
251
  div.posbarMI_mp3j .ui-slider-handle:hover {
252
- background: transparent url('images/pos-handle3H.gif') no-repeat left top; }
253
 
254
  div.posbarMI_mp3j .ui-state-active, div.posbarMI_mp3j .ui-widget-content .ui-state-active {
255
  border: 0px solid #777;
256
- background: 989898 url('images/pos-handle3H.gif') no-repeat left top;
257
  outline: none; }
258
 
259
  /* LOAD BAR */
@@ -299,7 +299,7 @@
299
  /* === [mp3-album] ================================ */
300
  /* === [mp3j] & [mp3t] ============================ */
301
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
302
- span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
303
 
304
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
305
 
@@ -310,32 +310,38 @@ span.bars_mp3j { position:absolute; width:100%; height:100%; }
310
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
311
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
312
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
313
- span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500; background: transparent url('images/inlineHandle2.gif') no-repeat 8px 0px; cursor: default; padding:0px !important; }
314
- span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleH.gif') no-repeat 8px 0px; }
 
 
 
 
 
 
315
 
316
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
317
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
318
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
319
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
320
- span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500; background: transparent url('images/inlineHandleCH.png') no-repeat -3px -3px; cursor: default; padding:0px !important; }
321
- span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleCH2.png') no-repeat -3px -3px; }
322
 
323
  /* SPAN TRANSPORT */
324
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
325
 
326
  /* playpause button */
327
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
328
- span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -80px -3px; }
329
- span.buttons_mp3j:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
330
- span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -2px -3px; }
331
- span.buttons_mp3jpause:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -2px -3px; }
332
 
333
  /* prev & next buttons*/
334
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
335
- span.Prev_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -25px -4px; }
336
- span.Prev_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -25px -4px; }
337
- span.Next_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -44px -4px; }
338
- span.Next_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -44px -4px; }
339
 
340
  /* -- player & list containers -- */
341
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
@@ -353,9 +359,9 @@ div.Holderg_mp3j { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; /*
353
 
354
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
355
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
356
- div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px; }
357
- div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
358
- div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
359
 
360
  .mp3j-link-play { cursor:pointer; }
361
 
117
  div.transport-MI { position:absolute; left:0px; height:39px; right:0px; bottom:0px; border:0; z-index:15; background:url('images/case2t-x.png') repeat-x left -65px; padding-right:2px; }
118
 
119
  /* playpause button */
120
+ div.buttons_mp3j { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-hard.png") -110px 1px no-repeat !important; }
121
+ div.buttons_mp3j:hover { background:transparent url("images/transport-hard.png") -110px -31px no-repeat !important; }
122
+ div.buttons_mp3jpause { text-indent:-9999px !important; float:right; width:30px; height: 34px; margin:0px; background: transparent url("images/transport-hard.png") -2px 1px no-repeat !important; }
123
+ div.buttons_mp3jpause:hover { background:transparent url("images/transport-hard.png") -2px -31px no-repeat !important; }
124
 
125
  /* prev & next buttons */
126
  div.Prev_mp3j, div.Next_mp3j { text-indent:-9999px !important; float:right; height: 28px; }
127
+ div.Prev_mp3j { width:22px; margin:0px 2px 0px 0px; background: transparent url("images/transport-hard.png") -32px -1px no-repeat !important; }
128
+ div.Prev_mp3j:hover { background: transparent url("images/transport-hard.png") -32px -33px no-repeat !important; }
129
+ div.Next_mp3j { width:19px; margin:0px 1px 0px 0px; background: transparent url("images/transport-hard.png") -57px -1px no-repeat !important; }
130
+ div.Next_mp3j:hover { background: transparent url("images/transport-hard.png") -57px -33px no-repeat !important; }
131
 
132
  /* stop button */
133
+ div.stop_mp3j { text-indent:-9999px !important; float:right; width:26px; height: 34px; margin:0px 1px 0px 2px; background: transparent url("images/transport-hard.png") -81px 1px no-repeat !important; }
134
+ div.stop_mp3j:hover { background:transparent url("images/transport-hard.png") -81px -31px no-repeat !important; }
135
 
136
  /* PLAYLIST TOGGLE */
137
  div.playlist-toggle-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:5px; left:1px; color:#707070; padding:2px 6px 2px 5px; line-height:9px; min-width:24px; background:#b9b9b9; -moz-border-radius:1px; -webkit-border-radius:1px; cursor:default; z-index:30; }
150
  div.dloadmp3-MI.whilelinks a:hover { color: #fff; }
151
 
152
  /* POPOUT BUTTON */
153
+ div.mp3j-popout-MI { position:absolute; font:normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif; bottom:18px; left:0px; height:16px; color:#595959; padding:3px 5px 0px 28px; min-width:2px; line-height:11px; border:1px solid #acacac; background:#bfbfbf url('images/buttons-popout.png') no-repeat -5px -5px; -moz-border-radius:2px; -webkit-border-radius:2px; cursor:default; z-index:30; }
154
+ div.mp3j-popout-MI:hover { color:#606060; background:#c6c6c6 url('images/buttons-popout.png') no-repeat -45px -5px; }
155
 
156
 
157
  /* sliders/bars */
193
  border: 0px;
194
  -moz-border-radius: 2px;
195
  -webkit-border-radius: 2px;
196
+ background: transparent url('images/vol-handle.png') no-repeat -1px 0px;
197
  overflow:hidden !important; }
198
 
199
  div.MIsliderVolume .ui-slider-handle:hover {
200
  border-color: #888;
201
  background: #606060;
202
+ background: transparent url('images/vol-handle.png') no-repeat -21px 0px; }
203
 
204
  div.MIsliderVolume .ui-state-active,
205
  div.MIsliderVolume .ui-widget-content .ui-state-active {
206
  border: 0px solid #777;
207
+ background: transparent url('images/vol-handle.png') no-repeat -21px 0px;
208
  outline: none; }
209
 
210
  div.bars_holder { position:absolute;
245
  border: 0px;
246
  height: 13px;
247
  width: 12px;
248
+ background: transparent url('images/pos-handleALT.png') no-repeat left top;
249
  z-index: 800; }
250
 
251
  div.posbarMI_mp3j .ui-slider-handle:hover {
252
+ background: transparent url('images/pos-handleALT.png') no-repeat right top; }
253
 
254
  div.posbarMI_mp3j .ui-state-active, div.posbarMI_mp3j .ui-widget-content .ui-state-active {
255
  border: 0px solid #777;
256
+ background: 989898 url('images/pos-handleALT.png') no-repeat right top;
257
  outline: none; }
258
 
259
  /* LOAD BAR */
299
  /* === [mp3-album] ================================ */
300
  /* === [mp3j] & [mp3t] ============================ */
301
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
302
+ span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
303
 
304
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
305
 
310
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
311
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
312
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
313
+ span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500;
314
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px 0px;
315
+ opacity:0.75;
316
+ filter:alpha(opacity=75);
317
+ cursor: default; padding:0px !important; }
318
+ span.posbar_mp3j .ui-slider-handle:hover {
319
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px -30px;
320
+ }
321
 
322
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
323
  span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
324
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
325
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
326
+ span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500; background: transparent url('images/inlineHandle2.png') no-repeat -3px -3px; cursor: default; padding:0px !important; }
327
+ span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle2.png') no-repeat -3px -33px; }
328
 
329
  /* SPAN TRANSPORT */
330
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
331
 
332
  /* playpause button */
333
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
334
+ span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -80px -3px; }
335
+ span.buttons_mp3j:hover { background:transparent url('images/transport-shard.png') no-repeat -80px -35px; }
336
+ span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-shard.png') no-repeat -2px -3px; }
337
+ span.buttons_mp3jpause:hover { background:transparent url('images/transport-shard.png') no-repeat -2px -35px; }
338
 
339
  /* prev & next buttons*/
340
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
341
+ span.Prev_mp3j { background: transparent url('images/transport-shard.png') no-repeat -25px -4px; }
342
+ span.Prev_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -25px -36px; }
343
+ span.Next_mp3j { background: transparent url('images/transport-shard.png') no-repeat -44px -4px; }
344
+ span.Next_mp3j:hover { background: transparent url('images/transport-shard.png') no-repeat -44px -36px; }
345
 
346
  /* -- player & list containers -- */
347
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
359
 
360
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
361
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
362
+ div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handle.png') no-repeat -21px 0px; }
363
+ div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
364
+ div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
365
 
366
  .mp3j-link-play { cursor:pointer; }
367
 
css/player-text.css CHANGED
@@ -28,7 +28,7 @@
28
  }
29
 
30
  div.jp-innerwrap { position:relative !important; background:transparent; border:0; margin:0; }
31
- div.jp-interface { position:relative !important; height:96px; min-height:67px; border:0; margin:0; cursor:default; }
32
 
33
  /* BACKGROUNDS */
34
  div.innerx { position: absolute; visibility: hidden; }
@@ -59,8 +59,8 @@
59
  div.player-track-title {
60
  position: absolute;
61
  top: 4px;
62
- left: 5px;
63
- font-size: 17px;
64
  width: auto;
65
  max-width: 97%;
66
  height:auto;
@@ -69,7 +69,7 @@
69
  font-family: 'trebuchet ms', Arial, sans-serif;
70
  }
71
  div.player-track-title.mp3j_widgetmods {
72
- font-size: 15px;
73
  }
74
 
75
 
@@ -105,10 +105,10 @@
105
  font-family: 'trebuchet ms', Arial, sans-serif;
106
  }
107
 
108
- div.jp-play-time { bottom: 27px; width:37px; opacity:0.6; filter:alpha(opacity=60); }
109
  /*div.jp-total-time { top: 63px; width:37px; visibility:hidden; } */
110
  div.jp-total-time { visibility:hidden; }
111
- div.statusMI { bottom: 27px; left: 37px; }
112
 
113
  /*span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
114
  span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; } */
@@ -133,17 +133,16 @@
133
  }
134
 
135
 
136
-
137
  /* DIV TRANSPORT since 1.6 */
138
  /* Transport wrap */
139
- div.transport-MI { position:absolute; width:auto; height:30px; right:2px; bottom:18px; border:0; }
140
  div.transport-MI div { font-family: 'trebuchet ms', Arial, sans-serif; font-weight:700; /* color */ }
141
  div.transport-MI div:hover { /* color */ }
142
 
143
  /* playpause button */
144
- div.buttons_mp3j { text-indent:4px !important; white-space:nowrap; float:right; width:32px; overflow:hidden !important; height: 25px; margin:0 6px 0 4px; background: transparent !important; line-height:25px !important; font-size:14px; }
145
  div.buttons_mp3j:hover { background:transparent !important; }
146
- div.buttons_mp3jpause { text-indent:-26px; white-space:nowrap; !important; float:right; width:42px; overflow:hidden !important; height: 25px; margin:0 0 0 0px; background: transparent !important; line-height:25px !important; font-size:14px; }
147
  div.buttons_mp3jpause:hover { background:transparent !important; }
148
 
149
  /* prev & next buttons */
@@ -161,26 +160,26 @@
161
  /* other buttons*/
162
  div.playlist-toggle-MI {
163
  position: absolute;
164
- bottom: 8px;
165
- left: 2px;
166
  width: auto;
167
  font-size: 10px;
168
- opacity:0.7;
169
- filter:alpha(opacity=70);
170
  font-family: 'trebuchet ms', Arial, sans-serif;
171
  }
172
 
173
  div.playlist-toggle-MI:hover {
174
- opacity:1.0;
175
- filter:alpha(opacity=100);
176
  }
177
 
178
  div.dloadmp3-MI {
179
  position: absolute;
180
- font-size: 11px;
181
- bottom: 8px;
182
  height: auto;
183
- right:3px !important;
184
  margin:0;
185
  font-family: 'trebuchet ms', Arial, sans-serif;
186
  }
@@ -192,28 +191,28 @@
192
  div.dloadmp3-MI.whilelinks { }
193
  div.dloadmp3-MI.whilelinks:hover { }
194
 
195
- div.dloadmp3-MI a { color:#777; font-size: inherit; margin:0px !important; padding: 0px !important; background:none; text-decoration:none; }
196
  div.dloadmp3-MI a:hover { background:none; color:#333; }
197
 
198
  div.dloadmp3-MI.betweenlinks a { display: none; }
199
- div.dloadmp3-MI.whilelinks a { display: block; color:#777; }
200
  div.dloadmp3-MI.whilelinks a:hover { color:#333; text-decoration:none; }
201
 
202
  div.mp3j-popout-MI {
203
  position: absolute;
204
  font: normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif;
205
- bottom: 58px;
206
  right: 3px;
207
  height: auto;
208
- opacity:0.7;
209
- filter:alpha(opacity=70);
210
  padding: 0px;
211
  margin: 0px;
212
  line-height: 11px;
213
  border: 0px solid #acacac;
214
  background: none;
215
  cursor: default;
216
- z-index:999;
217
  }
218
  div.mp3j-popout-MI:hover {
219
  opacity:1.0;
@@ -239,17 +238,17 @@
239
  }
240
  div.MIsliderVolume .ui-slider-handle,
241
  div.vol_mp3j .ui-slider-handle {
242
- height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-5px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handle2.gif') no-repeat -1px 0px; z-index:150; overflow:hidden !important; cursor:default;
243
  }
244
  div.MIsliderVolume .ui-slider-handle:hover,
245
  div.vol_mp3j .ui-slider-handle:hover {
246
- background:transparent url('images/vol-handleH.gif') no-repeat -1px 0px;
247
  }
248
  div.MIsliderVolume .ui-state-active,
249
  div.MIsliderVolume .ui-widget-content .ui-state-active,
250
  div.vol_mp3j .ui-state-active,
251
  div.vol_mp3j .ui-widget-content .ui-state-active {
252
- border:0px; background:transparent url('images/vol-handleH.gif') no-repeat -1px 0px; outline:none;
253
  }
254
 
255
  /* LOADER AND SLIDER */
@@ -268,13 +267,13 @@
268
  }
269
  div.bars_holder .ui-slider-horizontal { top:0px; bottom:1px; }
270
  div.posbarMI_mp3j { position:absolute; left:0px; top:0px; bottom:1px; width:100%; }
271
- div.posbarMI_mp3j .ui-slider-handle { top:-6px; margin-left:-15px !important; border:0px; bottom:-2px; width:30px !important; z-index:100; background:none; cursor:e-resize; padding:0px !important; }
272
  div.posbarMI_mp3j .ui-slider-handle:hover { background:none; z-index:100; }
273
 
274
  /* PLAYLIST */
275
- div.listwrap_mp3j { position:relative; padding: 0px 0px 0px 0px; margin-top:-2px; /* background */ }
276
  div.playlist-wrap-MI { position:relative; }
277
- div.playlist-wrap-MI ul { position:static; }
278
 
279
 
280
  div.playlist-colour { position:absolute; width:100%; height:100%; left:0px; top:0px;
@@ -297,7 +296,7 @@
297
 
298
  /* === [mp3j] & [mp3t] ============================ */
299
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
300
- span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
301
 
302
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
303
 
@@ -308,32 +307,40 @@ span.bars_mp3j { position:absolute; width:100%; height:100%; }
308
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
309
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
310
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
311
- span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500; background: transparent url('images/inlineHandle2.gif') no-repeat 8px 0px; cursor: default; padding:0px !important; }
312
- span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleH.gif') no-repeat 8px 0px; }
 
 
 
 
313
 
314
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
315
- span.loadB_mp3j { position:absolute; /*background */ top:20px; left:0px; height:2px; }
316
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
317
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
318
- span.posbarB_mp3j .ui-slider-handle { top: 0px; margin-left: -6px !important; border: 0px solid #888; height: 23px; width: 12px !important; z-index: 500; background: transparent url('images/inlineHandleCH.png') no-repeat -3px -3px; cursor: default; padding:0px !important; }
319
- span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandleCH2.png') no-repeat -3px -3px; }
 
 
 
 
320
 
321
  /* SPAN TRANSPORT */
322
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
323
 
324
  /* playpause button */
325
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
326
- span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -80px -3px; }
327
- span.buttons_mp3j:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -80px -3px; }
328
- span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/shcode2-hard.png') no-repeat -2px -3px; }
329
- span.buttons_mp3jpause:hover { background:transparent url('images/shcode2H-hard.png') no-repeat -2px -3px; }
330
 
331
  /* prev & next buttons*/
332
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
333
- span.Prev_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -25px -4px; }
334
- span.Prev_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -25px -4px; }
335
- span.Next_mp3j { background: transparent url('images/shcode2-hard.png') no-repeat -44px -4px; }
336
- span.Next_mp3j:hover { background: transparent url('images/shcode2H-hard.png') no-repeat -44px -4px; }
337
 
338
  /* -- player & list containers -- */
339
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
@@ -351,9 +358,9 @@ div.Holderg_mp3j { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; /*
351
 
352
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
353
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
354
- div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handleH.gif') no-repeat -1px 0px; }
355
- div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
356
- div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle2.gif') no-repeat -1px 0px; }
357
 
358
  .mp3j-link-play { cursor:pointer; }
359
 
28
  }
29
 
30
  div.jp-innerwrap { position:relative !important; background:transparent; border:0; margin:0; }
31
+ div.jp-interface { position:relative !important; height:96px; min-height:67px; border-top:0px solid #e8e8e8; margin:0; cursor:default; }
32
 
33
  /* BACKGROUNDS */
34
  div.innerx { position: absolute; visibility: hidden; }
59
  div.player-track-title {
60
  position: absolute;
61
  top: 4px;
62
+ left: 15px;
63
+ font-size: 16px;
64
  width: auto;
65
  max-width: 97%;
66
  height:auto;
69
  font-family: 'trebuchet ms', Arial, sans-serif;
70
  }
71
  div.player-track-title.mp3j_widgetmods {
72
+ font-size: 14px;
73
  }
74
 
75
 
105
  font-family: 'trebuchet ms', Arial, sans-serif;
106
  }
107
 
108
+ div.jp-play-time { bottom: 26px; width:37px; opacity:0.6; filter:alpha(opacity=60); }
109
  /*div.jp-total-time { top: 63px; width:37px; visibility:hidden; } */
110
  div.jp-total-time { visibility:hidden; }
111
+ div.statusMI { bottom: 26px; left: 37px; }
112
 
113
  /*span.mp3-finding { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; }
114
  span.mp3-loading { background: url('../css/images/finding-bar1b.gif') repeat-y -4px 3px; margin-left: -3px; padding-left: 4px; } */
133
  }
134
 
135
 
 
136
  /* DIV TRANSPORT since 1.6 */
137
  /* Transport wrap */
138
+ div.transport-MI { position:absolute; width:auto; height:30px; right:2px; bottom:17px; border:0; }
139
  div.transport-MI div { font-family: 'trebuchet ms', Arial, sans-serif; font-weight:700; /* color */ }
140
  div.transport-MI div:hover { /* color */ }
141
 
142
  /* playpause button */
143
+ div.buttons_mp3j { text-indent:4px !important; white-space:nowrap; float:right; width:32px; overflow:hidden !important; height: 25px; margin:0 6px 0 0px; background: transparent !important; line-height:25px !important; font-size:14px; }
144
  div.buttons_mp3j:hover { background:transparent !important; }
145
+ div.buttons_mp3jpause { text-indent:-29px; white-space:nowrap; !important; float:right; width:38px; overflow:hidden !important; height: 25px; margin:0 -3px 0 3px; background: transparent !important; line-height:25px !important; font-size:14px; }
146
  div.buttons_mp3jpause:hover { background:transparent !important; }
147
 
148
  /* prev & next buttons */
160
  /* other buttons*/
161
  div.playlist-toggle-MI {
162
  position: absolute;
163
+ bottom: 10px;
164
+ right: 1px;
165
  width: auto;
166
  font-size: 10px;
167
+ opacity:0.6;
168
+ filter:alpha(opacity=60);
169
  font-family: 'trebuchet ms', Arial, sans-serif;
170
  }
171
 
172
  div.playlist-toggle-MI:hover {
173
+ opacity:0.9;
174
+ filter:alpha(opacity=90);
175
  }
176
 
177
  div.dloadmp3-MI {
178
  position: absolute;
179
+ font-size: 10px;
180
+ bottom: 10px;
181
  height: auto;
182
+ left:2px !important;
183
  margin:0;
184
  font-family: 'trebuchet ms', Arial, sans-serif;
185
  }
191
  div.dloadmp3-MI.whilelinks { }
192
  div.dloadmp3-MI.whilelinks:hover { }
193
 
194
+ div.dloadmp3-MI a { color:#888; font-size: inherit; margin:0px !important; padding: 0px !important; background:none; text-decoration:none; }
195
  div.dloadmp3-MI a:hover { background:none; color:#333; }
196
 
197
  div.dloadmp3-MI.betweenlinks a { display: none; }
198
+ div.dloadmp3-MI.whilelinks a { display: block; color:#888; }
199
  div.dloadmp3-MI.whilelinks a:hover { color:#333; text-decoration:none; }
200
 
201
  div.mp3j-popout-MI {
202
  position: absolute;
203
  font: normal normal 500 9px 'trebuchet ms', 'Lucida Grande', 'arial', sans-serif;
204
+ top: 0px;
205
  right: 3px;
206
  height: auto;
207
+ opacity:0.6;
208
+ filter:alpha(opacity=60);
209
  padding: 0px;
210
  margin: 0px;
211
  line-height: 11px;
212
  border: 0px solid #acacac;
213
  background: none;
214
  cursor: default;
215
+ z-index:500;
216
  }
217
  div.mp3j-popout-MI:hover {
218
  opacity:1.0;
238
  }
239
  div.MIsliderVolume .ui-slider-handle,
240
  div.vol_mp3j .ui-slider-handle {
241
+ height:11px !important; width:10px !important; padding:0px !important; margin-left:-5px; top:-5px; border:0px !important; -moz-border-radius:2px; -webkit-border-radius:2px; background:transparent url('images/vol-handle.png') no-repeat -41px 0px; z-index:150; overflow:hidden !important; cursor:default;
242
  }
243
  div.MIsliderVolume .ui-slider-handle:hover,
244
  div.vol_mp3j .ui-slider-handle:hover {
245
+ background:transparent url('images/vol-handle.png') no-repeat -21px 0px;
246
  }
247
  div.MIsliderVolume .ui-state-active,
248
  div.MIsliderVolume .ui-widget-content .ui-state-active,
249
  div.vol_mp3j .ui-state-active,
250
  div.vol_mp3j .ui-widget-content .ui-state-active {
251
+ border:0px; background:transparent url('images/vol-handle.png') no-repeat -21px 0px; outline:none;
252
  }
253
 
254
  /* LOADER AND SLIDER */
267
  }
268
  div.bars_holder .ui-slider-horizontal { top:0px; bottom:1px; }
269
  div.posbarMI_mp3j { position:absolute; left:0px; top:0px; bottom:1px; width:100%; }
270
+ div.posbarMI_mp3j .ui-slider-handle { top:-6px; margin-left:-5px !important; border:0px; bottom:-2px; width:15px !important; z-index:100; background:none; cursor:e-resize; padding:0px !important; }
271
  div.posbarMI_mp3j .ui-slider-handle:hover { background:none; z-index:100; }
272
 
273
  /* PLAYLIST */
274
+ div.listwrap_mp3j { position:relative; padding: 0px 0px 0px 0px; margin-top:0px; /* background */ }
275
  div.playlist-wrap-MI { position:relative; }
276
+ div.playlist-wrap-MI ul { position:static; border-top:1px solid #e4e4e4; }
277
 
278
 
279
  div.playlist-colour { position:absolute; width:100%; height:100%; left:0px; top:0px;
296
 
297
  /* === [mp3j] & [mp3t] ============================ */
298
  span.wrap_inline_mp3j { position:relative; width:auto; cursor:pointer; padding:0; white-space:nowrap; text-align:left; }
299
+ span.wrap_inline_mp3j:hover .buttons_mp3j { background:transparent url('images/transport-outline.png') no-repeat -80px -34px; }
300
 
301
  span.indi_mp3j { position:relative; padding-left:2px; font-size: 0.7em !important; }
302
 
307
  span.load_mp3j { position:absolute; /* background */ top:20px; left:0px; height:2px; }
308
  span.posbar_mp3j { position:absolute; width:100%; height:100%; border:0px solid #f77; }
309
  span.posbar_mp3j .ui-widget-header { z-index:-500; }
310
+ span.posbar_mp3j .ui-slider-handle { top: 2px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500;
311
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px -30px;
312
+ opacity:0.65;
313
+ filter:alpha(opacity=65);
314
+ cursor: default; padding:0px !important; }
315
+ span.posbar_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle1.png') no-repeat 8px 0px; }
316
 
317
  /* bars for [mp3j], [mp3-album], & [mp3PL] */
318
+ span.loadB_mp3j { position:absolute; /*background */ top:19px; left:0px; height:2px; }
319
  span.posbarB_mp3j { position:absolute; width:100%; height:100%; border:0; z-index:450; cursor:pointer; }
320
  span.posbarB_mp3j .ui-widget-header { background:transparent; z-index:450; height:100%; }
321
+ span.posbarB_mp3j .ui-slider-handle { top: 1px; margin-left: -11px !important; border: 0px solid #888; height: 21px; width: 19px !important; z-index: 500;
322
+ background: transparent url('images/inlineHandle1.png') no-repeat 8px -30px;
323
+ opacity:0.65;
324
+ filter:alpha(opacity=65);
325
+ cursor: default; padding:0px !important; }
326
+ span.posbarB_mp3j .ui-slider-handle:hover { background: transparent url('images/inlineHandle1.png') no-repeat 8px 0px; }
327
 
328
  /* SPAN TRANSPORT */
329
  span.group_wrap { position:relative; margin:0px 0px 0px 0px; width:auto; }
330
 
331
  /* playpause button */
332
  span.textbutton_mp3j, span.T_mp3j { position:relative; width:auto; margin:0px; padding:0px; }
333
+ span.buttons_mp3j { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-outline.png') no-repeat -80px -2px; }
334
+ span.buttons_mp3j:hover { background:transparent url('images/transport-outline.png') no-repeat -80px -34px; }
335
+ span.buttons_mp3jpause { position:relative; margin:0px; padding:2px 0px 3px 20px; background: transparent url('images/transport-outline.png') no-repeat 1px -2px; }
336
+ span.buttons_mp3jpause:hover { background:transparent url('images/transport-outline.png') no-repeat 1px -34px; }
337
 
338
  /* prev & next buttons*/
339
  span.Prev_mp3j, span.Next_mp3j { position:relative; margin:0px 0px 0px 3px; padding:2px 0px 3px 12px; }
340
+ span.Prev_mp3j { background: transparent url('images/transport-outline.png') no-repeat -25px -4px; }
341
+ span.Prev_mp3j:hover { background: transparent url('images/transport-outline.png') no-repeat -25px -36px; }
342
+ span.Next_mp3j { background: transparent url('images/transport-outline.png') no-repeat -44px -4px; }
343
+ span.Next_mp3j:hover { background: transparent url('images/transport-outline.png') no-repeat -44px -36px; }
344
 
345
  /* -- player & list containers -- */
346
  div.basiclist-player-wrap { padding: 0px 0px 10px 0px; }
358
 
359
  div.vol_mp3j { position:absolute; top:-12px; right:7px; width:100px; height:4px; background: transparent url('images/t10g.png') repeat left top; }
360
  div.vol_mp3j .ui-widget-header { /* background */ z-index:50; height:100%; }
361
+ div.vol_mp3j .ui-slider-handle { top:-4px; background: transparent url('images/vol-handle.png') no-repeat -21px 0px; }
362
+ div.vol_mp3j .ui-slider-handle:hover { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
363
+ div.vol_mp3j .ui-state-active, div.vol_mp3j .ui-widget-content .ui-state-active { background: transparent url('images/vol-handle.png') no-repeat -1px 0px; }
364
 
365
  .mp3j-link-play { cursor:pointer; }
366
 
js/mp3-jplayer.js CHANGED
@@ -1,211 +1,211 @@
1
- /* MP3-jPlayer
2
- 1.7 */
3
-
4
- var $tid = "";
5
- var $state = "";
6
- var global_lp = 0;
7
- var pp_playerID;
8
- var pp_startplaying;
9
- var player_height = 100;
10
- var popout_height;
11
- var $link_playID = "";
12
-
13
- jQuery(document).ready(function(){
14
- if ( typeof mp3j_info === "undefined" ) { return; }
15
- mp3j_setup();
16
- jQuery("#jquery_jplayer").jPlayer({
17
- ready: function() {
18
- mp3j_init();
19
- },
20
- oggSupport: false,
21
- volume: 100,
22
- swfPath: foxpathtoswf
23
- })
24
- .jPlayer("onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
25
- run_progress_update( $tid, loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime );
26
- })
27
- .jPlayer("onSoundComplete", function() {
28
- run_sound_complete();
29
- });
30
- if (typeof window.mp3j_footerjs === "function") { mp3j_footerjs(); }
31
- });
32
-
33
- // Prep arrays, click functions & initial text
34
- function mp3j_setup() {
35
- I_images();
36
- I_unwrap();
37
- if ( typeof mp3j_info !== "undefined" ) { I_setup_players(); }
38
- return;
39
- }
40
-
41
- function mp3j_init() {
42
- var j;
43
- for ( j=0; j < mp3j_info.length; j++ ) {
44
- if ( mp3j_info[j].autoplay ) {
45
- mp3j_info[j].autoplay = false;
46
- E_playpause_click( j );
47
- return;
48
- }
49
- }
50
- }
51
-
52
- function make_slider( id ) {
53
- if ( mp3j_info[id].status === "basic" ) { jQuery('#posbar_mp3j_'+id).css( "visibility", "hidden" ); }
54
- jQuery('#posbar_mp3j_'+id).slider({
55
- max: 1000,
56
- range: 'min',
57
- animate: FoxAnimSlider,
58
- slide: function(event, ui) {
59
- if ( $state === "paused" ) { pause_button( id, mp3j_info[id].play_txt, mp3j_info[id].pause_txt ); }
60
- jQuery("#jquery_jplayer").jPlayer("playHead", ui.value*(10.0/global_lp) );
61
- $state = "playing";
62
- }
63
- });
64
- }
65
-
66
- function change_list_classes( id, track ) {
67
- jQuery("#mp3j_A_"+id+"_"+mp3j_info[id].tr).removeClass("mp3j_A_current").parent().removeClass("mp3j_A_current");
68
- jQuery("#mp3j_A_"+id+"_"+track).addClass("mp3j_A_current").parent().addClass("mp3j_A_current");
69
- }
70
-
71
- function run_progress_update( id, loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime ) {
72
- if ( id === "" ) { return; }
73
- //var ppaInt = parseInt(playedPercentAbsolute, 10);
74
- //var lpInt = parseInt(loadPercent, 10);
75
- global_lp = loadPercent;
76
- jQuery("#load_mp3j_"+id).css( "width", loadPercent+"%" );
77
- jQuery('#posbar_mp3j_'+id).slider('option', 'value', playedPercentAbsolute*10);
78
- var dl = mp3j_info[id].download;
79
-
80
- // BASIC Status update
81
- if ( mp3j_info[id].status === "basic" ) {
82
- jQuery("#indi_mp3j_"+id).empty();
83
- if (jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying")){ // "PLAYING"
84
- if (playedTime===0 && loadPercent===0){ // connecting
85
- jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-finding"></span><span class="mp3-tint" style="background:#999;"></span></span>');
86
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("whilelinks"); jQuery("#download_mp3j_"+id).addClass("betweenlinks"); }
87
- }
88
- if (playedTime===0 && loadPercent>0){// buffering
89
- jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-finding"></span><span class="mp3-tint" style="background:#999;"></span></span>');
90
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
91
- }
92
- if (playedTime>0){ // playing
93
- jQuery('#posbar_mp3j_'+id).css( "visibility", "visible" );
94
- jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-tint" style="opacity:.8; filter:alpha(opacity=80);"></span></span>');
95
- jQuery("#indi_mp3j_"+id).append('<span> '+jQuery.jPlayer.convertTime(playedTime)+'</span>');
96
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
97
- }
98
- } else { // "STOPPED"
99
- jQuery("#indi_mp3j_"+id).empty();
100
- if (playedTime>0){ // paused
101
- jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-tint" style="opacity:.8; filter:alpha(opacity=80);"></span></span>');
102
- jQuery("#indi_mp3j_"+id).append('<span> '+jQuery.jPlayer.convertTime(playedTime)+'</span>');
103
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
104
- }
105
- if (playedTime===0){
106
- if(loadPercent>0){ // stopped
107
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
108
- }
109
- }
110
- }
111
- }
112
- //FULL Status update
113
- if ( mp3j_info[id].status === "full" ) {
114
- jQuery("#T-Time-MI_"+id).hide();
115
- jQuery("#T-Time-MI_"+id).text(jQuery.jPlayer.convertTime(totalTime));
116
- jQuery("#P-Time-MI_"+id).text(jQuery.jPlayer.convertTime(playedTime));
117
- jQuery("#statusMI_"+id).empty();
118
- if (jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying")){ // "PLAYING"
119
- if (playedTime===0 && loadPercent===0){ // connecting
120
- jQuery("#statusMI_"+id).append('<span class="mp3-finding"></span><span class="mp3-tint"></span>Connecting');
121
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("whilelinks"); jQuery("#download_mp3j_"+id).addClass("betweenlinks"); }
122
- }
123
- if (playedTime===0 && loadPercent>0){// buffering
124
- jQuery("#statusMI_"+id).append('<span class="mp3-loading"></span><span class="mp3-tint"></span>Buffering');
125
- jQuery("#T-Time-MI_"+id).show();
126
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
127
- }
128
- if (playedTime>0){ // playing
129
- jQuery("#statusMI_"+id).append('Playing');
130
- jQuery("#T-Time-MI_"+id).show();
131
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
132
- }
133
- } else { // "STOPPED"
134
- if (playedTime>0){ // paused
135
- jQuery("#statusMI_"+id).append('Paused');
136
- jQuery("#T-Time-MI_"+id).show();
137
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
138
- }
139
- if (playedTime===0){
140
- if(loadPercent>0){ // stopped
141
- jQuery("#statusMI_"+id).append('Stopped');
142
- jQuery("#T-Time-MI_"+id).show();
143
- if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
144
- } else { // ready
145
- jQuery("#statusMI_"+id).append('Ready');
146
- }
147
- }
148
- }
149
- }
150
- }
151
-
152
- function launch_mp3j_popout( url, id ) {
153
- var li_height = 28;
154
- player_height = 100 + mp3j_info[id].height;
155
- popout_height = ( mp3j_info[id].list.length > 1 ) ? player_height + ( mp3j_info[id].list.length * li_height) : player_height;
156
- if ( popout_height > popup_maxheight ) { popout_height = popup_maxheight; }
157
- var open_at_height = ( mp3j_info[id].lstate ) ? popout_height : player_height;
158
-
159
- pp_startplaying = ( jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying") ) ? true : false;
160
- pp_playerID = id;
161
- play_button( $tid );
162
- clear_bars( $tid );
163
- clear_status( $tid );
164
- $tid = "";
165
- $state = "";
166
- $link_playID = "";
167
- // g chrome workaround, stops the hang
168
- jQuery("#jquery_jplayer").jPlayer("setFile", silence_mp3 );
169
- jQuery("#jquery_jplayer").jPlayer("play");
170
-
171
- jQuery("#jquery_jplayer").jPlayer("clearFile");
172
- // open popup window
173
- newwindow = window.open(url,'mp3jpopout','height=100,width=100,location=1,status=1,scrollbars=1,resizable=1,left=25,top=25');
174
- newwindow.resizeTo( popup_width, open_at_height );
175
- if (window.focus) { newwindow.focus(); }
176
- return false;
177
- }
178
-
179
- function MI_toggleplaylist(text, id){
180
- if ( mp3j_info[id].lstate ) {
181
- if ( text==="" ) { text="SHOW"; }
182
- jQuery("#L_mp3j_"+id).fadeOut(300);
183
- jQuery("#playlist-toggle_"+id).empty();
184
- jQuery("#playlist-toggle_"+id).append(text);
185
- mp3j_info[id].lstate = false;
186
- return;
187
- }
188
- if ( !mp3j_info[id].lstate ) {
189
- if ( text==="" ) { text="HIDE"; }
190
- jQuery("#L_mp3j_"+id).fadeIn("slow");
191
- jQuery("#playlist-toggle_"+id).empty();
192
- jQuery("#playlist-toggle_"+id).append(text);
193
- mp3j_info[id].lstate = true;
194
- return;
195
- }
196
- }
197
-
198
- function link_plays_track( player, track ) {
199
- if ( typeof mp3j_info === "undefined" ) { return; }
200
- player--;
201
- track--;
202
- if ( player === $link_playID && track === mp3j_info[player].tr && $state !== "" ) {
203
- return;
204
- }
205
- if ( typeof mp3j_info[player].has_ul !== "undefined" && mp3j_info[player].has_ul === 1 ) {
206
- if ( track >= 0 && track < mp3j_info[player].list.length ) {
207
- E_change_track( player, track );
208
- $link_playID = player;
209
- }
210
- }
211
  }
1
+ /* MP3-jPlayer
2
+ 1.7 */
3
+
4
+ var $tid = "";
5
+ var $state = "";
6
+ var global_lp = 0;
7
+ var pp_playerID;
8
+ var pp_startplaying;
9
+ var player_height = 100;
10
+ var popout_height;
11
+ var $link_playID = "";
12
+
13
+ jQuery(document).ready(function(){
14
+ if ( typeof mp3j_info === "undefined" ) { return; }
15
+ mp3j_setup();
16
+ jQuery("#jquery_jplayer").jPlayer({
17
+ ready: function() {
18
+ mp3j_init();
19
+ },
20
+ oggSupport: false,
21
+ volume: 100,
22
+ swfPath: foxpathtoswf
23
+ })
24
+ .jPlayer("onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
25
+ run_progress_update( $tid, loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime );
26
+ })
27
+ .jPlayer("onSoundComplete", function() {
28
+ run_sound_complete();
29
+ });
30
+ if (typeof window.mp3j_footerjs === "function") { mp3j_footerjs(); }
31
+ });
32
+
33
+ // Prep arrays, click functions & initial text
34
+ function mp3j_setup() {
35
+ I_images();
36
+ I_unwrap();
37
+ if ( typeof mp3j_info !== "undefined" ) { I_setup_players(); }
38
+ return;
39
+ }
40
+
41
+ function mp3j_init() {
42
+ var j;
43
+ for ( j=0; j < mp3j_info.length; j++ ) {
44
+ if ( mp3j_info[j].autoplay ) {
45
+ mp3j_info[j].autoplay = false;
46
+ E_playpause_click( j );
47
+ return;
48
+ }
49
+ }
50
+ }
51
+
52
+ function make_slider( id ) {
53
+ if ( mp3j_info[id].status === "basic" ) { jQuery('#posbar_mp3j_'+id).css( "visibility", "hidden" ); }
54
+ jQuery('#posbar_mp3j_'+id).slider({
55
+ max: 1000,
56
+ range: 'min',
57
+ animate: FoxAnimSlider,
58
+ slide: function(event, ui) {
59
+ if ( $state === "paused" ) { pause_button( id, mp3j_info[id].play_txt, mp3j_info[id].pause_txt ); }
60
+ jQuery("#jquery_jplayer").jPlayer("playHead", ui.value*(10.0/global_lp) );
61
+ $state = "playing";
62
+ }
63
+ });
64
+ }
65
+
66
+ function change_list_classes( id, track ) {
67
+ jQuery("#mp3j_A_"+id+"_"+mp3j_info[id].tr).removeClass("mp3j_A_current").parent().removeClass("mp3j_A_current");
68
+ jQuery("#mp3j_A_"+id+"_"+track).addClass("mp3j_A_current").parent().addClass("mp3j_A_current");
69
+ }
70
+
71
+ function run_progress_update( id, loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime ) {
72
+ if ( id === "" ) { return; }
73
+ //var ppaInt = parseInt(playedPercentAbsolute, 10);
74
+ //var lpInt = parseInt(loadPercent, 10);
75
+ global_lp = loadPercent;
76
+ jQuery("#load_mp3j_"+id).css( "width", loadPercent+"%" );
77
+ jQuery('#posbar_mp3j_'+id).slider('option', 'value', playedPercentAbsolute*10);
78
+ var dl = mp3j_info[id].download;
79
+
80
+ // BASIC Status update
81
+ if ( mp3j_info[id].status === "basic" ) {
82
+ jQuery("#indi_mp3j_"+id).empty();
83
+ if (jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying")){ // "PLAYING"
84
+ if (playedTime===0 && loadPercent===0){ // connecting
85
+ jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-finding"></span><span class="mp3-tint" style="background:#999;"></span></span>');
86
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("whilelinks"); jQuery("#download_mp3j_"+id).addClass("betweenlinks"); }
87
+ }
88
+ if (playedTime===0 && loadPercent>0){// buffering
89
+ jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-finding"></span><span class="mp3-tint" style="background:#999;"></span></span>');
90
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
91
+ }
92
+ if (playedTime>0){ // playing
93
+ jQuery('#posbar_mp3j_'+id).css( "visibility", "visible" );
94
+ jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-tint" style="opacity:.8; filter:alpha(opacity=80);"></span></span>');
95
+ jQuery("#indi_mp3j_"+id).append('<span> '+jQuery.jPlayer.convertTime(playedTime)+'</span>');
96
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
97
+ }
98
+ } else { // "STOPPED"
99
+ jQuery("#indi_mp3j_"+id).empty();
100
+ if (playedTime>0){ // paused
101
+ jQuery("#indi_mp3j_"+id).append('<span style="margin-left:6px;"><span class="mp3-tint" style="opacity:.8; filter:alpha(opacity=80);"></span></span>');
102
+ jQuery("#indi_mp3j_"+id).append('<span> '+jQuery.jPlayer.convertTime(playedTime)+'</span>');
103
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
104
+ }
105
+ if (playedTime===0){
106
+ if(loadPercent>0){ // stopped
107
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ //FULL Status update
113
+ if ( mp3j_info[id].status === "full" ) {
114
+ jQuery("#T-Time-MI_"+id).hide();
115
+ jQuery("#T-Time-MI_"+id).text(jQuery.jPlayer.convertTime(totalTime));
116
+ jQuery("#P-Time-MI_"+id).text(jQuery.jPlayer.convertTime(playedTime));
117
+ jQuery("#statusMI_"+id).empty();
118
+ if (jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying")){ // "PLAYING"
119
+ if (playedTime===0 && loadPercent===0){ // connecting
120
+ jQuery("#statusMI_"+id).append('<span class="mp3-finding"></span><span class="mp3-tint"></span>Connecting');
121
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("whilelinks"); jQuery("#download_mp3j_"+id).addClass("betweenlinks"); }
122
+ }
123
+ if (playedTime===0 && loadPercent>0){// buffering
124
+ jQuery("#statusMI_"+id).append('<span class="mp3-loading"></span><span class="mp3-tint"></span>Buffering');
125
+ jQuery("#T-Time-MI_"+id).show();
126
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
127
+ }
128
+ if (playedTime>0){ // playing
129
+ jQuery("#statusMI_"+id).append('Playing');
130
+ jQuery("#T-Time-MI_"+id).show();
131
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
132
+ }
133
+ } else { // "STOPPED"
134
+ if (playedTime>0){ // paused
135
+ jQuery("#statusMI_"+id).append('Paused');
136
+ jQuery("#T-Time-MI_"+id).show();
137
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
138
+ }
139
+ if (playedTime===0){
140
+ if(loadPercent>0){ // stopped
141
+ jQuery("#statusMI_"+id).append('Stopped');
142
+ jQuery("#T-Time-MI_"+id).show();
143
+ if ( dl ) { jQuery("#download_mp3j_"+id).removeClass("betweenlinks"); jQuery("#download_mp3j_"+id).addClass("whilelinks"); }
144
+ } else { // ready
145
+ jQuery("#statusMI_"+id).append('Ready');
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ function launch_mp3j_popout( url, id ) {
153
+ var li_height = 28;
154
+ player_height = 100 + mp3j_info[id].height;
155
+ popout_height = ( mp3j_info[id].list.length > 1 ) ? player_height + ( mp3j_info[id].list.length * li_height) : player_height;
156
+ if ( popout_height > popup_maxheight ) { popout_height = popup_maxheight; }
157
+ var open_at_height = ( mp3j_info[id].lstate ) ? popout_height : player_height;
158
+
159
+ pp_startplaying = ( jQuery("#jquery_jplayer").jPlayer("getData", "diag.isPlaying") ) ? true : false;
160
+ pp_playerID = id;
161
+ play_button( $tid );
162
+ clear_bars( $tid );
163
+ clear_status( $tid );
164
+ $tid = "";
165
+ $state = "";
166
+ $link_playID = "";
167
+ // g chrome workaround, stops the hang
168
+ jQuery("#jquery_jplayer").jPlayer("setFile", silence_mp3 );
169
+ jQuery("#jquery_jplayer").jPlayer("play");
170
+
171
+ jQuery("#jquery_jplayer").jPlayer("clearFile");
172
+ // open popup window
173
+ newwindow = window.open(url,'mp3jpopout','height=100,width=100,location=1,status=1,scrollbars=1,resizable=1,left=25,top=25');
174
+ newwindow.resizeTo( popup_width, open_at_height );
175
+ if (window.focus) { newwindow.focus(); }
176
+ return false;
177
+ }
178
+
179
+ function MI_toggleplaylist(text, id){
180
+ if ( mp3j_info[id].lstate ) {
181
+ if ( text==="" ) { text="SHOW"; }
182
+ jQuery("#L_mp3j_"+id).fadeOut(300);
183
+ jQuery("#playlist-toggle_"+id).empty();
184
+ jQuery("#playlist-toggle_"+id).append(text);
185
+ mp3j_info[id].lstate = false;
186
+ return;
187
+ }
188
+ if ( !mp3j_info[id].lstate ) {
189
+ if ( text==="" ) { text="HIDE"; }
190
+ jQuery("#L_mp3j_"+id).fadeIn("slow");
191
+ jQuery("#playlist-toggle_"+id).empty();
192
+ jQuery("#playlist-toggle_"+id).append(text);
193
+ mp3j_info[id].lstate = true;
194
+ return;
195
+ }
196
+ }
197
+
198
+ function link_plays_track( player, track ) {
199
+ if ( typeof mp3j_info === "undefined" ) { return; }
200
+ player--;
201
+ track--;
202
+ if ( player === $link_playID && track === mp3j_info[player].tr && $state !== "" ) {
203
+ return;
204
+ }
205
+ if ( typeof mp3j_info[player].has_ul !== "undefined" && mp3j_info[player].has_ul === 1 ) {
206
+ if ( track >= 0 && track < mp3j_info[player].list.length ) {
207
+ E_change_track( player, track );
208
+ $link_playID = player;
209
+ }
210
+ }
211
  }
js/mp3j-functions.js CHANGED
@@ -1,5 +1,5 @@
1
  /* MP3-jPlayer common functions js
2
- 1.7 */
3
 
4
  /* Setup ======================= */
5
  function I_unwrap() {
@@ -75,16 +75,7 @@ function I_setup_players() {
75
 
76
  function I_images() {
77
  if (document.images) {
78
- pic1= new Image(138,32); pic1.src=foxpathtoimages+"buttons-hard.png"; pic2= new Image(138,32); pic2.src=foxpathtoimages+"buttonsH-hard.png";
79
- pic3= new Image(12,13); pic3.src=foxpathtoimages+"pos-handle.gif"; pic4= new Image(12,13); pic4.src=foxpathtoimages+"pos-handleH.gif";
80
- pic5= new Image(12,13); pic5.src=foxpathtoimages+"pos-handle3.gif"; pic6= new Image(12,13); pic6.src=foxpathtoimages+"pos-handle3H.gif";
81
- pic7= new Image(12,13); pic7.src=foxpathtoimages+"vol-handle2.gif"; pic8= new Image(12,13); pic8.src=foxpathtoimages+"vol-handleH.gif";
82
- pic9= new Image(40,27); pic9.src=foxpathtoimages+"buttons-popout4.png"; pic10= new Image(40,27); pic10.src=foxpathtoimages+"buttons-popout4H.png";
83
- pic11= new Image(4,4); pic11.src=foxpathtoimages+"t40b.png"; pic12= new Image(4,4); pic12.src=foxpathtoimages+"t20b.png"; pic13= new Image(4,4); pic13.src=foxpathtoimages+"t15b.png"; pic14= new Image(4,4); pic14.src=foxpathtoimages+"t10b.png";
84
- pic15= new Image(138,32); pic15.src=foxpathtoimages+"buttons-dark.png"; pic16= new Image(138,32); pic16.src=foxpathtoimages+"buttonsH-dark.png";
85
- pic17= new Image(120,32); pic17.src=foxpathtoimages+"shcode2-hard.png"; pic18= new Image(120,32); pic18.src=foxpathtoimages+"shcode2H-hard.png";
86
- pic19= new Image(3,21); pic19.src=foxpathtoimages+"inlineHandle.gif"; pic20= new Image(3,21); pic20.src=foxpathtoimages+"inlineHandleH.gif";
87
- pic21= new Image(21,29); pic21.src=foxpathtoimages+"inlineHandleCH.png"; pic22= new Image(21,29); pic22.src=foxpathtoimages+"inlineHandleCH2.png";
88
  }
89
  }
90
 
@@ -311,9 +302,18 @@ function run_sound_complete() {
311
  /* Do stuff =============================================================== */
312
  function change_titles( id, track ) {
313
  var playlist = mp3j_info[id].list;
314
- jQuery('#T_mp3j_'+id).text( playlist[track].name );
315
- if ( playlist[track].artist !== "" ) { jQuery('#C_mp3j_'+id).text( playlist[track].artist ); }
316
- else { jQuery('#C_mp3j_'+id).empty(); }
 
 
 
 
 
 
 
 
 
317
  }
318
 
319
  function change_dload_link( id, track ) {
1
  /* MP3-jPlayer common functions js
2
+ 1.7.2 */
3
 
4
  /* Setup ======================= */
5
  function I_unwrap() {
75
 
76
  function I_images() {
77
  if (document.images) {
78
+ pic1= new Image(4,4); pic1.src=foxpathtoimages+"t30w.png"; //default hover on playlist li
 
 
 
 
 
 
 
 
 
79
  }
80
  }
81
 
302
  /* Do stuff =============================================================== */
303
  function change_titles( id, track ) {
304
  var playlist = mp3j_info[id].list;
305
+
306
+ //jQuery('#T_mp3j_'+id).text( playlist[track].name );
307
+ jQuery('#T_mp3j_'+id).empty();
308
+ jQuery('#T_mp3j_'+id).append( playlist[track].name );
309
+
310
+ //if ( playlist[track].artist !== "" ) { jQuery('#C_mp3j_'+id).text( playlist[track].artist ); }
311
+ //else { jQuery('#C_mp3j_'+id).empty(); }
312
+ jQuery('#C_mp3j_'+id).empty();
313
+ if ( playlist[track].artist !== "" ) {
314
+ jQuery('#C_mp3j_'+id).append( playlist[track].artist );
315
+ }
316
+
317
  }
318
 
319
  function change_dload_link( id, track ) {
js/ui.progressbar.js DELETED
@@ -1,16 +0,0 @@
1
- /*
2
- * jQuery UI Progressbar 1.8.10
3
- *
4
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT or GPL Version 2 licenses.
6
- * http://jquery.org/license
7
- *
8
- * http://docs.jquery.com/UI/Progressbar
9
- *
10
- * Depends:
11
- * jquery.ui.core.js
12
- * jquery.ui.widget.js
13
- */
14
- (function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
15
- this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
16
- this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.10"})})(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mp3j_frontend.php CHANGED
@@ -124,8 +124,9 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
124
  $allowed_widget = $this->has_allowed_widget( "mp3-jplayer-widget" ); //echo "<br />is allowed widget: " . $allowed_widget . "<br />";
125
  $allowed_widget_B = $this->has_allowed_widget( "mp3mi-widget" ); //echo "<br />is allowed widgetB: " . $allowed_widget_B . "<br />";
126
 
127
- // On index pages
128
- if ( is_home() || is_archive() ) {
 
129
  if ( $allowed_widget || $allowed_widget_B || $this->theSettings['player_onblog'] == "true" ) {
130
  $scripts = true;
131
  }
@@ -139,13 +140,13 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
139
  $scripts = true;
140
  }
141
  }
142
- // On search pages
143
- if ( is_search() ) {
144
- if ( $allowed_widget || $allowed_widget_B ) {
145
- $scripts = true;
146
- }
147
- }
148
 
 
 
 
 
 
 
149
 
150
  // Add the scripts
151
  if ( $scripts ) {
@@ -207,7 +208,8 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
207
  */
208
  function content_handler( $content = '' ) {
209
 
210
- if ( !is_singular() && !is_home() && !is_archive() ) {
 
211
  return $content;
212
  }
213
  $this->has_fields = false;
@@ -233,7 +235,8 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
233
  */
234
  function inline_play_handler( $atts, $content = null ) {
235
 
236
- if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
 
237
  return;
238
  }
239
  $id = $this->Player_ID;
@@ -312,7 +315,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
312
  }
313
  // Add info to js info array
314
  $autoplay = ( $autoplay == "true" || $autoplay == "y" || $autoplay == "1" ) ? "true" : "false";
315
- $loop = ( $loop != "false" ) ? "true" : "false";
316
  $this->jsInfo[] = "\n { list:" . $playername . ", type:'single', tr:" . ($track-1) . ", lstate:'', loop:" . $loop . ", play_txt:'" . $play . "', pause_txt:'" . $stop . "', pp_title:'', autoplay:" . $autoplay . ", has_ul:0, transport:'playpause', status:'basic', download:false, vol:" . $vol . ", height:'' }";
317
 
318
  $this->write_jp_div();
@@ -327,7 +330,8 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
327
  */
328
  function inline_play_graphic( $atts, $content = null ) {
329
 
330
- if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
 
331
  return;
332
  }
333
  $id = $this->Player_ID;
@@ -396,10 +400,9 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
396
  $this->Footerjs .= "if (" . $playername . "[" . ($track-1) . "].artist !==''){ jQuery(\"#T_mp3j_" . $id . "\").append('<span style=\"font-size:.75em;\"> - '+" . $playername . "[" . ($track-1) . "].artist+'</span>'); }\n";
397
  }
398
  // Add info to js info array
399
- //$autoplay = ( $autoplay != "false" ) ? "true" : "false";
400
  $autoplay = ( $autoplay == "true" || $autoplay == "y" || $autoplay == "1" ) ? "true" : "false";
401
- $loop = ( $loop != "false" ) ? "true" : "false";
402
- $this->jsInfo[] = "\n { list:" . $playername . ", type:'single', tr:" . ($track-1) . ", lstate:'', loop:" . $loop . ", play_txt:'" . $play . "', pause_txt:'" . $stop . "', pp_title:'', autoplay:" . $autoplay . ", has_ul:0, transport:'playpause', status:'basic', download:false, vol:" . $vol . ", height:'' }";
403
 
404
  $this->write_jp_div();
405
  $this->Player_ID++;
@@ -412,7 +415,8 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
412
  */
413
  function primary_player ( $atts, $content = null ) {
414
 
415
- if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
 
416
  return;
417
  }
418
  $pID = $this->Player_ID;
@@ -441,7 +445,10 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
441
 
442
  // Build 'tracks' playlist, if no tracks then try fields from 'id' or else from this id.
443
  if ( !$this->string_pushto_playlist( $tracks, $captions, "new" ) ) {
444
- if ( $this->external_call && (is_home() || is_archive()) ) { return; }
 
 
 
445
  if ( $this->grab_Custom_Meta($id) > 0 ) {
446
  $this->NewPlaylist = $this->generate_playlist( $this->postMetaKeys, $this->postMetaValues, 1 );
447
  if ( $this->NewPlaylist['count'] < 1 ) {
@@ -491,7 +498,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
491
  */
492
  function link_plays_track( $atts, $content = null ) {
493
 
494
- if ( is_home() || is_archive() ) { // can't really use this on index pages!
495
  return;
496
  }
497
  extract(shortcode_atts(array( // Defaults
@@ -524,9 +531,13 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
524
  if ( $this->theSettings['disable_template_tag'] == "true" ) { return; }
525
 
526
  if ( !empty($id) && !is_numeric($id) ) {
 
527
  $this->external_call = true;
 
528
  $shortcodes_return = do_shortcode( $id );
529
  $this->external_call = false;
 
 
530
  }
531
  echo $shortcodes_return;
532
  return;
@@ -642,34 +653,36 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
642
 
643
  <p style="margin: 10px 120px 15px 10px;"><span class="description">Eg.<br />
644
  Play a single file:</span> <code>[mp3j track="myfile.mp3"]</code><br />
645
- <span class="description">Playlist files:</span> <code>[mp3-jplayer tracks="myfileA.mp3, myfileB.mp3, myfileC.mp3"]</code></p>
 
 
 
646
 
647
 
648
  <h4 class="description" style="margin:0px 0px 0px 10px; color:#606060;">Shortcode Parameters</h4>
649
  <div style="margin:0px 0px 0px 15px;">
650
  <h5 style="margin:10px 0px 5px 0px;"><code>[mp3j]</code> &amp; <code>[mp3t]</code> add a single-track player</h5>
651
- <p class="description" style="margin: 0px 120px 20px 10px;">
652
- <code>track</code> filename or URI. Add title using '@' as separator eg. Mytitle@filename.mp3<br /><code>caption</code> caption text. Appears to the right of title<br /><code>vol</code> 0 - 100<br /><code>autoplay</code> y/n<br /><code>loop</code> y/n, repeat play track (overides subsequent autoplay)<br />
653
- <code>title</code> replaces both title and caption<br /><code>bold</code> y/n, makes font bold<br /><code>flip</code> y/n, move play/pause button to other side<br /><code>ind</code> y/n, hide indicator and time<br /><code>flow</code> y/n, set to 'y' to put players within paragraphs without line-breaking (works ok for line heights around 22px)</p>
654
  <h5 style="margin: 0px 120px 1px 10px;">Also for <code>[mp3t]</code></h5>
655
- <p class="description" style="margin: 0px 120px 1px 10px;"><code>play</code> play button text<br /><code>stop</code> pause button text</p>
656
  <h5 style="margin:15px 0px 5px 0px;"><code>[mp3-jplayer]</code> adds a playlist player</h5>
657
- <p class="description" style="margin: 0px 120px 1px 10px;">
658
- <code>tracks</code> Comma separated list of filenames/URI's/folders. Add titles using '@' as separator eg. Mytitle@filename.mp3<br /><code>captions</code> Semi-colon separated list eg. "caption 1; caption 2;"<br /><code>vol</code> 0 - 100<br /><code>autoplay</code> y/n<br /><code>loop</code> y/n, repeat plays track(s)<br /><code>dload</code> y/n, show/hide download link<br /><code>list</code> y/n, show/hide playlist<br /><code>pick</code> number, picks random selection<br /><code>shuffle</code> y/n, shuffle track order<br />
659
- <code>title</code> appears above player<br /><code>pos</code> rel-L, rel-C, rel-R, left, right<br /><code>width</code> px or %<br /><code>height</code> px only, player height excluding list<br /><code>pn</code> y/n, hide prev/next buttons<br /><code>stop</code> y/n, hide stop button<br /><code>mods</code> y/n, add css mods (makes fonts smaller as standard)<br /><code>id</code> a page id to read the custom fields from (ignored if 'tracks' is used in same shortcode, or id has no tracks)</p>
660
 
661
  <h5 style="margin: 10px 120px 5px 10px;">Use these instead of a filename to playlist folders or the library:</h5>
662
- <p class="description" style="margin: 0px 120px 20px 10px;"><code>FEED:LIB</code> - Play entire library<br /><code>FEED:DF</code> - Play the default folder (this will only work if your default folder setting is local)<br /><code>FEED:/mymusic</code> - Play the local folder 'mymusic' (folder paths must be local and are relative to the root of your site, NOT the Wordpress install)</p>
663
 
664
-
665
-
666
  <h5 style="margin:15px 0px 5px 0px;"><code>[mp3-link]</code> plays a track from a playlist player on the same page.</h5>
667
- <p class="description" style="margin: 0px 120px 1px 10px;">
668
- <code>player</code> number of the player (including single file players in the count)<br /><code>track</code> the track number<br /><code>text</code> link text, defaults to 'Play'<br /><code>bold</code> y/n</p>
669
  </div>
670
 
671
- <h4 class="description" style="margin:20px 0px 2px 10px; color:#606060;">Custom Fields (optional)</h4>
672
- <p class="description" style="margin: 0px 120px 10px 10px;">Available on page/post edit screens (may be hidden) for writing playlist as follows:</p>
 
673
  <p class="description" style="margin: 0px 120px 6px 10px;">1. Enter <code>mp3</code> into the left hand box.<br />2. Write the filename, URI, or 'FEED' (see above) into the right hand box and hit 'add custom field'</p>
674
  <p class="description" style="margin: 0px 120px 10px 10px;">Add each track in a new field pair.</p>
675
  <h5 class="description" style="margin: 12px 120px 2px 10px;"><strong>Title and caption</strong></h5>
@@ -677,11 +690,11 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
677
  <p class="description" style="margin: 10px 120px 20px 10px;">The keys (left boxes) can be numbered, eg:<code>1 mp3</code> will be first on the playlist.</p>
678
 
679
  <h4 class="description" style="margin:0px 0px 2px 10px; color:#606060;">Widgets</h4>
680
- <p class="description" style="margin: 0px 120px 20px 10px;">MP3j-ui - <span class="description">Adds a playlist player using tick boxes and modes (mode 1 reads custom fields).</span><br />MP3j-sh - <span class="description">Adds players by writing shortcodes.</span></p>
681
 
682
  <h4 class="description" style="margin:0px 0px 0px 10px; color:#606060;">Template Tags</h4>
683
  <p class="description" style="margin: 0px 120px 5px 10px;">For use in theme files:</p>
684
- <p class="description" style="margin: 10px 120px 20px 10px; line-height:22px;"><code style="font-size:13px;">mp3j_addscripts( $style )<br />mp3j_put( $shortcodes )<br />mp3j_grab_library( $format )<br/>mp3j_debug()</code></p>
685
  <?php
686
  echo '<p class="description" style="margin: 15px 120px 20px 10px;">See the <a href="' . get_bloginfo('wpurl') . '/wp-content/plugins/mp3-jplayer/template-tag-help.htm">Template tag help</a> for more info.</p>';
687
  ?>
@@ -704,7 +717,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") )
704
  <option value="left" <?php if ( 'left' == $theOptions['player_float'] ) { _e('selected="selected"', $this->textdomain ); } ?>>Float left</option>
705
  <option value="right" <?php if ( 'right' == $theOptions['player_float'] ) { _e('selected="selected"', $this->textdomain ); } ?>>Float right</option>
706
  </select></p>
707
- <p style="margin:0 0 8px 0px;">&nbsp; <input type="checkbox" name="mp3foxOnBlog" value="true" <?php if ($theOptions['player_onblog'] == "true") { _e('checked="checked"', $this->textdomain ); }?> /> &nbsp; Show players in posts on index and archive pages
708
  <span class="description">(doesn't affect widgets)</span></p>
709
 
710
  <?php
124
  $allowed_widget = $this->has_allowed_widget( "mp3-jplayer-widget" ); //echo "<br />is allowed widget: " . $allowed_widget . "<br />";
125
  $allowed_widget_B = $this->has_allowed_widget( "mp3mi-widget" ); //echo "<br />is allowed widgetB: " . $allowed_widget_B . "<br />";
126
 
127
+ // On multi-post pages
128
+ //if ( is_home() || is_archive() ) {
129
+ if ( is_home() || is_archive() || is_search() ) {
130
  if ( $allowed_widget || $allowed_widget_B || $this->theSettings['player_onblog'] == "true" ) {
131
  $scripts = true;
132
  }
140
  $scripts = true;
141
  }
142
  }
 
 
 
 
 
 
143
 
144
+ // On search pages
145
+ //if ( is_search() ) {
146
+ // if ( $allowed_widget || $allowed_widget_B ) {
147
+ // $scripts = true;
148
+ // }
149
+ //}
150
 
151
  // Add the scripts
152
  if ( $scripts ) {
208
  */
209
  function content_handler( $content = '' ) {
210
 
211
+ //if ( !is_singular() && !is_home() && !is_archive() ) {
212
+ if ( !is_singular() && !is_home() && !is_archive() && !is_search() ) {
213
  return $content;
214
  }
215
  $this->has_fields = false;
235
  */
236
  function inline_play_handler( $atts, $content = null ) {
237
 
238
+ //if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
239
+ if ( !$this->external_call && (is_home() || is_archive() || is_search()) && $this->theSettings['player_onblog'] == "false" ) {
240
  return;
241
  }
242
  $id = $this->Player_ID;
315
  }
316
  // Add info to js info array
317
  $autoplay = ( $autoplay == "true" || $autoplay == "y" || $autoplay == "1" ) ? "true" : "false";
318
+ $loop = ( $loop == "true" || $loop == "y" || $loop == "1" ) ? "true" : "false";
319
  $this->jsInfo[] = "\n { list:" . $playername . ", type:'single', tr:" . ($track-1) . ", lstate:'', loop:" . $loop . ", play_txt:'" . $play . "', pause_txt:'" . $stop . "', pp_title:'', autoplay:" . $autoplay . ", has_ul:0, transport:'playpause', status:'basic', download:false, vol:" . $vol . ", height:'' }";
320
 
321
  $this->write_jp_div();
330
  */
331
  function inline_play_graphic( $atts, $content = null ) {
332
 
333
+ //if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
334
+ if ( !$this->external_call && (is_home() || is_archive() || is_search()) && $this->theSettings['player_onblog'] == "false" ) {
335
  return;
336
  }
337
  $id = $this->Player_ID;
400
  $this->Footerjs .= "if (" . $playername . "[" . ($track-1) . "].artist !==''){ jQuery(\"#T_mp3j_" . $id . "\").append('<span style=\"font-size:.75em;\"> - '+" . $playername . "[" . ($track-1) . "].artist+'</span>'); }\n";
401
  }
402
  // Add info to js info array
 
403
  $autoplay = ( $autoplay == "true" || $autoplay == "y" || $autoplay == "1" ) ? "true" : "false";
404
+ $loop = ( $loop == "true" || $loop == "y" || $loop == "1" ) ? "true" : "false";
405
+ $this->jsInfo[] = "\n { list:" . $playername . ", type:'single', tr:" . ($track-1) . ", lstate:'', loop:" . $loop . ", play_txt:'" . $play . "', pause_txt:'', pp_title:'', autoplay:" . $autoplay . ", has_ul:0, transport:'playpause', status:'basic', download:false, vol:" . $vol . ", height:'' }";
406
 
407
  $this->write_jp_div();
408
  $this->Player_ID++;
415
  */
416
  function primary_player ( $atts, $content = null ) {
417
 
418
+ //if ( !$this->external_call && (is_home() || is_archive()) && $this->theSettings['player_onblog'] == "false" ) {
419
+ if ( !$this->external_call && (is_home() || is_archive() || is_search()) && $this->theSettings['player_onblog'] == "false" ) {
420
  return;
421
  }
422
  $pID = $this->Player_ID;
445
 
446
  // Build 'tracks' playlist, if no tracks then try fields from 'id' or else from this id.
447
  if ( !$this->string_pushto_playlist( $tracks, $captions, "new" ) ) {
448
+
449
+ //if ( $this->external_call && (is_home() || is_archive()) ) { return; }
450
+ if ( (is_home() || is_archive() || is_search()) && $this->external_call && !$this->tag_call ) { return; } //allow tags but not widgets to use fields on multi-post pages
451
+
452
  if ( $this->grab_Custom_Meta($id) > 0 ) {
453
  $this->NewPlaylist = $this->generate_playlist( $this->postMetaKeys, $this->postMetaValues, 1 );
454
  if ( $this->NewPlaylist['count'] < 1 ) {
498
  */
499
  function link_plays_track( $atts, $content = null ) {
500
 
501
+ if ( is_home() || is_archive() || is_search() ) { // can't really use links on multi-post pages!
502
  return;
503
  }
504
  extract(shortcode_atts(array( // Defaults
531
  if ( $this->theSettings['disable_template_tag'] == "true" ) { return; }
532
 
533
  if ( !empty($id) && !is_numeric($id) ) {
534
+
535
  $this->external_call = true;
536
+ $this->tag_call = true; // patch to allow tags to run 'mode 1' on index/archive/search pages
537
  $shortcodes_return = do_shortcode( $id );
538
  $this->external_call = false;
539
+ $this->tag_call = false;
540
+
541
  }
542
  echo $shortcodes_return;
543
  return;
653
 
654
  <p style="margin: 10px 120px 15px 10px;"><span class="description">Eg.<br />
655
  Play a single file:</span> <code>[mp3j track="myfile.mp3"]</code><br />
656
+ <span class="description">Playlist files:</span> <code>[mp3-jplayer tracks="myfileA.mp3, myfileB.mp3, myfileC.mp3"]</code> &nbsp;(use commas to separate files)<br />
657
+ <span class="description">Add titles:</span> <code>[mp3-jplayer tracks="MyTitle@myfileA.mp3, MyTitle@myfileB.mp3, MyTitle@myfileC.mp3"]</code><br />
658
+ <span class="description">Add captions:</span> <code>[mp3-jplayer tracks="fileA.mp3, fileB.mp3" captions="Caption A; Caption B"]</code> &nbsp;(use semicolons to separate captions)
659
+ </p>
660
 
661
 
662
  <h4 class="description" style="margin:0px 0px 0px 10px; color:#606060;">Shortcode Parameters</h4>
663
  <div style="margin:0px 0px 0px 15px;">
664
  <h5 style="margin:10px 0px 5px 0px;"><code>[mp3j]</code> &amp; <code>[mp3t]</code> add a single-track player</h5>
665
+ <p style="margin: 0px 120px 20px 10px;">
666
+ <code>track</code> <span class="description" >filename or URI. Add title using '@' as separator eg. Mytitle@filename.mp3</span><br /><code>caption</code> <span class="description" >caption text. Appears to the right of title</span><br /><code>vol</code> <span class="description" >0 - 100</span><br /><code>autoplay</code> <span class="description" >y/n</span><br /><code>loop</code> <span class="description" >y/n, repeat play track (overides subsequent autoplay)</span><br />
667
+ <code>title</code> <span class="description" >replaces both title and caption</span><br /><code>bold</code> <span class="description" >y/n, makes font bold</span><br /><code>flip</code> <span class="description" >y/n, move play/pause button to other side</span><br /><code>ind</code> <span class="description" >y/n, hide indicator and time</span><br /><code>flow</code> <span class="description" >y/n, set to 'y' to put players within paragraphs without line-breaking (works ok for line heights around 22px)</span></p>
668
  <h5 style="margin: 0px 120px 1px 10px;">Also for <code>[mp3t]</code></h5>
669
+ <p style="margin: 0px 120px 1px 10px;"><code>play</code> <span class="description">play button text</span><br /><code>stop</code> <span class="description">pause button text</span></p>
670
  <h5 style="margin:15px 0px 5px 0px;"><code>[mp3-jplayer]</code> adds a playlist player</h5>
671
+ <p style="margin: 0px 120px 1px 10px;">
672
+ <code>tracks</code> <span class="description">Comma separated list of filenames/URI's/folders. Add titles using '@' as separator eg. Mytitle@filename.mp3</span><br /><code>captions</code> <span class="description">Semi-colon separated list eg. "caption 1; caption 2;"</span><br /><code>vol</code> <span class="description">0 - 100</span><br /><code>autoplay</code> <span class="description">y/n</span><br /><code>loop</code> <span class="description">y/n, repeat plays track(s)</span><br /><code>dload</code> <span class="description">y/n, show/hide download link</span><br /><code>list</code> <span class="description">y/n, show/hide playlist</span><br /><code>pick</code> <span class="description">number, picks random selection</span><br /><code>shuffle</code> <span class="description">y/n, shuffle track order</span><br />
673
+ <code>title</code> <span class="description">appears above player</span><br /><code>pos</code> <span class="description">rel-L, rel-C, rel-R, left, right</span><br /><code>width</code> <span class="description">px or %</span><br /><code>height</code> <span class="description">px only, player height excluding list</span><br /><code>pn</code> <span class="description">y/n, hide prev/next buttons</span><br /><code>stop</code> <span class="description">y/n, hide stop button</span><br /><code>mods</code> <span class="description">y/n, add css mods (makes fonts smaller as standard)</span><br /><code>id</code> <span class="description">a page id to read the custom fields from (ignored if 'tracks' is used in same shortcode, or id has no tracks)</span></p>
674
 
675
  <h5 style="margin: 10px 120px 5px 10px;">Use these instead of a filename to playlist folders or the library:</h5>
676
+ <p style="margin: 0px 120px 20px 10px;"><code>FEED:LIB</code> - <span class="description">Play entire library</span><br /><code>FEED:DF</code> - <span class="description">Play the default folder (this will only work if your default folder setting is local)</span><br /><code>FEED:/mymusic</code> - <span class="description">Play the local folder 'mymusic' (folder paths must be local and are relative to the root of your site, NOT the Wordpress install)</span></p>
677
 
 
 
678
  <h5 style="margin:15px 0px 5px 0px;"><code>[mp3-link]</code> plays a track from a playlist player on the same page.</h5>
679
+ <p style="margin: 0px 120px 1px 10px;">
680
+ <code>player</code> <span class="description">number of the player (including single file players in the count)</span><br /><code>track</code> <span class="description">the track number</span><br /><code>text</code> <span class="description">link text, defaults to 'Play'</span><br /><code>bold</code> <span class="description">y/n</span></p>
681
  </div>
682
 
683
+ <h4 class="description" style="margin:20px 0px 2px 10px; color:#606060;">Custom Fields (optional way of setting a playlist for a page/post)</h4>
684
+ <p class="description" style="margin: 0px 120px 10px 10px;">Use custom fields when you want to add tracks to a post/page that you want to be picked up by a widget or by template tags in the theme (you can think of them as attachments but they're not really attached to anything). Fields can also be useful if you want to keep the edit window free of playlist clutter, and they make it easier to manage the track ordering (especially if you're adding captions in the playlist). Just use a shortcode in the content with no tracks specified to play custom fields, eg. <code>[mp3-jplayer]</code></p>
685
+ <p class="description" style="margin: 0px 120px 10px 10px;">Custom fields are available on page/post edit screens (check your 'screen options' at top-right if they're not visible) for writing playlist as follows:</p>
686
  <p class="description" style="margin: 0px 120px 6px 10px;">1. Enter <code>mp3</code> into the left hand box.<br />2. Write the filename, URI, or 'FEED' (see above) into the right hand box and hit 'add custom field'</p>
687
  <p class="description" style="margin: 0px 120px 10px 10px;">Add each track in a new field pair.</p>
688
  <h5 class="description" style="margin: 12px 120px 2px 10px;"><strong>Title and caption</strong></h5>
690
  <p class="description" style="margin: 10px 120px 20px 10px;">The keys (left boxes) can be numbered, eg:<code>1 mp3</code> will be first on the playlist.</p>
691
 
692
  <h4 class="description" style="margin:0px 0px 2px 10px; color:#606060;">Widgets</h4>
693
+ <p class="description" style="margin: 0px 120px 20px 10px;">MP3j-ui - <span class="description">Adds a playlist player using tick boxes and modes (mode 1 automatically plays the custom fields).</span><br />MP3j-sh - <span class="description">Adds players by writing shortcodes.</span></p>
694
 
695
  <h4 class="description" style="margin:0px 0px 0px 10px; color:#606060;">Template Tags</h4>
696
  <p class="description" style="margin: 0px 120px 5px 10px;">For use in theme files:</p>
697
+ <p style="margin: 10px 120px 20px 10px; line-height:22px;"><code style="font-size:13px;">mp3j_addscripts( $style )<br />mp3j_put( $shortcodes )<br />mp3j_grab_library( $format )<br/>mp3j_debug()</code></p>
698
  <?php
699
  echo '<p class="description" style="margin: 15px 120px 20px 10px;">See the <a href="' . get_bloginfo('wpurl') . '/wp-content/plugins/mp3-jplayer/template-tag-help.htm">Template tag help</a> for more info.</p>';
700
  ?>
717
  <option value="left" <?php if ( 'left' == $theOptions['player_float'] ) { _e('selected="selected"', $this->textdomain ); } ?>>Float left</option>
718
  <option value="right" <?php if ( 'right' == $theOptions['player_float'] ) { _e('selected="selected"', $this->textdomain ); } ?>>Float right</option>
719
  </select></p>
720
+ <p style="margin:0 0 8px 0px;">&nbsp; <input type="checkbox" name="mp3foxOnBlog" value="true" <?php if ($theOptions['player_onblog'] == "true") { _e('checked="checked"', $this->textdomain ); }?> /> &nbsp; Show players in posts on index, archive, and search pages
721
  <span class="description">(doesn't affect widgets)</span></p>
722
 
723
  <?php
mp3j_main.php CHANGED
@@ -6,7 +6,7 @@ if ( !class_exists("MP3j_Main") )
6
  class MP3j_Main
7
  {
8
  // ------------------------- Update Me
9
- var $version_of_plugin = "1.7.1";
10
  // -----------------------------------
11
  var $WPinstallpath;
12
  var $Rooturl;
@@ -23,6 +23,7 @@ if ( !class_exists("MP3j_Main") )
23
  var $excerptCalled = false;
24
  var $JPdiv = false;
25
  var $external_call = false;
 
26
  //
27
  var $postMetaKeys = array();
28
  var $postMetaValues = array();
@@ -249,7 +250,6 @@ if ( !class_exists("MP3j_Main") )
249
  $Srooturl = $_SERVER['HTTP_HOST'];
250
  $rooturl = str_replace("www.", "", $Srooturl);
251
  $items = array();
252
- //$debug = $this->theSettings['echo_debug'];
253
  if ( ($lp = strpos($folder, $rooturl)) || preg_match("!^/!", $folder) ) {
254
  if ( $lp !== false ) {
255
  $folderpath = str_replace($rooturl, "", $folder);
@@ -275,18 +275,15 @@ if ( !class_exists("MP3j_Main") )
275
  $items[$i] = "http://" . $Srooturl . $folderpath . "/" . $mp3;
276
  }
277
  }
278
- //if ( $debug == "true" ) { echo "\n<!-- \n\nMP3-jPlayer\nDone\nmp3's in folder: " . $c . "\nhttp://" . $Srooturl . $folderpath . "\n\n -->"; }
279
  $this->debug_string .= "\nRead folder: Done\nmp3's in folder: " . $c . "\nhttp://" . $Srooturl . $folderpath;
280
  return $items;
281
  }
282
  else {
283
- //if ( $debug == "true" ) { echo "\n<!-- \n\nMP3-jPlayer\nFailed to open local folder, check path and permissions.\nhttp://" . $Srooturl . $folderpath . "\n\n-->"; }
284
  $this->debug_string .= "\nRead folder: Failed to open local folder, check path and permissions.\nhttp://" . $Srooturl . $folderpath;
285
  return true;
286
  }
287
  }
288
  else {
289
- //if ( $debug == "true" ) { echo "\n<!-- \n\nMP3-jPlayer\nFolder path is either remote or unreadable, didn't attempt to read it.\n" . $folderpath . "\n\n -->"; }
290
  $this->debug_string .= "\nRead folder: Folder path is either remote or unreadable, didn't attempt to read it.\n" . $folderpath;
291
  return false;
292
  }
@@ -351,13 +348,14 @@ if ( !class_exists("MP3j_Main") )
351
  * Stores any 'FEED' values/keys and deletes them
352
  */
353
  function collect_delete_jobs( $values, $keys ){
 
354
  $sources = array();
355
  $sourcekeys = array();
356
  foreach ( $values as $i => $val ) {
357
  if ( preg_match( "!^FEED:(DF|ID|LIB|/.*)$!i", $val ) == 1 ) { // ID Depreciated, keep in for backwards compat
358
  $sources[$i] = strstr( $val, ":" );
359
  $sources[$i] = str_replace( ":", "", $sources[$i] );
360
- $sourcekeys[$i] = $keys[$i];
361
  unset( $values[$i], $keys[$i] );
362
  }
363
  }
@@ -448,14 +446,17 @@ if ( !class_exists("MP3j_Main") )
448
 
449
 
450
  /**
451
- * Builds comma separated lists of tracks/captions and adds/makes playlist.
452
  */
453
  function string_pushto_playlist( $tracks, $captions = "", $plist = "" ) {
454
 
455
  $separator = ";"; // captions separator
456
-
457
  if ( $tracks == "" ) { return false; }
 
458
  $tracks = str_replace( array("</p>", "<p>", "<br />", "<br>"), "", $tracks );
 
 
459
  $shortlist = trim( $tracks );
460
  $shortlist = trim( $shortlist, "," );
461
  if ( !empty($shortlist) )
@@ -774,6 +775,9 @@ if ( !class_exists("MP3j_Main") )
774
  $sidebarsettings = get_option($name);
775
  $n = 0;
776
 
 
 
 
777
  foreach ( $sidebarsettings as $key => $arr ) {
778
  if ( is_array($arr) && $key != "wp_inactive_widgets" ) {
779
  foreach ( $arr as $i => $widget ) {
@@ -954,22 +958,20 @@ if ( !class_exists("MP3j_Main") )
954
 
955
  $version = substr( get_bloginfo('version'), 0, 3);
956
 
957
- // jQueryUI components/dependencies
958
  if ( $version >= 3.1 ) {
959
- wp_enqueue_script( 'jquery-ui-progressbar', '/wp-content/plugins/mp3-jplayer/js/ui.progressbar.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse' ), '1.8.10' );
960
- wp_enqueue_script( 'jquery-ui-slider', '/wp-content/plugins/mp3-jplayer/js/ui.slider.js', false, '1.8.10' );
961
  }
962
  else { // pre WP 3.1
963
  wp_enqueue_script( 'jquery-ui-widget', '/wp-content/plugins/mp3-jplayer/js/ui.widget.js', array( 'jquery', 'jquery-ui-core' ), '1.8.10' );
964
  wp_enqueue_script( 'jquery-ui-mouse', '/wp-content/plugins/mp3-jplayer/js/ui.mouse.js', false, '1.8.10' );
965
  wp_enqueue_script( 'jquery-ui-slider', '/wp-content/plugins/mp3-jplayer/js/ui.slider.js', false, '1.8.10' );
966
- wp_enqueue_script( 'jquery-ui-progressbar', '/wp-content/plugins/mp3-jplayer/js/ui.progressbar.js', false, '1.8.10' );
967
  }
968
 
969
  // jPlayer and Plugin js
970
  wp_enqueue_script( 'jquery.jplayer.min', '/wp-content/plugins/mp3-jplayer/js/jquery.jplayer.min.js', false, '1.2.0' );
971
- wp_enqueue_script( 'mp3j-functions', '/wp-content/plugins/mp3-jplayer/js/mp3j-functions.js', false, '1.7' );
972
- wp_enqueue_script( 'mp3-jplayer', '/wp-content/plugins/mp3-jplayer/js/mp3-jplayer.js', false, '1.7' );
973
 
974
  // css
975
  if ( $theme == "styleF" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/player-silver.css"; }
@@ -1089,11 +1091,11 @@ if ( !class_exists("MP3j_Main") )
1089
 
1090
  $text = array( // defaults
1091
  'screen_colour' => 'transparent', 'screen_opacity' => '100',
1092
- 'loadbar_colour' => '#aaa', 'loadbar_opacity' => '15',
1093
- 'posbar_colour' => '#999', 'posbar_opacity' => '10', 'posbar_tint' => 'none',
1094
- 'playlist_colour' => '#fbfbfb', 'playlist_opacity' => '100', 'playlist_tint' => 'lighten1', 'list_divider' => 'none',
1095
- 'screen_text_colour' => '#555',
1096
- 'list_text_colour' => '#444444', 'list_current_colour' => '#47ACDE', 'list_hover_colour' => '#768D99',
1097
  'listBGa_current' => 'transparent', 'listBGa_hover' => 'transparent',
1098
  'indicator' => 'tint',
1099
  'volume_grad' => 'dark' );
@@ -1175,7 +1177,7 @@ if ( !class_exists("MP3j_Main") )
1175
  $width = ( $width == "" ) ? " width:" . $this->theSettings['player_width'] . ";" : " width:" . $width . ";";
1176
 
1177
  // Prep other bits
1178
- $height = ( !empty($height) && height != "" ) ? " style=\"height:" . $height . ";\"" : ""; //uses css sheet setting if empty
1179
  $title = ( $title == "" ) ? "" : "<h2>" . $title . "</h2>";
1180
  $Tpad = ( $this->theSettings['add_track_numbering'] == "false" ) ? " style=\"left:16px;\"" : "";
1181
  $addclass = ( $mods ) ? " mp3j_widgetmods" : "";
6
  class MP3j_Main
7
  {
8
  // ------------------------- Update Me
9
+ var $version_of_plugin = "1.7.2";
10
  // -----------------------------------
11
  var $WPinstallpath;
12
  var $Rooturl;
23
  var $excerptCalled = false;
24
  var $JPdiv = false;
25
  var $external_call = false;
26
+ var $tag_call = false;
27
  //
28
  var $postMetaKeys = array();
29
  var $postMetaValues = array();
250
  $Srooturl = $_SERVER['HTTP_HOST'];
251
  $rooturl = str_replace("www.", "", $Srooturl);
252
  $items = array();
 
253
  if ( ($lp = strpos($folder, $rooturl)) || preg_match("!^/!", $folder) ) {
254
  if ( $lp !== false ) {
255
  $folderpath = str_replace($rooturl, "", $folder);
275
  $items[$i] = "http://" . $Srooturl . $folderpath . "/" . $mp3;
276
  }
277
  }
 
278
  $this->debug_string .= "\nRead folder: Done\nmp3's in folder: " . $c . "\nhttp://" . $Srooturl . $folderpath;
279
  return $items;
280
  }
281
  else {
 
282
  $this->debug_string .= "\nRead folder: Failed to open local folder, check path and permissions.\nhttp://" . $Srooturl . $folderpath;
283
  return true;
284
  }
285
  }
286
  else {
 
287
  $this->debug_string .= "\nRead folder: Folder path is either remote or unreadable, didn't attempt to read it.\n" . $folderpath;
288
  return false;
289
  }
348
  * Stores any 'FEED' values/keys and deletes them
349
  */
350
  function collect_delete_jobs( $values, $keys ){
351
+
352
  $sources = array();
353
  $sourcekeys = array();
354
  foreach ( $values as $i => $val ) {
355
  if ( preg_match( "!^FEED:(DF|ID|LIB|/.*)$!i", $val ) == 1 ) { // ID Depreciated, keep in for backwards compat
356
  $sources[$i] = strstr( $val, ":" );
357
  $sources[$i] = str_replace( ":", "", $sources[$i] );
358
+ $sourcekeys[$i] = ( !empty($keys[$i]) ) ? $keys[$i] : "";
359
  unset( $values[$i], $keys[$i] );
360
  }
361
  }
446
 
447
 
448
  /**
449
+ * Adds/makes playlist from comma separated lists of tracks/captions.
450
  */
451
  function string_pushto_playlist( $tracks, $captions = "", $plist = "" ) {
452
 
453
  $separator = ";"; // captions separator
454
+ $caps = array();
455
  if ( $tracks == "" ) { return false; }
456
+
457
  $tracks = str_replace( array("</p>", "<p>", "<br />", "<br>"), "", $tracks );
458
+ //$tracks = str_replace( array("</p>", "<p>"), "", $tracks );
459
+
460
  $shortlist = trim( $tracks );
461
  $shortlist = trim( $shortlist, "," );
462
  if ( !empty($shortlist) )
775
  $sidebarsettings = get_option($name);
776
  $n = 0;
777
 
778
+ if ( empty($sidebarsettings) || is_null($sidebarsettings) ) {
779
+ return false;
780
+ }
781
  foreach ( $sidebarsettings as $key => $arr ) {
782
  if ( is_array($arr) && $key != "wp_inactive_widgets" ) {
783
  foreach ( $arr as $i => $widget ) {
958
 
959
  $version = substr( get_bloginfo('version'), 0, 3);
960
 
961
+ // jQuery and jQueryUI
962
  if ( $version >= 3.1 ) {
963
+ wp_enqueue_script( 'jquery-ui-slider', '/wp-content/plugins/mp3-jplayer/js/ui.slider.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse' ), '1.8.10' );
 
964
  }
965
  else { // pre WP 3.1
966
  wp_enqueue_script( 'jquery-ui-widget', '/wp-content/plugins/mp3-jplayer/js/ui.widget.js', array( 'jquery', 'jquery-ui-core' ), '1.8.10' );
967
  wp_enqueue_script( 'jquery-ui-mouse', '/wp-content/plugins/mp3-jplayer/js/ui.mouse.js', false, '1.8.10' );
968
  wp_enqueue_script( 'jquery-ui-slider', '/wp-content/plugins/mp3-jplayer/js/ui.slider.js', false, '1.8.10' );
 
969
  }
970
 
971
  // jPlayer and Plugin js
972
  wp_enqueue_script( 'jquery.jplayer.min', '/wp-content/plugins/mp3-jplayer/js/jquery.jplayer.min.js', false, '1.2.0' );
973
+ wp_enqueue_script( 'mp3j-functions', '/wp-content/plugins/mp3-jplayer/js/mp3j-functions.js', false, '1.7.2' );
974
+ wp_enqueue_script( 'mp3-jplayer', '/wp-content/plugins/mp3-jplayer/js/mp3-jplayer.js', false, '1.7.2' );
975
 
976
  // css
977
  if ( $theme == "styleF" ) { $themepath = "/wp-content/plugins/mp3-jplayer/css/player-silver.css"; }
1091
 
1092
  $text = array( // defaults
1093
  'screen_colour' => 'transparent', 'screen_opacity' => '100',
1094
+ 'loadbar_colour' => '#aaa', 'loadbar_opacity' => '20',
1095
+ 'posbar_colour' => '#fff', 'posbar_opacity' => '58', 'posbar_tint' => 'none',
1096
+ 'playlist_colour' => '#f6f6f6', 'playlist_opacity' => '100', 'playlist_tint' => 'lighten2', 'list_divider' => 'none',
1097
+ 'screen_text_colour' => '#869399',
1098
+ 'list_text_colour' => '#777', 'list_current_colour' => '#47ACDE', 'list_hover_colour' => '#829FAD',
1099
  'listBGa_current' => 'transparent', 'listBGa_hover' => 'transparent',
1100
  'indicator' => 'tint',
1101
  'volume_grad' => 'dark' );
1177
  $width = ( $width == "" ) ? " width:" . $this->theSettings['player_width'] . ";" : " width:" . $width . ";";
1178
 
1179
  // Prep other bits
1180
+ $height = ( !empty($height) && $height != "" ) ? " style=\"height:" . $height . ";\"" : ""; //will just use css sheet setting if empty
1181
  $title = ( $title == "" ) ? "" : "<h2>" . $title . "</h2>";
1182
  $Tpad = ( $this->theSettings['add_track_numbering'] == "false" ) ? " style=\"left:16px;\"" : "";
1183
  $addclass = ( $mods ) ? " mp3j_widgetmods" : "";
mp3jplayer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MP3-jPlayer
4
  Plugin URI: http://sjward.org/jplayer-for-wordpress
5
  Description: Add mp3 players to posts, pages, and sidebars. HTML5 / Flash. Shortcodes, widgets, and template tags. See the help on the settings page for a full list of options.
6
- Version: 1.7.1
7
  Author: Simon Ward
8
  Author URI: http://www.sjward.org
9
  License: GPL2
@@ -21,11 +21,11 @@ License: GPL2
21
 
22
  You should have received a copy of the GNU General Public License
23
  along with this program; if not, write to the Free Software
24
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
 
27
 
28
- /* Grab class definitions */
29
  $mp3jpath = dirname(__FILE__);
30
  include_once( $mp3jpath . '/mp3j_main.php');
31
  include_once( $mp3jpath . '/mp3j_frontend.php'); // extends main
@@ -47,7 +47,8 @@ if ( isset($mp3_fox) )
47
  }
48
  if ( function_exists('add_options_page') ) {
49
  // settings menu page
50
- $pluginpage = add_options_page('MP3 jPlayer', 'MP3 jPlayer', 9, basename(__FILE__), array(&$mp3_fox, 'printAdminPage'));
 
51
  add_action( 'admin_head-'. $pluginpage, array(&$mp3_fox, 'mp3j_admin_header') );
52
  add_action( 'admin_footer-'. $pluginpage, array(&$mp3_fox, 'mp3j_admin_footer') );
53
  }
@@ -59,7 +60,7 @@ if ( isset($mp3_fox) )
59
  do_action('mp3j_addscripts', $style);
60
  }
61
 
62
- // depreciated since 1.6
63
  function mp3j_flag( $set = 1 ) {
64
  do_action('mp3j_flag', $set);
65
  }
@@ -91,7 +92,7 @@ if ( isset($mp3_fox) )
91
  }
92
  }
93
 
94
- // Depreciated since 1.7 //
95
  function mp3j_set_meta( $tracks, $captions = "", $startnum = 1 ) {
96
  if ( empty($tracks) || !is_array($tracks) ) {
97
  return;
@@ -128,7 +129,11 @@ if ( isset($mp3_fox) )
128
 
129
  // template hooks
130
  add_action('wp_head', array(&$mp3_fox, 'header_scripts_handler'), 2);
 
 
 
131
  add_filter('the_content', array(&$mp3_fox, 'content_handler'));
 
132
  //add_filter('get_the_excerpt', array(&$mp3_fox, 'get_excerpt_handler'), 1);
133
  add_action('wp_footer', array(&$mp3_fox, 'footercode_handler'));
134
  add_action('mp3j_put', array(&$mp3_fox, 'template_tag_handler'), 10, 5 );
3
  Plugin Name: MP3-jPlayer
4
  Plugin URI: http://sjward.org/jplayer-for-wordpress
5
  Description: Add mp3 players to posts, pages, and sidebars. HTML5 / Flash. Shortcodes, widgets, and template tags. See the help on the settings page for a full list of options.
6
+ Version: 1.7.2
7
  Author: Simon Ward
8
  Author URI: http://www.sjward.org
9
  License: GPL2
21
 
22
  You should have received a copy of the GNU General Public License
23
  along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
 
27
 
28
+ /* grab class definitions */
29
  $mp3jpath = dirname(__FILE__);
30
  include_once( $mp3jpath . '/mp3j_main.php');
31
  include_once( $mp3jpath . '/mp3j_frontend.php'); // extends main
47
  }
48
  if ( function_exists('add_options_page') ) {
49
  // settings menu page
50
+ //$pluginpage = add_options_page('MP3 jPlayer', 'MP3 jPlayer', 9, basename(__FILE__), array(&$mp3_fox, 'printAdminPage'));
51
+ $pluginpage = add_options_page('MP3 jPlayer', 'MP3 jPlayer', 'manage_options', basename(__FILE__), array(&$mp3_fox, 'printAdminPage'));
52
  add_action( 'admin_head-'. $pluginpage, array(&$mp3_fox, 'mp3j_admin_header') );
53
  add_action( 'admin_footer-'. $pluginpage, array(&$mp3_fox, 'mp3j_admin_footer') );
54
  }
60
  do_action('mp3j_addscripts', $style);
61
  }
62
 
63
+ // Depreciated since 1.6
64
  function mp3j_flag( $set = 1 ) {
65
  do_action('mp3j_flag', $set);
66
  }
92
  }
93
  }
94
 
95
+ // Depreciated since 1.7
96
  function mp3j_set_meta( $tracks, $captions = "", $startnum = 1 ) {
97
  if ( empty($tracks) || !is_array($tracks) ) {
98
  return;
129
 
130
  // template hooks
131
  add_action('wp_head', array(&$mp3_fox, 'header_scripts_handler'), 2);
132
+ //add_action('wp_enqueue_scripts', array(&$mp3_fox, 'header_scripts_handler'));
133
+
134
+
135
  add_filter('the_content', array(&$mp3_fox, 'content_handler'));
136
+
137
  //add_filter('get_the_excerpt', array(&$mp3_fox, 'get_excerpt_handler'), 1);
138
  add_action('wp_footer', array(&$mp3_fox, 'footercode_handler'));
139
  add_action('mp3j_put', array(&$mp3_fox, 'template_tag_handler'), 10, 5 );
popout-mp3j.php CHANGED
@@ -2,7 +2,7 @@
2
  <html>
3
  <head>
4
  <title></title>
5
- <!-- MP3-jPlayer 1.7 Pop-out player -->
6
  <script type="text/javascript">
7
  <!--
8
  function loadjscss(filename, filetype) {
@@ -77,7 +77,6 @@
77
  <script type="text/javascript" src="js/ui.core.js"></script>
78
  <script type="text/javascript" src="js/ui.widget.js"></script>
79
  <script type="text/javascript" src="js/ui.mouse.js"></script>
80
- <script type="text/javascript" src="js/ui.progressbar.js"></script>
81
  <script type="text/javascript" src="js/ui.slider.js"></script>
82
  <script type="text/javascript" src="js/jquery.jplayer.min.js"></script>
83
  <script type="text/javascript" src="js/mp3j-functions.js"></script>
@@ -168,6 +167,13 @@
168
  $("ul.UL-MI_mp3j").css( "background" , window.opener.foxPP_playlist_img );
169
  $("div.playlist-colour").css({ "background" : window.opener.foxPP_playlist_colour, opacity : window.opener.foxPP_playlist_opac });
170
  $("div.innertab").css({ "background" : window.opener.foxPP_screen_background, opacity : window.opener.foxPP_screen_opac });
 
 
 
 
 
 
 
171
  }
172
  $("title").text(mp3j_info[0].pp_title);
173
  }
2
  <html>
3
  <head>
4
  <title></title>
5
+ <!-- MP3-jPlayer 1.7.2 Pop-out player -->
6
  <script type="text/javascript">
7
  <!--
8
  function loadjscss(filename, filetype) {
77
  <script type="text/javascript" src="js/ui.core.js"></script>
78
  <script type="text/javascript" src="js/ui.widget.js"></script>
79
  <script type="text/javascript" src="js/ui.mouse.js"></script>
 
80
  <script type="text/javascript" src="js/ui.slider.js"></script>
81
  <script type="text/javascript" src="js/jquery.jplayer.min.js"></script>
82
  <script type="text/javascript" src="js/mp3j-functions.js"></script>
167
  $("ul.UL-MI_mp3j").css( "background" , window.opener.foxPP_playlist_img );
168
  $("div.playlist-colour").css({ "background" : window.opener.foxPP_playlist_colour, opacity : window.opener.foxPP_playlist_opac });
169
  $("div.innertab").css({ "background" : window.opener.foxPP_screen_background, opacity : window.opener.foxPP_screen_opac });
170
+ $("div.transport-MI div").css("color", foxPP_playlist_hover );
171
+ $("div.transport-MI div").mouseover(function () {
172
+ $(this).css( "color" , foxPP_playlist_current );
173
+ });
174
+ $("div.transport-MI div").mouseout(function () {
175
+ $(this).css("color", foxPP_playlist_hover );
176
+ });
177
  }
178
  $("title").text(mp3j_info[0].pp_title);
179
  }
readme.txt CHANGED
@@ -2,27 +2,35 @@
2
  Author URI: http://www.sjward.org
3
  Plugin URI: http://www.sjward.org/jplayer-for-wordpress
4
  Contributors: simon.ward
5
- Tags: mp3, audio, player, music, jplayer, integration, 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.2
8
- Stable tag: 1.7.1
9
 
10
- Add mp3 players to posts, pages, and sidebars. HTML5 / Flash.
11
 
12
  == Description ==
13
 
14
- - Multi-player
15
  - Playlist and single-file players.
16
  - Pop-out player.
17
  - Individual control of height, width, volume, download etc.
18
  - Customise the colour scheme on the settings page.
19
- - Good compatibility across browsers/platforms, uses HTML5 or Flash.
20
- - Uses a single instance of jPlayer by Happyworm
21
- - Editable player designs via CSS
22
 
23
- Add players using shortcodes, widgets, and template tags. See the help on the settings page for a full list of options.
 
 
 
 
 
 
 
 
 
24
 
25
- [See Demo here](http://sjward.org/jplayer-for-wordpress)
26
 
27
  <br />
28
  <br />
@@ -51,19 +59,15 @@ eg Play incrementally from custom-fields playlist/folder:
51
  [mp3-jplayer] adds playlist players
52
 
53
  eg. Play files, url's, folders:
54
- <code>[mp3-jplayer tracks="myfile1.mp3, myfile2.mp3, myfile3.mp3"]</code>
55
 
56
  <br />
57
- eg. Play a folder:
58
- <code>[mp3-jplayer tracks="FEED:/myfolder"]</code>
59
 
60
  <br />
61
- eg. Play custom fields:
62
- <code>[mp3-jplayer]</code>
63
-
64
- <br />
65
- eg. Play random library mp3's:
66
- <code>[mp3-jplayer pick="7" shuffle="y" tracks="FEED:LIB"]</code>
67
  <br />
68
 
69
  Other examples:
@@ -74,7 +78,8 @@ Other examples:
74
 
75
  <code>[mp3j flip="y"]</code>
76
 
77
- See more help in the plugin.
 
78
 
79
 
80
  == Installation ==
@@ -109,27 +114,39 @@ Check the filename spelling and the path/uri are correct. Remove any accented le
109
  = Header and footer players? =
110
  Use widget areas (if available), or use the mp3j_addscripts() and mp3j_put() functions in template files. See help in the plugin for an example.
111
 
 
 
 
112
  = Report bugs/issues? =
113
  Either on the forum at Wordpress, or [here](http://sjward.org/contact).
114
 
115
 
116
  == Screenshots ==
117
 
118
- 1. Players eg.1
119
- 2. Players eg.2
120
- 3. Popout player
121
- 4. Players eg.3
122
- 5. Admin settings page
123
- 6. Colour settings
124
- 7. Other options
 
125
 
126
 
127
  == Changelog ==
128
 
 
 
 
 
 
 
 
 
 
129
  = 1.7.1 =
130
- * Fixed widgets on search pages, and added 'search' as an include/exclude value for the page filter.
131
- * Fixed default colours pick-up when using template tags, and the indicator on single players.
132
-
133
 
134
  = 1.7 =
135
  * Added multiple players ability, backwards compatible (see notes below).
2
  Author URI: http://www.sjward.org
3
  Plugin URI: http://www.sjward.org/jplayer-for-wordpress
4
  Contributors: simon.ward
5
+ Tags: mp3, audio, mp3 player, music player, audio player, jplayer, playlist, jquery, shortcode, widget, css, posts, page, sidebar
6
  Requires at least: 2.8
7
+ Tested up to: 3.2.1
8
+ Stable tag: 1.7.2
9
 
10
+ Add mp3 audio players to posts, pages, and sidebars. HTML5 / Flash. Uses jPlayer.
11
 
12
  == Description ==
13
 
14
+ - Flexible multi-player plugin.
15
  - Playlist and single-file players.
16
  - Pop-out player.
17
  - Individual control of height, width, volume, download etc.
18
  - Customise the colour scheme on the settings page.
19
+ - Uses a single instance of [jPlayer by Happyworm](http://jplayer.org/)
20
+ - Good compatibility across browsers/platforms. Works on iPhone 4, iPad. Uses HTML 5 or Flash if necessary.
21
+ - Editable player designs via CSS.
22
 
23
+ [View Demo here](http://sjward.org/jplayer-for-wordpress)
24
+
25
+ <br />
26
+ This plugin lets you add mp3 players to your site using shortcodes, widgets, and template tags. There's useful stuff on the settings page such as default folder setting, mp3 file lists, and plenty of shortcode parameters to control things like width, height, autoplay, volume etc.
27
+
28
+ You can play entire folders with one simple command, or the library, or make playlists track by track, randomise them, add titles and captions (or use the library ones), set playlists for download, hide your urls.
29
+
30
+ Widgets and tags can automatically pick up your track lists from posts/pages, or have their own playlists.
31
+
32
+ As only the one instance of jPlayer is created there's no loss of performance or speed however many players you put on a page.
33
 
 
34
 
35
  <br />
36
  <br />
59
  [mp3-jplayer] adds playlist players
60
 
61
  eg. Play files, url's, folders:
62
+ <code>[mp3-jplayer tracks="file.mp3, url, FEED:/myfolder"]</code>
63
 
64
  <br />
65
+ eg. Play custom fields and shuffle them:
66
+ <code>[mp3-jplayer shuffle="y"]</code>
67
 
68
  <br />
69
+ eg. Play 7 random library mp3's:
70
+ <code>[mp3-jplayer pick="7" tracks="FEED:LIB"]</code>
 
 
 
 
71
  <br />
72
 
73
  Other examples:
78
 
79
  <code>[mp3j flip="y"]</code>
80
 
81
+ <br />
82
+ Please see the help on the plugin's settings page for more info and a full list of parameters.
83
 
84
 
85
  == Installation ==
114
  = Header and footer players? =
115
  Use widget areas (if available), or use the mp3j_addscripts() and mp3j_put() functions in template files. See help in the plugin for an example.
116
 
117
+ = Player appears but something is broken? =
118
+ Any number of reasons but the most commonly seen problem is poor use of a CDN or jQuery in theme files. Don't just shove your scripts in the header unless you like breaking stuff!
119
+
120
  = Report bugs/issues? =
121
  Either on the forum at Wordpress, or [here](http://sjward.org/contact).
122
 
123
 
124
  == Screenshots ==
125
 
126
+ 1. Players example 1.
127
+ 2. Players example 2.
128
+ 3. Popout player example.
129
+ 4. Players example 3.
130
+ 5. Players example 4.
131
+ 6. Admin settings page.
132
+ 7. Colour settings.
133
+ 8. Other options.
134
 
135
 
136
  == Changelog ==
137
 
138
+ = 1.7.2 =
139
+ * Fixed bug in the case where sidebars_widgets array was not defined (was throwing a php warning), thanks to Craig for reporting.
140
+ * Fixed bug on search pages where full post content was being used (players in posts were breaking unless a player widget was present), thanks to Marco for reporting.
141
+ * Fixed loop parameter in single players (wasn't responding to 'n' or '0'). Thanks to George for reporting.
142
+ * Corrected the template tag handling so that it can auto pick-up mp3's from post fields on index/archive/search pages.
143
+ * Fixed the 'text' player's colour pickup for the popout, and refined it's layout a little.
144
+ * Changed from using depreciated wp user-levels to capabilities for options page setup (was throwing a wp_debug warning).
145
+ * Corrected typos in the plugin help (invasion of capitalised L's).
146
+
147
  = 1.7.1 =
148
+ * Fixed widgets on search pages, and added 'search' as an include/exclude value for the page filter. Thanks to Flavio for reporting.
149
+ * Fixed pick-up of default colours when using template tags, and the indicator on single players.
 
150
 
151
  = 1.7 =
152
  * Added multiple players ability, backwards compatible (see notes below).
screenshot-5.png CHANGED
Binary file
screenshot-6.png CHANGED
Binary file
screenshot-7.png CHANGED
Binary file
screenshot-8.png ADDED
Binary file
template-tag-help.htm CHANGED
@@ -15,7 +15,7 @@
15
  <div style="width:700px; margin:50px auto 50px auto;">
16
 
17
  <h3><strong>Template Tags</strong></h3>
18
- <p>Tags have changed in version 1.7, you now send in shortcodes (and html). Note: there's an admin option to ignore the tags which needs to remain unticked when you want to use them.</p>
19
  <p>Instructions: Place tag (1) in the header, place tag (2) where you want the players to be.
20
  <br /><br />
21
 
@@ -34,6 +34,26 @@
34
 
35
  <br /><br />
36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  <h4>The following tags are not necessary but can be used:</h4>
38
 
39
  <p><strong><code>mp3j_grab_library( $format )</code></strong></p>
@@ -63,23 +83,6 @@
63
  <br />
64
  <br />
65
 
66
- <h3>Example</h3>
67
- <p>Play random library tracks on the posts index page</p>
68
-
69
- <p>Put this in header.php above wp_head()</p>
70
- <pre><code>&lt;?php
71
- mp3j_addscripts();
72
- ?&gt;</code></pre>
73
- <br />
74
-
75
- <p>Put this in index.php</p>
76
- <pre><code>&lt;?php
77
- mp3j_put( '[mp3-jplayer tracks="FEED:LIB" pick="5" shuffle="y"]' );
78
- ?&gt;</code></pre>
79
-
80
- <br />
81
- <p>Always use <code>if ( function_exists() ) {}</code> to check tags exist before running them incase the plugin gets deactivated.</p>
82
-
83
  <hr /><br /><br />
84
  </div>
85
  </body></html>
15
  <div style="width:700px; margin:50px auto 50px auto;">
16
 
17
  <h3><strong>Template Tags</strong></h3>
18
+ <p>Tags have become easier since version 1.7, you can now send in shortcodes. Note: there's an admin option to ignore the tags which needs to remain unticked when you want to use them.</p>
19
  <p>Instructions: Place tag (1) in the header, place tag (2) where you want the players to be.
20
  <br /><br />
21
 
34
 
35
  <br /><br />
36
 
37
+ <h3>Example</h3>
38
+ <p>Play 5 random library tracks on the posts index page</p>
39
+
40
+ <p>Put this in header.php above wp_head()</p>
41
+ <pre><code>&lt;?php
42
+ mp3j_addscripts();
43
+ ?&gt;</code></pre>
44
+ <br />
45
+
46
+ <p>Put this in index.php</p>
47
+ <pre><code>&lt;?php
48
+ mp3j_put( '[mp3-jplayer tracks="FEED:LIB" pick="5"]' );
49
+ ?&gt;</code></pre>
50
+
51
+ <br />
52
+ <p>Always use <code>if ( function_exists() ) {}</code> to check tags exist before running them incase the plugin gets deactivated.</p>
53
+
54
+ <br /><br />
55
+
56
+
57
  <h4>The following tags are not necessary but can be used:</h4>
58
 
59
  <p><strong><code>mp3j_grab_library( $format )</code></strong></p>
83
  <br />
84
  <br />
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  <hr /><br /><br />
87
  </div>
88
  </body></html>