Commit Graph

36 Commits

Author SHA1 Message Date
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Ivan Furs 97f79344da ecore_audio: fix using undefined macros
Summary: @T6154

Reviewers: vtorri, cedric, NikaWhite, raster

Subscribers: artem.popov, vtorri, jenkins, cedric, jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D5310

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-13 10:27:48 -08:00
Cedric BAIL 53c548a97e Revert "Revert "ecore_audio: a minimal template for playing sound on WINDOWS is added""
This reverts commit 4457f8c9c8.
2017-12-13 10:27:48 -08:00
Carsten Haitzler 4457f8c9c8 Revert "ecore_audio: a minimal template for playing sound on WINDOWS is added"
This reverts commit 7a98f617e9.

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-07 19:09:53 +09:00
Ivan Furs 7a98f617e9 ecore_audio: a minimal template for playing sound on WINDOWS is added
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: https://phab.enlightenment.org/D5029

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-10-03 11:36:49 -07:00
Carsten Haitzler 8f67f2f2d3 ecore_audio headers conflict with app have ifdefs
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
2017-07-22 17:59:11 +09:00
Myoungwoon Roy, Kim 01931c4676 doxygen: Fix typos & invalid statements in ecore
This covers ecore audio, avahi, buffer and con.

Summary: There are some typos and cacologigue statements in
doxygen of ecore_audio, ecore_avahi, ecore_buffer, and ecore_con.

Test Plan: API Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho

Subscribers: jpeg, conr2d

Differential Revision: https://phab.enlightenment.org/D4652
2017-02-13 19:54:29 +09:00
Cedric Bail ca766aa4c5 ecore_audio: deprecating enum is apparently not supported in every version of gcc. 2016-10-30 15:49:54 -07:00
Jean Guyomarc'h 403b0ecfa6
ecore_audio: drop support for CoreAudio on macOS
CoreAudio support was initially introduced by commit
62e29b39f4 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-10-29 23:01:38 +02:00
Tom Hacohen fdd2f2b6d7 Ecore audio: Fix Eolian warnings.
This includes either migrating types to eolian, fixing namespace or
importing extra types.
2016-02-16 15:17:30 +00:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Jean Guyomarc'h 62e29b39f4 ecore_audio: integrate Apple's CoreAudio to play sounds on OS X.
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: https://phab.enlightenment.org/D2295

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Bryce Harrington 27920d31c1 Spelling fixes
Summary:
emmited  ==> emitted
resistence  ==> resistance
occured  ==> occurred

Reviewers: cedric, zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2192
2015-03-18 21:38:33 -04:00
Adrien Nader d22917626c ecore_audio: add @brief doc for struct Ecore_Audio_Vio.
It's simply a copy of the one given in the following typedef:
  typedef struct _Ecore_Audio_Vio Ecore_Audio_Vio;
2014-10-20 18:28:19 +02:00
Rafael Antognolli b9836fbc07 Revert "ecore_audio: Add alsa support"
This reverts commit 4db03f700c.
2013-05-03 17:44:07 -03:00
Rafael Antognolli 70e882cefb Revert "ecore_audio: Remove old structs that we don't need anymore"
This reverts commit 96d9869684.
2013-05-03 17:44:01 -03:00
Daniel Willmann 96d9869684 ecore_audio: Remove old structs that we don't need anymore
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Willmann 4db03f700c ecore_audio: Add alsa support
This is not well tested and thus disabled by default

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Willmann 37c400eb6b ecore_audio: Document the remaining in-/outputs
Also remove the Classes section from the Ecore_Audio_Group, we don't
need it as the pages are linked automatically

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 18:20:12 +01:00
Daniel Willmann f8c7f96e05 ecore_audio: Add documentation for ecore_audio_obj_out
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:45:15 +01:00
Daniel Willmann a101ad2867 ecore_audio: Add documentation for ecore_audio_obj_in
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:41:54 +01:00
Daniel Willmann c249dc8cee ecore_audio: Update documentation and document ecore_audio_obj
Remove old unused function declarations

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:36:19 +01:00
Daniel Willmann e89153a21d ecore_audio: Implement virtual IO for generic input
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:15:39 +01:00
Daniel Willmann 7255656738 ecore_audio: Add pulseaudio output for eo
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:14:32 +01:00
Daniel Willmann e865d5b0a4 ecore_audio: Add tone input class
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:14:32 +01:00
Daniel Willmann bd948a81a4 ecore_audio: Add new methods to ecore_audio objects
obj_format_get/set
obj_in_looped_get/set
obj_in_length_get
Change signature of seek

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 1dab08a39e ecore_audio: Clean up the headers
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 48b78234a8 ecore_audio: Build Eo-based Ecore_Audio and tests now
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Daniel Willmann 4d318ba913 ecore_audio: Implement speed get/set functions
You can now change the playback speed of an input

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-02 16:26:47 +01:00
Daniel Willmann 75aa9118d0 ecore_audio: Rename ecore_audio_*_userdata_{get,set} userdata -> data
As mentioned by Cedric *_data_set is used in other places of EFL
already.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-02 16:21:44 +01:00
Jonas M. Gastal e3ae81e65f efl: Created Ecore group and added existing Ecore groups to it.
SVN revision: 81293
2012-12-18 18:38:44 +00:00
Daniel Willmann 15ec12fabc efl: Add ChangeLog, NEWS and @since for ecore_audio
Vtorri is right of course.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 81268
2012-12-18 15:51:47 +00:00
Daniel Willmann d49fe90b18 ecore_audio: Add support for adding a custom callback
Very hackish implementation and probably not needed as libsndfile
virtual IO can be used instead, though it's a little more complicated

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80998
2012-12-14 23:38:18 +00:00
Daniel Willmann 94ccfd45e8 ecore_audio: Add support for simple tone output
Just plays a sine wave of set frequency and duration

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80997
2012-12-14 23:38:14 +00:00
Daniel Willmann 8c96a841e4 ecore_audio: Add support for libsndfile
Allows reading from and writing to wav, ogg, etc. files. Support for
virtual IO as well to allow playing sounds from eet, which will be
needed in edje multisense.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80996
2012-12-14 23:38:11 +00:00
Daniel Willmann 318a88b61f efl: Introducing ecore_audio - the audio API for efl
This is still very much a work in progress, so expect some issues. The
signalling is using ecore events for now - that will change to callbacks
you can register callbacks for events on specific Ecore_Audio_Objects.
EO wasn't there when Ecore_Audio started, but it will probably move to
that in the future.

Otherwise have fun, don't break it (too much) and please send bug
reports and feedback to me.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 80994
2012-12-14 23:38:01 +00:00