Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
update timeline w multi
Browse files
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)
|