Releases: jamesa08/MIDIAnimator
v0.4.1-beta.4.1
For those who are still looking to get some use out of this addon, you may find this new experimental change a surprise!
Added 6 new overlapping methods:
- Min
- Max
- Previous
- Next
- Rest Value Crossing (experimental)
- Keyframe Pruning (experimental)
Take a look at how they work here:
Overlap Methods
Simple:
Min:
- When two animations overlap, use whichever mapping value is the minimum of the two at each moment in time.
- In the example, both curves would interpolate, and only pick the lowest values
Max:
- Use whichever mapping value is the maximum of the two at each moment.
- In the example, both curves would interpolate and only pick the highest values
Previous:
- During the conflict, maintain the mapping value from the animation that started first, disregarding the second.
- In the example, the green curve would play out entirely during the overlap region, and once it is done overlapping, the blue curve would start.
Next:
- During the overlap, switch to using the mapping value from whichever animation started most recently, dropping the previous one.
- In the example, the green curve would stop immediately and the blue curve would begin.
Complex:
Rest Value Crossings:
- Smoothly transition between conflicting mappings by crossing at the rest value (often zero).
- This ensures first-order continuity, but may cause second-order discontinuities.
- Assume the "rest value" is 0 for the parameter being mapped.
- As mapping 1 reaches the end of its animated range, it will cross 0 while fading out.
- Meanwhile, mapping 2 crosses 0 while fading in from its rest value, starting its animation.
- So there is a smooth crossfade between the two mappings at the rest value of 0.
- However, the acceleration of mapping 2 may not perfectly match mapping 1 at that instant, which could cause a slight visual jerk even though position/value is continuous.
Keyframe Pruning:
- Remove some keyframes from the overlapping animations to eliminate the conflict.
- Keyframes are selected to maintain second-order continuity (smooth motion flows).
- More complex, but can resolve conflicts while preserving smoother animation.
- The keyframe times are analyzed to find overlapping segments between the two mappings.
- Keyframes are strategically removed to eliminate the conflict.
- For example, the last couple keyframes of mapping 1 faded down to the rest value may be pruned so its animation ends sooner.
- Any accelerations specified in those pruned keyframes are lost, which may cause subtle visual changes.
- So the seamless position continuity comes at the cost of losing some original nuances of motion.
Full Changelog: v1.0.0-beta.4.0...v1.0.0-beta.4.1
v0.4.0-beta.4.0
final release of beta 4.0, please read the README in main
to get caught up with current changes to MIDIAnimator
Some of the changes include:
New keyframing system
Instead of sampling the animation for each frame, keyframes are duplicated, adding their frame times together.
Note Off support:
Allows you to play sustaining chords
Velocity support:
Soft velocities will have decreased amplitude on the animation, higher velocities will have an increased amplitude
X & Y mappers:
Allows you to manipulate some of the animation characteristics directly. For instance, a weighted, heavy vibraphone bar will not respond the same way as a higher pitched, lighter bar.
This allows you to “map” the lower notes to respond slower, and the higher notes to respond quicker (by shortening the time delta)
internal changes, including allowing Blender properties to be on Instrument class instances, and hosting UI code inside of Instrument classes
way better error handling and sanitizing user input
some things are unfinished (like oscillations, ADSR, etc) but will work without it
v0.3.4-beta.3.4
Changelog:
#19 Tempo fix for malformed MIDI files
beta4.0 is coming soon! Stay tuned
Installation instructions:
https://midianimatordocs.readthedocs.io/en/latest/general/installation.html
v0.3.3-beta.3.3
v0.3.2-beta.3.2
Changelog:
fixed #6
v0.3.1-beta.3.1
Changelog:
Hotfix that closes #5
v0.3.0-beta.3
First public release
Check out the docs page to get started: https://midianimatordocs.readthedocs.io/
Have a look at the demo: https://github.com/jamesa08/MIDIAnimatorDemos_BouncingCubes/
Download and install MIDIAnimator-v1-0-0-beta3.zip
into Blender's add-on folder, NOT the source code!
v0.2.0-beta.2
do not use this release
for historical purposes only
Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2
v0.1.0-beta.1
Full Changelog: https://github.com/jamesa08/MIDIAnimator/commits/v1.0.0-beta.1