From 0138387d2797a7370a2d28406b5df0d0a028565a Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Tue, 7 Nov 2023 11:44:28 -0800 Subject: [PATCH] Made cues to_dict nicer --- wavinfo/wave_cues_reader.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/wavinfo/wave_cues_reader.py b/wavinfo/wave_cues_reader.py index c1fbaeb..8d47a07 100644 --- a/wavinfo/wave_cues_reader.py +++ b/wavinfo/wave_cues_reader.py @@ -247,10 +247,26 @@ class WavCuesReader: if r.name == cue_ident), None) def to_dict(self) -> Dict[str, Any]: - return dict(cues=[c._asdict() for c in self.cues], - labels=[l._asdict() for l in self.labels], - ranges=[r._asdict() for r in self.ranges], - notes=[n._asdict() for n in self.notes]) + retval = dict() + + for n, t in self.each_cue(): + retval[n] = dict() + retval[n]['frame'] = t + label, note = self.label_and_note(n) + r = self.range(n) + + if label is not None: + retval[n]['label'] = label + if note is not None: + retval[n]['note'] = note + if r is not None: + retval[n]['length'] = r + + return retval + # return dict(cues=[c._asdict() for c in self.cues], + # labels=[l._asdict() for l in self.labels], + # ranges=[r._asdict() for r in self.ranges], + # notes=[n._asdict() for n in self.notes])