duongthienz commited on
Commit
2ee232b
·
verified ·
1 Parent(s): f581022

update timeline w multi

Browse files
Files changed (1) hide show
  1. utils.py +14 -2
utils.py CHANGED
@@ -513,8 +513,8 @@ def build_fig_treemap(df5, catTypeColors, speaker_color_map, get_display_name_fn
513
  return fig
514
 
515
 
516
- def build_fig_timeline(speakers_dataFrame, currTotalTime, speaker_color_map, get_display_name_fn, currFile):
517
- """Gantt-style speaker timeline."""
518
  df = speakers_dataFrame.copy()
519
  df["Resource"] = df["Resource"].apply(lambda s: get_display_name_fn(s, currFile))
520
 
@@ -538,6 +538,18 @@ def build_fig_timeline(speakers_dataFrame, currTotalTime, speaker_color_map, get
538
  )
539
  fig.update_yaxes(autorange="reversed")
540
 
 
 
 
 
 
 
 
 
 
 
 
 
541
  h = int(currTotalTime // 3600)
542
  m = int(currTotalTime % 3600 // 60)
543
  s = int(currTotalTime % 60)
 
513
  return fig
514
 
515
 
516
+ def build_fig_timeline(speakers_dataFrame, currTotalTime, speaker_color_map, get_display_name_fn, currFile, mv_intervals=None):
517
+ """Gantt-style speaker timeline with optional multi-voice vertical shading."""
518
  df = speakers_dataFrame.copy()
519
  df["Resource"] = df["Resource"].apply(lambda s: get_display_name_fn(s, currFile))
520
 
 
538
  )
539
  fig.update_yaxes(autorange="reversed")
540
 
541
+ # Add vertical shading for multi-voice intervals
542
+ MV_COLOR = "#64A377"
543
+ for start_s, end_s in (mv_intervals or []):
544
+ fig.add_vrect(
545
+ x0=base + dt.timedelta(seconds=start_s),
546
+ x1=base + dt.timedelta(seconds=end_s),
547
+ fillcolor=MV_COLOR,
548
+ opacity=0.20,
549
+ layer="below",
550
+ line_width=0,
551
+ )
552
+
553
  h = int(currTotalTime // 3600)
554
  m = int(currTotalTime % 3600 // 60)
555
  s = int(currTotalTime % 60)