Browse Source

Separate out ffmpeg and vrpn.

rdb 12 years ago
parent
commit
c606606a24
2 changed files with 27 additions and 0 deletions
  1. 1 0
      direct/src/ffi/panda3d.py
  2. 26 0
      direct/src/p3d/panda3d.pdef

+ 1 - 0
direct/src/ffi/panda3d.py

@@ -16,6 +16,7 @@ panda3d_modules = {
     "awesomium"   : "libp3awesomium",
     "awesomium"   : "libp3awesomium",
     "speedtree"   : "libpandaspeedtree",
     "speedtree"   : "libpandaspeedtree",
     "rocket"      :("_rocketcore", "_rocketcontrols", "libp3rocket"),
     "rocket"      :("_rocketcore", "_rocketcontrols", "libp3rocket"),
+    "vrpn"        : "libp3vrpn",
 }
 }
 
 
 class panda3d_import_manager:
 class panda3d_import_manager:

+ 26 - 0
direct/src/p3d/panda3d.pdef

@@ -75,6 +75,7 @@ class panda3d(package):
     excludeModule('libpandaskel')
     excludeModule('libpandaskel')
     excludeModule('libpandaphysx')
     excludeModule('libpandaphysx')
     excludeModule('libpandaai')
     excludeModule('libpandaai')
+    excludeModule('libp3vrpn')
 
 
     # Exclude these GUI toolkits; they're big, and many applications don't
     # Exclude these GUI toolkits; they're big, and many applications don't
     # use them.  We define them as separate, optional packages, below.
     # use them.  We define them as separate, optional packages, below.
@@ -242,6 +243,22 @@ class audio(package):
     # OpenAL seems to work pretty well universally now.
     # OpenAL seems to work pretty well universally now.
     require('openal')
     require('openal')
 
 
+class ffmpeg(package):
+    # This package includes the ffmpeg libraries and integration.
+    # It's a bit big, and is restricted by patents and the restrictive
+    # GPLv3 license, which is why it is included as a separate package.
+
+    config(display_name = "FFMpeg multimedia decoder")
+    require('panda3d')
+
+    file('libp3ffmpeg.dll', required = True)
+
+    file('ffmpeg.prc', extract = True, text = """
+plugin-path $FFMPEG_ROOT
+load-audio-type * p3ffmpeg
+load-video-type * p3ffmpeg
+""")
+
 class egg(package):
 class egg(package):
     # This package contains the code for reading and operating on egg
     # This package contains the code for reading and operating on egg
     # files and other model files.  Since the Packager automatically
     # files and other model files.  Since the Packager automatically
@@ -325,6 +342,15 @@ class rocket(package):
     module('_rocketcore', '_rocketcontrols')
     module('_rocketcore', '_rocketcontrols')
     file('libp3rocket.dll', required = True)
     file('libp3rocket.dll', required = True)
 
 
+class vrpn(package):
+    # This package contains the code for VRPN integration.
+    # Most applications don't use this, which is why it's separate.
+
+    config(display_name = "Panda3D VRPN support")
+    require('panda3d')
+
+    file('libp3vrpn.dll', required = True)
+
 
 
 class packp3d(p3d):
 class packp3d(p3d):
     # This application is a command-line convenience for building a p3d
     # This application is a command-line convenience for building a p3d