Tidied up quite a bit and switched from AudioGetCurrentHostTime to mach_absolute_time