added preference to volume control, falling back to gain control if it's not available. refac. added storagesize.