Commit Graph

108 Commits

Author SHA1 Message Date
51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
0a4c4d1d1a correct error in own commit r43159, unintentionally removed NULL check 2012-01-05 22:14:38 +00:00
472396945e add _default versions of sequence sound functions since most of their uses passed along the same args from sequence strips. (no functional changes) 2012-01-05 10:34:50 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
5cf593a778 strcpy() --> BLI_strncpy(), where source strings are not fixed and target size is known. 2011-10-19 23:10:54 +00:00
8868f9455c Hopefully fixing windows build problems with this hack now. :-) 2011-10-14 07:56:33 +00:00
eaff9a1c1b Reverting my windows build fix because it breaks the bug fix committed in r40995 2011-10-14 07:41:45 +00:00
13490b1ac3 Fix MSVC build ( .0f/.0f fires a compiler error ) 2011-10-14 05:07:53 +00:00
9e17ecf010 Fixing [#28907] Frozen playback.
Also fixing two more crashes when audio files don't exist/cannot be read and apply a changed file path of a sound, reported by Jens Verwiebe in IRC.
2011-10-13 22:19:29 +00:00
21eb8b92a0 use newly added ID_BLEND_PATH() in more places. 2011-10-08 11:11:54 +00:00
439f0ef7dd SVN maintenance. 2011-09-19 17:27:33 +00:00
cad688a705 add old style nan GPL2+ header to sound.c since this file is from rev2 and should have had this header added. 2011-09-18 12:06:28 +00:00
59a823c48a Code cleanup: remove context from RNA update functions, only one left. 2011-09-05 19:34:27 +00:00
1f7b41775b minor warning fixes, also correct some float -> double promotions in shadeoutput.c 2011-09-02 03:32:57 +00:00
473292dcd7 fix for building without audaspace, since pepper merge 2011-09-01 09:46:07 +00:00
947d4a654b Fix for [#25062] Sound Actuator - Positional Audio.
Now all sounds that are not mono but have 3D checked automatically get reduced to mono during BGE conversion time.
Also removed the now unneeded function sound_get_channels and added a missing header file to audaspace's CMakeLists.txt.
2011-08-30 10:09:10 +00:00
5b5e600db6 Last bunch of minor fixes before merge.
* Use NULL in AUD_Reference.h
* Use SETLOOPER in sound.c
* Move flags to the end of Speaker struct.
2011-08-30 07:57:55 +00:00
5bac37f6d4 * Reverting Titlecard commit r37537
* Reverting update recent files commit r37155
* Turning reference counts into unsigned ints
* Minor things
2011-08-29 15:01:55 +00:00
b4b046995b * Removing mocap GSoC (is an addon already).
* Fixing ffmpeg-0.8 errors.
* Fixing Ketsji paths.
* Removing DoSound from BGE.
* Fixing audio scene update to use only current scene objects.
2011-08-28 14:21:44 +00:00
ff8daca1f1 Bugfix: Removing a sound from a speaker resulted in a crash. 2011-08-23 11:44:24 +00:00
a458de88b6 3D Audio GSoC:
High quality resampling on mixdown, linear for playback.

* Lots of improvements and fixes for the JOS resampler, now it works fine!
* High quality filter coefficients for the JOS resampler (sorry for the 5 MB source file).
* Fix for GE orientation bug. Note: moto uses x,y,z,w quaternion storage, while rest of blender uses w,x,y,z.
* Minor changes/fixes.
2011-08-15 21:50:09 +00:00
fee7337249 3D Audio GSoC:
Adding a mono flag to mixdown non-mono sounds for 3D audio.

* Added mono sound loading.
* Bugfix: AUD_COMPARE_SPECS usage was wrong.
* Bugfix: JOS resampler = instead of ==.
* Bugfix: Change of a sound should apply settings in AUD_SequencerHandle.
* Bugfix: Memory leak when canceling open sound operator.
2011-08-11 11:41:24 +00:00
ef40d8e4f0 Another error in last bigger commit. 2011-08-09 17:37:12 +00:00
8655385c9e Fix for last commit: MSVC dislikes ;; 2011-08-09 14:34:42 +00:00
a672ab5e73 3D Audio GSoC:
Improved waveform drawing in the sequencer.

* Drawing the waveform of a sequencer strip is now independent from whether the sound is cached or not.
* Improved drawing of the waveform in the sequencer (especially speed!).
* Making it possible to vertically zoom more in the sequencer to better see the waveform for lipsync.
* Fixed a bug which crashed blender on loading a sound file via ffmpeg.
2011-08-09 14:10:32 +00:00
13249b925e 3D Audio GSoC:
Speaker objects fully functional!

Minor changes:
* Fixed three memory bugs found via valgrind.
* Fixed bug with jack transport crashing after file loading.
* Sound NLA Strips now start at CFRA instead of 0.
2011-08-09 08:38:14 +00:00
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
6d7490632f 3D Audio GSoC:
* Minor audaspace library improvements.
* Considering location, velocity and orientation in AUD_SequencerReader and AUD_SequencerHandle.
* Bugfix: Maximum and Minimum volume weren't used before in the software device.
* Bugfix: Adding speaker objects via info space crashed.
* Listener settings now get updated in the audio system.
2011-08-03 09:25:40 +00:00
bd6ca0570e 3D Audio GSoC:
Implemented basic audio animation.

* AnimatableProperty: Propper cache writing and spline interpolation for reading (the solution for stair steps in audio animation)
* Animatable properties so far are: volume, pitch, panning
* Users note: Changing the pitch of a sound results in wrong seeking, due to the resulting playback length difference.
* Users note: Panning only works for mono sources, values are in the range [-2..2], this basically controls the angle of the sound, 0 is front, -1 left, 1 right and 2 and -2 are back. Typical stereo panning only supports [-1..1].
* Disabled animation of audio related ffmpeg output parameters.
* Scene Audio Panel: 3D Listener settings also for Renderer, new Volume property (animatable!), Update/Bake buttons for animation problems, moved sampling rate and channel count here
2011-07-28 13:58:59 +00:00
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
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
5e841e4b4a fix for animation playback and build error when compiling without WITH_AUDASPACE 2011-07-13 17:24:33 +00:00
3f3c6f5f1f Merging from trunk up to r38119. 2011-07-05 13:54:25 +00:00
ae49f6deb0 fix for a leak in sound_read_sound_buffer(), used when drawing the sequencer waveform. 2011-06-27 05:03:58 +00:00
413bc87e4f Merge with trunk r37757. 2011-06-23 17:30:56 +00:00
2023db70a8 cmake option to build without an audio library. 2011-06-23 09:27:56 +00:00
2d3d025e8c 3D Audio GSoC:
- Sequencer dynamics: Now it's possible to change the output channels and the resampling quality also increased (previously maximum quality was 44,1 kHz)
- Changed two buffers to use ffmpeg allocation, not sure if that helps somehow.
2011-06-21 20:39:41 +00:00
c89b4e4b66 3D Audio GSoC:
- Implemented a nice rechanneling solution with unofficial speaker arrangement standards similar to what OpenAL soft has
- Renamend AUD_Channel in the C API to AUD_Handle
- Removed the unlogical 7.2 speaker configuration, that's a hardware only config
2011-06-21 20:24:40 +00:00
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
7ba4362c72 3D Audio GSoC:
Memory bug fix.
2011-06-21 20:14:07 +00:00
ef5f78ecc7 3D Audio GSoC:
Making it possible to access blenders internal sounds via Python.
2011-06-05 22:06:29 +00:00
e37dc17991 Fix for [#26652] "Audio Muted" in Time Line Editor is not working
-> The feature was completely missing o_O
Also fixed an ffmpeg seeking bug.
2011-04-10 22:40:37 +00:00
69bd72c3b6 quiet gcc float -> double promotion warnings. 2011-04-02 02:08:33 +00:00
Nathan Letwory
0ff06e21cd doxygen: blender/blenkernel tagged. 2011-02-27 20:40:57 +00:00
9ee1b3930f set main() argv functions to be const char *
also set minimum cmake version to 2.8
2011-02-19 12:05:20 +00:00
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
01bb474d4f Audio: Function to get channel count of a sound, for [#25062] Sound Actuator - Positional Audio. 2010-12-22 16:07:57 +00:00
5a09368957 use 'const char *' for imbuf and file ops. 2010-11-19 02:14:18 +00:00
2fbfd11f8d Fix for [#24654] Sound Actuator doesn't find the file when Blender is reopened. 2010-11-13 13:44:45 +00:00
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00