Author: agrundman
Date: Mon Jan 10 06:00:20 2011
New Revision: 9284

URL: http://svn.slimdevices.com/jive?rev=9284&view=rev
Log:
 r75...@macbookpro (orig r9283):  andy | 2011-01-10 07:53:14 -0500
  r75...@macbookpro (orig r9264):  andy | 2010-12-22 15:42:05 -0500
  Branch for 7.5.3 RC
  r75...@macbookpro (orig r9268):  andy | 2010-12-28 14:07:36 -0500
  7.5.3 RC branch
  r75...@macbookpro (orig r9269):  andy | 2010-12-28 14:08:38 -0500
  Oops
  r75...@macbookpro (orig r9270):  andy | 2010-12-28 14:30:39 -0500
  Merge poky for Spotify
  r75...@macbookpro (orig r9271):  andy | 2010-12-28 14:34:37 -0500
  Merge SP for Spotify
  r75...@macbookpro (orig r9272):  andy | 2010-12-28 15:13:07 -0500
  Bump version to 7.5.3
  r75...@macbookpro (orig r9273):  andy | 2010-12-29 09:30:05 -0500
  Add SpotifyLogi plugin to TinySC, won't work until merged to trunk though
  r75...@macbookpro (orig r9274):  andy | 2011-01-03 10:31:43 -0500
  Fix path and version
  r75...@macbookpro (orig r9275):  andy | 2011-01-03 12:57:50 -0500
  Don't depend on libspotify for jive
  r75...@macbookpro (orig r9276):  andy | 2011-01-03 13:25:08 -0500
  Enable libspotify on jive instead
  r75...@macbookpro (orig r9282):  andy | 2011-01-10 07:52:50 -0500
  Reset link
 

Added:
    7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/
    
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb   
(with props)
    7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/
    
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua   
(with props)
    7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua 
  (with props)
Modified:
    7.6/trunk/   (props changed)
    7.6/trunk/squeezeos/poky/build/conf/local.conf.sample
    7.6/trunk/squeezeos/poky/meta-squeezeos/conf/distro/squeezeos.conf
    
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezecenter/squeezecenter_svn.bb
    
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private_svn.bb
    7.6/trunk/squeezeplay/src/squeezeplay.version
    7.6/trunk/squeezeplay/src/squeezeplay/VisualC/version.h
    7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
    7.6/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_priv.h
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c
    7.6/trunk/squeezeplay/src/squeezeplay/src/common.h
    7.6/trunk/squeezeplay/src/squeezeplay/src/ui/system.c

Propchange: 7.6/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Mon Jan 10 06:00:20 2011
@@ -13,7 +13,8 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/fab4-skin:4552
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/new-alsa:6567
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:8423
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:9262
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/private-branches/7.5.3-rc:9282
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:9283
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 7.6/trunk/squeezeos/poky/build/conf/local.conf.sample
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/build/conf/local.conf.sample?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeos/poky/build/conf/local.conf.sample (original)
+++ 7.6/trunk/squeezeos/poky/build/conf/local.conf.sample Mon Jan 10 06:00:20 
2011
@@ -185,6 +185,7 @@
 ##SRCREV_pn-atheros-ar6-module-src = "${AUTOREV}"
 ##SRCREV_pn-squeezeplay-private = "${AUTOREV}"
 ##SRCREV_pn-squeezeos-dsp-src = "${AUTOREV}"
+##SRCREV_pn-libspotify = "${AUTOREV}"
 
 ### Not ready to be built from source yet
 ###PREFERRED_PROVIDER_baby-msp430 = "baby-msp430-src"

Modified: 7.6/trunk/squeezeos/poky/meta-squeezeos/conf/distro/squeezeos.conf
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/conf/distro/squeezeos.conf?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
    (empty)

