Read files as their own data type

In this case floats and doubles as float and integer types as shorts.

Once this and the patcher are in I think there's a refactor to be done around the wrapped file opening to select the right function.