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
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins