Commit Graph

116 Commits

Author SHA1 Message Date
rdb f149fb4ab0 direct: big formatting changes for the benefit of API reference
Part of the effort to move the API reference to Sphinx, see panda3d/panda3d-docs#21
2019-10-29 20:43:41 +01:00
rdb 2575c01261 Loader: fix passing a tuple to loader.loadModel 2019-08-22 10:44:34 +02:00
rdb 7b9f87412a loader: support Python loader plug-ins
This allows defining custom loader types from Python code.  Packages can use metadata entry points to register file types with the loader.

Example code: https://gist.github.com/rdb/cb3c2f4a98ce371c722e3f297b445153
2019-07-30 13:04:46 +02:00
rdb 649372d333 Loader: work around Python 3.7 await headache caused by PEP 479
Generators can no longer raise StopIteration, and we are supposed to use "return" instead.  But, return with value inside generator is a syntax error in Python 2.

Fixes #513
2019-01-09 22:14:50 +01:00
jspam a333353af6 Make Loader.loadSound() accept a MovieAudio instance as soundPath
This functionality seems to have inadvertently been removed by
refactoring commit 23bf9ea5.

Closes #383
2018-09-09 20:22:51 +02:00
deflected e4a817b469 Loader: Fixed crash when canceling async loading of model
- Clean up the _loader after we clean up the requests,
        not before that

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-13 13:42:29 +02: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 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
deflected 234e7eefee loader: Added loading of 2D texture array
Signed-off-by: deflected <deflected@users.noreply.github.com>
2016-09-12 13:21:23 +03:00
rdb 70f10a70d1 Merge branch 'release/1.9.x' 2016-09-12 00:48:03 +02:00
rdb 3ce808c705 Fix in-place asyncFlattenStrong 2016-09-11 20:28:33 +02:00
rdb 4ec5b77678 Fix error with async flatten 2016-08-27 20:11:18 +02:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 23bf9ea5c7 The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
rdb 54fa31ba17 StandardError -> Exception, other 2to3 changes, threaded 2to3 2016-03-25 17:13:09 +01:00
rdb dafe48a6bc Begin to add snake_case/property interfaces to important direct classes 2015-12-26 17:00:51 +01:00
mfwass f8837999ed Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
rdb 09f2bea96f Fix typo in error message 2015-08-23 14:56:53 +02:00
rdb aa2c240336 Fix bug: loadSound should respect positional parameter 2014-03-06 21:31:02 +00:00
David Rose 3af8da3bcd loader.saveModel(), EggToObjConverter, etc. 2012-12-20 00:09:14 +00:00
David Rose 134e9a9e92 dual names for interrogate 2011-10-11 00:45:51 +00:00
David Rose 6872488839 stereo/multiview textures 2011-08-08 18:55:26 +00:00
Zachary Pavlov 97e04a0196 new phase checker 2009-05-06 01:10:28 +00:00
David Rose 7255aad2a6 minfilter etc. 2009-03-31 00:25:19 +00:00
David Rose 0811991a8a explicate more parameters 2009-01-17 22:44:43 +00:00
David Rose 35ff345147 foreground font color 2009-01-17 21:53:48 +00:00
David Rose b4ee61c59f separate out outline params 2009-01-17 20:31:21 +00:00
David Rose 3b793cf964 loadFont(outline=xxx) 2009-01-17 02:47:36 +00:00
rdb 82fccf788d Suggestion from Nemesis13 2009-01-07 17:49:14 +00:00
David Rose d4538bcfeb asynchronous load priorities 2008-12-24 23:45:58 +00:00
David Rose e570510887 remove old panda support 2008-12-24 19:22:11 +00:00
David Rose cf95cbcf9a okMissing 2008-11-26 00:40:10 +00:00
David Rose 35e77c0d01 small fixes 2008-10-03 22:59:51 +00:00
David Rose 5ea6a359a4 support old and new panda 2008-09-29 22:31:04 +00:00
David Rose 4f67da1cd1 more comments, etc 2008-09-29 17:30:30 +00:00
David Rose 6452ae6fae typos in error message 2008-08-28 19:32:01 +00:00
David Rose ddf501b588 loadModelOnce -> loadModel 2008-08-28 19:24:59 +00:00
David Rose 7fdd1813ac remove some old panda support 2008-08-08 00:13:59 +00:00
Josh Yelon a640847f8f Added support for MovieAudio to loadSfx 2008-04-24 02:03:18 +00:00
David Rose e230108209 clarify comment 2007-06-29 21:49:03 +00:00
David Rose 8e1e795cea clarify comment 2007-06-29 21:48:29 +00:00
David Rose e9184fe61f fix deadlock at exit 2007-06-29 21:46:49 +00:00
David Rose 9f2e1596fd fix deadlock at exit 2007-06-29 21:46:14 +00:00
Jason Yeung 38dfa82743 standardized loading of sound effects 2007-06-13 22:45:12 +00:00
Asad M. Zaman b25666aedc this goes with the quieting of the loader errors on island pieces 2007-05-01 02:07:46 +00:00
aignacio_sf ac89fe25bd Add unloadSfx function. 2007-04-11 21:55:15 +00:00
David Rose f7e01783ba oops 2007-04-09 20:23:36 +00:00
David Rose dd82d38eb9 allow cancelling requests 2007-04-09 20:18:25 +00:00
David Rose f36b15fd99 loader.asyncFlattenStrong() 2007-04-04 17:00:20 +00:00
David Rose a6c1c119d4 fix typos 2007-01-16 21:50:36 +00:00