def get_track_mixes(self): """ Get track mixes for all slices in this track. @returns: list of track mixes for each slice @rtype: list of L{dad.audio.mixing.TrackMix} """ ret = [] rms = self.get_rms_dB() peak = self.get_peak_dB() slices = rms.slice() # If there are no slices, then the track is silent. # In that case, return the full track. if not slices: slices = [rms, ] for i, s in enumerate(slices): m = mixing.fromLevels(s, peak.trim(start=s.start(), end=s.end())) if i == 0: m.name = self._filename else: m.name = "slice %d of %s" % (i + 1, self._filename) ret.append(m) return ret
def testFromLevels(self): handle = open(os.path.join(os.path.dirname(__file__), 'home.pickle')) level = pickle.load(handle) tm = mixing.fromLevels(level, level) level2 = level.convert(mlevel.SCALE_RAW) del level2[-1] self.assertRaises(exceptions.AssertionError, mixing.fromLevels, level, level2) level2 = level.convert(mlevel.SCALE_RAW) # FIXME: pokey level2._start = level2[0][0] self.assertRaises(exceptions.AssertionError, mixing.fromLevels, level, level2)