Re: x11/enlightenment (e16) sndio backend
On Wed, Nov 28, 2012 at 01:15:41PM +0100, Jonathan Armani wrote: > Hi, > > Diff that implement an sndio backend to e16 > Lightly tested and sounds still works, can a daily e16 user confirm it ? > > With input from brad@, thanks ! fwiw sndio specific bits look ok and a quick e16 test proves it manages to plays sounds. ok ratchov@ -- Alexandre
Re: x11/enlightenment (e16) sndio backend
On Wed, 28 Nov 2012 13:15:41 +0100 Jonathan Armani wrote: > Hi, > > Diff that implement an sndio backend to e16 > Lightly tested and sounds still works, can a daily e16 user confirm it ? > > With input from brad@, thanks ! just adding some WANTLIB and distinfo on top of your diff. no problems otherwise. thanks ? enlight.diff Index: Makefile === RCS file: /cvs/ports/x11/enlightenment/Makefile,v retrieving revision 1.60 diff -u -p -r1.60 Makefile --- Makefile1 Sep 2012 14:36:58 - 1.60 +++ Makefile28 Nov 2012 20:14:05 - @@ -7,7 +7,7 @@ DISTNAME= e16-$V PKGNAME= enlightenment-$V DOCS= e16-docs-0.16.8.0.2 THEMES=e16-themes-1.0.1 -REVISION= 0 +REVISION= 1 CATEGORIES=x11 @@ -22,10 +22,10 @@ PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes WANTLIB += ICE Imlib2 SM X11 Xcomposite Xdamage Xext Xfixes Xft -WANTLIB += Xinerama Xrandr Xrender audiofile c esd expat ffi fontconfig +WANTLIB += Xinerama Xrandr Xrender audiofile c expat ffi fontconfig WANTLIB += freetype glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 -WANTLIB += m pango-1.0 pangoft2-1.0 pangoxft-1.0 pcre pthread -WANTLIB += sndio xcb z +WANTLIB += harfbuzz icudata icule icuuc m pango-1.0 pangoft2-1.0 +WANTLIB += pangoxft-1.0 pcre pthread sndio xcb z MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=enlightenment/} @@ -34,10 +34,16 @@ DISTFILES= ${DISTNAME}.tar.gz \ ${THEMES}.tar.gz MODULES= devel/gettext -LIB_DEPENDS= audio/esound \ - graphics/imlib2 \ - devel/glib2 \ - devel/pango + +AUTOCONF_VERSION= 2.65 +AUTOMAKE_VERSION= 1.11 +BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \ + ${MODGNU_AUTOMAKE_DEPENDS} + +LIB_DEPENDS= devel/glib2 \ + devel/libaudiofile \ + devel/pango \ + graphics/imlib2 RUN_DEPENDS= devel/desktop-file-utils @@ -47,8 +53,22 @@ USE_GMAKE= Yes USE_LIBTOOL= Yes CONFIGURE_STYLE= gnu +CONFIGURE_ARGS+= --disable-sound_esound CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" + +post-extract: + cp -f ${FILESDIR}/sound_sndio.c ${WRKSRC}/src + +pre-configure: + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} aclocal -I m4 + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoconf + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoheader + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} automake post-configure: @cd ${WRKDIR}/${DOCS} && ${SETENV} ${CONFIGURE_ENV} \ Index: distinfo === RCS file: /cvs/ports/x11/enlightenment/distinfo,v retrieving revision 1.9 diff -u -p -r1.9 distinfo --- distinfo29 Sep 2011 20:04:44 - 1.9 +++ distinfo28 Nov 2012 20:14:05 - @@ -1,12 +1,3 @@ -MD5 (e16-1.0.9.tar.gz) = rYUEQ2bv5ky2f0qOSaN/hA== -MD5 (e16-docs-0.16.8.0.2.tar.gz) = Rrzcxc2tdhWZI2cc/OqT+Q== -MD5 (e16-themes-1.0.1.tar.gz) = u9nP2WlhDCnHYnwroc4wlA== -RMD160 (e16-1.0.9.tar.gz) = fArKZHFdlTH+nEqn5mOjxGR0a3M= -RMD160 (e16-docs-0.16.8.0.2.tar.gz) = JG+fxW/WnNFItRj2sxdlVC5ig6c= -RMD160 (e16-themes-1.0.1.tar.gz) = GcWaZ5wFt4+8/zQllnIOSWV+Puo= -SHA1 (e16-1.0.9.tar.gz) = l5KQkLXWb6KAZ7IbF/SM7eofgbs= -SHA1 (e16-docs-0.16.8.0.2.tar.gz) = dznXT6yb88j1/jhYyJdFBImSCi4= -SHA1 (e16-themes-1.0.1.tar.gz) = rjTi3xKUGYeVc2v5U79pWrqTtxA= SHA256 (e16-1.0.9.tar.gz) = 1DWECkpCnLIvJB14iegoJwYfbvXM2bvIcgr1He4FPSc= SHA256 (e16-docs-0.16.8.0.2.tar.gz) = uNjgyvRZMc5nL6UIipY2hVM6Zamoz+7hUjnZbzuRWT8= SHA256 (e16-themes-1.0.1.tar.gz) = M85IxdVlGuOl1WdD9od1zLdj661wMG669+FiWHlAyGU= Index: files/sound_sndio.c === RCS file: files/sound_sndio.c diff -N files/sound_sndio.c --- /dev/null 1 Jan 1970 00:00:00 - +++ files/sound_sndio.c 28 Nov 2012 20:14:05 - @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2012 Jonathan Armani + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIO
Re: x11/enlightenment (e16) sndio backend
On Wed, Nov 28, 2012 at 6:15 AM, Jonathan Armani wrote: > Hi, > > Diff that implement an sndio backend to e16 > Lightly tested and sounds still works, can a daily e16 user confirm it ? > > With input from brad@, thanks ! I will differ to ratchov@ for the diff. I haven't dived yet in the setup of sound on the OpenBSD machine. thanks > > Index: Makefile > === > RCS file: /cvs/ports/x11/enlightenment/Makefile,v > retrieving revision 1.60 > diff -u -p -r1.60 Makefile > --- Makefile1 Sep 2012 14:36:58 - 1.60 > +++ Makefile28 Nov 2012 09:28:02 - > @@ -7,7 +7,7 @@ DISTNAME= e16-$V > PKGNAME= enlightenment-$V > DOCS= e16-docs-0.16.8.0.2 > THEMES=e16-themes-1.0.1 > -REVISION= 0 > +REVISION= 1 > > CATEGORIES=x11 > > @@ -22,7 +22,7 @@ PERMIT_DISTFILES_CDROM= Yes > PERMIT_DISTFILES_FTP= Yes > > WANTLIB += ICE Imlib2 SM X11 Xcomposite Xdamage Xext Xfixes Xft > -WANTLIB += Xinerama Xrandr Xrender audiofile c esd expat ffi fontconfig > +WANTLIB += Xinerama Xrandr Xrender audiofile c expat ffi fontconfig > WANTLIB += freetype glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 > WANTLIB += m pango-1.0 pangoft2-1.0 pangoxft-1.0 pcre pthread > WANTLIB += sndio xcb z > @@ -34,10 +34,16 @@ DISTFILES= ${DISTNAME}.tar.gz \ > ${THEMES}.tar.gz > > MODULES= devel/gettext > -LIB_DEPENDS= audio/esound \ > - graphics/imlib2 \ > - devel/glib2 \ > - devel/pango > + > +AUTOCONF_VERSION= 2.65 > +AUTOMAKE_VERSION= 1.11 > +BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \ > + ${MODGNU_AUTOMAKE_DEPENDS} > + > +LIB_DEPENDS= devel/glib2 \ > + devel/libaudiofile \ > + devel/pango \ > + graphics/imlib2 > > RUN_DEPENDS= devel/desktop-file-utils > > @@ -47,8 +53,22 @@ USE_GMAKE= Yes > USE_LIBTOOL= Yes > > CONFIGURE_STYLE= gnu > +CONFIGURE_ARGS+= --disable-sound_esound > CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ > LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" > + > +post-extract: > + cp -f ${FILESDIR}/sound_sndio.c ${WRKSRC}/src > + > +pre-configure: > + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ > + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} aclocal -I m4 > + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ > + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoconf > + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ > + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoheader > + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ > + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} automake > > post-configure: > @cd ${WRKDIR}/${DOCS} && ${SETENV} ${CONFIGURE_ENV} \ > Index: files/sound_sndio.c > === > RCS file: files/sound_sndio.c > diff -N files/sound_sndio.c > --- /dev/null 1 Jan 1970 00:00:00 - > +++ files/sound_sndio.c 28 Nov 2012 09:28:02 - > @@ -0,0 +1,121 @@ > +/* > + * Copyright (c) 2012 Jonathan Armani > + * > + * Permission to use, copy, modify, and distribute this software for any > + * purpose with or without fee is hereby granted, provided that the above > + * copyright notice and this permission notice appear in all copies. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES > + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF > + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR > + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN > + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF > + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > + */ > + > +#include "E.h" > +#if defined(HAVE_SOUND) && defined(HAVE_SOUND_SNDIO) > +#include "sound.h" > +#include > + > +#ifdef USE_MODULES > +#define Estrdup strdup > +#endif > + > +struct _sample { > + SoundSampleData ssd; > +}; > + > +static struct sio_hdl * hdl; > + > +static Sample * > +_sound_sndio_Load(const char *file) > +{ > + Sample *s; > + int err; > + > + if (hdl == NULL) > + return NULL; > + > + s = ECALLOC(Sample, 1); > + if (!s) > + return NULL; > + > + err = SoundSampleGetData(file, &s->ssd); > + if (err) > + { > + Efree(s); > + return NULL; > + } > + > + return s; > +} > + > +static void > +_sound_sndio_Destroy(Sample * s) > +{ > + if (!s) > + return; > + > + _EFREE(s->ssd.data); > + Efree(s); > +} > + > +static void > +_sound_sndio_Play(Sample * s) > +{ > + struct sio_par params; > + if (hdl == NULL || !s) > + return; > + > + sio_initpar(¶ms); > + params
x11/enlightenment (e16) sndio backend
Hi, Diff that implement an sndio backend to e16 Lightly tested and sounds still works, can a daily e16 user confirm it ? With input from brad@, thanks ! Index: Makefile === RCS file: /cvs/ports/x11/enlightenment/Makefile,v retrieving revision 1.60 diff -u -p -r1.60 Makefile --- Makefile1 Sep 2012 14:36:58 - 1.60 +++ Makefile28 Nov 2012 09:28:02 - @@ -7,7 +7,7 @@ DISTNAME= e16-$V PKGNAME= enlightenment-$V DOCS= e16-docs-0.16.8.0.2 THEMES=e16-themes-1.0.1 -REVISION= 0 +REVISION= 1 CATEGORIES=x11 @@ -22,7 +22,7 @@ PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes WANTLIB += ICE Imlib2 SM X11 Xcomposite Xdamage Xext Xfixes Xft -WANTLIB += Xinerama Xrandr Xrender audiofile c esd expat ffi fontconfig +WANTLIB += Xinerama Xrandr Xrender audiofile c expat ffi fontconfig WANTLIB += freetype glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 WANTLIB += m pango-1.0 pangoft2-1.0 pangoxft-1.0 pcre pthread WANTLIB += sndio xcb z @@ -34,10 +34,16 @@ DISTFILES= ${DISTNAME}.tar.gz \ ${THEMES}.tar.gz MODULES= devel/gettext -LIB_DEPENDS= audio/esound \ - graphics/imlib2 \ - devel/glib2 \ - devel/pango + +AUTOCONF_VERSION= 2.65 +AUTOMAKE_VERSION= 1.11 +BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS} \ + ${MODGNU_AUTOMAKE_DEPENDS} + +LIB_DEPENDS= devel/glib2 \ + devel/libaudiofile \ + devel/pango \ + graphics/imlib2 RUN_DEPENDS= devel/desktop-file-utils @@ -47,8 +53,22 @@ USE_GMAKE= Yes USE_LIBTOOL= Yes CONFIGURE_STYLE= gnu +CONFIGURE_ARGS+= --disable-sound_esound CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" + +post-extract: + cp -f ${FILESDIR}/sound_sndio.c ${WRKSRC}/src + +pre-configure: + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} aclocal -I m4 + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoconf + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} autoheader + cd ${WRKSRC} && env AUTOCONF_VERSION=${AUTOCONF_VERSION} \ + AUTOMAKE_VERSION=${AUTOMAKE_VERSION} automake post-configure: @cd ${WRKDIR}/${DOCS} && ${SETENV} ${CONFIGURE_ENV} \ Index: files/sound_sndio.c === RCS file: files/sound_sndio.c diff -N files/sound_sndio.c --- /dev/null 1 Jan 1970 00:00:00 - +++ files/sound_sndio.c 28 Nov 2012 09:28:02 - @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2012 Jonathan Armani + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "E.h" +#if defined(HAVE_SOUND) && defined(HAVE_SOUND_SNDIO) +#include "sound.h" +#include + +#ifdef USE_MODULES +#define Estrdup strdup +#endif + +struct _sample { + SoundSampleData ssd; +}; + +static struct sio_hdl * hdl; + +static Sample * +_sound_sndio_Load(const char *file) +{ + Sample *s; + int err; + + if (hdl == NULL) + return NULL; + + s = ECALLOC(Sample, 1); + if (!s) + return NULL; + + err = SoundSampleGetData(file, &s->ssd); + if (err) + { + Efree(s); + return NULL; + } + + return s; +} + +static void +_sound_sndio_Destroy(Sample * s) +{ + if (!s) + return; + + _EFREE(s->ssd.data); + Efree(s); +} + +static void +_sound_sndio_Play(Sample * s) +{ + struct sio_par params; + if (hdl == NULL || !s) + return; + + sio_initpar(¶ms); + params.bits = s->ssd.bit_per_sample; + params.pchan = s->ssd.channels; + params.rate = s->ssd.rate; + + if (!sio_setpar(hdl, ¶ms)) + return; + if (!sio_getpar(hdl, ¶ms)) + return; + if (params.bits != s->ssd.bit_per_sample || + params.pchan != s->ssd.channels || +params.rate != s->ssd.rate) + return; + + if (!sio_start(hdl)) + return; + + sio_write(hdl, s->ssd.data, s->ssd.size); + sio_stop(hdl); +} + +static int +