Example #1
0
    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
Example #2
0
    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)