path: root/src/ (follow)
AgeCommit message (Collapse)Author
2017-10-07Revert "ecore_audio: a minimal template for playing sound on WINDOWS is added"Carsten Haitzler (Rasterman)
This reverts commit 7a98f617e94ef42787e06e685a8d5e7be34fff21. this commit breaks compiling things against efl badly. i'm on holiday and haver only a mini screen and keyboard wwith me so any serious wok in hunting these issues isn't going to be fun or easy. as this causes bad build brreaks this is worth a revert IMHO. please re-submit wwhen you've tested against efl by building things against it. also our public headers just should not have such ifdefs/if's that change api presented based on how efl is cnfigured. we expose the same api and macros and types regardless of internal config.
2017-10-03ecore_audio: a minimal template for playing sound on WINDOWS is addedIvan Furs
Summary: Realization of audio data playback through WASAPI (Windows Audio Session API).(minimal) WASAPI model: 1. Find a playback device (in the default system) 2. Register the client on the playback device. 3. Create a playback format for audio data. 4. Initialize the client with the created format, and access mode, .... 5. Take the object-rendering from the client for play the data stream. 6. Play data stream ecore_audio model: 1. create a object for play the data stream(out object) 2. create a object to receive the data stream(in object) 3. register in the out-object the in-object 4. play data stream Necessary: Realize the ecore_audio object to play the data stream using the WASAPI model. How implemented: 1. The object ecore_audio_out_wasapi is implemented 2. object ecore_audio_out_wasapi - the object constructor is find a playback device (in the default system)(WASAPI) 3. _ecore_audio_out_wasapi_ecore_audio_out_input_attach - register in the out-object the in-object    3.1 Register the client on the playback device.(WASAPI)    3.2 Create a playback format for audio data.(WASAPI)    3.3 Initialize the client with the created format, and access mode, ....(WASAPI) 4. _write_cb - play data    4.1 Take the object-rendering from the client for play the data stream.(WASAPI)    4.2 Play data stream(WASAPI) Reviewers: cedric, vtorri, raster, an.kroitor, NikaWhite, FurryMyad, rimmed, t.naumenko, Jaehyun, bowonryu Reviewed By: vtorri, NikaWhite Subscribers: artem.popov, cedric, jpeg Tags: #windows Differential Revision: Signed-off-by: Cedric BAIL <>
2017-07-22ecore_audio headers conflict with app have ifdefsCarsten Haitzler (Rasterman)
Ecore_Audio.h had #ifdef HAVE_PULSE ... and that is just so wrong as this is something an ap[p may or may not set in its config.h ... but this certainly hase no place in our public headers. the api's there should always be there... symbols always... just imtplementation may be empty ... though ecore_audio doesnt build at all without pulse... so it's moot. so fix this build issue i found when fixing e build issues with meson changes etc. @fix
2016-10-29ecore_audio: drop support for CoreAudio on macOSJean Guyomarc'h
CoreAudio support was initially introduced by commit 62e29b39f4df40fd3c0a6b17f7a16f0f8fc1d0c9 as an experimental feature. It played basic sounds, but suffered from drawbacks: it was controlling the master channel, and therefore any sound played by ecore_audio would shut down a previous sound (e.g. background music) for the time of the sound being played. So that wasn't exactly great... Also, after some time, some hangs have been reported when playing a sound on input. Most of the time, it translated as a pause in the main loop (see T3797). More recently (several months ago), ecore_audio with CoreAudio stopped working during 1.19 development... So... CoreAudio support on macOS has never been great. And now it's fully broken. Instead of trying to revive the thing, let just use PulseAudio. PulseAudio can be installed without any trouble on macOS thanks to package managers such as Homebrew. Actually, the efl package provided by Homebrew already provides PulseAudio as a dependency. And it actually just works very fine. Dropping CoreAudio seems therefore a nice option: removes unmaintained code, fixes bugs, and add features.
2016-09-04ecore_audio: fix distribution of eolian filesJean Guyomarc'h
When a 'make dist' is executed on a repository that does not have CoreAudio support, eolian files required for CoreAudio compilation will not be distributed, making the source distribution incompatible where CoreAudio is required. There is the same potential issue for pulseaudio, but as it is a basic requirement, it is likely to always have been distributed because the distribution was always created from a base which enabled pulseaudio. This allows to produce on Linux a sources tarball usable on Mac OS X. @fix
2016-08-01ecore_audio - save 232k of real RAM by dlopening depedneciesCarsten Haitzler (Rasterman)
so libpuls and libsndfile suck in dependencies. they suck in so much that by the time linking is done we've written to about 230kb of PRIVATE MEMORY as dirty pages in symbol tablesm global veriables etc. etc. - this is just horrible. especially if an app never makes any sound... it's just wasted memory. this stuff is invisible to normal memory debug tools. so this begins to address things. please see T4227. my numbers now put me at: 1780Kb total dirty writable mapped from library file pages. down from 2012Kb. This fixes some memory bloat reported in the above ticket, but there is more to fix for sure. @fix
2016-06-21build: clean generated js and lua files manually to avoid problems with ↵Stefan Schmidt
CLEANFILES We hit another argument too long error with CLEANFILES. Moving the generated files for js and lua into separated variables and cleaning them manually fixes the issue.
2016-06-10build: split EXTRA_DIST files in src/ off from DISTFILES and handle separatelyStefan Schmidt
This is again to avoid the "Argument list too long" error we are hitting more and more now. Given we just merged elementary, emotion generic players, evas generic loaders and elm_code it is not surprising we are hitting it again. This time the number of files being hold in DISTFILES has just grown to big so a make dist was no longer possible. If one looks at what the DISTFILES variable from automake holds you can image it grows a lot with all the source files plus generated files we have in tree now. DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) To cut off a big chunk but still keep all the other automagic in place for SOURCE files I went and renamed the EXTRA_DIST in src/ to EXTRA_DIST2 and handle the files in a dist-hook now. Another thing to note here is that this also only happens as we have the one big Makefile with includes. If we go back to per directory Makefiles this problem should vanish as well. In any case we need a solution for 1.18 now and this is what I have to offer. If you have a cleaner solution in mind feel welcome to test it out and if everything we need keeps working (make, make examples, make check, make benchmark, make dist and make distcheck) go ahead.
2016-05-23c++: Reorganized C++ binding generationFelipe Magno de Almeida
Moved all generation to a single file instead of throughout the whole project. And fixed C++ generation on Elementary after elm merge.
2016-03-31build: keep our CLEANFILES tidy to avoid argument list too long during cleanStefan Schmidt
We have been putting the generated eo files and BUILT_SOURCES into CLEANFILES several times. So far this have not been a real problem but with the elm merge and more and more eo files showing up this did explode recently. During make distcheck a lot of files kept being around and make complained about them. It took some digging to find the arguments list to long error. If you want details on this great limitation have a look here: In our case we have been lucky enough that we just appened many files over and over again. Not doing that solves the issue for now. My testing showed no problems but if I missed something let me know. Fixes T3386
2015-12-23efl-js: JavaScript Eolian bindingFelipe Magno de Almeida
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files $ configure --with-js=nodejs and compile normally with: $ make $ make install To use, you have to require efl: efl = require('efl') The bindings is divided in two parts: generated and manually written. The generation uses the Eolian library for parsing Eo files and generate C++ code that is compiled against V8 interpreter library to create a efl.node file that can be required in a node.js instance. @feature
2015-10-26ecore_audio: do not compile elua file if ecore_audio is disabledVincent Torri
@fix Signed-off-by: Cedric BAIL <>
2015-05-07ecore_audio: integrate Apple's CoreAudio to play sounds on OS X.Jean Guyomarc'h
Summary: Ecore_Audio now supports Apple's CoreAudio to play sounds read by libsndfile. edje_multisense integrates this new feature to enable PLAY_SAMPLE on OS X. Test Plan: Compiles, links and installs fine on OS X. Run terminology and elementary_test to hear sound played on user input. Reviewers: raster, naguirre, cedric Reviewed By: cedric Subscribers: plamot, cedric Differential Revision: Signed-off-by: Cedric BAIL <>
2014-10-06elua/autotools: generate .eo.lua files out of all eo files at build timeDaniel Kolesa
Also change the generator a bit so that it doesn't rely on lib name information and fix the runtime to properly source lua files within tree.
2014-10-02Build system: Clean up the generation of sources from eolian.Tom Hacohen
This cleans up a lot of the build system. This makes everything consistent, clean, less redundant and also fixes the issue of make clean not cleaning up generated files.
2014-04-02Eolian: Integration of Ecore Audio In ToneYossi Kantor
2014-04-02Eolian: Integration of Ecore Audio Out PulseYossi Kantor
2014-04-02Eolian: Integration of Ecore Audio Out SndfileYossi Kantor
2014-04-02Eolian: Integration of Ecore Audio In SndfileYossi Kantor
2014-04-02Eolian: Integration of Ecore Audio OutYossi Kantor
2014-04-02Eolian: Integration of Ecore Audio InYossi Kantor
2014-04-02Eolian: Integration of Ecore AudioYossi Kantor
2013-05-03Revert "ecore_audio: Add alsa support"Rafael Antognolli
This reverts commit 4db03f700cfaa8261db11a3a0c7162f0e7b71f0d.
2013-05-03ecore_audio: Add alsa supportDaniel Willmann
This is not well tested and thus disabled by default Signed-off-by: Daniel Willmann <>
2013-04-26ecore_audio: Move sndfile VIO into a file to access from in- and outputDaniel Willmann
The VIO wrapper functions are needed from the sndfile inputs and outputs so move them to a separate file and access from both. Signed-off-by: Daniel Willmann <>
2013-04-24add a global Efl_Config.h for everyone.Carsten Haitzler (Rasterman)
* ned to replicate changes in other files * need to replicate changes in other E*.h installed header files
2013-04-19ecore_audio: Make efl compile with PA disabled againDaniel Willmann
Now instead of having ifdefs in the .c files we just don't compile the ones we don't need. Much cleaner. Signed-off-by: Daniel Willmann <>
2013-04-18ecore_audio: Add pulseaudio output for eoDaniel Willmann
Signed-off-by: Daniel Willmann <>
2013-04-18ecore_audio: Add tone input classDaniel Willmann
Signed-off-by: Daniel Willmann <>
2013-04-18ecore_audio: Add sndfile in- and outputDaniel Willmann
Signed-off-by: Daniel Willmann <>
2013-04-18ecore_audio_obj_in: Implemented read and event sendingDaniel Willmann
A protected read function must now be implemented by the child class to perform the actual reading. Signals on playback loop and end are sent. Signed-off-by: Daniel Willmann <>
2013-04-18ecore_audio: Build Eo-based Ecore_Audio and tests nowDaniel Willmann
Signed-off-by: Daniel Willmann <>
2013-01-16each module install headers in their own directory.Gustavo Sverzut Barbieri
SVN revision: 82895
2013-01-14efl: simplify automake.Gustavo Sverzut Barbieri
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for the .la, use the EFL_ macros to generate the contents to be used in automake files. There is a nasty bit that libtool will parse Makefile*.am and will not get _DEPENDENCIES from _LIBADD and _LDADD if these are in @REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The contents of this is almost the same as _LIBADD or _LDADD with the "_INTERNAL_" replacement name. I hope the code will be result will be shorter and consistent as there is less places to change when we add/remove dependencies. Statistics are quite impressive (diffstat): {{{ 37 files changed, 663 insertions(+), 1599 deletions(-) }}} SVN revision: 82785
2013-01-04efl: fix make dist.Gustavo Sverzut Barbieri
Carefully compared 'svn export' and 'make dist' results and couple of files were missing. Changes: * removed all .pc from EXTRA_DIST, we shouldn't distribute them here as they will contain ./configure data such as install location. * src/ moved all if-endif to files, otherwise EXTRA_DIST won't work properly. We must EXTRA_DIST outside of the if-endif block. * static_libs/liblinebreak: removed couple of unused files. SVN revision: 82241
2012-12-31efl: refactor CFLAGS, LIBS, LIBADD and LDADD usage.Gustavo Sverzut Barbieri
- remove EFL_LIBS and EFL_CFLAGS, use per-lib values that inherit from EFL (general) - add NAME_LDFLAGS and EFL_LDFLAGS for linker flags. - LDADD (binaries) now use NAME_LDFLAGS instead of NAME_LIBS, as they link to and that will pull in the libtool dependencies SVN revision: 81915
2012-12-30efl: unify LDFLAGS for LTLIBRARIESGustavo Sverzut Barbieri
SVN revision: 81911
2012-12-30efl: move -lm to variables.Gustavo Sverzut Barbieri
EFL_ADD_LIBS() will add to requirements_libs_NAME and that will end into NAME_LIBS. SVN revision: 81910
2012-12-19cleaning: remove unneeded $(top_builddir)Vincent Torri
SVN revision: 81324
2012-12-18sorry vincent. i know you dont like thus, but with this commit eflCarsten Haitzler
tree simply is broken and doesnt compile. error here: ... src/ unterminated conditionals: HAVE_WINDOWS_TRUE src/ src/' included from here src/ unterminated conditionals: HAVE_WINDOWS_TRUE src/ installing ./depcomp' automake: #################### automake: ## Internal Error ## automake: #################### automake: undefined condition TRUE' for RECURSIVE_TARGETS' automake: RECURSIVE_TARGETS: automake: { automake: HAVE_WINDOWS => { automake: type: += automake: where: /usr/share/automake-1.11/am/ automake: comment: automake: value: dvi-recursive html-recursive info-recursive pdf-recursive ps-recursive \ automake: install-dvi-recursive \ automake: install-html-recursive \ automake: install-info-recursive \ automake: install-pdf-recursive \ automake: install-ps-recursive all-recursive check-recursive installcheck-recursive automake: owner: Automake automake: } automake: } automake: automake: Please contact <>. at /usr/share/automake-1.11/Automake/ line 657 Automake::Channels::msg('automake', '', 'undefined condition TRUE\' for RECURSIVE_TARGETS\'\x{a}RECURSIV...') called at /usr/share/automake-1.11/Automake/ line 208 Automake::ChannelDefs::prog_error('undefined condition TRUE\' for RECURSIVE_TARGETS\'\x{a}RECURSIV...') called at /usr/share/automake-1.11/Automake/ line 94 Automake::Item::rdef('Automake::Variable=HASH(0x38cbe20)', 'Automake::Condition=HASH(0x2832a48)') called at /usr/bin/automake line 4102 Automake::handle_subdirs() called at /usr/bin/automake line 8305 Automake::generate_makefile('src/', 'src/') called at /usr/bin/automake line 8602 Automake::handle_makefile('src/') called at /usr/bin/automake line 8616 Automake::handle_makefiles_serial() called at /usr/bin/automake line 8769 autoreconf: automake failed with exit status: 255 ... i looked at the HAVE_WINDOWS if's and it seems fine to me - i couldnt find what was missing, so i had to resort to a revert instead of fix :( sorry :( SVN revision: 81267
2012-12-18no need to search headers in builddirVincent Torri
SVN revision: 81258
2012-12-14efl: Add build system support for ecore_audioDaniel Willmann
Disabled by default, enable with --enable-audio ALSA support is disabled as it is not there yet. Pulseaudio should work though. Support for .ogg and .wav is there as well (.mp3 is not) Signed-off-by: Daniel Willmann <> SVN revision: 81000