src

algorithms.py

animateDampedOsc(x: float, period: float, amplitude: float, damp: float, frameRate: float)
animateSine(time: float, startVal: float, endVal: float, duration: float) -> (time: float, startVal: float, endVal: float, duration: float)
genDampedOscKeyframes(period: float, amplitude: float, damp: float, frameRate: float) -> (period: float, amplitude: float, damp: float, frameRate: float)
maxSimultaneousObjects(intervals: typing.List[FrameRange]) -> (intervals: typing.List[FrameRange])
Parameters

intervals – List[FrameRange]

Return int

max number of objects that are visible at any point in time

animation.py

class MIDIAnimatorNode

Bases: object

this class acts as a wrapper for GenericTracks/custom tracks

__init__()
addInstrument(instrumentType: str, midiTrack: midi.MIDITrack, objectCollection: bpy.types.Collection, properties=None, custom=None, customVars: Dict = None)
animate(offset: int = 0) -> (offset: int = 0)

animate all of the tracks

Parameters

offset (int) – amount to add to the frame number for each keyframe (in case we have negative keyframes), defaults to 0

instruments.py

class EvaluateInstrument

Bases: MIDIAnimator.src.instruments.Instrument

__init__(*args, **kwargs)
preAnimate()
class Instrument

Bases: object

base class for instruments that are played for notes

__init__(midiTrack: midi.MIDITrack, collection: bpy.types.Collection, override=False)
animate(frame: int, offset: int)
animateFrames(offset: int)

create keyframes for the animation :param int offset: amount to add to the frame number for each keyframe (in case we have negative keyframes)

collection: bpy.types.Collection
createFrameRanges()
createNoteToBlenderObject(noteOnCurves: typing.Dict[bpy.types.Object, ObjectFCurves], noteOffCurves: typing.Dict[bpy.types.Object, ObjectFCurves]) -> (noteOnCurves: typing.Dict[bpy.types.Object, ObjectFCurves], noteOffCurves: typing.Dict[bpy.types.Object, ObjectFCurves])
makeObjToFCurveDict(noteType: str = 'note_on') -> (noteType: str = 'note_on')
midiTrack: MIDIAnimator.data_structures.midi.MIDITrack
noteToBlenderObject: Dict[int, bpy.types.Object]
postFrameLoop()
preAnimate()
preFrameLoop()
updateActiveObjectList(frame: int, offset: int)
class ProjectileInstrument

Bases: MIDIAnimator.src.instruments.Instrument

__init__(midiTrack: midi.MIDITrack, objectCollection: bpy.types.Collection, projectileCollection: bpy.types.Collection, referenceProjectile: bpy.types.Object)
preAnimate()

Module contents