I created a test scene, with some spheres (named as sound sources) some which have trajectories:
In Blender you have an internal Python console. Buggy, but still useful to test the access:
dir(bpy)
['__doc__', '__name__', 'config', 'data', 'libraries']
dir(bpy.data)
['__doc__', '__name__', 'actions', 'armatures', 'cameras', 'curves', 'fonts', 'groups', 'images', 'ipos', 'lamps', 'lattices', 'materials', 'meshes', 'metaballs', 'objects', 'scenes', 'sounds', 'texts', 'textures', 'worlds']
dir(bpy.data.scenes)
['__class__', '__cmp__', '__delattr__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__len__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'active', 'new', 'next', 'tag', 'unlink']
scene1=bpy.data.scenes.active
scene1
[Scene "Scene"]
dir(scene1)
['Layers', '__class__', '__cmp__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'addScriptLink', 'clearScriptLinks', 'copy', 'cursor', 'fakeUser', 'getActiveObject', 'getChildren', 'getCurrentCamera', 'getLayers', 'getName', 'getRadiosityContext', 'getRenderingContext', 'getScriptLinks', 'getTimeLine', 'layers', 'lib', 'link', 'makeCurrent', 'name', 'objects', 'play', 'properties', 'radiosity', 'render', 'sequence', 'setCurrentCamera', 'setLayers', 'setName', 'tag', 'timeline', 'unlink', 'update', 'users', 'world']
list(scene1.objects)
[[Object "mic_condenser"], [Object "Omni_mic_mono_side"], [Object "Audio_Omni_Source3"], [Object "Audio_Omni_Source2"], [Object "Audio_Omni_Source1"], [Object "Lamp"], [Object "Omni_mic_mono_zenit"]]
for object in scene1.objects:
if object.name.lower().find('mic')!=-1:
print 'Object: '+object.name + '; '+str(dir(object))
Object: mic_condenser; ['DupEnd', 'DupGroup', 'DupObjects', 'DupOff', 'DupOn', 'DupSta', 'Layer', 'Layers', 'LocX', 'LocY', 'LocZ', 'RotX', 'RotY', 'RotZ', 'SizeX', 'SizeY', 'SizeZ', '__class__', '__cmp__', '__copy__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'action', 'actionStrips', 'activeMaterial', 'activeShape', 'addProperty', 'addScriptLink', 'addVertexGroupsFromArmature', 'axis', 'boundingBox', 'buildParts', 'clearIpo', 'clearScriptLinks', 'clearTrack', 'clrParent', 'colbits', 'constraints', 'convertActionToStrip', 'copy', 'copyAllPropertiesTo', 'copyNLA', 'dLocX', 'dLocY', 'dLocZ', 'dRotX', 'dRotY', 'dRotZ', 'dSizeX', 'dSizeY', 'dSizeZ', 'data', 'dloc', 'drawMode', 'drawSize', 'drawType', 'drot', 'dsize', 'dupFacesScaleFac', 'effects', 'enableDupFaces', 'enableDupFacesScale', 'enableDupFrames', 'enableDupGroup', 'enableDupNoSpeed', 'enableDupRot', 'enableDupVerts', 'enableNLAOverride', 'evaluatePose', 'fakeUser', 'game_properties', 'getAction', 'getAllProperties', 'getBoundBox', 'getData', 'getDeltaLocation', 'getDrawMode', 'getDrawType', 'getEuler', 'getInverseMatrix', 'getIpo', 'getLocation', 'getMaterials', 'getMatrix', 'getName', 'getPIDeflection', 'getPIFalloff', 'getPIMaxDist', 'getPIPerm', 'getPIRandomDamp', 'getPIStrength', 'getPISurfaceDamp', 'getPIType', 'getPIUseMaxDist', 'getParent', 'getParentBoneName', 'getParticleSystems', 'getPose', 'getProperty', 'getSBDefaultGoal', 'getSBErrorLimit', 'getSBFriction', 'getSBGoalFriction', 'getSBGoalSpring', 'getSBGravity', 'getSBInnerSpring', 'getSBInnerSpringFriction', 'getSBMass', 'getSBMaxGoal', 'getSBMinGoal', 'getSBStiffQuads', 'getSBUseEdges', 'getSBUseGoal', 'getScriptLinks', 'getSize', 'getTimeOffset', 'getTracked', 'getType', 'insertCurrentPoseKey', 'insertIpoKey', 'insertPoseKey', 'insertShapeKey', 'ipo', 'isSB', 'isSelected', 'isSoftBody', 'join', 'layers', 'lib', 'link', 'loc', 'makeDisplayList', 'makeParent', 'makeParentBone', 'makeParentDeform', 'makeParentVertex', 'makeTrack', 'mat', 'materialUsage', 'matrix', 'matrixLocal', 'matrixOldWorld', 'matrixParentInverse', 'matrixWorld', 'modifiers', 'name', 'nameMode', 'newParticleSystem', 'parent', 'parentType', 'parentVertexIndex', 'parentbonename', 'passIndex', 'piDeflection', 'piFalloff', 'piMaxDist', 'piPermeability', 'piRandomDamp', 'piSoftbodyDamp', 'piSoftbodyIThick', 'piSoftbodyOThick', 'piStrength', 'piSurfaceDamp', 'piType', 'piUseMaxDist', 'pinShape', 'properties', 'protectFlags', 'rbFlags', 'rbHalfExtents', 'rbMass', 'rbRadius', 'rbShapeBoundType', 'removeAllProperties', 'removeProperty', 'restrictDisplay', 'restrictRender', 'restrictSelect', 'rot', 'sbDefaultGoal', 'sbErrorLimit', 'sbFriction', 'sbGoalFriction', 'sbGoalSpring', 'sbGrav', 'sbInnerSpring', 'sbInnerSpringFrict', 'sbMass', 'sbMaxGoal', 'sbMinGoal', 'sbSpeed', 'sbStiffQuads', 'sbUseEdges', 'sbUseGoal', 'sel', 'select', 'setConstraintInfluenceForBone', 'setDeltaLocation', 'setDrawMode', 'setDrawType', 'setEuler', 'setIpo', 'setLocation', 'setMaterials', 'setMatrix', 'setName', 'setPIDeflection', 'setPIFalloff', 'setPIMaxDist', 'setPIPerm', 'setPIRandomDamp', 'setPIStrength', 'setPISurfaceDamp', 'setPIType', 'setPIUseMaxDist', 'setSBDefaultGoal', 'setSBErrorLimit', 'setSBFriction', 'setSBGoalFriction', 'setSBGoalSpring', 'setSBGravity', 'setSBInnerSpring', 'setSBInnerSpringFriction', 'setSBMass', 'setSBMaxGoal', 'setSBMinGoal', 'setSBStiffQuads', 'setSBUseEdges', 'setSBUseGoal', 'setSize', 'setTimeOffset', 'shareFrom', 'size', 'tag', 'texSpace', 'timeOffset', 'track', 'trackAxis', 'transp', 'type', 'upAxis', 'users', 'wireMode', 'xRay']
Object: Omni_mic_mono_side; ['DupEnd', 'DupGroup', 'DupObjects', 'DupOff', 'DupOn', 'DupSta', 'Layer', 'Layers', 'LocX', 'LocY', 'LocZ', 'RotX', 'RotY', 'RotZ', 'SizeX', 'SizeY', 'SizeZ', '__class__', '__cmp__', '__copy__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'action', 'actionStrips', 'activeMaterial', 'activeShape', 'addProperty', 'addScriptLink', 'addVertexGroupsFromArmature', 'axis', 'boundingBox', 'buildParts', 'clearIpo', 'clearScriptLinks', 'clearTrack', 'clrParent', 'colbits', 'constraints', 'convertActionToStrip', 'copy', 'copyAllPropertiesTo', 'copyNLA', 'dLocX', 'dLocY', 'dLocZ', 'dRotX', 'dRotY', 'dRotZ', 'dSizeX', 'dSizeY', 'dSizeZ', 'data', 'dloc', 'drawMode', 'drawSize', 'drawType', 'drot', 'dsize', 'dupFacesScaleFac', 'effects', 'enableDupFaces', 'enableDupFacesScale', 'enableDupFrames', 'enableDupGroup', 'enableDupNoSpeed', 'enableDupRot', 'enableDupVerts', 'enableNLAOverride', 'evaluatePose', 'fakeUser', 'game_properties', 'getAction', 'getAllProperties', 'getBoundBox', 'getData', 'getDeltaLocation', 'getDrawMode', 'getDrawType', 'getEuler', 'getInverseMatrix', 'getIpo', 'getLocation', 'getMaterials', 'getMatrix', 'getName', 'getPIDeflection', 'getPIFalloff', 'getPIMaxDist', 'getPIPerm', 'getPIRandomDamp', 'getPIStrength', 'getPISurfaceDamp', 'getPIType', 'getPIUseMaxDist', 'getParent', 'getParentBoneName', 'getParticleSystems', 'getPose', 'getProperty', 'getSBDefaultGoal', 'getSBErrorLimit', 'getSBFriction', 'getSBGoalFriction', 'getSBGoalSpring', 'getSBGravity', 'getSBInnerSpring', 'getSBInnerSpringFriction', 'getSBMass', 'getSBMaxGoal', 'getSBMinGoal', 'getSBStiffQuads', 'getSBUseEdges', 'getSBUseGoal', 'getScriptLinks', 'getSize', 'getTimeOffset', 'getTracked', 'getType', 'insertCurrentPoseKey', 'insertIpoKey', 'insertPoseKey', 'insertShapeKey', 'ipo', 'isSB', 'isSelected', 'isSoftBody', 'join', 'layers', 'lib', 'link', 'loc', 'makeDisplayList', 'makeParent', 'makeParentBone', 'makeParentDeform', 'makeParentVertex', 'makeTrack', 'mat', 'materialUsage', 'matrix', 'matrixLocal', 'matrixOldWorld', 'matrixParentInverse', 'matrixWorld', 'modifiers', 'name', 'nameMode', 'newParticleSystem', 'parent', 'parentType', 'parentVertexIndex', 'parentbonename', 'passIndex', 'piDeflection', 'piFalloff', 'piMaxDist', 'piPermeability', 'piRandomDamp', 'piSoftbodyDamp', 'piSoftbodyIThick', 'piSoftbodyOThick', 'piStrength', 'piSurfaceDamp', 'piType', 'piUseMaxDist', 'pinShape', 'properties', 'protectFlags', 'rbFlags', 'rbHalfExtents', 'rbMass', 'rbRadius', 'rbShapeBoundType', 'removeAllProperties', 'removeProperty', 'restrictDisplay', 'restrictRender', 'restrictSelect', 'rot', 'sbDefaultGoal', 'sbErrorLimit', 'sbFriction', 'sbGoalFriction', 'sbGoalSpring', 'sbGrav', 'sbInnerSpring', 'sbInnerSpringFrict', 'sbMass', 'sbMaxGoal', 'sbMinGoal', 'sbSpeed', 'sbStiffQuads', 'sbUseEdges', 'sbUseGoal', 'sel', 'select', 'setConstraintInfluenceForBone', 'setDeltaLocation', 'setDrawMode', 'setDrawType', 'setEuler', 'setIpo', 'setLocation', 'setMaterials', 'setMatrix', 'setName', 'setPIDeflection', 'setPIFalloff', 'setPIMaxDist', 'setPIPerm', 'setPIRandomDamp', 'setPIStrength', 'setPISurfaceDamp', 'setPIType', 'setPIUseMaxDist', 'setSBDefaultGoal', 'setSBErrorLimit', 'setSBFriction', 'setSBGoalFriction', 'setSBGoalSpring', 'setSBGravity', 'setSBInnerSpring', 'setSBInnerSpringFriction', 'setSBMass', 'setSBMaxGoal', 'setSBMinGoal', 'setSBStiffQuads', 'setSBUseEdges', 'setSBUseGoal', 'setSize', 'setTimeOffset', 'shareFrom', 'size', 'tag', 'texSpace', 'timeOffset', 'track', 'trackAxis', 'transp', 'type', 'upAxis', 'users', 'wireMode', 'xRay']
Object: Omni_mic_mono_zenit; ['DupEnd', 'DupGroup', 'DupObjects', 'DupOff', 'DupOn', 'DupSta', 'Layer', 'Layers', 'LocX', 'LocY', 'LocZ', 'RotX', 'RotY', 'RotZ', 'SizeX', 'SizeY', 'SizeZ', '__class__', '__cmp__', '__copy__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'action', 'actionStrips', 'activeMaterial', 'activeShape', 'addProperty', 'addScriptLink', 'addVertexGroupsFromArmature', 'axis', 'boundingBox', 'buildParts', 'clearIpo', 'clearScriptLinks', 'clearTrack', 'clrParent', 'colbits', 'constraints', 'convertActionToStrip', 'copy', 'copyAllPropertiesTo', 'copyNLA', 'dLocX', 'dLocY', 'dLocZ', 'dRotX', 'dRotY', 'dRotZ', 'dSizeX', 'dSizeY', 'dSizeZ', 'data', 'dloc', 'drawMode', 'drawSize', 'drawType', 'drot', 'dsize', 'dupFacesScaleFac', 'effects', 'enableDupFaces', 'enableDupFacesScale', 'enableDupFrames', 'enableDupGroup', 'enableDupNoSpeed', 'enableDupRot', 'enableDupVerts', 'enableNLAOverride', 'evaluatePose', 'fakeUser', 'game_properties', 'getAction', 'getAllProperties', 'getBoundBox', 'getData', 'getDeltaLocation', 'getDrawMode', 'getDrawType', 'getEuler', 'getInverseMatrix', 'getIpo', 'getLocation', 'getMaterials', 'getMatrix', 'getName', 'getPIDeflection', 'getPIFalloff', 'getPIMaxDist', 'getPIPerm', 'getPIRandomDamp', 'getPIStrength', 'getPISurfaceDamp', 'getPIType', 'getPIUseMaxDist', 'getParent', 'getParentBoneName', 'getParticleSystems', 'getPose', 'getProperty', 'getSBDefaultGoal', 'getSBErrorLimit', 'getSBFriction', 'getSBGoalFriction', 'getSBGoalSpring', 'getSBGravity', 'getSBInnerSpring', 'getSBInnerSpringFriction', 'getSBMass', 'getSBMaxGoal', 'getSBMinGoal', 'getSBStiffQuads', 'getSBUseEdges', 'getSBUseGoal', 'getScriptLinks', 'getSize', 'getTimeOffset', 'getTracked', 'getType', 'insertCurrentPoseKey', 'insertIpoKey', 'insertPoseKey', 'insertShapeKey', 'ipo', 'isSB', 'isSelected', 'isSoftBody', 'join', 'layers', 'lib', 'link', 'loc', 'makeDisplayList', 'makeParent', 'makeParentBone', 'makeParentDeform', 'makeParentVertex', 'makeTrack', 'mat', 'materialUsage', 'matrix', 'matrixLocal', 'matrixOldWorld', 'matrixParentInverse', 'matrixWorld', 'modifiers', 'name', 'nameMode', 'newParticleSystem', 'parent', 'parentType', 'parentVertexIndex', 'parentbonename', 'passIndex', 'piDeflection', 'piFalloff', 'piMaxDist', 'piPermeability', 'piRandomDamp', 'piSoftbodyDamp', 'piSoftbodyIThick', 'piSoftbodyOThick', 'piStrength', 'piSurfaceDamp', 'piType', 'piUseMaxDist', 'pinShape', 'properties', 'protectFlags', 'rbFlags', 'rbHalfExtents', 'rbMass', 'rbRadius', 'rbShapeBoundType', 'removeAllProperties', 'removeProperty', 'restrictDisplay', 'restrictRender', 'restrictSelect', 'rot', 'sbDefaultGoal', 'sbErrorLimit', 'sbFriction', 'sbGoalFriction', 'sbGoalSpring', 'sbGrav', 'sbInnerSpring', 'sbInnerSpringFrict', 'sbMass', 'sbMaxGoal', 'sbMinGoal', 'sbSpeed', 'sbStiffQuads', 'sbUseEdges', 'sbUseGoal', 'sel', 'select', 'setConstraintInfluenceForBone', 'setDeltaLocation', 'setDrawMode', 'setDrawType', 'setEuler', 'setIpo', 'setLocation', 'setMaterials', 'setMatrix', 'setName', 'setPIDeflection', 'setPIFalloff', 'setPIMaxDist', 'setPIPerm', 'setPIRandomDamp', 'setPIStrength', 'setPISurfaceDamp', 'setPIType', 'setPIUseMaxDist', 'setSBDefaultGoal', 'setSBErrorLimit', 'setSBFriction', 'setSBGoalFriction', 'setSBGoalSpring', 'setSBGravity', 'setSBInnerSpring', 'setSBInnerSpringFriction', 'setSBMass', 'setSBMaxGoal', 'setSBMinGoal', 'setSBStiffQuads', 'setSBUseEdges', 'setSBUseGoal', 'setSize', 'setTimeOffset', 'shareFrom', 'size', 'tag', 'texSpace', 'timeOffset', 'track', 'trackAxis', 'transp', 'type', 'upAxis', 'users', 'wireMode', 'xRay']
list(bpy.data.ipos)
[Ipo "fast_pass" (Object)], [Ipo "Orbit1" (Object)]]
trajectory1=bpy.data.ipos['fast_pass']
dir(trajectory1)
['EvaluateCurveOn', '__class__', '__cmp__', '__contains__', '__copy__', '__delattr__', '__delitem__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__len__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', 'addCurve', 'blocktype', 'channel', 'copy', 'curveConsts', 'curves', 'delBezPoint', 'delCurve', 'fakeUser', 'getBlocktype', 'getCurve', 'getCurveBP', 'getCurveBeztriple', 'getCurveCurval', 'getCurves', 'getNBezPoints', 'getName', 'getNcurves', 'getRctf', 'lib', 'name', 'next', 'properties', 'rctf', 'setBlocktype', 'setCurveBeztriple', 'setName', 'setRctf', 'tag', 'users']
for i in range(10):
for o in trajectory1.curves:
frame=i*20
tempPos=o.evaluate(frame)
tempName=o.name
print 'on frame '+str(frame)+', curve '+tempName+' has interpolated pos: '+str(tempPos)
on frame 0, curve LocX has interpolated pos: -12.0658063889
on frame 0, curve LocY has interpolated pos: 15.4735555649
on frame 20, curve LocX has interpolated pos: -7.77819442749
on frame 20, curve LocY has interpolated pos: 10.7129554749
on frame 40, curve LocX has interpolated pos: -3.2807290554
on frame 40, curve LocY has interpolated pos: 5.92898416519
on frame 60, curve LocX has interpolated pos: 1.36230826378
on frame 60, curve LocY has interpolated pos: 1.14720904827
on frame 80, curve LocX has interpolated pos: 6.08232021332
on frame 80, curve LocY has interpolated pos: -3.60687565804
on frame 100, curve LocX has interpolated pos: 10.8083820343
on frame 100, curve LocY has interpolated pos: -8.30803489685
on frame 120, curve LocX has interpolated pos: 15.469367981
on frame 120, curve LocY has interpolated pos: -12.931634903
on frame 140, curve LocX has interpolated pos: 19.9961471558
on frame 140, curve LocY has interpolated pos: -17.4538326263
on frame 160, curve LocX has interpolated pos: 24.3235778809
on frame 160, curve LocY has interpolated pos: -21.851858139
on frame 180, curve LocX has interpolated pos: 28.3921985626
on frame 180, curve LocY has interpolated pos: -26.1042022705
for object in bpy.data.objects:
if object.name.lower().find('source')!=-1:
print object.name
print object.getIpo().name
Audio_Omni_Source1
fast_pass
Audio_Omni_Source2
Orbit1
Audio_Omni_Source3
fast_pass