diff options
author | Jörg Müller <nexyon@gmail.com> | 2015-03-16 13:02:04 +0300 |
---|---|---|
committer | Jörg Müller <nexyon@gmail.com> | 2015-03-16 13:02:04 +0300 |
commit | 2fa593a6f7d0dcf4a638180da1afd6d10afc3ac5 (patch) | |
tree | 2cee20c71f74c7c4813d9d8e89d807a9841cc122 /intern/audaspace | |
parent | 19ce78fb3bbdce0a23ab7e3930bded6b3ca1c25e (diff) |
Fix T43853: Audio animation bug (fcurves)
For a detailed bug explanation see the comments in the report.
Diffstat (limited to 'intern/audaspace')
-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 |