Commit Graph

261 Commits

Author SHA1 Message Date
rdb 17bf50f1e8 audio: get_sound and uncache_sound should take Filename, not string 2018-09-02 20:55:58 +02:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
Sam Edwards b2bfb31114 general: Remove `using std::*` from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards e2b4353800 general: Replace NULL (and 0 as pointer) with C++11 nullptr
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
Sam Edwards 52e7c952b3 putil: Rename config_util to config_putil 2018-05-14 02:36:42 -06:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
rdb 4cd826e63a Merge branch 'fix-audio-distance-factor' of github.com:nikolmiv/panda3d
Closes: #13
2017-10-31 19:31:27 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb a866f9fbcb audio: fix case of get_speaker_setup/set_speaker_setup methods 2017-07-09 15:47:09 +02:00
rdb 1b33fec978 Remove assertion when reregistering the same AudioManager constructor 2016-06-28 21:35:53 +02:00
rdb 9b5ff08011 Fix crash loading null audio manager 2016-06-23 22:27:34 +02:00
rdb 288452a861 Changes to help with static build, allow linking OpenAL statically 2016-04-29 19:54:24 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
Nikola Milentijevic c0b2468b04 Consolidate distance factor for 3D audio
The semantics of distance factor is now same for both OpenAL and Fmod.
The value is given in units per meter, and the default is 1.0.
This means that Panda units are understood to be meters by default.
For example, for feet one would have to set this value to 3.28.
2015-03-16 22:24:29 +01:00
rdb 5aa773b41a remove fmod speaker modes that aren't supported across versions 2013-09-16 10:18:26 +00:00
rdb aa4cc5c531 Support latest version of FMOD Ex (removes reverb filter in favor of sfxreverb) 2013-08-26 09:59:28 +00:00
rdb d6a6499a7a fix errors 2013-08-25 07:32:52 +00:00
rdb b2dcde40c7 Apply patch by Josh Enes 2012-10-22 10:11:40 +00:00
rdb 248e4f2672 add fmod-speaker-mode variable 2012-07-09 13:59:18 +00:00
David Rose 33b9a1e1cf integrate Eigen 2011-12-16 14:17:48 +00:00
David Rose dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 2011-12-06 02:39:21 +00:00
David Rose 539b61571c guarantee word alignment for AtomicAdjust stuff 2011-11-17 23:31:31 +00:00
David Rose 501470169f stdfloat_double 2011-10-10 05:25:10 +00:00
rdb 804a72b716 Partially apply typo fix patch I found somewhere on the web, by someone named Christoph Korn 2010-11-16 08:58:45 +00:00
Chris Brunner 547a72053c support for #ifdef WIN64_VC instead of just #ifdev WIN32_VC alone 2010-05-28 21:09:22 +00:00
David Rose 787bfc5f94 libfmod_audio -> libp3fmod_audio, libopenal_audio -> libp3openal_audio 2009-10-11 22:22:59 +00:00
David Rose 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 2009-06-01 21:51:15 +00:00
David Rose c6c0847c5a strip p3 prefix properly 2009-02-26 20:15:25 +00:00
David Rose 70a32ce433 strip out p3 prefix 2009-02-24 13:11:11 +00:00
David Rose 179b578a64 use explicit initialization of audio library 2009-02-23 19:57:13 +00:00
David Rose bcdab6f3d4 remove texture_path, sound_path, egg_path 2008-11-04 18:25:21 +00:00
David Rose 8639f98ae9 need to vector model_path etc. through function after all, to avoid static-init problems 2008-10-22 22:11:16 +00:00
David Rose 524128b9fd wip: starting experimental C-based task manager 2008-09-19 00:58:04 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
David Rose 9c67f4f7fa add dependency on movies 2008-04-01 22:14:59 +00:00
Josh Yelon 03715468ca Improvements to audio and creation of UserDataAudio 2008-03-31 05:51:11 +00:00
Josh Yelon 08dcdade5c load_dso now uses a plugin search path 2008-03-18 22:25:59 +00:00
David Rose f58416a234 build opt 4 2008-01-31 02:21:27 +00:00
David Rose 4c2659988f minor threading fixes 2007-11-27 01:18:35 +00:00
Josh Yelon 76407e4225 Added config variable for OpenAL buffering 2007-08-28 16:30:15 +00:00
David Rose 93bfc2ea3f define AudioSound::set_time() to have effect only upon the next call to play() 2007-08-24 17:17:09 +00:00
Josh Yelon 7778159b30 New files for DSP filter config 2007-08-22 18:01:00 +00:00
Josh Yelon f46ca14f25 Redesigned DSP control interface 2007-08-22 17:27:44 +00:00
Josh Yelon 1e02c06517 Major refactoring of movie code. 2007-08-20 22:34:58 +00:00