Skip to content

Releases: jamesa08/MIDIAnimator

v0.4.1-beta.4.1

29 Aug 01:18
ded5715
Compare
Choose a tag to compare

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.

Image.png

Full Changelog: v1.0.0-beta.4.0...v1.0.0-beta.4.1

v0.4.0-beta.4.0

26 May 12:49
Compare
Choose a tag to compare

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

07 Jul 04:35
Compare
Choose a tag to compare

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

28 Aug 23:51
Compare
Choose a tag to compare

Changelog:
Fixed #7
Added note numbers sorting feature ddb4000

v0.3.2-beta.3.2

26 Aug 19:08
Compare
Choose a tag to compare

Changelog:
fixed #6

v0.3.1-beta.3.1

26 Aug 17:32
Compare
Choose a tag to compare

Changelog:
Hotfix that closes #5

v0.3.0-beta.3

24 Aug 20:29
Compare
Choose a tag to compare

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

20 Jul 10:14
Compare
Choose a tag to compare
v0.2.0-beta.2 Pre-release
Pre-release

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

20 Jul 10:13
Compare
Choose a tag to compare