Backport changes 7e94887988990e98b5c7738f393e10afa0d8ddb8 and fb5674fd0aa46a186dba92965fc5d11cd2630394
from Music2, to make it easier to share code between the two.
10 files changed