> - (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 discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss