__version__ = '0.6.2'
+from ..tools import package as ts_package
+
+# Check Availability of Gstreamer python bindings
+ts_package.check_gstreamer()
# Check Availability of external Audio feature extraction librairies
-from ..tools import package as ts_package
_WITH_AUBIO = ts_package.check_aubio()
_WITH_YAAFE = ts_package.check_yaafe()
_WITH_VAMP = ts_package.check_vamp()
# Author: Thomas Fillon <thomas.fillon@parisson.com>
-from ..core.exceptions import VampImportError
from importlib import import_module
import warnings
+from ..core.exceptions import VampImportError
def discover_modules(subpackage, package=None):
import pkgutil
def check_vamp():
"Check Vamp host availability"
+ from ..core.exceptions import VampImportError
try:
from timeside.plugins.analyzer.externals import vamp_plugin
del vamp_plugin
return _WITH_VAMP
+
+def add_gstreamer_packages():
+ import os
+ import sys
+ from distutils.sysconfig import get_python_lib
+
+ dest_dir = get_python_lib()
+
+ packages = ['gobject', 'glib', 'pygst', 'pygst.pyc', 'pygst.pth',
+ 'gst-0.10', 'pygtk.pth', 'pygtk.py', 'pygtk.pyc']
+
+ python_version = sys.version[:3]
+ global_path = os.path.join('/usr/lib', 'python' + python_version)
+ global_sitepackages = [os.path.join(global_path,
+ 'dist-packages'), # for Debian-based
+ os.path.join(global_path,
+ 'site-packages')] # for others
+
+ for package in packages:
+ for pack_dir in global_sitepackages:
+ src = os.path.join(pack_dir, package)
+ dest = os.path.join(dest_dir, package)
+ if not os.path.exists(dest) and os.path.exists(src):
+ os.symlink(src, dest)
+
+
+def check_gstreamer():
+ try:
+ import gobject, pygst
+ except ImportError:
+ print 'Add Gstreamer'
+ add_gstreamer_packages()
+