diff options
author | Jörg Müller <nexyon@gmail.com> | 2015-03-16 13:02:04 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-03-24 17:47:46 +0300 |
commit | 1ad57f287b13f60c22b621179f9e6f22d0b191e5 (patch) | |
tree | 757f6c2ef7503027baa51f135a12937c11a7807c | |
parent | 1f547c14ec05675491898e413652335dadfc5ae6 (diff) |
Fix T43853: Audio animation bug (fcurves)
For a detailed bug explanation see the comments in the report.
-rw-r--r-- | intern/audaspace/intern/AUD_AnimateableProperty.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/intern/audaspace/intern/AUD_AnimateableProperty.cpp b/intern/audaspace/intern/AUD_AnimateableProperty.cpp index 9f399a0b99f..e0bc18ea520 100644 --- a/intern/audaspace/intern/AUD_AnimateableProperty.cpp +++ b/intern/audaspace/intern/AUD_AnimateableProperty.cpp @@ -119,13 +119,11 @@ void AUD_AnimateableProperty::write(const float* data, int position, int count) { m_unknown.push_back(Unknown(pos, position - 1)); + // if the buffer was not animated before, we copy the previous static value if(pos == 0) - { - for(int i = 0; i < position; i++) - memcpy(buf + i * m_count, data, m_count * sizeof(float)); - } - else - updateUnknownCache(pos, position - 1); + pos = 1; + + updateUnknownCache(pos, position - 1); } // otherwise it's not at the end, let's check if some unknown part got filled else |