And since we talk about SetMediaItemTakeInfo_Value, it returns true even if not succeded. For example, here I mistype the parameter name by adding an extra space in the end. The playrate does not change but, it returns true as if it did.
Code:
item = reaper.GetMediaItem(0, 0)
take = reaper.GetMediaItemTake( item, 0)
done = reaper.SetMediaItemTakeInfo_Value(take,"D_PLAYRATE ",2)
reaper.Undo_OnStateChange( "foo bar" )
reaper.UpdateArrange()
The same happens with any parameter name.. Not just with D_PLAYRATE