reworked tune system, add a new TuneEndEvent