accept-range stuff fails on IIS5.1

General discussion about netjukebox
Superlexx
User
Posts: 45
Joined: Thu Feb 10, 2005 8:51 pm

accept-range stuff fails on IIS5.1

Post by Superlexx »

hi, with the IIS 5.1 running on winXP here, range requests fail (the playback starts from the beginning) while they succeed on Apache2. Any quick fix for this? (otherwise I'd modify stream.php to use Apache2 for direct streaming and downloads)

Btw, I've got the select-bitrate-per-tooltip thing running :D (for single tracks only yet). Tooltip code is like this:

Code: Select all

//  +---------------------------------------------------------------------------+
//  | onMouseOverTrack Stream                                                   |
//  +---------------------------------------------------------------------------+
function onMouseOverTrackStream($track_id)
{
global $cfg;
$result  = 'onmouseover="return overlib(\'';
$result .= htmlentities('<a href="stream.php?command=playlist&track_id=' . $track_id . '&stream_cfg=-1">direct</a><br />');
for ($i = 0; $i < sizeof($cfg['stream_name']); $i++)
{
	$result .= htmlentities('<a href="stream.php?command=playlist&track_id=' . $track_id . '&stream_cfg=' . $i . '">' . $cfg['stream_name'][$i] . '</a><br />');
}
$result .= '\', STICKY, CAPTION, \'Stream:\');" onmouseout="return nd();"';
return $result;
}
Some stream.php modifications are needed too.

And, for your knowledge: foobar 0.8.3 fails to stream WMA (lossless), WMP and WinAmp5 do better job here.
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

hi, with the IIS 5.1 running on winXP here, range requests fail (the playback starts from the beginning) while they succeed on Apache2. Any quick fix for this? (otherwise I'd modify stream.php to use Apache2 for direct streaming and downloads)
Do you have these problems with all files below treshold or only with mp3 files below treshold?
Btw, I've got the select-bitrate-per-tooltip thing running (for single tracks only yet). Tooltip code is like this:
I had streaming running with tooltip selection on all items.
But it made the generated pages way to large.

In netjukebox 3.69 I have made another approach.
Every user with streaming support can change the stream profile (where you previously logged out)
Superlexx
User
Posts: 45
Joined: Thu Feb 10, 2005 8:51 pm

Post by Superlexx »

I only have mp3 and wma lossless here, the last one freezes winamp after moving the slider and the WMP10 doesn't allow sliding forward with streamed WMAL at all.

Hm, a view3 page with 31 songs and 6 streaming options is about 75kB of HTML (with lightweight-modded browse.php (XHTML, less tables, more CSS)) which compresses with zip (normal) to 4,5kB.
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Superlexx wrote:I only have mp3 and wma lossless here, the last one freezes winamp after moving the slider and the WMP10 doesn't allow sliding forward with streamed WMAL at all.
Maybe the Winamp WMA input plugin is not working correctly.
Try to uninstall the Winamp WMA plugin and add the WMA extension to Nullsoft DirectShow Decoder.

Are the WMA losless files DRM Protected?
Superlexx wrote:Hm, a view3 page with 31 songs and 6 streaming options is about 75kB of HTML (with lightweight-modded browse.php (XHTML, less tables, more CSS)) which compresses with zip (normal) to 4,5kB.
Can you give me an example of (XHTML, less tables, more CSS) generated page?
Don't you like my approach with use based stream profile selection?

It is also possible to use both methods on netjukebox at the same time.
Use the user preset when you direct click on a stream.
Or click on the tooltip for another stream profile.

Or even better, remember the last stream profile from the tooltip.
And stream the last profile when direct click on stream.
Superlexx
User
Posts: 45
Joined: Thu Feb 10, 2005 8:51 pm

Post by Superlexx »

I have no DRM in my files, I'll try switching winamp to the decoder later

Well, selecting the profile first is more clicking than necessary, especially when trying to stream in formats where you aren't sure whether they'll work (like ogg vorbis that doesn't play on the iTunes on my GF's iBook).

I am currently using the both streaming selection methods as you said.
No saving of the tooltip setting yet, it's a good idea though.

the generated view3 is shown below; when using the PHP compression filter (easy to enable), it's 4839 bytes.

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<title>netjukebox - the flexible media share</title>
	<meta name="robots" content="noindex, nofollow" />
	<meta name="author" content="Willem Bartels" />
	<link rel="shortcut icon" href="bitmap/icon32.ico" />
	<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
<script type="text/javascript">
	<!--
	var ol_bgcolor = "#030350";
	var ol_fgcolor = "#CAD2EC";
	var ol_delay = 0;
	var ol_width = 0;
	// -->
</script>
<script src="javascript/overlib.js" type="text/javascript"></script>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<!-- end header --><p class="path">
<a href="browse.php">Browse</a>
<img class="smlarw" src="bitmap/small_arrow.gif" alt="" /><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year">Elvis Presley</a>
<img class="smlarw" src="bitmap/small_arrow.gif" alt="" />Elvis- 30 #1 Hits
</p>

<table class="view3top">
<tr class="todd">
	<td rowspan="7"><a href="cover.php?command=inline&album_id=bg1x6m91pc"><img class="cover200" src="image.php?album_id=bg1x6m91pc&size=200" alt="" onmouseover="return overlib('View cover');" onmouseout="return nd();" /></a></td>
	<td><a href="httpq.php?command=PlaySelect&album_id=bg1x6m91pc" target="dummy"><img class="play" src="bitmap/small_play.gif" alt="" />&nbsp;Play album</a></td>	
</tr>
<tr class="teven">
	<td><a href="httpq.php?command=AddSelect&album_id=bg1x6m91pc" target="dummy"><img class="add" src="bitmap/small_add.gif" alt="" />&nbsp;Add album</a></td></tr>
<tr class="todd">
	<td><a href="stream.php?command=playlist&album_id=bg1x6m91pc"><img class="stream" src="bitmap/small_stream.gif" alt="" />&nbsp;Stream album</a></td></tr>
<tr class="teven">
	<td><a href="cover.php?command=download&album_id=bg1x6m91pc"><img class="pdf" src="bitmap/small_pdf.gif" alt="" />&nbsp;Download cover</a></td></tr>
<tr class="todd">
	<td><a href="ridirect.php?url=http%3A%2F%2Fwww.allmusic.com%2Fcg%2Famg.dll&P=amg&OPT1=1&SQL=Elvis%20Presley" target="_blank"><img class="inet" src="bitmap/small_internet.gif" alt="" />&nbsp;Elvis Presley</a></td></tr>
<tr class="teven">
	<td><a href="ridirect.php?url=http%3A%2F%2Fwww.allmusic.com%2Fcg%2Famg.dll&P=amg&OPT1=2&SQL=Elvis-%2030%20%231%20Hits" target="_blank"><img class="inet" src="bitmap/small_internet.gif" alt="" />&nbsp;Elvis- 30 #1 Hits</a></td></tr>
<tr class="todd">
	<td /></tr>
</table>
<table class="list">
<tr>
	<th />
	<th>Artist</th>
	<th>Title</th>
	<!-- optional featuring -->
	<th align="right">Time</th>
	<th />
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_18bcf9fa" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_18bcf9fa" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_18bcf9fa" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Heartbreak Hotel</a></td>
		<td align="right">2:10</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_18bcf9fa" onmouseover="return overlib('2.97 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_18bcf9fa&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_e6e3e1f7" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_e6e3e1f7" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_e6e3e1f7" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Don't Be Cruel</a></td>
		<td align="right">2:05</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_e6e3e1f7" onmouseover="return overlib('2.86 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e6e3e1f7&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_0e51ea61" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_0e51ea61" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_0e51ea61" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Hound Dog</a></td>
		<td align="right">2:16</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_0e51ea61" onmouseover="return overlib('3.11 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_0e51ea61&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_e0239c06" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_e0239c06" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_e0239c06" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Love Me Tender</a></td>
		<td align="right">2:45</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_e0239c06" onmouseover="return overlib('3.77 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_e0239c06&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_62834b49" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_62834b49" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_62834b49" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Too Much</a></td>
		<td align="right">2:36</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_62834b49" onmouseover="return overlib('3.58 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_62834b49&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_c53e7c99" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_c53e7c99" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_c53e7c99" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">All Shook Up</a></td>
		<td align="right">2:00</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_c53e7c99" onmouseover="return overlib('2.75 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c53e7c99&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_f32f2b9a" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_f32f2b9a" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_f32f2b9a" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">(Let Me Be Your) Teddy Bear</a></td>
		<td align="right">1:49</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_f32f2b9a" onmouseover="return overlib('2.50 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f32f2b9a&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_eacc5bbf" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_eacc5bbf" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_eacc5bbf" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Jailhouse Rock</a></td>
		<td align="right">2:37</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_eacc5bbf" onmouseover="return overlib('3.60 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eacc5bbf&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_f19afaf9" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_f19afaf9" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_f19afaf9" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Don't</a></td>
		<td align="right">2:51</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_f19afaf9" onmouseover="return overlib('3.92 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_f19afaf9&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_04eea809" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_04eea809" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_04eea809" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Hard Headed Woman</a></td>
		<td align="right">1:57</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_04eea809" onmouseover="return overlib('2.68 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_04eea809&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_1481b964" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_1481b964" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_1481b964" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">One Night</a></td>
		<td align="right">2:35</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_1481b964" onmouseover="return overlib('3.55 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_1481b964&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_d101efb7" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_d101efb7" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_d101efb7" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">(Now and Then There's) A Fool Such As I</a></td>
		<td align="right">2:42</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_d101efb7" onmouseover="return overlib('3.71 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_d101efb7&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_ddab6dc2" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_ddab6dc2" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_ddab6dc2" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">A Big Hunk O' Love</a></td>
		<td align="right">2:17</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_ddab6dc2" onmouseover="return overlib('3.14 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ddab6dc2&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_eb06e464" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_eb06e464" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_eb06e464" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Stuck on You</a></td>
		<td align="right">2:21</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_eb06e464" onmouseover="return overlib('3.23 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_eb06e464&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_9753a73f" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_9753a73f" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_9753a73f" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">It's Now or Never</a></td>
		<td align="right">3:18</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_9753a73f" onmouseover="return overlib('4.53 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_9753a73f&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_019fd23d" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_019fd23d" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_019fd23d" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Are You Lonesome Tonight-</a></td>
		<td align="right">3:09</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_019fd23d" onmouseover="return overlib('4.32 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_019fd23d&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_c03166d0" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_c03166d0" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_c03166d0" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Wooden Heart</a></td>
		<td align="right">2:04</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_c03166d0" onmouseover="return overlib('2.85 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_c03166d0&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="even">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_2ae1b6d7" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_2ae1b6d7" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_2ae1b6d7" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">Surrender</a></td>
		<td align="right">1:55</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_2ae1b6d7" onmouseover="return overlib('2.65 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=1">MP3 @ 128 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=2">MP3 @ 256 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=3">OGG Vorbis @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_2ae1b6d7&stream_cfg=4">OGG Vorbis @ 128 kbps</a><br />', STICKY, CAPTION, 'Stream:');" onmouseout="return nd();" onmouseout="return nd();"><img class="stream" src="bitmap/small_stream.gif" alt="" /></a>	</td>
</tr>
<tr class="odd">
	<td>
		<a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_ef6041ad" target="dummy" onmouseover="return overlib('Play track');" onmouseout="return nd();"><img class="play" src="bitmap/small_play.gif" alt="" /></a>		<a href="httpq.php?command=AddSelect&track_id=bg1x6m91pc_ef6041ad" target="dummy" onmouseover="return overlib('Add track');" onmouseout="return nd();"><img class="add" src="bitmap/small_add.gif" alt="" /></a>	</td>
	<td><a href="browse.php?command=view2&artist=Elvis%20Presley&order=year" target="main">Elvis Presley</a></td>
	<td><a href="httpq.php?command=PlaySelect&track_id=bg1x6m91pc_ef6041ad" target="dummy" onmouseover="return overlib('play track');" onmouseout="return nd();">(Marie's the Name) His Latest Flame</a></td>
		<td align="right">2:09</td>
	<td>
		<a href="stream.php?command=download&track_id=bg1x6m91pc_ef6041ad" onmouseover="return overlib('2.95 MB<br /><hr class=\'black\'>mp3<br />LAME3.92<br />cbr 192  kbps<br /><hr class=\'black\'>16 bit | 44.1 kHz | Stereo', CAPTION, 'Download:', WIDTH, 200);" onmouseout="return nd();"><img class="dld" src="bitmap/small_download.gif" alt="" /></a>		<a href="stream.php?command=playlist&track_id=bg1x6m91pc_ef6041ad" onmouseover="return overlib('<a href="stream.php?command=playlist&track_id=bg1x6m91pc_ef6041ad&stream_cfg=-1">direct</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ef6041ad&stream_cfg=0">MP3 @ 64 kbps</a><br /><a href="stream.php?command=playlist&track_id=bg1x6m91pc_ef6041ad&stream_cfg=1">MP3 @ 128 kbps</a><br />&
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Thanks for your XHTML output of view3.
Of course I'm very curious how your corresponding stylesheet looks like.

Can you recommend me a good book and/or website about XHTML + CCS.
I'm willing to learn more about that.
Superlexx
User
Posts: 45
Joined: Thu Feb 10, 2005 8:51 pm

Post by Superlexx »

well, for differences between XHTML and HTML see here: W3C
XHTML alone is maybe not worth the effort of porting to, but since I was CSSing the pages, I also switched to it.

For CSS editing I use Dreamweaver because of the nice integrated reference. I used no books here, just google and the W3C pages.

The biggest thing I've done here is to use the possibilites that CSS offers: padding instead of 'evil' spacer-rows and -colums, giving classes to images so there's no need to write their sizes every time (also removing the transparent-pixel-padding from the gifs), putting images together into a single table cell, using <tr><th>...</th></tr> instead of <tr class="header"><td>...</td></tr>, using divs instead of the fullscreen-table and maybe some other things. I've done it to clean up the php and the final HTML code a bit so that no formatting appears there, and to reduce the HTML size. I must say that the tables don't look well in IE because it ignores the "border-spacing: 0px;" CSS code (needs the (deprecated?) cellspacing property in the HTML I guess). Also the view3 results don't look the same in Opera and FF yet (not a big deal to fix I guess).

The CSS can also be compressed for transfer, just tell the webserver to process .css files with PHP (with compression enabled in PHP.ini).

my CSS:

Code: Select all

body {
	color: Black;
	background: #A4B3DF;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-style: normal;
	font-size: 13px;
	text-decoration: none;
	margin: 0px;
	padding: 10px 10px 3em 10px; 
	border: 0px; 
	scrollbar-base-color: #A4B3DF;
	scrollbar-arrow-color: #030350;
}

body.center
{
	text-align: center;
	vertical-align: middle;
}

body#menu {
   margin: 0px;
   padding: 0px; 
   border: 0px;
}


a:link, a:visited {
	color: Navy;
	text-decoration: none;
}


a:hover {
	color: #FF8000;
	text-decoration: underline;
}

form {
   margin: 0px;
}


input, select {
	margin: 0px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 13px;
}


/*  +-------------------------------------------------------------------------+
    | Table                                                                   |
    +-------------------------------------------------------------------------+ */
table.fullscreen {
	height: 100%;
	width: 100%;
}


table.menu a:link		{color: White; text-decoration: none;}
table.menu a:visited	{color: White; text-decoration: none;}
table.menu a:hover	{color: #FFCF00; text-decoration: none;}
table.menu {
	border-collapse: collapse;
	border-spacing: 0px;
	width: 100%;
	background-color: #000063;
	background-image: url(../bitmap/menu_back.gif);
	background-repeat: repeat-x;
	font-family: Arial, Helvetica, sans-serif;
	color: White;
	font-size: 13px;
	letter-spacing: 1px;
	padding: 0px;
	border: 0px none;
	border-bottom: 2px solid #000063;
}

table.menu td
{ margin: 0px; padding: 0px; border: 0px;}

table.border {
	border: 1px solid #42559C;
}


table.ok a:link		{color: #529600; text-decoration: underline;}
table.ok a:visited	{color: #529600; text-decoration: underline;}
table.ok {
   border: 2px solid #529600;
	background-color: #EFFFD6;
}


table.warning a:link		{color: #42559C; text-decoration: underline;}
table.warning a:visited	{color: #42559C; text-decoration: underline;}
table.warning {
   border: 2px solid #42559C;
	background-color: #99AADB;
}

table.error a:link		{color: Red; text-decoration: underline;}
table.error a:visited	{color: Red; text-decoration: underline;}
table.error {
	border: 2px solid Red;
	background-color: #FFA4A4;
}

table.list
{
	border: 1px solid #42559C;
	border-collapse: separate;
	border-spacing: 0px;
	padding: 0px;
	margin: 0px;
}

table.list td
{
	padding: 0px 16px 0px 8px;
	margin: 0px;
	border: 0px;
}

table.list th
{
	height: 20px;
	color: #CAD2EC;
	background-image: url(../bitmap/table_header.gif);
	background-repeat: repeat-x;
	font-weight: bold;
	text-align: left;
	padding: 0px 0px 0px 8px;
	margin: 0px;
	border: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #42559C;
}

table.view2thmb,
table.view2
{
	border: 1px solid #42559C;
	border-collapse: separate;
	border-spacing: 0px;
	padding: 0px;
	margin: 0px;
}

table.view2 td
{
	padding: 0px 16px 0px 4px;
	margin: 0px;
	border: 0px;
	height: 52px;
}

table.view2thmb td
{
	padding: 0px 6px 0px 6px;
	margin: 0px;
	border: 0px;
	height: 125px;
	text-align: center;
}

table.view2 td.ftr
{
	height: 21px;
	font-size: 11px;
	background-color: #7289CD;
	color: #CAD2EC;
}

table.view2 td.ftr a:link		{color: White;}
table.view2 td.ftr a:visited	{color: White;}
table.view2 td.ftr a:hover	{color: #FF8000; text-decoration: underline;}

table.view2thmb th,
table.view2 th
{
	height: 21px;
	color: #CAD2EC;
	background-image: url(../bitmap/table_header.gif);
	background-repeat: repeat-x;
	font-weight: bold;
	text-align: left;
	padding: 0px 0px 0px 8px;
	margin: 0px;
	border: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #42559C;
	empty-cells: show;
}

table.view2thmb th a:link,
table.view2 th a:link {color: white}
tr.header th a:visited	{color: White;}
table.view2thmb th a:hover,
table.view2 th a:hover	{color: #FF8000; text-decoration: underline;}

table.view3top
{
	border: 1px solid #42559C;
	border-collapse: separate;
	border-spacing: 0px;
	padding: 5px 5px 5px 0px;
	margin: 0px 0px 2em 0px;
	background-color: #EFF1FA;
}

table.view3top td.cvr { padding: 0px;}
table.view3top tr.todd td {padding: 0px 5px 0px 5px; background-color: #EFF1FA;}
table.view3top tr.teven td {padding: 0px 5px 0px 5px; background-color: #FFFFFF;}

tr {
	font-size: 13px;
}

	
tr.header a:link		{color: White;}
tr.header a:visited	{color: White;}
tr.header a:hover		{color: #FF8000; text-decoration: underline;}
tr.header {
	height: 21px;
	color: #CAD2EC;
	background-image: url(../bitmap/table_header.gif);
	background-repeat: repeat-x;
	font-weight: bold;
}

.odd {
	height: 21px;
	background-color: #EFF1FA;
}


.even {
	height: 21px;
	background-color: #FFFFFF;
}


tr.select {
	height: 21px;
	background-color: #9DFF9D;
}


.footer a:link		{color: White;}
.footer a:visited	{color: White;}
.footer a:hover	{color: #FF8000; text-decoration: underline;}
.footer {
	height: 21px;
	font-size: 11px;
	background-color: #7289CD;
	color: #CAD2EC;
}

	
.line {
	height: 1px;
	background-color: #42559C;
}


.vertical_line{
	width: 1px;
	background-color: #42559C;
}


td.textspace {
	width: 30px;
}


td.spacer {
	width: 8px;
}


/*  +-------------------------------------------------------------------------+
    | hr line                                                                 |
    +-------------------------------------------------------------------------+ */
hr.light {
	color: #7289CD;
	height: 2px;
	/* background: #7289CD;
	border: 0px; */
}



hr.dark {
	color: #42559C;
	height: 2px;
	/* background: #42559C;
	border: 0px; */
}


hr.black {
	color: #030350;
	height: 2px;
	/* background: #030350;
	border: 0px; */
}


/*  +-------------------------------------------------------------------------+
    | Font size                                                               |
    +-------------------------------------------------------------------------+ */
.xs {
	font-size: 9px;
}


.small {
	font-size: 11px;
}


.large {
	font-size: 16px;
   font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
	font-weight: bold;
}


.xl {
	font-size: 18px;
   font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
}


.xxl {
	font-size: 21px;
   font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
}

p.path
{
	font-weight: bolder;
}

p.ftr
{
	position:absolute;
	font-size: small;
	text-align: center;
	width: 98%;
	bottom: -1em;

}

img
{
	border: 0px;
	padding: 0px;
	margin: 0px;
}

a
{
	border: 0px;
	padding: 0px;
	margin: 0px;
}

img.smlarw
{
	width: 10px;
	height: 11px;
	padding-right: 2px;
}

img.smlthmb
{
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin: 2px 3px 2px 0px;
}

img.sort
{
	width: 21px;
	height: 21px;
	vertical-align: middle;
}

img.cover
{
	width: 50px;
	height: 50px;
	vertical-align: middle;
	margin: 0px 2px 0px 2px;
}

img.cover100
{
	width: 100px;
	height: 100px;
	vertical-align: middle;
	margin: 0px 2px 0px 2px;
}

img.cover200
{
	width: 200px;
	height: 200px;
	vertical-align: middle;
	margin: 0px;
}

img.add
{
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin: 0px 2px 0px 2px;
}

img.play
{
	width: 14px;
	height: 16px;
	vertical-align: middle;
	margin: 0px 2px 0px 2px;
}

img.stream
{
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin: 2px 2px 2px 2px;
}

img.inet,
img.pdf
{
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin: 2px 2px 2px 2px;
}

img.dld
{
	width: 15px;
	height: 13px;
	margin: 2px 0px 0px 0px;
}

img.rec
{
	width: 13px;
	height: 13px;
	margin: 2px;
}

img.mtl	{width: 13px; height: 33px}
img.mt	{width: 11px; height: 33px}
img.mbtn{width: 90px; height: 33px}
img.njb	{width: 156px; height: 33px}
img.mtr	{width: 2px; height: 33px}
img.mml	{width: 13px; height: 21px}
img.mmr	{width: 2px; height: 21px}

div
{
	border: 0px;
	margin: 0px;
	padding: 0px;
}

.outer
{
	position: relative;
	height: 19px;
	width: 100%;
}

.right
{
	position: absolute;
	top: 0px;
	right: 0px;
}
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Thanks for the help.

I make my pages with Homsite and couldn't become used to dreamweaver.
Though I will try the CSS part of Dreamweaver.

I don't think it is a problem that the stylesheet aren't compressed.
The stylesheet will be cached by the web browser.

Is there a way to disable GZIP compression on some pages?
The update.php, playlist.php and record.php uses innerHTML to update the page while running.
With GZIP compression enabled these pages are only updated after the GZIP chunk size.
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Another idea to reduce the html size, is to use client side JavaScript to make the stream tooltip.
Jus to get the idea:

javascript

Code: Select all

<script language="JavaScript" type="text/javascript">
<!--
function overstream(url)
{
.... add stream profiles to string .... 
overlib(string)
}
//-->
</script>
html:

Code: Select all

<a href="stream.php?command=playlist&track_id=b7307ganxs_d10b0dda" onMouseOver="return overstream('stream.php?command=playlist&track_id=b7307ganxs_d10b0dda');" onMouseOut="return nd();"><img src="bitmap/small_stream.gif" alt="" width="21" height="21" border="0"></a>
Superlexx
User
Posts: 45
Joined: Thu Feb 10, 2005 8:51 pm

Post by Superlexx »

you can disable compression by

Code: Select all

ini_set("zlib.output_compression", "Off");
before any HTML output. But I still have problems after that (the output isn't zipped, but there's buffering going on somewhere, although it's turned off in PHP.ini and IIS). The idea of client-side tooltip generation is good (I haven't done anything in JS yet though).
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Superlexx wrote:But I still have problems after that (the output isn't zipped, but there's buffering going on somewhere, although it's turned off in PHP.ini and IIS).
These problems are related to IIS.
Take a look here: http://forums.devnetwork.net/viewtopic.php?t=31247
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Superlexx wrote:The idea of client-side tooltip generation is good (I haven't done anything in JS yet though).
I also haven't coded anything in JavaScript.
We only need to make one loop, that can't be that difficult :wink:
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Superlexx wrote:you can disable compression by

Code: Select all

ini_set("zlib.output_compression", "Off");
before any HTML output. But I still have problems after that (the output isn't zipped, but there's buffering going on somewhere, although it's turned off in PHP.ini and IIS). The idea of client-side tooltip generation is good (I haven't done anything in JS yet though).
On my configuration I can't change the ZLIB compression from out the script.
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Here is the client side javascript for tooltip stream selection.
Call this function only once at the begin of th page.

Code: Select all

//  +---------------------------------------------------------------------------+
//  | Overlib Stream Javascript                                                 |
//  +---------------------------------------------------------------------------+
function OverlibStreamJavascript()
{
global $cfg;
$array = '';
foreach ($cfg['stream_name'] as $name)
	$array .= '"' . $name . '", ';
$array = substr($array, 0, -2);
?>
<script language="JavaScript" type="text/javascript">
	<!--
	function overlibs(url)
	{
	var name = new Array(<?php echo $array; ?>);
	var list = '';
	var i = 0;
	for (i = 0; i < name.length; i++)
		list += '<a href="' + url + '&stream_id=' + i + '">' + name[i] + '</a><br>';
	overlib(list, STICKY, NOCLOSE, WIDTH, 100, CAPTION, 'Stream:');
	}
	//-->
</script>
<?php
}
Here is an example of track streaming in view3:

Code: Select all

	<td><?php if ($allow['access_stream']) echo '<a href="stream.php?command=playlist&track_id=' . $track['track_id'] . '" onMouseOver="overlibs(\'stream.php?command=playlist&track_id=' . $track['track_id'] . '\');" onMouseOut="return nd();"><img src="bitmap/small_stream.gif" alt="" width="21" height="21" border="0"></a>';?></td>
Also some small changes in stream.php have to be made.
User avatar
wbartels
netjukebox developer
Posts: 872
Joined: Thu Nov 04, 2004 3:12 pm
Location: Netherlands
Contact:

Post by wbartels »

Here is an updated version

Code: Select all

//  +---------------------------------------------------------------------------+
//  | Overlib Stream Javascript                                                 |
//  +---------------------------------------------------------------------------+
function OverlibStreamJavascript()
{
global $cfg;
$query 		= mysql_query('SELECT stream_id FROM configuration_users WHERE username = "' . mysql_escape_string($cfg['username']) . '"');
$users 		= mysql_fetch_array($query);

$array = '';
foreach ($cfg['stream_name'] as $name)
	$array .= '"' . $name . '", ';
$array = substr($array, 0, -2);
?>
<script language="JavaScript" type="text/javascript">
	<!--
	function overlibs(url)
	{
	var name = new Array(<?php echo $array; ?>);
	var list = '';
	var i = 0;
	for (i = 0; i < name.length; i++)
		{
		if (i == <?php echo $users['stream_id']; ?>) list+= '<strong>'
		list += '<a href="' + url + '&stream_id=' + i + '">' + name[i] + '</a><br>';
		if (i == <?php echo $users['stream_id']; ?>) list+= '</strong>'
		}
	overlib(list, STICKY, NOCLOSE, WIDTH, 200, CAPTION, 'Stream:');
	}
	//-->
</script>
<?php
}
Post Reply