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