Added: 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb?rev=9284&view=auto
==============================================================================
--- 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb 
(added)
+++ 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb 
Mon Jan 10 06:00:20 2011
@@ -1,0 +1,33 @@
+DESCRIPTION = "libspotify"
+SECTION = "libs"
+LICENSE = "Confidential"
+
+PV = "${DISTRO_VERSION}+svnr${SRCREV}"
+PR = "r7"
+
+# XXX this can be public later
+SRC_URI="${SQUEEZEOS_PRIVATE_SVN};module=libspotify"
+
+S = "${WORKDIR}/libspotify"
+
+do_compile() {
+}
+
+EXTRA_OEMAKE_fab4="prefix=${D}/usr arch=arm11"
+
+EXTRA_OEMAKE_baby="prefix=${D}/usr arch=arm9"
+
+EXTRA_OEMAKE_jive="prefix=${D}/usr arch=arm9"
+
+do_install() {
+       oe_runmake install
+}
+
+# There is probably a better way to do this but it works...
+do_stage() {
+       oe_libinstall -so -C ../image/usr/lib libspotify ${STAGING_LIBDIR}
+}
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+
+

Propchange: 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/libspotify/libspotify_svn.bb
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezecenter/squeezecenter_svn.bb
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezecenter/squeezecenter_svn.bb?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezecenter/squeezecenter_svn.bb
 (original)
+++ 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezecenter/squeezecenter_svn.bb
 Mon Jan 10 06:00:20 2011
@@ -31,7 +31,7 @@
 INCLUDED_PLUGINS += "Amazon Classical Deezer"
 INCLUDED_PLUGINS += "LMA Mediafly MP3tunes Napster Pandora Slacker"
 INCLUDED_PLUGINS += "Facebook Flickr LastFM Live365 RadioTime RhapsodyDirect"
-INCLUDED_PLUGINS += "Sirius Sounds WiMP"
+INCLUDED_PLUGINS += "Sirius Sounds WiMP SpotifyLogi"
 EXCLUDED_PLUGING += "RSSNews Podcast InfoBrowser"
 
 # Core features

Modified: 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private_svn.bb
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private_svn.bb?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private_svn.bb
 (original)
+++ 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private_svn.bb
 Mon Jan 10 06:00:20 2011
@@ -2,7 +2,7 @@
 LICENSE = "Confidential"
 
 PV = "${DISTRO_VERSION}+svnr${SRCREV}"
-PR = "r15"
+PR = "r16"
 
 # don't use thumb for decoders
 ARM_INSTRUCTION_SET = "arm"
@@ -13,7 +13,7 @@
 # For profiling:
 #FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -O2 -ggdb 
-feliminate-unused-debug-types"
 
-DEPENDS += "libsdl lua axtls"
+DEPENDS += "libsdl lua axtls libspotify"
 
 SRC_URI="${SQUEEZEOS_PRIVATE_SVN};module=squeezeplay_private"
 

Modified: 7.6/trunk/squeezeplay/src/squeezeplay.version
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay.version?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
    (empty)

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/VisualC/version.h
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/VisualC/version.h?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
    (empty)

