Commit Graph

48 Commits

Author SHA1 Message Date
Jörg Müller
770b109deb Fix: AUD_OpenALDevice::getPosition returns negative values
Reported by Antony Riakiotakis. The problem was the seeking code.
2015-03-26 14:45:21 +13:00
Jörg Müller
b977cfd28b Fix T37293: trying to fix scrubbing not stopping playback 2014-03-10 12:34:08 +01:00
Joerg Mueller
1457924a21 Fix for [#37293] Audio does not Scrub, plays fully instead 2013-11-07 23:40:06 +00:00
Joerg Mueller
c8f75fb5b1 Adding a new state for sound handles in audaspace: stopped.
Now sounds that stopped playing but are still kept in the device can be differentiated from paused sounds with this state.
This should also fix the performance issues mentioned in [#36466] End of SequencerEntrys not set correctly.
Please test if sound pausing, resuming and stopping works fine in the BGE and sequencer, my tests all worked fine, but there might be a use case that needs some fixing.
2013-08-14 21:21:00 +00:00
Joerg Mueller
5a8d5f77af Audaspace:
Replacing AUD_Reference with boost::shared_ptr.
2012-11-05 14:24:35 +00:00
Joerg Mueller
b59290a835 Preparation to use boost::shared_ptr. 2012-11-03 09:49:49 +00:00
Joerg Mueller
73f5944ebc Audaspace:
OpenAL multichannel playback support fixed. This should fix bug [#31561] Audio only coming from Front Left in layout and bge.
2012-10-25 10:42:09 +00:00
Joerg Mueller
e66ee1ca9f Audaspace:
RAII locking implementation. This should fix bug [#32096] Background music stops when playing 3D sounds.
2012-10-24 21:33:44 +00:00
Campbell Barton
d724d0adfe code cleanup: quiet warnings for gcc's -Wundef, -Wmissing-declarations 2012-09-16 00:26:36 +00:00
Campbell Barton
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
Campbell Barton
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Joerg Mueller
02d2472baa 3D Audio GSoC:
Code documentation.

Also:
* Fix: rlint for MSVC.
* Minor other small fixes/changes.
2011-08-16 13:00:55 +00:00
Joerg Mueller
2d884fc035 3D Audio GSoC:
* Pepper depends on ffmpeg 0.7.1 or higher now, windows and mac build systems set to ffmpeg-0.8
* Fixed orientation retrieval in OpenAL device code.
* Added stopAll() method to AUD_IDevice (also for Python) and call it on BGE exit
* Changed BGE to use audaspace via native C++ instead over the C API.
* Made AUD_SequencerFactory and AUD_SequencerEntry thread safe.
* Changed sound caching into a flag which fixes problems on file loading, especially with undo.
* Removed unused parameter from sound_mute_scene_sound
* Fixed bug: changing FPS didn't update the sequencer sound positions.
* Fixed bug: Properties of sequencer strips weren't set correctly.
* Minor warning fixes.
2011-08-07 11:54:58 +00:00
Joerg Mueller
9077b8bffc 3D Audio GSoC:
Main: Complete rewrite of the sequencer related audio code to support 3D Audio objects later and especially adressing the animation system problems (see mailing list if interested).
Note: Animation is not working yet, so with this commit volume animation doesn't work anymore, that's the next step.

Minor things:
* Changed AUD_Reference behaviour a little to be more usage safe.
* Fixed bug in AUD_I3DHandle: Missing virtual destructor
* Fixed enmus in AUD_Space.h
* Fixed a warning in rna_scene.c
* Removed an unneeded call in rna_sound.c
2011-07-26 13:56:31 +00:00
Joerg Mueller
1193be6eaa 3D Audio GSoC:
* Reviewed and improved the linear resampler. Now it should work pretty good also for special cases that caused errors previously.
* Fixed a crash in the GE when a sound actuator doesn't have a sound assigned.
* Corrected the OpenAL device's threading code. This is a bugfix for #27913, thanks to Juha Mäki-Kanto for helping to resolve this.
2011-07-23 15:59:10 +00:00
Joerg Mueller
f12614234a 3D Audio GSoC:
* Fixed a warning in AUD_DoubleReader.cpp
* Removed some unneeded includes
* Fixed a bug resulting in a crash when stopping a sound
* Fixed a bug where a NaN resulted in a horrible memory error
* Fixed a typo bug which caused crackling in audio playback and export
* Added memory debugging code (ifdefed)
2011-07-13 12:16:45 +00:00
Joerg Mueller
208b69e3a7 3D Audio GSoC:
Software 3D Audio implementation.
2011-07-12 13:11:00 +00:00
Joerg Mueller
cc246eaca7 3D Audio GSoC:
- Fixes for MSVC compiling.
- Fix for ffmpeg audio export with timebase, which fixes vorbis encoding (the only codec using this).
2011-06-23 07:16:06 +00:00
Joerg Mueller
044887b5a4 3D Audio GSoC:
- Created Handle classes
- Changed Reference counting completely
- Fixing some streaming bugs
- Completely disabled OpenAL Buffered Factories (they were unused anyway)
2011-06-21 20:21:43 +00:00
Joerg Mueller
cc71dcc218 3D Audio GSoC:
Streaming improved.
2011-06-21 20:14:53 +00:00
Joerg Mueller
3d932ba496 3D Audio GSoC:
Buffer.assureSize - a function that should long have been there.
2011-06-21 20:13:27 +00:00
Joerg Mueller
d8974a60f6 3D Audio GSoC:
Changed Readers to top-down architecture instead of bottom-up.
2011-06-14 12:13:19 +00:00
Joerg Mueller
d1c542ce05 3D Audio GSoC:
Memory management improvements.
2011-06-03 23:28:57 +00:00
Nathan Letwory
45ed5f53f6 doxgyen: audaspace tagged. 2011-02-25 10:21:56 +00:00
Joerg Mueller
d36a89c8f4 Audaspace:
* Adding play method to the device classes to play back a reader (not used yet, preparation for a later feature).
* Using a linear resampler in case SRC is disabled.
2011-02-18 23:50:27 +00:00
Joerg Mueller
020c03bc05 Relicensing audaspace under GPL 2 or later. 2011-02-18 23:47:37 +00:00
Joerg Mueller
376e0ae2a3 Audio Bugfixes:
* [#25638] 'Insufficient thread locking' for sounds
  - Actually a workaround for an msvc bug, msvc STL containers are buggy
* [#25922] Sound does not play in BlenderPlayer(r34579)
  - Windows OpenAL doesn't seem to have clear context error state on initialising
2011-02-03 13:25:05 +00:00
Campbell Barton
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
Joerg Mueller
f08fb046ce Audio:
* Improve Jack Transport responsiveness.
* Added minor error checking to OpenAL.
2010-12-22 10:51:34 +00:00
Nathan Letwory
d372fc178c Fix [#23578] Blender crashes when Audio Scrubbing is on
Reported by Guy Smith.

MSVC-compiled code would fall over iterator decrease on empty list. Shortest snippet to redo: http://www.pasteall.org/15408/cpp
See also http://www.pasteall.org/15409/cpp for list.end() behaviour on MSVC. Thanks to Jörg Müller for assistance.
2010-09-02 21:56:08 +00:00
Joerg Mueller
279030a232 Audaspace:
* Py API: Renamed Sound to Factory to match the C++ classes and make it possible to add Readers when necessary to the API.
* Py API docs: Added the filter example.
* Fixed a crash for sounds without stop callback.
2010-08-03 08:45:03 +00:00
Joerg Mueller
ce44d63ae1 Audaspace:
* Added an error string for audaspace exceptions.
* Fixed PyAPI exceptions.
* Minor bugfixes.
* Added a name parameter to the Jack device, so that one can define an own name via Python.
2010-08-03 08:07:21 +00:00
Joerg Mueller
86fc34b924 Audaspace:
* Added a stopCallback function that is called when the end of a sound is reached.
* Fixed the scrubbing not working.
* Minor SoundActuator cleanup.
2010-08-02 18:22:34 +00:00
Joerg Mueller
5c9cf81cf9 Audaspace:
* Fixed some compiler warnings
* Implemented device looping
* Note: Scrubbing in the sequencer is broken atm
2010-07-31 10:03:08 +00:00
Joerg Mueller
c59b930d13 Audaspace: Refactored the complete 3D Device code giving a nicer API. 2010-07-30 22:20:08 +00:00
Joerg Mueller
3ff872bf59 Audaspace Refactor:
* Removed whole Capabilities System
* Fixed Py API error strings
* Improved some Py API properties
* Minor other changes
2010-07-28 12:43:59 +00:00
Joerg Mueller
7296600434 Audaspace: HUGE Refactor.
Some points of the refactor not sorted by importance:

* Fixed immutability of readers and factories (there are exceptions...)
* Fixed copy constructors and = operators
* Removed messaging system
* Removed reader types
* Added const where possible
* Using initalisers when possible
* Avoided use of pointers when possible
* Removed AUD_NEW and AUD_DELETE macros
* Removed useless NULL pointer checks
* Fixed exception catching
* Fixed some yet unknown bugs
* Lots of other stuff
2010-07-28 09:36:03 +00:00
Joerg Mueller
67af290bd1 Bug in OpenAL backend returning wrong playback position. 2010-02-28 08:53:08 +00:00
Joerg Mueller
6c8e3e303d 2.5 Audio:
- Python script to crossfade two sound strips in the sequencer
- Fix for the libsamplerate code producing awful audio when resampling sequencer strips
- Changed default resampler to a linear one (as temporary workaround for a bug that seems to be in the samplerate code)
- Fix for the OpenAL device to return a more accurate playback position
2010-02-08 14:43:44 +00:00
Joerg Mueller
9827a3e9ea 2.5 Audio:
- recode of the whole sequencer audio handling
- encode audio flag removed, instead you choose None as audio codec, added None for video codec too
- ffmpeg formats/codecs: enabled: theora, ogg, vorbis; added: matroska, flac (not working, who can fix?), mp3, wav
- sequencer wave drawing
- volume animation (now also working when mixing down to a file!)
- made sequencer strip position and length values unanimatable
2010-02-07 23:41:17 +00:00
Joerg Mueller
cd068e5530 Removed workaround from weekend. See mailing list for details. 2010-01-18 20:11:31 +00:00
Joerg Mueller
0f55410e3d Short term workaround for OpenAL + pulse bugs on ubuntu. Not sure if it works, people have to test and report please, I don't have ubuntu. Longer term we hope for an update of the ubuntu packages to fix the problem. 2010-01-16 22:12:19 +00:00
Joerg Mueller
0b673d45e5 Small fixes for some float literals. 2010-01-01 11:55:56 +00:00
Joerg Mueller
174eccf078 Huge new year audio commit!
* Refactored the whole audaspace library to use float as sample format over all readers.
* Added new Readers like the linear resampler, envelope, lowpass, highpass and butterworth.
* Note: The butterworth filter isn't working correctly, some bug in there... Maybe also true for the envelope.
* Added a sound to f-curve operator that behaves mostly like the soundtracker script of technoestupido.
2010-01-01 05:09:30 +00:00
Joerg Mueller
69995bb1b3 Sound:
* Threading buxfix letting MSVC Debug builds crash because of corrupted std::lists
* Adopted two property ranges
* Changed the mixdown volume to set the device volume instead of the volume of every sound.

I also removed the private redefinition of m_logicmgr in SCA_BasicEventManager, which was already defined protected in the parent class SCA_EventManager and thus caused a bug letting GE crash here because of an uninitialized pointer.
2009-09-26 20:03:01 +00:00
Nathan Letwory
3d64d65ad9 * clean out some warnings (unrefenced vars mainly) 2009-09-06 14:32:02 +00:00
Diego Borghetti
9202aaa2dc Update Makefiles for audaspace.
This add support for: sdl, ffmpeg, openal, jack and sndfile.
We have new options:
	WITH_OPENAL, default false
	WITH_JACK, default false
	WITH_SNDFILE, default false

and with this:
	NAN_OPENAL, default /usr

	NAN_JACK, default /usr
	NAN_JACKCFLAGS, default -I$(NAN_JACK)/include/jack
	NAN_JACKLIBS, default $(NAN_JACK)/lib/libjack.a

	NAN_SNDFILE, default /usr
	NAN_SNDFILECFLAGS, default -I$(NAN_SNDFILE)/include
	NAN_SNDFILELIBS, default $(NAN_SNDFILE)/lib/libsndfile.

Also add two new option on source/Makefile for jack and sndfile libs,
but only for linux, so let me know for other OS.
2009-08-21 22:56:26 +00:00
Joerg Mueller
6c5c58e057 2.5: Sound branch merge!
See mailing list for additional information.
2009-08-09 21:16:39 +00:00