added instrument swapping to SampleEvent