Version Description
- Fixed the pick-up of titles and images when playing attached audio using the playlist widget.
- Added ordering options for attached audio. Any audio attached to a page or post will now be ordered according to your setting on the player's 'Settings' page. You can order them by title or upload date, for any other setting they'll default to WP's menu order. ASC/DESC controls the direction.
- Improved the 'novol' class for hiding volume controls, and added new modifier names 'nobars', 'nocase' which let you hide the bars, and the button bar background on playlist players.
- Improved js robustness for increased compatibility across different themes/setups.
- Added new developer methods - provide a volume scale factor (MP3_JPLAYER.factors.vol), and provide the available image data to callbacks regardless of the player or list type.
Download this release
Release Info
Developer | simon.ward |
Plugin | MP3-jPlayer |
Version | 2.3.2 |
Comparing to | |
See all releases |
Code changes from version 2.3.1 to 2.3.2
- admin-colours.php +16 -0
- css/dark.css +19 -2
- css/light.css +21 -5
- css/text.css +6 -2
- css/v1-skins/v1-dark.css +16 -9
- css/v1-skins/v1-silver.css +15 -11
- frontend.php +25 -9
- js/{mp3-jplayer-2.3.1.js → mp3-jplayer-2.3.2.js} +5 -4
- main.php +8 -2
- mp3jplayer.php +1 -1
- popout.php +1 -1
- readme.txt +14 -8
- widget-ui.php +3 -10
admin-colours.php
CHANGED
@@ -676,6 +676,14 @@ function mp3j_print_colours_page()
|
|
676 |
<td><code>nopn</code></td>
|
677 |
<td>Hides the prev/next buttons</td>
|
678 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
<tr>
|
680 |
<td><code>nolistbutton</code></td>
|
681 |
<td>Hides the playlist button</td>
|
@@ -688,6 +696,14 @@ function mp3j_print_colours_page()
|
|
688 |
<td><code>fullbars</code></td>
|
689 |
<td>Position slider fills the screen/image area</td>
|
690 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
</table>
|
692 |
</div>
|
693 |
</div><!-- Close Tab -->
|
676 |
<td><code>nopn</code></td>
|
677 |
<td>Hides the prev/next buttons</td>
|
678 |
</tr>
|
679 |
+
<tr>
|
680 |
+
<td><code>novol</code></td>
|
681 |
+
<td>Hides the volume control</td>
|
682 |
+
</tr>
|
683 |
+
<tr>
|
684 |
+
<td><code>notitle</code></td>
|
685 |
+
<td>Hides the track title and caption</td>
|
686 |
+
</tr>
|
687 |
<tr>
|
688 |
<td><code>nolistbutton</code></td>
|
689 |
<td>Hides the playlist button</td>
|
696 |
<td><code>fullbars</code></td>
|
697 |
<td>Position slider fills the screen/image area</td>
|
698 |
</tr>
|
699 |
+
<tr>
|
700 |
+
<td><code>nobars</code></td>
|
701 |
+
<td>removes the position and load bars</td>
|
702 |
+
</tr>
|
703 |
+
<tr>
|
704 |
+
<td><code>nocase</code></td>
|
705 |
+
<td>removes the container bar around the buttons</td>
|
706 |
+
</tr>
|
707 |
</table>
|
708 |
</div>
|
709 |
</div><!-- Close Tab -->
|
css/dark.css
CHANGED
@@ -133,7 +133,7 @@ div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom
|
|
133 |
div.dloadmp3-MI.logintext {
|
134 |
background-position:-395px -49px;
|
135 |
cursor:pointer;
|
136 |
-
background-color
|
137 |
}
|
138 |
div.dloadmp3-MI.whilelinks:hover { }
|
139 |
/*
|
@@ -520,9 +520,14 @@ ul.gill-mjp a { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
|
|
520 |
.nopn div.next-mjp { display:none; }
|
521 |
.nostop div.stop-mjp { display:none; }
|
522 |
.notitle div.player-track-title { display:none; }
|
523 |
-
.novol div.mjp-volwrap { display:none; }
|
524 |
div.wrap-mjp.noplayer { display:none; }
|
525 |
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; top:0px; }
|
527 |
.fullbars div.jp-total-time { bottom:45px; text-align:right; z-index:90; }
|
528 |
.fullbars div.jp-play-time { right:95px; bottom:45px; text-align:right; z-index:90; }
|
@@ -532,6 +537,18 @@ div.wrap-mjp.noplayer { display:none; }
|
|
532 |
.fullbars span.mp3-tint { position:relative; padding:0 4px 0 4px; margin:0 3px 0 -8px; border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px; overflow:hidden; }
|
533 |
.fullbars div.mjp-volwrap { bottom:auto; top:0px; right:0px; -webkit-border-bottom-left-radius:2px; -moz-border-radius-bottomleft:2px; border-bottom-left-radius: 2px; }
|
534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
div.bigger1 span { font-size:18px !important; }
|
536 |
div.bigger2 span { font-size:23px !important; }
|
537 |
div.bigger3 span { font-size:28px !important; }
|
133 |
div.dloadmp3-MI.logintext {
|
134 |
background-position:-395px -49px;
|
135 |
cursor:pointer;
|
136 |
+
background-color:#303030;
|
137 |
}
|
138 |
div.dloadmp3-MI.whilelinks:hover { }
|
139 |
/*
|
520 |
.nopn div.next-mjp { display:none; }
|
521 |
.nostop div.stop-mjp { display:none; }
|
522 |
.notitle div.player-track-title { display:none; }
|
|
|
523 |
div.wrap-mjp.noplayer { display:none; }
|
524 |
|
525 |
+
.novol div.mjp-volwrap { display:none; }
|
526 |
+
.novol div.bars_holder,
|
527 |
+
.novol div.statusMI { left:0px; right:0px; }
|
528 |
+
.novol span.vol_mp3t,
|
529 |
+
.novol span.vol_mp3j { display:none; }
|
530 |
+
|
531 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; top:0px; }
|
532 |
.fullbars div.jp-total-time { bottom:45px; text-align:right; z-index:90; }
|
533 |
.fullbars div.jp-play-time { right:95px; bottom:45px; text-align:right; z-index:90; }
|
537 |
.fullbars span.mp3-tint { position:relative; padding:0 4px 0 4px; margin:0 3px 0 -8px; border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px; overflow:hidden; }
|
538 |
.fullbars div.mjp-volwrap { bottom:auto; top:0px; right:0px; -webkit-border-bottom-left-radius:2px; -moz-border-radius-bottomleft:2px; border-bottom-left-radius: 2px; }
|
539 |
|
540 |
+
.nocase .innerx { display:none; }
|
541 |
+
.nocase .innertab { border-bottom:0; }
|
542 |
+
.nocase .transport-MI { right:0; }
|
543 |
+
.nocase .buttons-wrap-mjp { left:0; }
|
544 |
+
.nocase .transport-MI div,
|
545 |
+
.nocase .buttons-wrap-mjp div { -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
|
546 |
+
.nocase .mjp-volwrap { bottom:42px; border-top:0; }
|
547 |
+
|
548 |
+
.nobars .bars_holder,
|
549 |
+
.nobars .statusMI { display:none; }
|
550 |
+
|
551 |
+
|
552 |
div.bigger1 span { font-size:18px !important; }
|
553 |
div.bigger2 span { font-size:23px !important; }
|
554 |
div.bigger3 span { font-size:28px !important; }
|
css/light.css
CHANGED
@@ -23,7 +23,7 @@ div.innerx, div.innerleft, div.innerright, div.innertab, div.innertab2 { positio
|
|
23 |
div.innerx { left:0px; height:39px; right:0px; bottom:0px; background-color:#d9d9d9; border:1px solid #d0d0d0; border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px; z-index:18; }
|
24 |
div.innerleft { display:none; }
|
25 |
div.innerright { display:none; }
|
26 |
-
div.innertab { left:0px; top:0px; right:0px; bottom:41px; border-bottom:1px solid #
|
27 |
|
28 |
/* PLAYLIST */
|
29 |
.ul-mjp { margin:0px !important; padding:3px 8px 4px 8px !important; list-style-type:none !important; list-style:none !important; list-style-image:none !important; border-top:1px solid #f0f0f0; }
|
@@ -112,7 +112,7 @@ div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom
|
|
112 |
/* background-position:-395px -97px; */
|
113 |
background-position:-395px -48px;
|
114 |
padding:0;
|
115 |
-
height:
|
116 |
cursor:default;
|
117 |
min-width:36px;
|
118 |
}
|
@@ -131,7 +131,7 @@ div.transport-MI { position:absolute; width:auto; height:38px; right:2px; bottom
|
|
131 |
div.dloadmp3-MI.logintext {
|
132 |
background-position:-395px -48px;
|
133 |
cursor:pointer;
|
134 |
-
background-color
|
135 |
}
|
136 |
div.dloadmp3-MI.whilelinks:hover { }
|
137 |
/*
|
@@ -515,10 +515,15 @@ ul.gill-mjp a { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
|
|
515 |
.nopn div.next-mjp { display:none; }
|
516 |
.nostop div.stop-mjp { display:none; }
|
517 |
.notitle div.player-track-title { display:none; }
|
518 |
-
.novol div.mjp-volwrap { display:none; }
|
519 |
div.wrap-mjp.noplayer { display:none; }
|
520 |
|
521 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
.fullbars div.jp-total-time { bottom:44px; text-align:right; z-index:90; }
|
523 |
.fullbars div.jp-play-time { right:95px; bottom:44px; text-align:right; z-index:90; }
|
524 |
.fullbars div.statusMI { right:12px; left:auto; bottom:42px; padding:2px 0 2px 0; width:80px; height:auto; background:none; z-index:90; border:none; }
|
@@ -540,6 +545,17 @@ div.bigger3 .indi_mp3j, div.bigger3 .Smp3-finding, div.bigger3 .mp3-gtint, div.b
|
|
540 |
div.bigger4 .indi_mp3j, div.bigger4 .Smp3-finding, div.bigger4 .mp3-gtint, div.bigger4 .Smp3-tint,
|
541 |
div.bigger5 .indi_mp3j, div.bigger5 .Smp3-finding, div.bigger5 .mp3-gtint, div.bigger5 .Smp3-tint { font-size:70% !important; }
|
542 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
543 |
|
544 |
/* ===== ===== */
|
545 |
div.mp3j-dlframe,
|
23 |
div.innerx { left:0px; height:39px; right:0px; bottom:0px; background-color:#d9d9d9; border:1px solid #d0d0d0; border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px; z-index:18; }
|
24 |
div.innerleft { display:none; }
|
25 |
div.innerright { display:none; }
|
26 |
+
div.innertab { left:0px; top:0px; right:0px; bottom:41px; border-bottom:1px solid #f8f8f8; }
|
27 |
|
28 |
/* PLAYLIST */
|
29 |
.ul-mjp { margin:0px !important; padding:3px 8px 4px 8px !important; list-style-type:none !important; list-style:none !important; list-style-image:none !important; border-top:1px solid #f0f0f0; }
|
112 |
/* background-position:-395px -97px; */
|
113 |
background-position:-395px -48px;
|
114 |
padding:0;
|
115 |
+
height:38px;
|
116 |
cursor:default;
|
117 |
min-width:36px;
|
118 |
}
|
131 |
div.dloadmp3-MI.logintext {
|
132 |
background-position:-395px -48px;
|
133 |
cursor:pointer;
|
134 |
+
background-color:#d9d9d9;
|
135 |
}
|
136 |
div.dloadmp3-MI.whilelinks:hover { }
|
137 |
/*
|
515 |
.nopn div.next-mjp { display:none; }
|
516 |
.nostop div.stop-mjp { display:none; }
|
517 |
.notitle div.player-track-title { display:none; }
|
|
|
518 |
div.wrap-mjp.noplayer { display:none; }
|
519 |
|
520 |
+
.novol div.mjp-volwrap { display:none; }
|
521 |
+
.novol div.bars_holder,
|
522 |
+
.novol div.statusMI { left:0px; right:0px; }
|
523 |
+
.novol span.vol_mp3t,
|
524 |
+
.novol span.vol_mp3j { display:none; }
|
525 |
+
|
526 |
+
.fullbars div.bars_holder { left:0px; right:0px; height:auto; top:0px; bottom:41px; }
|
527 |
.fullbars div.jp-total-time { bottom:44px; text-align:right; z-index:90; }
|
528 |
.fullbars div.jp-play-time { right:95px; bottom:44px; text-align:right; z-index:90; }
|
529 |
.fullbars div.statusMI { right:12px; left:auto; bottom:42px; padding:2px 0 2px 0; width:80px; height:auto; background:none; z-index:90; border:none; }
|
545 |
div.bigger4 .indi_mp3j, div.bigger4 .Smp3-finding, div.bigger4 .mp3-gtint, div.bigger4 .Smp3-tint,
|
546 |
div.bigger5 .indi_mp3j, div.bigger5 .Smp3-finding, div.bigger5 .mp3-gtint, div.bigger5 .Smp3-tint { font-size:70% !important; }
|
547 |
|
548 |
+
.nocase .innerx { display:none; }
|
549 |
+
.nocase .innertab,
|
550 |
+
.nocase .statusMI { border-bottom:0; bottom:42px; }
|
551 |
+
.nocase .transport-MI { right:0; }
|
552 |
+
.nocase .buttons-wrap-mjp { left:0; }
|
553 |
+
.nocase .transport-MI div,
|
554 |
+
.nocase .buttons-wrap-mjp div { -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
|
555 |
+
.nocase .mjp-volwrap { bottom:42px; border:0; }
|
556 |
+
|
557 |
+
.nobars .bars_holder,
|
558 |
+
.nobars .statusMI { display:none; }
|
559 |
|
560 |
/* ===== ===== */
|
561 |
div.mp3j-dlframe,
|
css/text.css
CHANGED
@@ -498,9 +498,13 @@ ul.gill-mjp a { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
|
|
498 |
.nopn div.next-mjp { display:none; }
|
499 |
.nostop div.stop-mjp { display:none; }
|
500 |
.notitle div.player-track-title { display:none; }
|
501 |
-
|
502 |
div.wrap-mjp.noplayer { display:none; }
|
503 |
|
|
|
|
|
|
|
|
|
|
|
504 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; top:0px; background:none; }
|
505 |
.fullbars div.interface-mjp { padding:0px 0 39px 0; }
|
506 |
.fullbars div.innertab { bottom:39px; }
|
@@ -518,7 +522,7 @@ div.bigger3 .indi_mp3j, div.bigger3 .Smp3-finding, div.bigger3 .mp3-gtint, div.b
|
|
518 |
div.bigger4 .indi_mp3j, div.bigger4 .Smp3-finding, div.bigger4 .mp3-gtint, div.bigger4 .Smp3-tint,
|
519 |
div.bigger5 .indi_mp3j, div.bigger5 .Smp3-finding, div.bigger5 .mp3-gtint, div.bigger5 .Smp3-tint { font-size:70% !important; }
|
520 |
|
521 |
-
|
522 |
|
523 |
|
524 |
/* ===== ===== */
|
498 |
.nopn div.next-mjp { display:none; }
|
499 |
.nostop div.stop-mjp { display:none; }
|
500 |
.notitle div.player-track-title { display:none; }
|
|
|
501 |
div.wrap-mjp.noplayer { display:none; }
|
502 |
|
503 |
+
.novol div.mjp-volwrap { display:none; }
|
504 |
+
.novol div.bars_holder { left:0px; right:0px; }
|
505 |
+
.novol span.vol_mp3t,
|
506 |
+
.novol span.vol_mp3j { display:none; }
|
507 |
+
|
508 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; top:0px; background:none; }
|
509 |
.fullbars div.interface-mjp { padding:0px 0 39px 0; }
|
510 |
.fullbars div.innertab { bottom:39px; }
|
522 |
div.bigger4 .indi_mp3j, div.bigger4 .Smp3-finding, div.bigger4 .mp3-gtint, div.bigger4 .Smp3-tint,
|
523 |
div.bigger5 .indi_mp3j, div.bigger5 .Smp3-finding, div.bigger5 .mp3-gtint, div.bigger5 .Smp3-tint { font-size:70% !important; }
|
524 |
|
525 |
+
.nobars .bars_holder { display:none; }
|
526 |
|
527 |
|
528 |
/* ===== ===== */
|
css/v1-skins/v1-dark.css
CHANGED
@@ -191,15 +191,6 @@ ul.gill-mjp a { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
|
|
191 |
.ui-state-default,
|
192 |
.ui-widget-content .ui-state-default { outline:none; border:0px; }
|
193 |
|
194 |
-
/* ===== user style param ===== */
|
195 |
-
.nolistbutton div.playlist-toggle-MI { visibility:hidden; }
|
196 |
-
.nopopoutbutton div.mp3j-popout-MI { display:none; }
|
197 |
-
.nopn div.prev-mjp { display:none; }
|
198 |
-
.nopn div.next-mjp { display:none; }
|
199 |
-
.nostop div.stop-mjp { display:none; }
|
200 |
-
.notitle div.player-track-title { display:none; }
|
201 |
-
.novol div.mjp-volwrap { display:none; }
|
202 |
-
div.wrap-mjp.noplayer { display:none; }
|
203 |
|
204 |
/* ===== ===== */
|
205 |
div.mp3j-dlframe,
|
@@ -851,4 +842,20 @@ div.mp3j-finfo {
|
|
851 |
.fullbars div.MIsliderVolume .ui-state-active, .fullbars div.MIsliderVolume .ui-widget-content .ui-state-active { background:transparent url('images/vol-handle.png') no-repeat -21px 0px; outline:none; }
|
852 |
|
853 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
854 |
|
191 |
.ui-state-default,
|
192 |
.ui-widget-content .ui-state-default { outline:none; border:0px; }
|
193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
195 |
/* ===== ===== */
|
196 |
div.mp3j-dlframe,
|
842 |
.fullbars div.MIsliderVolume .ui-state-active, .fullbars div.MIsliderVolume .ui-widget-content .ui-state-active { background:transparent url('images/vol-handle.png') no-repeat -21px 0px; outline:none; }
|
843 |
|
844 |
|
845 |
+
/* ===== user style param ===== */
|
846 |
+
.nolistbutton div.playlist-toggle-MI { visibility:hidden; }
|
847 |
+
.nopopoutbutton div.mp3j-popout-MI { display:none; }
|
848 |
+
.nopn div.prev-mjp { display:none; }
|
849 |
+
.nopn div.next-mjp { display:none; }
|
850 |
+
.nostop div.stop-mjp { display:none; }
|
851 |
+
.notitle div.player-track-title { display:none; }
|
852 |
+
div.wrap-mjp.noplayer { display:none; }
|
853 |
+
|
854 |
+
.novol div.mjp-volwrap { display:none; }
|
855 |
+
.novol div.bars_holder { left:0px; right:0px; }
|
856 |
+
.novol span.vol_mp3t,
|
857 |
+
.novol span.vol_mp3j { display:none; }
|
858 |
+
|
859 |
+
.nobars .bars_holder { display:none; }
|
860 |
+
|
861 |
|
css/v1-skins/v1-silver.css
CHANGED
@@ -190,15 +190,6 @@ ul.gill-mjp a { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
|
|
190 |
.ui-state-default,
|
191 |
.ui-widget-content .ui-state-default { outline:none; border:0px; }
|
192 |
|
193 |
-
/* ===== user style param ===== */
|
194 |
-
.nolistbutton div.playlist-toggle-MI { visibility:hidden; }
|
195 |
-
.nopopoutbutton div.mp3j-popout-MI { display:none; }
|
196 |
-
.nopn div.prev-mjp { display:none; }
|
197 |
-
.nopn div.next-mjp { display:none; }
|
198 |
-
.nostop div.stop-mjp { display:none; }
|
199 |
-
.notitle div.player-track-title { display:none; }
|
200 |
-
.novol div.mjp-volwrap { display:none; }
|
201 |
-
div.wrap-mjp.noplayer { display:none; }
|
202 |
|
203 |
/* ===== ===== */
|
204 |
div.mp3j-dlframe,
|
@@ -853,5 +844,18 @@ ul.ul-mjp.mp3j_widgetmods li a { font-size:10px !important; line-height:14px !im
|
|
853 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; bottom:38px; top:0px; background-image: url('images/t60w.png'); background-repeat: repeat-x; background-position: left bottom; background-color:transparent; border:0; }
|
854 |
|
855 |
|
856 |
-
|
857 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
.ui-state-default,
|
191 |
.ui-widget-content .ui-state-default { outline:none; border:0px; }
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
|
194 |
/* ===== ===== */
|
195 |
div.mp3j-dlframe,
|
844 |
.fullbars div.bars_holder { left:0px; right:0px; height:auto; bottom:38px; top:0px; background-image: url('images/t60w.png'); background-repeat: repeat-x; background-position: left bottom; background-color:transparent; border:0; }
|
845 |
|
846 |
|
847 |
+
/* ===== user style param ===== */
|
848 |
+
.nolistbutton div.playlist-toggle-MI { visibility:hidden; }
|
849 |
+
.nopopoutbutton div.mp3j-popout-MI { display:none; }
|
850 |
+
.nopn div.prev-mjp { display:none; }
|
851 |
+
.nopn div.next-mjp { display:none; }
|
852 |
+
.nostop div.stop-mjp { display:none; }
|
853 |
+
.notitle div.player-track-title { display:none; }
|
854 |
+
div.wrap-mjp.noplayer { display:none; }
|
855 |
+
|
856 |
+
.novol div.mjp-volwrap { display:none; }
|
857 |
+
.novol div.bars_holder { left:0px; right:0px; }
|
858 |
+
.novol span.vol_mp3t,
|
859 |
+
.novol span.vol_mp3j { display:none; }
|
860 |
+
|
861 |
+
.nobars .bars_holder { display:none; }
|
frontend.php
CHANGED
@@ -58,7 +58,6 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
58 |
$allowed_widget_B = $this->has_allowed_widget( "mp3mi-widget" );
|
59 |
|
60 |
//Flagged in template
|
61 |
-
//if ( $this->scriptsflag == "true" && $this->theSettings['disable_template_tag'] == "false" ) {
|
62 |
if ( $this->scriptsflag == "true" ) {
|
63 |
$scripts = true;
|
64 |
}
|
@@ -80,6 +79,10 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
80 |
$this->add_Scripts( $style );
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
83 |
return;
|
84 |
}
|
85 |
|
@@ -163,7 +166,8 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
163 |
|
164 |
if ( $ids !== '' ) //came via [audio] shortcode, has 1 attachment
|
165 |
{
|
166 |
-
|
|
|
167 |
if ( ! $TRACKS ) {
|
168 |
return false;
|
169 |
}
|
@@ -194,7 +198,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
194 |
$playername = $this->F_listname;
|
195 |
//TODO: track numbering issue
|
196 |
$trackNumber = ( $this->theSettings['add_track_numbering'] == "true" ) ? $track . '. ' : '';
|
197 |
-
$TRACKS = $this->F_LISTS[$playername];
|
198 |
}
|
199 |
else // Has arbitrary file/uri
|
200 |
{
|
@@ -251,7 +255,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
251 |
'counterpart' => '',
|
252 |
'counterparts' => '',
|
253 |
'ids' => '',
|
254 |
-
'fontsize' => $this->theSettings['font_size_mp3t']
|
255 |
), $atts ) );
|
256 |
|
257 |
//Alias some params
|
@@ -363,7 +367,7 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
363 |
'counterpart' => '',
|
364 |
'counterparts' => '',
|
365 |
'ids' => '',
|
366 |
-
'fontsize' => $this->theSettings['font_size_mp3j']
|
367 |
), $atts));
|
368 |
|
369 |
if ( $track == '' && $tracks != '' ) {
|
@@ -457,11 +461,23 @@ if ( !class_exists("MP3j_Front") && class_exists("MP3j_Main") ) { class MP3j_Fro
|
|
457 |
//###############
|
458 |
function getPostAttachedAudio ( $postID )
|
459 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
$args = array(
|
461 |
-
'post_type'
|
462 |
-
'numberposts'
|
463 |
-
'post_status'
|
464 |
-
'post_parent'
|
|
|
|
|
465 |
);
|
466 |
|
467 |
$attachments = get_posts( $args );
|
58 |
$allowed_widget_B = $this->has_allowed_widget( "mp3mi-widget" );
|
59 |
|
60 |
//Flagged in template
|
|
|
61 |
if ( $this->scriptsflag == "true" ) {
|
62 |
$scripts = true;
|
63 |
}
|
79 |
$this->add_Scripts( $style );
|
80 |
}
|
81 |
|
82 |
+
// Always define js player info and playlist arrays here as some
|
83 |
+
// themes cause issues if it's left until shortcode is processed.
|
84 |
+
$this->defineJSvars();
|
85 |
+
|
86 |
return;
|
87 |
}
|
88 |
|
166 |
|
167 |
if ( $ids !== '' ) //came via [audio] shortcode, has 1 attachment
|
168 |
{
|
169 |
+
//$TRACKS = $this->IDsToTracks( $ids, 'false' );
|
170 |
+
$TRACKS = $this->IDsToTracks( $ids, 'true' );
|
171 |
if ( ! $TRACKS ) {
|
172 |
return false;
|
173 |
}
|
198 |
$playername = $this->F_listname;
|
199 |
//TODO: track numbering issue
|
200 |
$trackNumber = ( $this->theSettings['add_track_numbering'] == "true" ) ? $track . '. ' : '';
|
201 |
+
$TRACKS = $this->F_LISTS[ $playername ];
|
202 |
}
|
203 |
else // Has arbitrary file/uri
|
204 |
{
|
255 |
'counterpart' => '',
|
256 |
'counterparts' => '',
|
257 |
'ids' => '',
|
258 |
+
'fontsize' => $this->theSettings['font_size_mp3t'],
|
259 |
), $atts ) );
|
260 |
|
261 |
//Alias some params
|
367 |
'counterpart' => '',
|
368 |
'counterparts' => '',
|
369 |
'ids' => '',
|
370 |
+
'fontsize' => $this->theSettings['font_size_mp3j'],
|
371 |
), $atts));
|
372 |
|
373 |
if ( $track == '' && $tracks != '' ) {
|
461 |
//###############
|
462 |
function getPostAttachedAudio ( $postID )
|
463 |
{
|
464 |
+
$O = $this->theSettings;
|
465 |
+
|
466 |
+
if ( 'title' === $O['library_sortcol'] ) {
|
467 |
+
$sortcol = 'title';
|
468 |
+
} else if ( 'date' === $O['library_sortcol'] ) {
|
469 |
+
$sortcol = 'post_date';
|
470 |
+
} else {
|
471 |
+
$sortcol = 'menu_order';
|
472 |
+
}
|
473 |
+
|
474 |
$args = array(
|
475 |
+
'post_type' => 'attachment',
|
476 |
+
'numberposts' => -1,
|
477 |
+
'post_status' => 'any',
|
478 |
+
'post_parent' => $postID,
|
479 |
+
'orderby' => $sortcol,
|
480 |
+
'order' => $O['library_direction']
|
481 |
);
|
482 |
|
483 |
$attachments = get_posts( $args );
|
js/{mp3-jplayer-2.3.1.js → mp3-jplayer-2.3.2.js}
RENAMED
@@ -49,6 +49,7 @@ var MP3_JPLAYER = {
|
|
49 |
exData: false,
|
50 |
exThresh: 2,
|
51 |
showErrors: false,
|
|
|
52 |
|
53 |
vars: {
|
54 |
play_f: true,
|
@@ -119,7 +120,7 @@ var MP3_JPLAYER = {
|
|
119 |
} else {
|
120 |
that.setAudio( track );
|
121 |
that.playit();
|
122 |
-
jQuery(that.jpID).jPlayer("volume", vol/100 ); //Set to player vol
|
123 |
if ( track === false ) { //silence
|
124 |
that.clearit();
|
125 |
}
|
@@ -373,7 +374,7 @@ var MP3_JPLAYER = {
|
|
373 |
},
|
374 |
slide: function (event, ui) {
|
375 |
if (j === that.tID) {
|
376 |
-
jQuery(that.jpID).jPlayer("volume", ui.value/100);
|
377 |
}
|
378 |
if ( ui.value === 0 ) {
|
379 |
jQuery('#innerExt1_' + j).addClass('vol-muted');
|
@@ -463,7 +464,7 @@ var MP3_JPLAYER = {
|
|
463 |
p.vol = 0;
|
464 |
} else {
|
465 |
if ( j === that.tID ) {
|
466 |
-
jQuery( that.jpID ).jPlayer( 'volume', that.mutes[j]/100 );
|
467 |
}
|
468 |
jQuery( '#innerExt1_' + j ).removeClass( 'vol-muted' );
|
469 |
jQuery( that.eID.vol + j ).slider( 'value', that.mutes[j] );
|
@@ -656,7 +657,7 @@ var MP3_JPLAYER = {
|
|
656 |
this.jperrorIDs[ j ] = false;
|
657 |
this.setAudio( p.list[track] );
|
658 |
this.playit();
|
659 |
-
jQuery(this.jpID).jPlayer("volume", p.vol/100 ); //Reset to correct vol
|
660 |
}
|
661 |
|
662 |
exData.mp3 = p.list[track].mp3;
|
49 |
exData: false,
|
50 |
exThresh: 2,
|
51 |
showErrors: false,
|
52 |
+
factors: { vol: 1 },
|
53 |
|
54 |
vars: {
|
55 |
play_f: true,
|
120 |
} else {
|
121 |
that.setAudio( track );
|
122 |
that.playit();
|
123 |
+
jQuery(that.jpID).jPlayer("volume", that.factors.vol * vol/100 ); //Set to player vol
|
124 |
if ( track === false ) { //silence
|
125 |
that.clearit();
|
126 |
}
|
374 |
},
|
375 |
slide: function (event, ui) {
|
376 |
if (j === that.tID) {
|
377 |
+
jQuery(that.jpID).jPlayer("volume", that.factors.vol * ui.value/100);
|
378 |
}
|
379 |
if ( ui.value === 0 ) {
|
380 |
jQuery('#innerExt1_' + j).addClass('vol-muted');
|
464 |
p.vol = 0;
|
465 |
} else {
|
466 |
if ( j === that.tID ) {
|
467 |
+
jQuery( that.jpID ).jPlayer( 'volume', that.factors.vol * that.mutes[j]/100 );
|
468 |
}
|
469 |
jQuery( '#innerExt1_' + j ).removeClass( 'vol-muted' );
|
470 |
jQuery( that.eID.vol + j ).slider( 'value', that.mutes[j] );
|
657 |
this.jperrorIDs[ j ] = false;
|
658 |
this.setAudio( p.list[track] );
|
659 |
this.playit();
|
660 |
+
jQuery(this.jpID).jPlayer("volume", this.factors.vol * p.vol/100 ); //Reset to correct vol
|
661 |
}
|
662 |
|
663 |
exData.mp3 = p.list[track].mp3;
|
main.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
if ( !class_exists("MP3j_Main") ) { class MP3j_Main {
|
3 |
|
4 |
// ---------------------- Update Me
|
5 |
-
var $version_of_plugin = "2.3.
|
6 |
var $M_no = 0;
|
7 |
var $F_no = 0;
|
8 |
var $S_no = 0;
|
@@ -700,6 +700,12 @@ if ( !class_exists("MP3j_Main") ) { class MP3j_Main {
|
|
700 |
$track = $this->makeTrack( $Vs[$i] );
|
701 |
$keyParts = explode('.', $k, 2);
|
702 |
$track['caption'] = ( empty($keyParts[1]) ) ? '' : $keyParts[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
703 |
$TRACKS[] = $track;
|
704 |
}
|
705 |
$TRACKS = $this->addFEEDtracks( $TRACKS );
|
@@ -1176,7 +1182,7 @@ if ( !class_exists("MP3j_Main") ) { class MP3j_Main {
|
|
1176 |
|
1177 |
//jplayer and plugin js
|
1178 |
wp_enqueue_script( 'jplayer271', $this->PluginFolder . '/js/jquery.jplayer.min.2.7.1.js', false, '2.7.1' );
|
1179 |
-
wp_enqueue_script( 'mp3-jplayer', $this->PluginFolder . '/js/mp3-jplayer-2.3.
|
1180 |
|
1181 |
$skins = $this->SKINS;
|
1182 |
if ( isset( $skins[ $theme ]['url'] ) ) {
|
2 |
if ( !class_exists("MP3j_Main") ) { class MP3j_Main {
|
3 |
|
4 |
// ---------------------- Update Me
|
5 |
+
var $version_of_plugin = "2.3.2";
|
6 |
var $M_no = 0;
|
7 |
var $F_no = 0;
|
8 |
var $S_no = 0;
|
700 |
$track = $this->makeTrack( $Vs[$i] );
|
701 |
$keyParts = explode('.', $k, 2);
|
702 |
$track['caption'] = ( empty($keyParts[1]) ) ? '' : $keyParts[1];
|
703 |
+
|
704 |
+
//if ( $images === 'true' ) {
|
705 |
+
$track['image'] = 'true'; //no other way to specify images via custom fields so always try grab them.
|
706 |
+
//}
|
707 |
+
|
708 |
+
|
709 |
$TRACKS[] = $track;
|
710 |
}
|
711 |
$TRACKS = $this->addFEEDtracks( $TRACKS );
|
1182 |
|
1183 |
//jplayer and plugin js
|
1184 |
wp_enqueue_script( 'jplayer271', $this->PluginFolder . '/js/jquery.jplayer.min.2.7.1.js', false, '2.7.1' );
|
1185 |
+
wp_enqueue_script( 'mp3-jplayer', $this->PluginFolder . '/js/mp3-jplayer-2.3.2.js', false, '2.3.2' );
|
1186 |
|
1187 |
$skins = $this->SKINS;
|
1188 |
if ( isset( $skins[ $theme ]['url'] ) ) {
|
mp3jplayer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: MP3-jPlayer
|
4 |
Plugin URI: http://mp3-jplayer.com
|
5 |
Description: Easy, Flexible Audio for WordPress.
|
6 |
-
Version: 2.3.
|
7 |
Author: Simon Ward
|
8 |
Author URI: http://www.sjward.org
|
9 |
License: GPL2
|
3 |
Plugin Name: MP3-jPlayer
|
4 |
Plugin URI: http://mp3-jplayer.com
|
5 |
Description: Easy, Flexible Audio for WordPress.
|
6 |
+
Version: 2.3.2
|
7 |
Author: Simon Ward
|
8 |
Author URI: http://www.sjward.org
|
9 |
License: GPL2
|
popout.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
<script type='text/javascript' src='js/popout/slider.min.js'></script>
|
18 |
<script type='text/javascript' src='js/wp-backwards-compat/jquery.ui.touch-punch.min.js'></script>
|
19 |
<script type='text/javascript' src='js/jquery.jplayer.min.2.7.1.js'></script>
|
20 |
-
<script type='text/javascript' src='js/mp3-jplayer-2.3.
|
21 |
|
22 |
<script type='text/javascript'>
|
23 |
function loadcss(filename) {
|
17 |
<script type='text/javascript' src='js/popout/slider.min.js'></script>
|
18 |
<script type='text/javascript' src='js/wp-backwards-compat/jquery.ui.touch-punch.min.js'></script>
|
19 |
<script type='text/javascript' src='js/jquery.jplayer.min.2.7.1.js'></script>
|
20 |
+
<script type='text/javascript' src='js/mp3-jplayer-2.3.2.js'></script>
|
21 |
|
22 |
<script type='text/javascript'>
|
23 |
function loadcss(filename) {
|
readme.txt
CHANGED
@@ -7,7 +7,7 @@ Tags: audio, audio player, audio playlist, mp3 player, music player, media, mobi
|
|
7 |
License: GPLv2 or later
|
8 |
Requires at least: 2.9
|
9 |
Tested up to: 4.1
|
10 |
-
Stable tag: 2.3.
|
11 |
|
12 |
Easy, Flexible Audio for WordPress.
|
13 |
|
@@ -15,15 +15,15 @@ Easy, Flexible Audio for WordPress.
|
|
15 |
|
16 |
= Mobile friendly HTML5 audio players and audio playlist players =
|
17 |
|
18 |
-
*
|
19 |
-
*
|
20 |
-
*
|
21 |
* Works with all built-in WordPress options for adding your music, including the recently introduced *Create Audio Playlist* drag & drop interface.
|
22 |
|
23 |
|
24 |
-
[
|
25 |
[How to Add Your Players](http://mp3-jplayer.com/adding-players/) <br>
|
26 |
-
[Help & Docs](http://mp3-jplayer.com/help-docs/)
|
27 |
|
28 |
|
29 |
MP3-jPlayer will expand WP's native shortcodes with new functions and options, giving you a lot of choice in how to set up your music playlists. Here's a few of the features:
|
@@ -45,7 +45,6 @@ MP3-jPlayer will expand WP's native shortcodes with new functions and options, g
|
|
45 |
* Multisite compatible.
|
46 |
|
47 |
|
48 |
-
|
49 |
See [the plugin's home page](http://mp3-jplayer.com) for info, demos, documentation, and help articles.
|
50 |
|
51 |
|
@@ -105,12 +104,19 @@ Either on the [forum at Wordpress](https://wordpress.org/support/plugin/mp3-jpla
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
= 2.3.1 =
|
109 |
* Added developer methods for hooking into the player's Javascript events, these also add support for some of the up-coming extensions.
|
110 |
* Corrected the help message admin-side that shows on the widget when it's set to an invalid path.
|
111 |
|
112 |
= 2.3 =
|
113 |
-
* Fixed
|
114 |
* Added support for custom js (for skin extensions) on the player Design page.
|
115 |
* Renamed the MP3-jPlayer plugin class instance to MP3JP.
|
116 |
|
7 |
License: GPLv2 or later
|
8 |
Requires at least: 2.9
|
9 |
Tested up to: 4.1
|
10 |
+
Stable tag: 2.3.2
|
11 |
|
12 |
Easy, Flexible Audio for WordPress.
|
13 |
|
15 |
|
16 |
= Mobile friendly HTML5 audio players and audio playlist players =
|
17 |
|
18 |
+
* Style and colour options for your audio players.
|
19 |
+
* Flexible Music playlist players and single-file audio players.
|
20 |
+
* Popout players and popout links, audio widget players, and smooth audio downloads.
|
21 |
* Works with all built-in WordPress options for adding your music, including the recently introduced *Create Audio Playlist* drag & drop interface.
|
22 |
|
23 |
|
24 |
+
[Basic Demo - Showing the included player skins](http://mp3-jplayer.com/player-skins/) <br>
|
25 |
[How to Add Your Players](http://mp3-jplayer.com/adding-players/) <br>
|
26 |
+
[Help & Docs main page](http://mp3-jplayer.com/help-docs/)
|
27 |
|
28 |
|
29 |
MP3-jPlayer will expand WP's native shortcodes with new functions and options, giving you a lot of choice in how to set up your music playlists. Here's a few of the features:
|
45 |
* Multisite compatible.
|
46 |
|
47 |
|
|
|
48 |
See [the plugin's home page](http://mp3-jplayer.com) for info, demos, documentation, and help articles.
|
49 |
|
50 |
|
104 |
|
105 |
== Changelog ==
|
106 |
|
107 |
+
= 2.3.2 =
|
108 |
+
* Fixed the pick-up of titles and images when playing attached audio using the playlist widget.
|
109 |
+
* Added ordering options for attached audio. Any audio attached to a page or post will now be ordered according to your setting on the player's 'Settings' page. You can order them by title or upload date, for any other setting they'll default to WP's menu order. ASC/DESC controls the direction.
|
110 |
+
* Improved the 'novol' class for hiding volume controls, and added new modifier names 'nobars', 'nocase' which let you hide the bars, and the button bar background on playlist players.
|
111 |
+
* Improved js robustness for increased compatibility across different themes/setups.
|
112 |
+
* Added new developer methods - provide a volume scale factor (MP3_JPLAYER.factors.vol), and provide the available image data to callbacks regardless of the player or list type.
|
113 |
+
|
114 |
= 2.3.1 =
|
115 |
* Added developer methods for hooking into the player's Javascript events, these also add support for some of the up-coming extensions.
|
116 |
* Corrected the help message admin-side that shows on the widget when it's set to an invalid path.
|
117 |
|
118 |
= 2.3 =
|
119 |
+
* Fixed an issue on index/cat/search type pages that could incorrectly assign the playlists or break players in some scenarios.
|
120 |
* Added support for custom js (for skin extensions) on the player Design page.
|
121 |
* Renamed the MP3-jPlayer plugin class instance to MP3JP.
|
122 |
|
widget-ui.php
CHANGED
@@ -51,10 +51,6 @@ if ( class_exists("WP_Widget") ) {
|
|
51 |
else if ( $instance['widget_mode'] == "2" )
|
52 |
{
|
53 |
$SHORTCODE .= ' tracks="' . $instance['arb_playlist'] . '"';
|
54 |
-
//$SHORTCODE .= ' captions="' . $instance['captions'] . '"';
|
55 |
-
//$SHORTCODE .= ' images="' . $instance['images'] . '"';
|
56 |
-
//$SHORTCODE .= ' imglinks="' . $instance['image_urls'] . '"';
|
57 |
-
|
58 |
}
|
59 |
else if ( $instance['widget_mode'] == "3" )
|
60 |
{
|
@@ -77,22 +73,19 @@ if ( class_exists("WP_Widget") ) {
|
|
77 |
if ( !is_singular() ) {
|
78 |
return;
|
79 |
}
|
80 |
-
|
81 |
global $post;
|
82 |
$attachments = $MP3JP->getPostAttachedAudio( $post->ID );
|
|
|
83 |
|
84 |
-
$urls = '';
|
85 |
if ( $attachments !== false ) {
|
86 |
foreach ( $attachments as $a ) {
|
87 |
-
$
|
88 |
-
$i++;
|
89 |
}
|
90 |
}
|
91 |
else {
|
92 |
return;
|
93 |
}
|
94 |
-
$SHORTCODE .= ' tracks="' . $
|
95 |
-
//$SHORTCODE .= ' images="true"';
|
96 |
}
|
97 |
|
98 |
//params
|
51 |
else if ( $instance['widget_mode'] == "2" )
|
52 |
{
|
53 |
$SHORTCODE .= ' tracks="' . $instance['arb_playlist'] . '"';
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
else if ( $instance['widget_mode'] == "3" )
|
56 |
{
|
73 |
if ( !is_singular() ) {
|
74 |
return;
|
75 |
}
|
|
|
76 |
global $post;
|
77 |
$attachments = $MP3JP->getPostAttachedAudio( $post->ID );
|
78 |
+
$filenames = '';
|
79 |
|
|
|
80 |
if ( $attachments !== false ) {
|
81 |
foreach ( $attachments as $a ) {
|
82 |
+
$filenames .= substr( strrchr( $a->guid, "/" ), 1 ) . ',';
|
|
|
83 |
}
|
84 |
}
|
85 |
else {
|
86 |
return;
|
87 |
}
|
88 |
+
$SHORTCODE .= ' tracks="' . $filenames . '"';
|
|
|
89 |
}
|
90 |
|
91 |
//params
|