'Return all frames with a given name (the list may be empty).
Args:
key (text): key for frames to get
This is best explained by examples::
id3.getall(\'TIT2\') == [id3[\'TIT2\']]
id3.getall(\'TTTT\') == []
id3.getall(\'TXXX\') == [TXXX(desc=\'woo\', text=\'bar\'),
TXXX(desc=\'baz\', text=\'quuuux\'), ...]
Since this is based on the frame\'s HashKey, which is
colon-separated, you can use it to do things like
``getall(\'COMM:MusicMatch\')`` or ``getall(\'TXXX:QuodLibet:\')``.'

def getall(self, key):

    if (key in self):
        return [self[key]]
    else:
        key = (key + ':')
        return [v for (s, v) in self.items() if s.startswith(key)]
