22189 Commits

Author SHA1 Message Date
Sam Edwards
570afa6973 CMake: Fix include path when building prc into metalib 2018-04-19 20:06:09 -06:00
Sam Edwards
218d0e8ade CMake: Build dtool metalibs as metalibs 2018-04-19 00:07:08 -06:00
Sam Edwards
5a31844e11 CMake: Slightly tweak component-library -D inheritance rules
This only inherits -D flags from another component library. The private
-D flags should not be inherited from regular libraries.
2018-04-19 00:07:08 -06:00
Sam Edwards
29799643e0 CMake: Move source file accidentally counted as a header 2018-04-18 16:58:20 -06:00
Sam Edwards
4cec331722 CMake: Add support for building metalibs as metalibs 2018-04-18 14:42:56 -06:00
Sam Edwards
655e661035 CMake: Minor typo fix 2018-04-18 14:38:59 -06:00
Sam Edwards
7590c37f0c CMake: Have Interrogate respect INTERFACE_COMPILE_DEFINITIONS
This commit isn't technically quite right, since Interrogate should
use the definitions from COMPILE_DEFINITIONS but the module should
be built with INTERFACE_COMPILE_DEFINITIONS, but whatever. That can
be changed if it becomes a nuisance later on.

The rationale here is it's consistent with how CMake treats these
two properties.
2018-04-18 12:23:18 -06:00
Sam Edwards
d642ca4fa0 CMake: Change linkages to go through metalibs
This changes the target_link_libraries() declarations so they only
go directly to a component library if it's in the same metalib.

If it's outside of the metalib, the correct thing to do is link against
the metalib. CMake takes care of the transitive linking for us, so
there isn't actually any big change here.
2018-04-15 01:10:21 -06:00
Sam Edwards
c0b8b3c542 CMake: Interrogate bugfix for LINK and IMPORT keywords together 2018-04-15 00:35:49 -06:00
Sam Edwards
1401a1cc48 CMake: Don't use (SO)VERSION for modules 2018-04-05 16:11:59 -06:00
Sam Edwards
cfd603bb8d CMake: Build Python binary modules as MODULE, never SHARED 2018-04-05 16:11:59 -06:00
Sam Edwards
411e0ee93f CMake: Use interrogate's -import instead of linking directly 2018-04-05 16:11:59 -06:00
Sam Edwards
2f6c79b9e6 CMake: Build libraries with VERSION/SOVERSION
This takes advantage of SONAME and versioning on platforms that support it.
2018-04-02 15:49:05 -06:00
Sam Edwards
aed544bf5f CMake: Have CMake itself track versions 2018-04-02 15:47:53 -06:00
Sam Edwards
449195a33d CMake: Define appropriate BUILDING_ symbols 2018-03-31 04:24:06 -06:00
Sam Edwards
dd42371610 CMake: Update for upstream changes 2018-03-31 04:24:03 -06:00
Sam Edwards
25b13ad199 Merge branch 'master' into cmake 2018-03-31 04:23:49 -06:00
Sam Edwards
bb6e0abeba ffmpeg: Switch the video cursor to the new decoding API 2018-03-31 04:17:07 -06:00
Sam Edwards
8d36908556 ffmpeg: Use avcodec_flush_buffers when seeking
Previously this would close and reopen the codec context;
that's entirely unnecessary, as all supported versions of
libavcodec support flushing the buffers instead.
2018-03-31 04:17:07 -06:00
Sam Edwards
e430428703 ffmpeg: Add async audio decoding loop
This leverages libavcodec >= 57.37.100's new asynchronous API,
which both allows decoding in hardware and in a separate thread,
and in any case would free up more CPU time for Panda's app loop.

This also avoids use of the now-deprecated `avcodec_decode_audio4`
2018-03-31 04:17:07 -06:00
Sam Edwards
62f9de101a ffmpeg: Tell swresample the channel count 2018-03-31 04:17:07 -06:00
Sam Edwards
4ffd364415 ffmpeg: Simplify ffmpegAudioCursor.cxx a little
This refactors the `reload_buffer` loop so all of the decode
logic is inside the loop, and all of the resampling logic is
outside.
2018-03-31 04:17:07 -06:00
Sam Edwards
eb591674e0 ffmpeg: Prefer av_packet_alloc over allocating AVPacket ourselves
av_packet_alloc/av_packet_free will know the correct size of AVPacket,
even if the ABI should change. So, we use it when it's available.
2018-03-31 04:17:07 -06:00
Sam Edwards
9596095294 ffmpeg: Use AVStream.codecpar
AVStream.codec is deprecated as of libavformat version 57.41.100,
so if this version is detected, we switch to AVStream.codecpar instead.

