Go Back   Cockos Incorporated Forums > Projects > Deprecated REAPER issue tracker > Open Bug

Envelope changing without user knowing it Issue Tools
issueid=4416 10-15-2012 07:29 AM
Human being with feelings
Envelope changing without user knowing it
When you copy the envelope or edit it's chunk it's drawing AND performance changes

How to reproduce?
Create a track, insert some audio on it, press V to toggle volume envelope and input a lot of points with ctrl modifier
Now, copy that track (make sure envelope gets copied too) and invert the phase on the copied track - IT DOES NOT NULL!

It is important to note that this happens when you copy tracks and envelope gets copied automatically. If you copy just the item to a new track and then manually copy the envelope, performance of both envelopes will be the same - running the second python script on any of those will display redrawing and nulling problems presented later in the bug report

It also happens to all of the envelopes when you load a saved project
So after you've tested it does not null, save your project and close reaper. After that, reopen project - now it does null! As if reaper does the same thing it does when you're copying the envelope to all of the envelopes in the project

But envelope chunk is the same?!
Before saving and reloading project and giving Reaper a chance to do what it does to the envelope run this python script on both envelopes:
envelope =  RPR_GetSelectedTrackEnvelope(0)
env_state = RPR_GetSetEnvelopeState(envelope, "", 4*1024*1024)
Compare the results - they should be completely the same. Yet it does not null...

It does the same thing when you update envelope chunk
This python script (but you can try it in c++ with GetSetObjectState - the same thing will happen) just reads the envelope chunk and give it back to the Reaper untouched:
envelope =  RPR_GetSelectedTrackEnvelope(0)
env_state = RPR_GetSetEnvelopeState(envelope, "", 4*1024*1024)
RPR_GetSetEnvelopeState(envelope, env_state[2], 4*1024*1024)
You can directly see on the envelope that it changes even though it shouldn't:

However, if you run that action on the original track's envelope - it will null with the copied track. A proof that Reaper does whatever it does consistently and predictably.

Using different envelope instead of volume envelope
Instead of using volume envelope use something like JS: Utility/volume
Now, when copying tracks - they will null. But the drawing issue is still present. You can confirm it by running the last python script on the original track.

On the other hand, if you don't run the script immediately but freeze and unfreeze both tracks and try running the script - there will be no drawing issues - so it seems reaper does the same thing it does when restoring frozen envelopes.

Discussion thread
Issue Details
Issue Type Open Bug
Project Deprecated REAPER issue tracker
Category Audio recording and playback
Status Unconfirmed
Priority 1 - Highest
Affected Version 4.26
Fixed Version (none)
Users able to reproduce bug 4
Users unable to reproduce bug 0
Assigned Users (none)
Tags (none)

08-14-2013 09:01 AM
Human being with feelings
I think this happens because chunks (either those saved in .rpp or exchanged between reaper and extension/reascript) use 5 (IIRC) decimals only.

Issue Tools
Subscribe to this issue

All times are GMT -7. The time now is 05:26 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.