Added: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua?rev=9284&view=auto
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua 
(added)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua 
Mon Jan 10 06:00:20 2011
@@ -1,0 +1,91 @@
+local oo               = require("loop.simple")
+local debug            = require("jive.utils.debug")
+local log              = require("jive.utils.log").logger("audio.decode")
+
+local Applet           = require("jive.Applet")
+local Framework        = require("jive.ui.Framework")
+local Timer            = require("jive.ui.Timer")
+local json             = require("json")
+local mime             = require("mime")
+
+local hasDecode, decode = pcall(require, "squeezeplay.decode")
+
+local appletManager    = appletManager
+local jnt              = jnt
+local require          = require
+local string           = string
+
+local DECODE_RUNNING   = (1 << 0)
+local IDLE_CHECK       = 1 * 60 * 1000 -- 1 minute
+
+module(..., Framework.constants)
+oo.class(_M, Applet)
+
+local decode_spotify
+local idleTimer
+
+function spotify(self, playback, data, decode)
+       if not decode_spotify then
+               -- Have to load decode_spotify here because it is not available 
when
+               -- the applet is loaded
+               decode_spotify = require("squeezeplay.decode.spotify")
+       end
+
+       local cmdstr = playback.header .. "&"
+       
+       local uri = string.match(cmdstr, "spotify://(.-)%&")
+       uri = "spotify:" .. uri
+       log:info("uri: ", uri)
+       decode_spotify:setTrackURI(uri)
+
+       -- Seek if requested with a start param
+       local start = string.match(cmdstr, "start%=(.-)%&")
+       if start then
+               start = mime.unb64("", start)
+               log:info("start: ", start)
+               decode_spotify:setSeekTo(start)
+       else
+               -- Avoid any global variable issues by always setting this value
+               decode_spotify:setSeekTo(0)
+       end
+       
+       -- XXX libspotify knows replaygain data, get it somehow
+
+       decode:start(
+               string.byte("t"),
+               string.byte(data.transitionType),
+               data.transitionPeriod,
+               data.replayGain,
+               data.outputThreshold,
+               data.flags & 0x03,
+               string.byte(data.pcmSampleSize),
+               string.byte(data.pcmSampleRate),
+               string.byte(data.pcmChannels),
+               string.byte(data.pcmEndianness)
+       )
+
+       -- There is no streambuf for Spotify, so we have to signal connection 
directly
+       playback.slimproto:sendStatus('STMc')
+
+       -- Force the decoder to start as soon as possible
+       playback:setDecodeThreshold(-1)
+       
+       -- Indicate to playback that we don't have a stream connection
+       playback.ignoreStream = true
+
+       playback.autostart = (playback.autostart == '2') and '0' or '1'
+       -- or maybe playback:_cont({})
+       
+       -- Start a timer to detect idleness so we can logout of Spotify
+       if not idleTimer then
+               idleTimer = Timer(IDLE_CHECK, function()
+                       if decode_spotify:checkIdle() then
+                               idleTimer:stop()
+                               idleTimer = nil
+                       end
+               end)
+               idleTimer:start()
+       end     
+end
+
+

Propchange: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyApplet.lua
------------------------------------------------------------------------------
    svn:keywords = Id

Added: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua?rev=9284&view=auto
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua 
(added)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua 
Mon Jan 10 06:00:20 2011
@@ -1,0 +1,30 @@
+local oo            = require("loop.simple")
+
+local AppletMeta    = require("jive.AppletMeta")
+local Playback      = require("jive.audio.Playback")
+local log           = require("jive.utils.log").logger("audio.decode")
+
+local appletManager = appletManager
+local jiveMain      = jiveMain
+local jnt           = jnt
+
+local hasSpprivate, spprivate = pcall(require, "spprivate")
+
+module(...)
+oo.class(_M, AppletMeta)
+
+
+function jiveVersion(self)
+       return 1, 1
+end
+
+
+function registerApplet(self)
+       if hasSpprivate then                     
+               self:registerService("spotify")
+               Playback:registerHandler('spotify', function(...) 
appletManager:callService("spotify", ...) end)
+       else
+               log:warn("Spotify decoder not available, disabling Spotify 
support")
+       end
+end
+

Propchange: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/Spotify/SpotifyMeta.lua
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua 
(original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua Mon Jan 
10 06:00:20 2011
@@ -132,8 +132,15 @@
        self.sentDecoderUnderrunEvent = false
        self.sentOutputUnderrunEvent = false
        self.sentAudioUnderrunEvent = false
+       self.ignoreStream = false
+       self.decodeThreshold = 2048
 
        return obj
+end
+
+
+function setDecodeThreshold(self, threshold)
+       self.decodeThreshold = threshold
 end
 
 
@@ -281,13 +288,16 @@
 
                        self.sentDecoderUnderrunEvent = true
                        self.sentDecoderFullEvent = false
+                       
+                       -- If the decoder has underrun then we can stop
+                       -- ignoring that we do not actually have a stream
+                       self.ignoreStream = false
 
                        decode:songEnded()
                end
        else
                self.sentDecoderUnderrunEvent = false
        end
-
 
        if status.audioState & DECODE_UNDERRUN ~= 0 then
 
@@ -301,7 +311,7 @@
 
                -- output underruns are used by the server to detect
                -- when streaming (and decoding) is not able to keep up with 
playback,
-               -- usualy for radio streams
+               -- usually for radio streams
 
                if not self.sentAudioUnderrunEvent and
                        self.sentDecoderUnderrunEvent then
@@ -312,8 +322,10 @@
 
                        self.sentAudioUnderrunEvent = true
 
+               -- ignoreStream is set for Spotify, where there is no stream 
connection but we
+               -- still need to be able to send output underrun events
                elseif not self.sentOutputUnderrunEvent and
-                       self.stream then
+                       (self.stream or self.ignoreStream) then
 
                        log:info("OUTPUT UNDERRUN")
                        decode:pauseAudio(0) -- auto-pause to prevent glitches
@@ -336,15 +348,6 @@
                self:sendStatus(status, "STMs")
 
                self.tracksStarted = status.tracksStarted
-       end
-
-       -- We can begin decoding with 2K of data
-       local decodeThreshold = 2048
-       
-       -- Except for Vorbis, where we should use the buffer threshold value
-       -- Even this may not be enough for files with large comments...
-       if self.mode == 'o' then
-               decodeThreshold = self.threshold
        end
 
        -- Start the decoder if:
@@ -352,12 +355,12 @@
        -- 2) if we are auto-starting
        -- 3) decode is not already running
        -- 4) we have finished processing any strm-q command
