Author: titmuss
Date: Mon Jan 12 15:09:50 2009
New Revision: 3782
URL: http://svn.slimdevices.com?rev=3782&root=Jive&view=rev
Log:
r3...@harrypotter (orig r3770): richard | 2009-01-12 12:40:12 +0000
Bug: N/A
Description:
Added hooks to allow closed source audio extensions.
r3...@harrypotter (orig r3771): richard | 2009-01-12 14:50:06 +0000
Bug: N/A
Description:
Re-implement jive.ui.Timer in pure lua, and not using SDL_Timer. There is
clearly an underlying
timer bug that is causing many problems, and this will hopefully fix it once
and for all.
r3...@harrypotter (orig r3773): richard | 2009-01-12 16:24:09 +0000
Bug: N/A
Description:
Don't use (or initialize) SDL timers.
r3...@harrypotter (orig r3774): richard | 2009-01-12 16:50:15 +0000
Bug: N/A
Description:
Add axTLS SSL library.
r3...@harrypotter (orig r3776): titmuss | 2009-01-12 20:05:27 +0000
Bug: N/A
Description:
Fix possible error in timer and add logging to debug a timer crasher.
r3...@harrypotter (orig r3777): titmuss | 2009-01-12 20:10:27 +0000
Bug: 10623
Description:
Fix audio on jive.
r3...@harrypotter (orig r3779): titmuss | 2009-01-12 21:20:31 +0000
Bug: N/A
Description:
Bitbake receipe for axTLS library.
r3...@harrypotter (orig r3780): titmuss | 2009-01-12 23:03:29 +0000
Bug: N/A
Description:
Bitbake rules to build close source package.
Added:
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/axtls_1.2.0.bb
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/axTLS.config
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private-src_svn.bb
7.4/branches/pango/squeezeplay/src/axTLS-1.2.0.tar.gz (with props)
7.4/branches/pango/squeezeplay/src/axTLS.config
Removed:
7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_timer.c
Modified:
7.4/branches/pango/ (props changed)
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay_svn.bb
7.4/branches/pango/squeezeplay/src/Makefile.linux
7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.am
7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.in
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Framework.lua
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Timer.lua
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.c
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.h
7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive.h
7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_event.c
7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
Propchange: 7.4/branches/pango/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Mon Jan 12 15:09:50 2009
@@ -4,7 +4,7 @@
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/private-branches/jive-refresh:3653
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3753
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:3762
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:3780
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
Added:
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/axtls_1.2.0.bb
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/axtls_1.2.0.bb?rev=3782&root=Jive&view=auto
==============================================================================
---
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/axtls_1.2.0.bb
(added)
+++
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/axtls_1.2.0.bb
Mon Jan 12 15:09:50 2009
@@ -1,0 +1,42 @@
+DESCRIPTION = "axTLS SSL library"
+SECTION = "libs"
+#PR = "r0"
+
+SRC_URI = "http://downloads.sourceforge.net/axtls/axTLS-${PV}.tar.gz \
+ file://axTLS.config \
+ "
+
+S = "${WORKDIR}/axTLS"
+
+inherit autotools pkgconfig binconfig
+
+LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+EXTRA_OECONF = "--without-zlib"
+
+do_configure() {
+ cp ${WORKDIR}/axTLS.config ${S}/config/.config
+ echo "PREFIX=\"${D}${prefix}\"" >> ${S}/config/.config
+ oe_runmake oldconfig
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/axTLS
+ install -m 0644 ${S}/crypto/bigint.h ${STAGING_INCDIR}/axTLS/bigint.h
+ install -m 0644 ${S}/crypto/bigint_impl.h
${STAGING_INCDIR}/axTLS/bigint_impl.h
+ install -m 0644 ${S}/config/config.h ${STAGING_INCDIR}/axTLS/config.h
+ install -m 0644 ${S}/crypto/crypto.h ${STAGING_INCDIR}/axTLS/crypto.h
+ install -m 0644 ${S}/ssl/crypto_misc.h
${STAGING_INCDIR}/axTLS/crypto_misc.h
+ install -m 0644 ${S}/ssl/os_port.h ${STAGING_INCDIR}/axTLS/os_port.h
+ install -m 0644 ${S}/ssl/ssl.h ${STAGING_INCDIR}/axTLS/ssl.h
+ install -m 0644 ${S}/ssl/tls1.h ${STAGING_INCDIR}/axTLS/tls1.h
+ install -m 0644 ${S}/ssl/version.h ${STAGING_INCDIR}/axTLS/version.h
+ oe_libinstall -so -a -C _stage libaxtls ${STAGING_LIBDIR}/
+}
+
+do_install() {
+ PREFIX=${D} oe_runmake install
+}
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-dev += "${bindir}"
Added:
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/axTLS.config
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/axTLS.config?rev=3782&root=Jive&view=auto
==============================================================================
---
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/axTLS.config
(added)
+++
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/axtls/files/axTLS.config
Mon Jan 12 15:09:50 2009
@@ -1,0 +1,112 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+CONFIG_PLATFORM_LINUX=y
+# CONFIG_PLATFORM_CYGWIN is not set
+# CONFIG_PLATFORM_WIN32 is not set
+
+#
+# General Configuration
+#
+#PREFIX="/home/richard/squeezeplay-7.4/build/linux"
+# CONFIG_DEBUG is not set
+CONFIG_STRIP_UNWANTED_SECTIONS=y
+# CONFIG_VISUAL_STUDIO_7_0 is not set
+# CONFIG_VISUAL_STUDIO_8_0 is not set
+CONFIG_VISUAL_STUDIO_7_0_BASE=""
+CONFIG_VISUAL_STUDIO_8_0_BASE=""
+CONFIG_EXTRA_CFLAGS_OPTIONS=""
+CONFIG_EXTRA_LDFLAGS_OPTIONS=""
+
+#
+# SSL Library
+#
+# CONFIG_SSL_SERVER_ONLY is not set
+# CONFIG_SSL_CERT_VERIFICATION is not set
+# CONFIG_SSL_ENABLE_CLIENT is not set
+CONFIG_SSL_FULL_MODE=y
+# CONFIG_SSL_SKELETON_MODE is not set
+# CONFIG_SSL_PROT_LOW is not set
+CONFIG_SSL_PROT_MEDIUM=y
+# CONFIG_SSL_PROT_HIGH is not set
+# CONFIG_SSL_USE_DEFAULT_KEY is not set
+CONFIG_SSL_PRIVATE_KEY_LOCATION=""
+CONFIG_SSL_PRIVATE_KEY_PASSWORD=""
+CONFIG_SSL_X509_CERT_LOCATION=""
+# CONFIG_SSL_GENERATE_X509_CERT is not set
+CONFIG_SSL_X509_COMMON_NAME=""
+CONFIG_SSL_X509_ORGANIZATION_NAME=""
+CONFIG_SSL_X509_ORGANIZATION_UNIT_NAME=""
+CONFIG_SSL_ENABLE_V23_HANDSHAKE=y
+CONFIG_SSL_HAS_PEM=y
+CONFIG_SSL_USE_PKCS12=y
+CONFIG_SSL_EXPIRY_TIME=24
+CONFIG_X509_MAX_CA_CERTS=4
+CONFIG_SSL_MAX_CERTS=2
+# CONFIG_SSL_CTX_MUTEXING is not set
+CONFIG_USE_DEV_URANDOM=y
+# CONFIG_WIN32_USE_CRYPTO_LIB is not set
+# CONFIG_OPENSSL_COMPATIBLE is not set
+# CONFIG_PERFORMANCE_TESTING is not set
+# CONFIG_SSL_TEST is not set
+# CONFIG_AXHTTPD is not set
+# CONFIG_HTTP_STATIC_BUILD is not set
+CONFIG_HTTP_PORT=0
+CONFIG_HTTP_HTTPS_PORT=0
+CONFIG_HTTP_SESSION_CACHE_SIZE=0
+CONFIG_HTTP_WEBROOT=""
+CONFIG_HTTP_TIMEOUT=0
+# CONFIG_HTTP_HAS_CGI is not set
+CONFIG_HTTP_CGI_EXTENSIONS=""
+# CONFIG_HTTP_ENABLE_LUA is not set
+CONFIG_HTTP_LUA_PREFIX=""
+CONFIG_HTTP_LUA_CGI_LAUNCHER=""
+# CONFIG_HTTP_BUILD_LUA is not set
+# CONFIG_HTTP_DIRECTORIES is not set
+# CONFIG_HTTP_HAS_AUTHORIZATION is not set
+# CONFIG_HTTP_HAS_IPV6 is not set
+# CONFIG_HTTP_ENABLE_DIFFERENT_USER is not set
+CONFIG_HTTP_USER=""
+# CONFIG_HTTP_VERBOSE is not set
+# CONFIG_HTTP_IS_DAEMON is not set
+
+#
+# Language Bindings
+#
+# CONFIG_BINDINGS is not set
+# CONFIG_CSHARP_BINDINGS is not set
+# CONFIG_VBNET_BINDINGS is not set
+CONFIG_DOT_NET_FRAMEWORK_BASE=""
+# CONFIG_JAVA_BINDINGS is not set
+CONFIG_JAVA_HOME=""
+# CONFIG_PERL_BINDINGS is not set
+CONFIG_PERL_CORE=""
+CONFIG_PERL_LIB=""
+# CONFIG_LUA_BINDINGS is not set
+CONFIG_LUA_CORE=""
+
+#
+# Samples
+#
+# CONFIG_SAMPLES is not set
+# CONFIG_C_SAMPLES is not set
+# CONFIG_CSHARP_SAMPLES is not set
+# CONFIG_VBNET_SAMPLES is not set
+# CONFIG_JAVA_SAMPLES is not set
+# CONFIG_PERL_SAMPLES is not set
+# CONFIG_LUA_SAMPLES is not set
+
+#
+# BigInt Options
+#
+# CONFIG_BIGINT_CLASSICAL is not set
+# CONFIG_BIGINT_MONTGOMERY is not set
+CONFIG_BIGINT_BARRETT=y
+CONFIG_BIGINT_CRT=y
+# CONFIG_BIGINT_KARATSUBA is not set
+MUL_KARATSUBA_THRESH=0
+SQU_KARATSUBA_THRESH=0
+CONFIG_BIGINT_SLIDING_WINDOW=y
+CONFIG_BIGINT_SQUARE=y
+# CONFIG_BIGINT_CHECK_ON is not set
Added:
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private-src_svn.bb
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private-src_svn.bb?rev=3782&root=Jive&view=auto
==============================================================================
---
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private-src_svn.bb
(added)
+++
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay-private-src_svn.bb
Mon Jan 12 15:09:50 2009
@@ -1,0 +1,31 @@
+DESCRIPTION = "SqueezePlay - Private code"
+LICENSE = "Confidential"
+
+PV = "${DISTRO_VERSION}+svnr${SRCREV}"
+#PR = "r0"
+
+DEPENDS += "squeezeplay axtls"
+
+SRC_URI="${SQUEEZEOS_PRIVATE_SVN};module=squeezeplay_private"
+
+S = "${WORKDIR}/squeezeplay_private"
+
+inherit autotools
+
+CFLAGS_prepend = '-I${STAGING_INCDIR}/squeezeplay'
+
+EXTRA_OEMAKE = "all"
+
+
+do_install() {
+ autotools_do_install
+
+ # move lua libraries to correct location
+ rm ${D}${libdir}/*
+ mkdir -p ${D}${libdir}/lua/5.1
+ install -m 0755 .libs/spprivate.so ${D}${libdir}/lua/5.1/spprivate.so
+}
+
+
+FILES_${PN} += "${datadir} ${libdir}/lua/5.1"
+FILES_${PN}-dbg += "${libdir}/lua/5.1/.debug"
Modified:
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay_svn.bb
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay_svn.bb?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
---
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay_svn.bb
(original)
+++
7.4/branches/pango/squeezeos/poky/meta-squeezeos/packages/squeezeplay/squeezeplay_svn.bb
Mon Jan 12 15:09:50 2009
@@ -31,7 +31,14 @@
do_stage() {
- install -m 0644 src/ui/jive.h ${STAGING_INCDIR}/
+ install -d ${STAGING_INCDIR}/squeezeplay
+ install -d ${STAGING_INCDIR}/squeezeplay/ui
+ install -d ${STAGING_INCDIR}/squeezeplay/audio
+ install -m 0644 src/debug.h ${STAGING_INCDIR}/squeezeplay/debug.h
+ install -m 0644 src/types.h ${STAGING_INCDIR}/squeezeplay/types.h
+ install -m 0644 src/ui/jive.h ${STAGING_INCDIR}/squeezeplay/ui/jive.h
+ install -m 0644 src/audio/fifo.h
${STAGING_INCDIR}/squeezeplay/audio/fifo.h
+ install -m 0644 src/audio/streambuf.h
${STAGING_INCDIR}/squeezeplay/audio/streambuf.h
}
FILES_${PN} += "${datadir}"
Modified: 7.4/branches/pango/squeezeplay/src/Makefile.linux
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/Makefile.linux?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/Makefile.linux (original)
+++ 7.4/branches/pango/squeezeplay/src/Makefile.linux Mon Jan 12 15:09:50 2009
@@ -40,6 +40,10 @@
.PHONY: sdl-all freetype sdl sdl-image sdl-tff sdl-gfx c-ares
sdl-all: freetype sdl sdl-ttf sdl-image sdl-gfx
+
+generated:
+ mkdir -p generated
+
# freetype
freetype-2.1.10/config.mk:
@@ -143,7 +147,7 @@
# squeezeplay
#
-.PHONY: app portaudio flac libmad tremor squeezeplay squeezeplay_desktop
squeezeplay_contrib freefont freefont-debian
+.PHONY: app portaudio flac libmad tremor squeezeplay squeezeplay_desktop
squeezeplay_contrib squeezeplay_private freefont freefont-debian axtls
app: portaudio flac libmad tremor squeezeplay squeezeplay_desktop
squeezeplay_contrib freefont
# portaudio
@@ -175,6 +179,19 @@
cd Tremor; make && make install
+# axTLS
+AXTLS_DIR = generated/axTLS
+AXTLS_TAR = axTLS-1.2.0.tar.gz
+${AXTLS_DIR}/Makefile: generated
+ cd generated; tar xvf ../${AXTLS_TAR}
+ cp axTLS.config ${AXTLS_DIR}/config/.config
+ echo "PREFIX=\"${PREFIX}\"" >> ${AXTLS_DIR}/config/.config
+
+axtls: ${AXTLS_DIR}/Makefile
+ cd ${AXTLS_DIR}; make oldconfig && make && make install
+
+
+
# squeezeplay
squeezeplay/Makefile:
cd squeezeplay; SDL_CONFIG=${SDL_CONFIG} ./configure
${ENABLE_PROFILING} --prefix=${PREFIX}
@@ -190,6 +207,14 @@
squeezeplay_contrib: squeezeplay/Makefile
cd squeezeplay_contrib; make PREFIX=${PREFIX}
+
+squeezeplay_private/Makefile:
+ cd squeezeplay_private; SDL_CONFIG=${SDL_CONFIG} ./configure
--prefix=${PREFIX}
+
+squeezeplay_private: axtls squeezeplay_private/Makefile
+ cd squeezeplay_private; make CFLAGS="${CFLAGS}
-I${SRC_DIR}/squeezeplay/src" PREFIX=${PREFIX} install
+ rm ${PREFIX}/lib/spprivate.*
+ cp squeezeplay_private/.libs/spprivate.so
${PREFIX}/lib/lua/5.1/spprivate.so
# freefont
freefont:
@@ -206,6 +231,7 @@
.PHONY: clean
clean:
+ -rm -rf generated
-cd freetype-2.1.10; make distclean
-cd SDL-1.2.13; make distclean; rm -f include/SDL_config.h;
-cd SDL_image-1.2.5; make distclean
Added: 7.4/branches/pango/squeezeplay/src/axTLS-1.2.0.tar.gz
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/axTLS-1.2.0.tar.gz?rev=3782&root=Jive&view=auto
==============================================================================
Binary file - no diff available.
Propchange: 7.4/branches/pango/squeezeplay/src/axTLS-1.2.0.tar.gz
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: 7.4/branches/pango/squeezeplay/src/axTLS.config
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/axTLS.config?rev=3782&root=Jive&view=auto
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/axTLS.config (added)
+++ 7.4/branches/pango/squeezeplay/src/axTLS.config Mon Jan 12 15:09:50 2009
@@ -1,0 +1,112 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+CONFIG_PLATFORM_LINUX=y
+# CONFIG_PLATFORM_CYGWIN is not set
+# CONFIG_PLATFORM_WIN32 is not set
+
+#
+# General Configuration
+#
+#PREFIX="/home/richard/squeezeplay-7.4/build/linux"
+# CONFIG_DEBUG is not set
+CONFIG_STRIP_UNWANTED_SECTIONS=y
+# CONFIG_VISUAL_STUDIO_7_0 is not set
+# CONFIG_VISUAL_STUDIO_8_0 is not set
+CONFIG_VISUAL_STUDIO_7_0_BASE=""
+CONFIG_VISUAL_STUDIO_8_0_BASE=""
+CONFIG_EXTRA_CFLAGS_OPTIONS=""
+CONFIG_EXTRA_LDFLAGS_OPTIONS=""
+
+#
+# SSL Library
+#
+# CONFIG_SSL_SERVER_ONLY is not set
+# CONFIG_SSL_CERT_VERIFICATION is not set
+# CONFIG_SSL_ENABLE_CLIENT is not set
+CONFIG_SSL_FULL_MODE=y
+# CONFIG_SSL_SKELETON_MODE is not set
+# CONFIG_SSL_PROT_LOW is not set
+CONFIG_SSL_PROT_MEDIUM=y
+# CONFIG_SSL_PROT_HIGH is not set
+# CONFIG_SSL_USE_DEFAULT_KEY is not set
+CONFIG_SSL_PRIVATE_KEY_LOCATION=""
+CONFIG_SSL_PRIVATE_KEY_PASSWORD=""
+CONFIG_SSL_X509_CERT_LOCATION=""
+# CONFIG_SSL_GENERATE_X509_CERT is not set
+CONFIG_SSL_X509_COMMON_NAME=""
+CONFIG_SSL_X509_ORGANIZATION_NAME=""
+CONFIG_SSL_X509_ORGANIZATION_UNIT_NAME=""
+CONFIG_SSL_ENABLE_V23_HANDSHAKE=y
+CONFIG_SSL_HAS_PEM=y
+CONFIG_SSL_USE_PKCS12=y
+CONFIG_SSL_EXPIRY_TIME=24
+CONFIG_X509_MAX_CA_CERTS=4
+CONFIG_SSL_MAX_CERTS=2
+# CONFIG_SSL_CTX_MUTEXING is not set
+CONFIG_USE_DEV_URANDOM=y
+# CONFIG_WIN32_USE_CRYPTO_LIB is not set
+# CONFIG_OPENSSL_COMPATIBLE is not set
+# CONFIG_PERFORMANCE_TESTING is not set
+# CONFIG_SSL_TEST is not set
+# CONFIG_AXHTTPD is not set
+# CONFIG_HTTP_STATIC_BUILD is not set
+CONFIG_HTTP_PORT=0
+CONFIG_HTTP_HTTPS_PORT=0
+CONFIG_HTTP_SESSION_CACHE_SIZE=0
+CONFIG_HTTP_WEBROOT=""
+CONFIG_HTTP_TIMEOUT=0
+# CONFIG_HTTP_HAS_CGI is not set
+CONFIG_HTTP_CGI_EXTENSIONS=""
+# CONFIG_HTTP_ENABLE_LUA is not set
+CONFIG_HTTP_LUA_PREFIX=""
+CONFIG_HTTP_LUA_CGI_LAUNCHER=""
+# CONFIG_HTTP_BUILD_LUA is not set
+# CONFIG_HTTP_DIRECTORIES is not set
+# CONFIG_HTTP_HAS_AUTHORIZATION is not set
+# CONFIG_HTTP_HAS_IPV6 is not set
+# CONFIG_HTTP_ENABLE_DIFFERENT_USER is not set
+CONFIG_HTTP_USER=""
+# CONFIG_HTTP_VERBOSE is not set
+# CONFIG_HTTP_IS_DAEMON is not set
+
+#
+# Language Bindings
+#
+# CONFIG_BINDINGS is not set
+# CONFIG_CSHARP_BINDINGS is not set
+# CONFIG_VBNET_BINDINGS is not set
+CONFIG_DOT_NET_FRAMEWORK_BASE=""
+# CONFIG_JAVA_BINDINGS is not set
+CONFIG_JAVA_HOME=""
+# CONFIG_PERL_BINDINGS is not set
+CONFIG_PERL_CORE=""
+CONFIG_PERL_LIB=""
+# CONFIG_LUA_BINDINGS is not set
+CONFIG_LUA_CORE=""
+
+#
+# Samples
+#
+# CONFIG_SAMPLES is not set
+# CONFIG_C_SAMPLES is not set
+# CONFIG_CSHARP_SAMPLES is not set
+# CONFIG_VBNET_SAMPLES is not set
+# CONFIG_JAVA_SAMPLES is not set
+# CONFIG_PERL_SAMPLES is not set
+# CONFIG_LUA_SAMPLES is not set
+
+#
+# BigInt Options
+#
+# CONFIG_BIGINT_CLASSICAL is not set
+# CONFIG_BIGINT_MONTGOMERY is not set
+CONFIG_BIGINT_BARRETT=y
+CONFIG_BIGINT_CRT=y
+# CONFIG_BIGINT_KARATSUBA is not set
+MUL_KARATSUBA_THRESH=0
+SQU_KARATSUBA_THRESH=0
+CONFIG_BIGINT_SLIDING_WINDOW=y
+CONFIG_BIGINT_SQUARE=y
+# CONFIG_BIGINT_CHECK_ON is not set
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.am
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.am?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.am (original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.am Mon Jan 12
15:09:50 2009
@@ -190,7 +190,6 @@
src/ui/jive_textarea.c \
src/ui/jive_textinput.c \
src/ui/jive_tile.c \
- src/ui/jive_timer.c \
src/ui/jive_utils.c \
src/ui/jive_widget.c \
src/ui/jive_window.c \
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.in
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.in?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.in (original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/Makefile.in Mon Jan 12
15:09:50 2009
@@ -78,8 +78,8 @@
jive_group.lo jive_icon.lo jive_label.lo jive_menu.lo \
platform_osx.lo platform_linux.lo jive_slider.lo jive_style.lo \
jive_surface.lo system.lo jive_textarea.lo jive_textinput.lo \
- jive_tile.lo jive_timer.lo jive_utils.lo jive_widget.lo \
- jive_window.lo lua_jiveui.lo
+ jive_tile.lo jive_utils.lo jive_widget.lo jive_window.lo \
+ lua_jiveui.lo
libjiveui_la_OBJECTS = $(am_libjiveui_la_OBJECTS)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(testdir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
@@ -313,7 +313,6 @@
src/ui/jive_textarea.c \
src/ui/jive_textinput.c \
src/ui/jive_tile.c \
- src/ui/jive_timer.c \
src/ui/jive_utils.c \
src/ui/jive_widget.c \
src/ui/jive_window.c \
@@ -522,7 +521,6 @@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_textarea....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_textinput....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_tile....@am__quote@
-...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/jive_timer....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_utils....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_widget....@am__quote@
@AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/jive_window....@am__quote@
@@ -771,13 +769,6 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/ui/jive_tile.c'
object='jive_tile.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE)
$(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS)
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
$(CFLAGS) -c -o jive_tile.lo `test -f 'src/ui/jive_tile.c' || echo
'$(srcdir)/'`src/ui/jive_tile.c
-
-jive_timer.lo: src/ui/jive_timer.c
-...@am__fastdepcc_true@ if $(LIBTOOL) --tag=CC --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
$(CFLAGS) -MT jive_timer.lo -MD -MP -MF "$(DEPDIR)/jive_timer.Tpo" -c -o
jive_timer.lo `test -f 'src/ui/jive_timer.c' || echo
'$(srcdir)/'`src/ui/jive_timer.c; \
-...@am__fastdepcc_true@ then mv -f "$(DEPDIR)/jive_timer.Tpo"
"$(DEPDIR)/jive_timer.Plo"; else rm -f "$(DEPDIR)/jive_timer.Tpo"; exit 1; fi
-...@amdep_true@@am__fastdepCC_FALSE@ source='src/ui/jive_timer.c'
object='jive_timer.lo' libtool=yes @AMDEPBACKSLASH@
-...@amdep_true@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE)
$(depcomp) @AMDEPBACKSLASH@
-...@am__fastdepcc_false@ $(LIBTOOL) --tag=CC --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
$(CFLAGS) -c -o jive_timer.lo `test -f 'src/ui/jive_timer.c' || echo
'$(srcdir)/'`src/ui/jive_timer.c
jive_utils.lo: src/ui/jive_utils.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS)
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
$(CFLAGS) -MT jive_utils.lo -MD -MP -MF "$(DEPDIR)/jive_utils.Tpo" -c -o
jive_utils.lo `test -f 'src/ui/jive_utils.c' || echo
'$(srcdir)/'`src/ui/jive_utils.c; \
Modified:
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
---
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
(original)
+++
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
Mon Jan 12 15:09:50 2009
@@ -7,6 +7,7 @@
local string = require("string")
local hasDecode, Decode = pcall(require, "squeezeplay.decode")
+local hasSprivate, spprivate = pcall(require, "spprivate")
local Stream = require("squeezeplay.stream")
local SlimProto = require("jive.net.SlimProto")
@@ -80,6 +81,9 @@
end)
obj.timer:start()
+ if hasSprivate then
+ spprivate.initAudio(slimproto)
+ end
self.threshold = 0
self.tracksStarted = 0
@@ -270,8 +274,6 @@
function _streamConnect(self, serverIp, serverPort)
-
-log:warn("CONNECT TO ", serverIp)
self.stream = Stream:connect(serverIp, serverPort)
log:info("connect streambuf")
Modified:
7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Framework.lua
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Framework.lua?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Framework.lua
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Framework.lua
Mon Jan 12 15:09:50 2009
@@ -294,6 +294,7 @@
collectgarbage("step")
-- process ui event once per frame
+ Timer:_runTimer(now)
running = eventTask:resume()
-- when is the next frame due?
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Timer.lua
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Timer.lua?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Timer.lua
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/share/jive/ui/Timer.lua Mon
Jan 12 15:09:50 2009
@@ -26,15 +26,23 @@
-- stuff we use
-local _assert, string, tostring, type = _assert, string, tostring, type
+local _assert, ipairs, pcall, string, tostring, type = _assert, ipairs, pcall,
string, tostring, type
local oo = require("loop.base")
+local table = require("jive.utils.table")
+
+local Framework = require("jive.ui.Framework")
+
local debug = require("jive.utils.debug")
+local log = require("jive.utils.log").logger("ui")
-- our class
module(..., oo.class)
+
+-- sorted list of running timers
+local timers = {}
--[[
@@ -68,7 +76,10 @@
=cut
--]]
--- C implementation
+function start(self)
+ local now = Framework:getTicks()
+ self:_insertTimer(now + self.interval)
+end
--[[
@@ -80,7 +91,10 @@
=cut
--]]
--- C implementation
+function stop(self)
+ table.delete(timers, self)
+ self.expires = nil
+end
--[[
@@ -115,9 +129,10 @@
function setInterval(self, interval)
_assert(type(interval) == "number")
- self.interval = interval
- if self._timerData then
- self:restart()
+ if self.expires then
+ self:restart(interval)
+ else
+ self.interval = interval
end
end
@@ -131,9 +146,48 @@
=cut
--]]
function isRunning(self)
- return self._timerData ~= nil
-end
-
+ return self.expires ~= nil
+end
+
+
+-- insert the timer into timer queue
+function _insertTimer(self, expires)
+ if self.expires then
+ table.delete(timers, self)
+ end
+ self.expires = expires
+
+ for i, timer in ipairs(timers) do
+ if self.expires < timer.expires then
+ table.insert(timers, i, self)
+ return
+ end
+ end
+ table.insert(timers, self)
+end
+
+
+-- process timer queue
+function _runTimer(self, now)
+ if timers[1] and not timers[1].expires then
+ log:error("stopped timer in timer list")
+ debug.dump(timers)
+ end
+
+ while timers[1] and timers[1].expires <= now do
+ local timer = table.remove(timers, 1)
+
+ -- call back may modify the timer so update it first
+ if not timer.once then
+ timer:_insertTimer(timer.expires + timer.interval)
+ end
+
+ local status, err = pcall(timer.callback)
+ if not status then
+ log:warn("timer error: ", err)
+ end
+ end
+end
--[[
Modified:
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
---
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
(original)
+++
7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
Mon Jan 12 15:09:50 2009
@@ -49,7 +49,7 @@
#define ALSA_DEFAULT_DEVICE "default"
-#define ALSA_DEFAULT_BUFFER_TIME 500000
+#define ALSA_DEFAULT_BUFFER_TIME 30000
#define ALSA_DEFAULT_PERIOD_COUNT 3
@@ -223,6 +223,7 @@
static int pcm_open(struct decode_alsa *state) {
int err, dir;
+ unsigned int val;
snd_pcm_uframes_t size;
/* Close existing pcm (if any) */
@@ -278,27 +279,29 @@
}
/* set buffer and period times */
- if ((err = snd_pcm_hw_params_set_buffer_time_near(state->pcm,
state->hw_params, &state->buffer_time, &dir)) < 0) {
+ val = state->buffer_time;
+ if ((err = snd_pcm_hw_params_set_buffer_time_near(state->pcm,
state->hw_params, &val, &dir)) < 0) {
DEBUG_ERROR("Unable to set buffer time %s", snd_strerror(err));
return err;
}
- if ((err = snd_pcm_hw_params_set_periods_near(state->pcm,
state->hw_params, &state->period_count, &dir)) < 0) {
+ val = state->period_count;
+ if ((err = snd_pcm_hw_params_set_periods_near(state->pcm,
state->hw_params, &val, &dir)) < 0) {
DEBUG_ERROR("Unable to set period size %s", snd_strerror(err));
return err;
}
-
- if ((err = snd_pcm_hw_params_get_period_size(state->hw_params, &size,
&dir)) < 0) {
- DEBUG_ERROR("Unable to get period size: %s", snd_strerror(err));
- return err;
- }
- state->period_size = size;
/* set hardware parameters */
if ((err = snd_pcm_hw_params(state->pcm, state->hw_params)) < 0) {
DEBUG_ERROR("Unable to set hw params: %s", snd_strerror(err));
return err;
}
+
+ if ((err = snd_pcm_hw_params_get_period_size(state->hw_params, &size,
&dir)) < 0) {
+ DEBUG_ERROR("Unable to get period size: %s", snd_strerror(err));
+ return err;
+ }
+ state->period_size = size;
#ifdef RUNTIME_DEBUG
snd_pcm_dump(state->pcm, output);
@@ -411,7 +414,6 @@
}
else {
if ((err = snd_pcm_wait(state->pcm, 500)) < 0) {
- printf("err=%d\n", err);
if ((err = xrun_recovery(state, avail))
< 0) {
DEBUG_ERROR("PCM wait failed:
%s", snd_strerror(err));
}
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.c
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.c?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.c
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.c Mon
Jan 12 15:09:50 2009
@@ -9,6 +9,7 @@
#include "common.h"
#include "audio/fifo.h"
+#include "audio/streambuf.h"
#include "audio/decode/decode.h"
#include "audio/decode/decode_priv.h"
@@ -42,7 +43,8 @@
static u64_t streambuf_bytes_received = 0;
/* streambuf filter, used to parse metadata */
-static size_t (*streambuf_filter)(u8_t *buf, size_t min, size_t max, bool_t
*streaming);
+static streambuf_filter_t streambuf_filter;
+static streambuf_filter_t streambuf_next_filter;
/* shoutcast metadata state */
static u32_t icy_meta_interval;
@@ -249,13 +251,19 @@
size_t streambuf_read(u8_t *buf, size_t min, size_t max, bool_t *streaming) {
- size_t n;
+ ssize_t n;
fifo_lock(&streambuf_fifo);
if (streambuf_filter) {
/* filters are called with the streambuf locked */
n = streambuf_filter(buf, min, max, streaming);
+
+ if (n < 0) {
+ /* filter returned an error */
+ current_decoder_state |= DECODE_STATE_ERROR;
+ n = 0;
+ }
}
else {
n = streambuf_fast_read(buf, min, max, streaming);
@@ -267,7 +275,16 @@
}
-size_t streambuf_icy_filter(u8_t *buf, size_t min, size_t max, bool_t
*streaming) {
+void streambuf_set_filter(streambuf_filter_t filter) {
+ fifo_lock(&streambuf_fifo);
+
+ streambuf_next_filter = filter;
+
+ fifo_unlock(&streambuf_fifo);
+}
+
+
+ssize_t streambuf_icy_filter(u8_t *buf, size_t min, size_t max, bool_t
*streaming) {
size_t avail, r, n = 0;
/* streambuf is locked */
@@ -424,7 +441,8 @@
streambuf_clear_loop();
streambuf_bytes_received = 0;
- streambuf_filter = NULL;
+ streambuf_filter = streambuf_next_filter;
+ streambuf_next_filter = NULL;
return 1;
}
@@ -631,6 +649,7 @@
len -= n;
}
+ /*
if (shutdown(stream->fd, SHUT_WR) != 0) {
CLOSESOCKET(stream->fd);
@@ -638,6 +657,7 @@
lua_pushstring(L, strerror(SOCKETERROR));
return 2;
}
+ */
lua_pushboolean(L, TRUE);
return 1;
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.h
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.h?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.h
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/src/audio/streambuf.h Mon
Jan 12 15:09:50 2009
@@ -4,6 +4,9 @@
** This file is subject to the Logitech Public Source License Version 1.0.
Please see the LICENCE file for details.
*/
+
+/* streambuf filter, used to parse metadata */
+typedef ssize_t (*streambuf_filter_t)(u8_t *buf, size_t min, size_t max,
bool_t *streaming);
extern size_t streambuf_get_size(void);
@@ -40,6 +43,8 @@
extern ssize_t streambuf_feed_fd(int fd);
+extern void streambuf_set_filter(streambuf_filter_t filter);
+
extern int streambuf_readL(lua_State *L);
extern int luaopen_streambuf(lua_State *L);
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive.h
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive.h?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive.h (original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive.h Mon Jan 12
15:09:50 2009
@@ -148,9 +148,9 @@
enum {
- JIVE_USER_EVENT_TIMER = 0x00000001,
- JIVE_USER_EVENT_KEY_HOLD = 0x00000002,
- JIVE_USER_EVENT_MOUSE_HOLD = 0x00000003,
+ /* reserved: 0x00000001 */
+ /* reserved: 0x00000002 */
+ /* reserved: 0x00000003 */
JIVE_USER_EVENT_EVENT = 0x00000004,
};
@@ -406,8 +406,6 @@
JiveFont *jive_style_array_font(lua_State *L, int index, const char *array,
int n, const char *key);
Uint32 jive_style_array_color(lua_State *L, int index, const char *array, int
n, const char *key, Uint32 def, bool *is_set);
-void jive_timer_dispatch_event(lua_State *L, void *param);
-
/* lua functions */
int jiveL_get_background(lua_State *L);
@@ -502,9 +500,6 @@
int jiveL_style_color(lua_State *L);
int jiveL_style_font(lua_State *L);
-int jiveL_timer_add_timer(lua_State *L);
-int jiveL_timer_remove_timer(lua_State *L);
-
#define JIVEL_STACK_CHECK_BEGIN(L) { int _sc = lua_gettop((L));
#define JIVEL_STACK_CHECK_ASSERT(L) assert(_sc == lua_gettop((L)));
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_event.c
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_event.c?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_event.c
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_event.c Mon Jan
12 15:09:50 2009
@@ -276,6 +276,10 @@
lua_pushfstring(L, "KEY_HOLD code=%d", event->u.key.code);
break;
+ case JIVE_EVENT_CHAR_PRESS:
+ lua_pushfstring(L, "CHAR_PRESS code=%d", event->u.text.unicode);
+ break;
+
case JIVE_ACTION:
//todo: also show actionEventName - convert index to
actionEventName by calling Framework:getActionEventNameByIndex
lua_pushfstring(L, "ACTION actionIndex=%d",
event->u.action.index);
Modified: 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
URL:
http://svn.slimdevices.com/7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_framework.c?rev=3782&root=Jive&r1=3781&r2=3782&view=diff
==============================================================================
--- 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
(original)
+++ 7.4/branches/pango/squeezeplay/src/squeezeplay/src/ui/jive_framework.c Mon
Jan 12 15:09:50 2009
@@ -65,11 +65,12 @@
static JiveKey key_mask = 0;
-static SDL_TimerID key_timer = NULL;
-
-static SDL_TimerID mouse_timer = NULL;
-
-static SDL_TimerID pointer_timer = NULL;
+static Uint32 key_timeout = 0;
+
+static Uint32 mouse_timeout = 0;
+static Uint32 mouse_timeout_arg;
+
+static Uint32 pointer_timeout = 0;
static Uint16 mouse_origin_x, mouse_origin_y;
@@ -85,13 +86,14 @@
{ SDLK_AudioNext, JIVE_KEY_FWD },
{ SDLK_AudioRaiseVolume,JIVE_KEY_VOLUME_UP },
{ SDLK_AudioLowerVolume,JIVE_KEY_VOLUME_DOWN },
- { SDLK_PAGEUP, JIVE_KEY_PAGE_UP },
- { SDLK_PAGEDOWN, JIVE_KEY_PAGE_DOWN },
+ { SDLK_PAGEUP, JIVE_KEY_PAGE_UP },
+ { SDLK_PAGEDOWN, JIVE_KEY_PAGE_DOWN },
{ SDLK_UNKNOWN, JIVE_KEY_NONE },
};
static int process_event(lua_State *L, SDL_Event *event);
+static void process_timers(lua_State *L);
static int filter_events(const SDL_Event *event);
int jiveL_update_screen(lua_State *L);
@@ -140,7 +142,7 @@
SDL_putenv("SDL_NOMOUSE=1");
/* initialise SDL */
- if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0) {
+ if (SDL_Init(SDL_INIT_VIDEO) < 0) {
fprintf(stderr, "SDL_Init(V|T|A): %s\n", SDL_GetError());
SDL_Quit();
exit(-1);
@@ -289,6 +291,7 @@
}
/* process events */
+ process_timers(L);
while (SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_ALLEVENTS) > 0 ) {
r |= process_event(L, &event);
}
@@ -827,40 +830,6 @@
}
-static Uint32 keyhold_callback(Uint32 interval, void *param) {
- SDL_Event user_event;
- memset(&user_event, 0, sizeof(SDL_Event));
-
- user_event.type = SDL_USEREVENT;
- user_event.user.code = JIVE_USER_EVENT_KEY_HOLD;
- user_event.user.data1 = param;
-
- SDL_PushEvent(&user_event);
-
- return 0;
-}
-
-
-static Uint32 mousehold_callback(Uint32 interval, void *param) {
- SDL_Event user_event;
- memset(&user_event, 0, sizeof(SDL_Event));
-
- user_event.type = SDL_USEREVENT;
- user_event.user.code = JIVE_USER_EVENT_MOUSE_HOLD;
- user_event.user.data1 = param;
-
- SDL_PushEvent(&user_event);
-
- return 0;
-}
-
-static Uint32 pointer_callback(Uint32 interval, void *param) {
- SDL_ShowCursor(SDL_DISABLE);
-
- return 0;
-}
-
-
static int do_dispatch_event(lua_State *L, JiveEvent *jevent) {
int r;
@@ -880,9 +849,10 @@
static int process_event(lua_State *L, SDL_Event *event) {
JiveEvent jevent;
+ Uint32 now;
memset(&jevent, 0, sizeof(JiveEvent));
- jevent.ticks = SDL_GetTicks();
+ jevent.ticks = now = SDL_GetTicks();
switch (event->type) {
case SDL_QUIT:
@@ -921,16 +891,9 @@
if (event->type == SDL_MOUSEBUTTONDOWN) {
if (mouse_state == MOUSE_STATE_NONE) {
- unsigned int * param = malloc(sizeof(unsigned
int));
-
mouse_state = MOUSE_STATE_DOWN;
-
- if (mouse_timer) {
- SDL_RemoveTimer(mouse_timer);
- }
-
- *param = (event->button.y << 16) |
event->button.x;
- mouse_timer = SDL_AddTimer(HOLD_TIMEOUT,
&mousehold_callback, param);
+ mouse_timeout_arg = (event->button.y << 16) |
event->button.x;
+ mouse_timeout = now + HOLD_TIMEOUT;
mouse_origin_x = event->button.x;
mouse_origin_y = event->button.y;
@@ -952,11 +915,7 @@
jive_queue_event(&up);
}
- if (mouse_timer) {
- SDL_RemoveTimer(mouse_timer);
- mouse_timer = NULL;
- }
-
+ mouse_timeout = 0;
mouse_state = MOUSE_STATE_NONE;
}
break;
@@ -964,11 +923,10 @@
case SDL_MOUSEMOTION:
/* show mouse cursor */
- if (pointer_timer) {
- SDL_RemoveTimer(pointer_timer);
- }
- SDL_ShowCursor(SDL_ENABLE);
- SDL_AddTimer(POINTER_TIMEOUT, &pointer_callback, NULL);
+ if (pointer_timeout == 0) {
+ SDL_ShowCursor(SDL_ENABLE);
+ }
+ pointer_timeout = now + POINTER_TIMEOUT;
if (event->motion.state & SDL_BUTTON(1)) {
if ( ( (mouse_state == MOUSE_STATE_DOWN || mouse_state
== MOUSE_STATE_SENT)
@@ -1015,37 +973,26 @@
if (entry->keysym == SDLK_UNKNOWN) {
// handle regular character keys ('a', 't', etc..)
if (event->type == SDL_KEYDOWN &&
event->key.keysym.unicode != 0) {
- JiveEvent textEvent;
-
- memset(&textEvent, 0, sizeof(JiveEvent));
- textEvent.type = JIVE_EVENT_CHAR_PRESS;
- textEvent.ticks = SDL_GetTicks();
+ jevent.type = JIVE_EVENT_CHAR_PRESS;
if (event->key.keysym.sym == SDLK_BACKSPACE) {
//special case for Backspace, where
value set is not ascii value, instead pass backspace ascii value
- textEvent.u.text.unicode = 8;
+ jevent.u.text.unicode = 8;
} else {
- textEvent.u.text.unicode =
event->key.keysym.unicode;
+ jevent.u.text.unicode =
event->key.keysym.unicode;
}
- jive_queue_event(&textEvent);
- }
- return 0;
+ }
}
/* handle pgup/upgn as repeatable keys */
- if (entry->keysym == SDLK_PAGEUP || entry->keysym ==
SDLK_PAGEDOWN) {
+ else if (entry->keysym == SDLK_PAGEUP || entry->keysym ==
SDLK_PAGEDOWN) {
if (event->type == SDL_KEYDOWN) {
- JiveEvent keypress;
-
- memset(&keypress, 0, sizeof(JiveEvent));
- keypress.type = JIVE_EVENT_KEY_PRESS;
- keypress.ticks = SDL_GetTicks();
- keypress.u.key.code = entry->keycode;
- jive_queue_event(&keypress);
- }
- return 0;
+ jevent.type = JIVE_EVENT_KEY_PRESS;
+ jevent.ticks = SDL_GetTicks();
+ jevent.u.key.code = entry->keycode;
+ }
}
- if (event->type == SDL_KEYDOWN) {
+ else if (event->type == SDL_KEYDOWN) {
if (key_mask & entry->keycode) {
// ignore key repeats
return 0;
@@ -1065,11 +1012,7 @@
jevent.type = JIVE_EVENT_KEY_DOWN;
jevent.u.key.code = entry->keycode;
- if (key_timer) {
- SDL_RemoveTimer(key_timer);
- }
-
- key_timer = SDL_AddTimer(HOLD_TIMEOUT,
&keyhold_callback, (void *)key_mask);
+ key_timeout = now + HOLD_TIMEOUT;
break;
}
@@ -1116,11 +1059,7 @@
}
}
- if (key_timer) {
- SDL_RemoveTimer(key_timer);
- key_timer = NULL;
- }
-
+ key_timeout = 0;
key_mask &= ~(entry->keycode);
if (key_mask == 0) {
key_state = KEY_STATE_NONE;
@@ -1130,34 +1069,10 @@
}
case SDL_USEREVENT:
- switch ( (int) event->user.code) {
- case JIVE_USER_EVENT_TIMER:
- JIVEL_STACK_CHECK_BEGIN(L);
- jive_timer_dispatch_event(L, event->user.data1);
- JIVEL_STACK_CHECK_END(L);
- return 0;
-
- case JIVE_USER_EVENT_KEY_HOLD:
- jevent.type = JIVE_EVENT_KEY_HOLD;
- jevent.u.key.code = (JiveKey) event->user.data1;
- key_state = KEY_STATE_SENT;
- break;
-
- case JIVE_USER_EVENT_MOUSE_HOLD:
- if (mouse_state == MOUSE_STATE_DOWN) {
- jevent.type = JIVE_EVENT_MOUSE_HOLD;
- jevent.u.mouse.x = *((unsigned int *)
event->user.data1) & 0xFFFF;
- jevent.u.mouse.y = ( *((unsigned int *)
event->user.data1) >> 16) & 0xFFFF;
- mouse_state = MOUSE_STATE_SENT;
- free(event->user.data1);
- }
- break;
-
- case JIVE_USER_EVENT_EVENT:
- memcpy(&jevent, event->user.data1, sizeof(JiveEvent));
- free(event->user.data1);
- break;
- }
+ assert(event->user.code == JIVE_USER_EVENT_EVENT);
+
+ memcpy(&jevent, event->user.data1, sizeof(JiveEvent));
+ free(event->user.data1);
break;
case SDL_VIDEORESIZE: {
@@ -1198,6 +1113,42 @@
}
return do_dispatch_event(L, &jevent);
+}
+
+
+static void process_timers(lua_State *L) {
+ JiveEvent jevent;
+ Uint32 now;
+
+ memset(&jevent, 0, sizeof(JiveEvent));
+ jevent.ticks = now = SDL_GetTicks();
+
+ if (pointer_timeout && pointer_timeout < now) {
+ SDL_ShowCursor(SDL_DISABLE);
+ pointer_timeout = 0;
+ }
+
+ if (mouse_timeout && mouse_timeout < now) {
+ if (mouse_state == MOUSE_STATE_DOWN) {
+ jevent.type = JIVE_EVENT_MOUSE_HOLD;
+ jevent.u.mouse.x = (mouse_timeout_arg >> 0) & 0xFFFF;
+ jevent.u.mouse.y = (mouse_timeout_arg >> 16) & 0xFFFF;
+ mouse_state = MOUSE_STATE_SENT;
+
+ do_dispatch_event(L, &jevent);
+ }
+ mouse_timeout = 0;
+ }
+
+ if (key_timeout && key_timeout < now) {
+ jevent.type = JIVE_EVENT_KEY_HOLD;
+ jevent.u.key.code = key_mask;
+ key_state = KEY_STATE_SENT;
+
+ do_dispatch_event(L, &jevent);
+
+ key_timeout = 0;
+ }
}
@@ -1319,12 +1270,6 @@
{ NULL, NULL }
};
-static const struct luaL_Reg timer_methods[] = {
- { "start", jiveL_timer_add_timer },
- { "stop", jiveL_timer_remove_timer },
- { NULL, NULL }
-};
-
static const struct luaL_Reg event_methods[] = {
{ "new", jiveL_event_new },
{ "getType", jiveL_event_get_type },
@@ -1411,10 +1356,6 @@
luaL_register(L, NULL, slider_methods);
lua_pop(L, 1);
- lua_getfield(L, 2, "Timer");
- luaL_register(L, NULL, timer_methods);
- lua_pop(L, 1);
-
lua_getfield(L, 2, "Event");
luaL_register(L, NULL, event_methods);
lua_pop(L, 1);
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins