public void SetFloatState(int frame, string buttonName, float val) { if (frame >= _log.Count) // Insert blank frames up to this point { ExtendMovieForEdit(frame - _log.Count + 1); } var adapter = GetInputState(frame) as Bk2ControllerAdapter; var old = adapter.GetFloat(buttonName); adapter.SetFloat(buttonName, val); var lg = LogGeneratorInstance(); lg.SetSource(adapter); _log[frame] = lg.GenerateLogEntry(); if (old != val) { InvalidateAfter(frame); Changes = true; ChangeLog.AddFloatChange(frame, buttonName, old, val, "Set " + buttonName + "(" + val + "): " + frame); } }