src
algorithms.py
- 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
instruments.py
- class EvaluateInstrument
Bases:
MIDIAnimator.src.instruments.Instrument- __init__(*args, **kwargs)
- preAnimate()
- class Instrument
Bases:
objectbase class for instruments that are played for notes
- __init__(midiTrack: midi.MIDITrack, collection: bpy.types.Collection, override=False)
- 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
- postFrameLoop()
- preAnimate()
- preFrameLoop()
- class ProjectileInstrument
Bases:
MIDIAnimator.src.instruments.Instrument- __init__(midiTrack: midi.MIDITrack, objectCollection: bpy.types.Collection, projectileCollection: bpy.types.Collection, referenceProjectile: bpy.types.Object)
- preAnimate()