> - (same question as above) get player state
SqueezeJS.Controller.playerStatus - it's an object (or hash) with the following
items:
playerStatus = {
// if power is undefined, set it to on for http clients
power: (response.power == null) || response.power,
mode: response.mode,
rate: response.rate,
current_title: response.current_title,
title: response.playlist_tracks > 0 ?
response.playlist_loop[0].title : '',
track: response.playlist_tracks > 0 ? response.playlist_loop[0].url
: '',
index: response.playlist_cur_index,
duration: parseInt(response.duration) || 0,
canSeek: response.can_seek ? true : false,
playtime: parseInt(response.time),
timestamp: response.playlist_timestamp
};
It doesn't deliver the full list of track information. This is queried every 5
seconds, then passed to the UI elements.
> - get track duration
Doesn't exist (yet). The following would do:
SqueezeJS.UI.PlaytimeDuration = Ext.extend(SqueezeJS.UI.Playtime, {
onPlaytimeUpdate : function(playtime){
if (this.el && playtime)
this.el.update(SqueezeJS.Utils.formatTime(playtime.duration));
}
});
Will add it if it is what you were thinking of.
> - get track title without track number
This currently doesn't exist. Needs a change in the parser.
> - get track number
SqueezeJS.UI.TrackNo = Ext.extend(SqueezeJS.UI.Component, {
onPlayerStateChange : function(result){
this.el.update(result.playlist_loop[0].tracknum ?
result.playlist_loop[0].tracknum + '. ' : '');
}
});
> - get album name without year
SqueezeJS.UI.AlbumTitle = Ext.extend(SqueezeJS.UI.Component, {
onPlayerStateChange : function(result){
this.el.update(SqueezeJS.SonginfoParser.album(result,
this.noLink));
}
});
> - get album year
SqueezeJS.UI.AlbumYear = Ext.extend(SqueezeJS.UI.Component, {
onPlayerStateChange : function(result){
this.el.update(SqueezeJS.SonginfoParser.year(result,
this.noLink));
}
});
> - display a progress bar
new SqueezeJS.UI.PlaytimeProgress('yourHTMLElement');
> - use different images for buttons and/or progress bar
That's beyond the scope of this mail... take a look at slimserver.css. Styles
starting with x-... are overwriting ExtJS defaults. Eg. x-btn etc.
> - get the same information for individual tracks within current
> playlist
Don't have an answer for this right now. All the defined components listen to
the status query, which is about the currently playing track only. You'd
probably have to overwrite the base class SqueezeJS.UI.Component, which adds
the listener. Not an easy change I guess.
> - display playlist controls
Like fwd/rwd? They're covered in the tutorial. What else?
I'll add the above components to 7.3. Until then you might want to add them to
your template.
--
Michael
_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss