/*
SoundManager 2: In-page MP3 player example
------------------------------------------
Clicks on links to MP3s are intercepted via JS, calls are
made to SoundManager to load/play sounds. CSS classes are
appended to the link, which are used to highlight the
current play state and so on.
Class names are applied in addition to "sm2_link" base.
Default:
sm2_link
Additional states:
sm2_playing
sm2_paused
eg.
some.mp3
some.mp3
Note you don't require ul.graphic / ul.flat etc. for your use
if only using one style on a page. You can just use .sm2_link{}
and so on, but isolate the CSS you want.
Side note: Would do multiple class definitions eg.
a.sm2_default.sm2_playing{}
.. except IE 6 has a parsing bug which may break behaviour,
applying sm2_playing {} even when the class is set to sm2_default.
If you want to make your own UI from scratch, here is the base:
Default + hover state, "click to play":
a.sm2_link {}
a.sm2_link:hover {}
Playing + hover state, "click to pause":
a.sm2_playing {}
a.sm2_playing:hover {}
Paused + hover state, "click to resume":
a.sm2_paused {}
a.sm2_paused:hover {}
*/
/* two different list types */
ul.flat {
list-style-type:none;
padding-left:0px;
}
ul.flat li,
ul.graphic li {
padding-bottom:1px;
}
ul.flat li a {
display:inline-block;
padding:2px 4px 2px 4px;
}
ul.graphic {
list-style-type:none;
padding-left:0px;
margin-left:0px;
}
/* background-image-based CSS3 example */
ul.graphic {
list-style-type:none;
margin:0px;
padding:0px;
}
ul.graphic li {
margin-bottom:2px;
}
ul.graphic li a,
ul.graphic li a.sm2_link {
/* assume all items will be sounds rather than wait for onload etc. in this example.. may differ for your uses. */
display:inline-block;
padding-left:22px;
min-height:16px;
vertical-align: middle;
background-color:#778899;
-moz-border-radius:3px;
-webkit-border-radius:3px;
border-radius:3px;
padding:3px 3px 3px 25px;
min-width:19em;
_width:19em; /* IE 6 */
text-decoration:none;
font-weight:normal;
color:#f6f9ff;
}
ul.graphic li a.sm2_link {
/* safari 3.1+ fun (or, proprietary crap. TBD.) */
-webkit-transition-property: hover;
-webkit-transition: background-color 0.15s linear;
-moz-transition: background-color 0.15s linear 0s; /* firefox 4 */
-o-transition-property: background-color; /* opera 10.5 */
-o-transition-duration: 0.15s;
}
ul.graphic li a, /* use a.sm2_link {} if you want play icons showing only if SM2 is supported */
ul.graphic li a.sm2_paused:hover,
ul.graphic li a.sm2_link:hover {
background-image:url(../image/icon_play.png);
background-position:3px 50%;
background-repeat:no-repeat;
_background-image:url(../image/icon_play.gif); /* IE 6 */
}
ul.graphic li a.sm2_link:hover {
/* default hover color, if you'd like.. */
background-color:#445566;
color:#fff;
}
ul.graphic li a.sm2_paused {
background-color:#ccc;
}
ul.graphic li a.sm2_paused:hover {
background:#999 url(../image/icon_play.png) no-repeat 3px 50%;
_background-image:url(../image/icon_play.gif);
}
ul.graphic li a.sm2_playing,
ul.graphic li a.sm2_playing:hover {
background:#334455 url(../image/icon_pause.png) no-repeat 3px 50%;
_background-image:url(../image/icon_pause.gif);
text-decoration:none;
}
/* hide button while playing?
ul.graphic li a.sm2_playing {
background-image:none;
}
*/
body #sm2-container object,
body #sm2-container embed {
/*
flashblock handling: hide SWF off-screen by default (until blocked timeout case.)
include body prefix to ensure override of flashblock.css.
*/
left:-9999em;
top:-9999em;
}
/* flat CSS example */
ul.flat a.sm2_link {
/* default state: "a playable link" */
border-left:6px solid #999;
padding-left:4px;
padding-right:4px;
}
ul.flat a.sm2_link:hover {
/* default (inactive) hover state */
border-left-color:#333;
}
ul.flat a.sm2_playing {
/* "now playing" */
border-left-color:#6666ff;
background-color:#000;
color:#fff;
text-decoration:none;
}
ul.flat a.sm2_playing:hover {
/* "clicking will now pause" */
border-left-color:#cc3333;
}
ul.flat a.sm2_paused {
/* "paused state" */
background-color:#666;
color:#fff;
text-decoration:none;
}
ul.flat a.sm2_paused:hover {
/* "clicking will resume" */
border-left-color:#33cc33;
}