Note this also makes it necessary to construct and use our own codec
context - but doing that is a cleaner approach anyway.
2018-03-31 04:17:07 -06:00
Sam Edwards
cc77c5dbe2 ffmpeg: Clean up ffmpeg_prefer_libvpx implementation 2018-03-31 04:17:07 -06:00
Sam Edwards
148010c5f0 ffmpeg: Remove code to support deprecated versions
See previous commit; now that we're enforcing explicit minimums, any
code to support anything older than those minimums is trivially dead.
2018-03-31 04:17:07 -06:00
Sam Edwards
a19e9aea63 ffmpeg: Enforce minimum supported versions of ffmpeg
lavcodec:  54.86.100
lavformat: 54.59.106
lavutil:   52.13.100

These are the versions included in FFmpeg 1.1, which is the oldest
release that works with Panda already: we've been using
`av_opt_set_sample_fmt` (introduced in FFmpeg 1.1) since
03e96d8c4a903be7222365b40613429768659892 (August 2013) and nobody has
complained since. In other words, I'm not dropping support for anything
here, I'm just making the supported versions explicit.
2018-03-31 04:17:07 -06:00
Sam Edwards
65210a5e49 ffmpeg: Fix a typo in version detection
See f0b3e08e9c75e5cdcd98c0f3142469918d1d2fd5
2018-03-31 04:17:07 -06:00
Tohka
0b1ad67e13 distributed: Fix DC file reading regression (#295) 2018-03-31 04:01:35 -06:00
Sebastian Hoffmann
78377ca10c Cursor after newline character appears on beginning of next line.
DirectEntry.updateNumLines updates text geom.
DirectEntry API less inadequate.

Closes #257
2018-03-30 20:17:31 +02:00
rdb
84915073e1 Fix compilation warning on MSVC 2015 2018-03-30 20:15:13 +02:00
deflected
30cf1dbbb1 pgraphnodes: Fixed the type of texture bytes in sceneGraphAnalyzer
- Corrected the type of texture bytes variable as it is possible
        to wrap it around

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-03-30 14:38:39 +03:00
rdb
b8af5bf64f cocoa: fix compile error caused by faulty merge
[skip ci]
2018-03-29 14:44:10 +02:00
rdb
2bde4d839a makepanda: set MSVC 2015 as default, deprecate MSVC 2010 support
See #288 for discussion; make your voice heard there if you object to this change!

[skip ci]
2018-03-29 14:36:41 +02:00
Donny Lawrence
7830aab21d cocoa: Fix unresponsive menubar, add default item for application menu.
Closes #259
2018-03-29 14:30:16 +02:00
rdb
7062da944a cocoa: fix ability to type AltGr characters and dead keys
It would seem that interpretKeyEvents/insertText would be the right way to do this, but while that does handle AltGr keys correctly, it does not handle dead keys at all.  This approach seems to do the right things.
2018-03-29 14:22:59 +02:00
rdb
95bffa8503 Fix crash when typing unicode characters above 7fff into text field
Can be reproduced when typing Shift+AltGr+5 into a DirectEntry on macOS.
2018-03-29 14:17:39 +02:00
rdb
63b1e44977 framework: fix pview crash when exit is called inside render_frame
This can happen when a system event (eg. on macOS) triggers a terminate from within process_events.

This is a workaround for a common error; the proper fix is not to put PandaFramework in the global scope.
2018-03-29 14:11:21 +02:00
Sam Edwards
4eb250cb87 dcparser: Write ranged-blob parameters correctly 2018-03-25 22:03:55 -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
Sam Edwards
f231ba4cd7 directbase: Introduce BUILDING_ defines for each component
Ditto everything before, but for direct.
2018-03-25 13:17:52 -06:00
Sam Edwards
bd2a9d709a dtoolbase: Introduce BUILDING_ defines for each component
This mirrors the prior commit.
2018-03-25 13:17:52 -06:00
Sam Edwards
98797d0090 pandabase: Introduce BUILDING_ defines for each component
This reverses the relationship between EXPCL_PANDA_COMPONENT
and BUILDING_PANDA, where BUILDING_PANDA is just shorthand for
BUILDING_PANDA_COMPONENT and BUILDING_PANDA_COMPONENT itself
sets the EXPCL_PANDA_COMPONENT defines.

Also removes EXPCL_PANDA.
2018-03-25 13:17:52 -06:00
Sam Edwards
9739923593 dconfig: Change export macros to EXP*_DTOOL_DCONFIG
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
Sam Edwards
775fcb5b0b prc: Change export macros to EXP*_DTOOL_PRC
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
Sam Edwards
ad5b45811d dtoolutil: Change export macros to EXP*_DTOOL_DTOOLUTIL
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
Sam Edwards
9852ada792 dtoolbase: Change export macros to EXP*_DTOOL_DTOOLBASE
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
Sam Edwards
29318992d9 metalibs/panda: EXPCL_PANDA -> EXPCL_LIBPANDA 2018-03-25 13:17:52 -06:00
rdb
69d24993b6 bullet: fix compilation error with Bullet 2.81 2018-03-22 15:30:31 +01:00
deflected
3a88308f45 bullet: Cleanup copying of shapes
- Fixed copy constructors
        - Dropped operator= from shapes

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #283
2018-03-22 15:22:44 +01:00