-       if status.decodeFull > decodeThreshold and
+       if status.decodeFull > self.decodeThreshold and
                (self.autostart == '0' or self.autostart == '1') and
                status.decodeState & DECODE_RUNNING == 0 and not 
self.sentResumeDecoder and
                status.audioState & DECODE_STOPPING == 0 then
 
-               log:debug("resume decoder, ", status.decodeFull, " bytes 
buffered, decode threshold ", decodeThreshold)
+               log:debug("resume decoder, ", status.decodeFull, " bytes 
buffered, decode threshold ", self.decodeThreshold)
                decode:resumeDecoder()
                self.sentResumeDecoder = true
        end
@@ -389,7 +392,7 @@
                        self.sentResume = true
                        self.sentDecoderFullEvent = true -- fake it so we don't 
send STMl with pause
 
-               elseif not self.sentDecoderFullEvent then
+               elseif not self.sentDecoderFullEvent or status.triggerResume 
then
                        -- Tell SC decoder buffer is full
                        log:debug("status FULL")
                        self:sendStatus(status, "STMl")
@@ -632,6 +635,14 @@
                self.sentOutputUnderrunEvent = false
                self.sentAudioUnderrunEvent = false
                self.isLooping = false
+               self.ignoreStream = false
+               self.decodeThreshold = 2048
+
+               -- Except for Vorbis, where we should use the buffer threshold 
value
+               -- Even this may not be enough for files with large comments...
+               if self.mode == 'o' then
+                       self.decodeThreshold = self.threshold
+               end
 
                if self.flags & 0x10 ~= 0 then
                        -- custom handler

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
    (empty)

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c (original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c Mon Jan 10 
06:00:20 2011
@@ -58,6 +58,8 @@
 
 static size_t wma_guid_len;
 static u8_t *wma_guid;
+
+static bool_t trigger_resume = FALSE;
 
 
 /* audio instance */
@@ -81,6 +83,7 @@
 #ifdef WITH_SPPRIVATE
        &decode_wma,
        &decode_aac,
+       &decode_spotify,
 #endif
        &decode_vorbis,
        &decode_flac,
@@ -854,6 +857,15 @@
        lua_pushinteger(L, decode_audio->state);
        lua_setfield(L, -2, "audioState");
 
+       // Allow a decoder to trigger audio to resume. This is
+       // needed to resume Spotify after rebuffering earlier than
+       // the server would normally resume
+       if (trigger_resume) {
+               lua_pushinteger(L, 1);
+               lua_setfield(L, -2, "triggerResume");
+               trigger_resume = FALSE;
+       }
+
        decode_audio_unlock();
 
 
@@ -875,6 +887,12 @@
        lua_setfield(L, -2, "decodeState");
 
        return 1;
+}
+
+void decode_set_trigger_resume(void) {
+       decode_audio_lock();
+       trigger_resume = TRUE;
+       decode_audio_unlock();
 }
 
 static int decode_audio_enable(lua_State *L) {

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_priv.h
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_priv.h?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_priv.h 
(original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_priv.h Mon 
Jan 10 06:00:20 2011
@@ -85,6 +85,7 @@
 #ifdef WITH_SPPRIVATE
 extern struct decode_module decode_wma;
 extern struct decode_module decode_aac;
+extern struct decode_module decode_spotify;
 #endif
 
 
@@ -110,6 +111,8 @@
 extern void decode_set_track_polarity_inversion(u8_t inversion);
 
 extern void decode_set_output_channels(u8_t channels);
+extern void decode_set_trigger_resume(void);
+
 
 /* Audio output backends */
 struct decode_audio_func {

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c (original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/streambuf.c Mon Jan 10 
06:00:20 2011
@@ -271,6 +271,11 @@
 
 void streambuf_set_copyright() {
        streambuf_copyright = TRUE;
+}
+
+
+void streambuf_set_streaming(bool_t is_streaming) {
+       streambuf_streaming = is_streaming;
 }
 
 

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/common.h
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/common.h?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/common.h (original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/common.h Mon Jan 10 06:00:20 2011
@@ -116,6 +116,11 @@
 int watchdog_get();
 int watchdog_keepalive(int watchdog_id, int count);
 
+/* system */
+const char * system_get_machine(void);
+const char * system_get_arch(void);
+const char * system_get_version(void);
+
 /* time */
 #if HAVE_CLOCK_GETTIME
 static inline u32_t jive_jiffies(void)

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/ui/system.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/ui/system.c?rev=9284&r1=9283&r2=9284&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/ui/system.c (original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/ui/system.c Mon Jan 10 06:00:20 
2011
@@ -7,6 +7,7 @@
 
 #include "common.h"
 #include "jive.h"
+#include "version.h"
 
 
 static char *mac_address;
@@ -17,6 +18,19 @@
 static char *homedir;
 static char *resource_path = NULL;
 
+// public API
+const char * system_get_machine(void) {
+       return machine;
+}
+
+const char * system_get_arch(void) {
+       return arch;
+}
+
+const char * system_get_version(void) {
+       return JIVE_VERSION;
+}
+
 
 static int system_get_mac_address(lua_State *L) {
        if (mac_address) {
@@ -40,7 +54,7 @@
 }
 
 
-static int system_get_arch(lua_State *L) {
+static int system_lua_get_arch(lua_State *L) {
        if (arch) {
                lua_pushstring(L, arch);
        }
@@ -51,7 +65,7 @@
 }
 
 
-static int system_get_machine(lua_State *L) {
+static int system_lua_get_machine(lua_State *L) {
        if (machine) {
                lua_pushstring(L, machine);
                lua_pushinteger(L, hardware_rev);
@@ -353,8 +367,8 @@
 
 
 static const struct luaL_Reg squeezeplay_system_methods[] = {
-       { "getArch", system_get_arch },
-       { "getMachine", system_get_machine },
+       { "getArch", system_lua_get_arch },
+       { "getMachine", system_lua_get_machine },
        { "getMacAddress", system_get_mac_address },
        { "getUUID", system_get_uuid },
        { "getUptime", system_get_uptime },

_______________________________________________
Jive-checkins mailing list
Jive-checkins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to