Skip to content

Commit 99ef12f

Browse files
Tim020claude
andcommitted
Add microphone timeline visualization component
Implements a simplified SVG-based timeline visualization showing microphone allocations across scenes with three view modes: - By Microphone: Shows which characters use each mic - By Character: Shows which mics each character uses - By Cast: Shows which mics each cast member uses Features: - Simple scrollable SVG (zoom removed for simplicity) - Golden ratio-based color generation for distinct entity colors - Export to PNG functionality - Responsive bar layout with scene/act labels - Dynamic color assignment ensures unique colors per entity 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
1 parent 9e87f28 commit 99ef12f

File tree

2 files changed

+812
-2
lines changed

2 files changed

+812
-2
lines changed

client/src/views/show/config/ConfigMics.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
>
1818
<mic-allocations />
1919
</b-tab>
20+
<b-tab
21+
title="Timeline"
22+
>
23+
<mic-timeline :loading="!loaded" />
24+
</b-tab>
2025
</b-tabs>
2126
</b-col>
2227
<b-col v-else>
@@ -37,10 +42,11 @@
3742
import { mapActions } from 'vuex';
3843
import MicList from '@/vue_components/show/config/mics/MicList.vue';
3944
import MicAllocations from '@/vue_components/show/config/mics/MicAllocations.vue';
45+
import MicTimeline from '@/vue_components/show/config/mics/MicTimeline.vue';
4046
4147
export default {
4248
name: 'ConfigMics',
43-
components: { MicAllocations, MicList },
49+
components: { MicAllocations, MicList, MicTimeline },
4450
data() {
4551
return {
4652
loaded: false,
@@ -50,13 +56,14 @@ export default {
5056
await this.GET_SCENE_LIST();
5157
await this.GET_ACT_LIST();
5258
await this.GET_CHARACTER_LIST();
59+
await this.GET_CAST_LIST();
5360
await this.GET_MICROPHONE_LIST();
5461
await this.GET_MIC_ALLOCATIONS();
5562
this.loaded = true;
5663
},
5764
methods: {
5865
...mapActions(['GET_SCENE_LIST', 'GET_ACT_LIST', 'GET_CHARACTER_LIST',
59-
'GET_MICROPHONE_LIST', 'GET_MIC_ALLOCATIONS']),
66+
'GET_CAST_LIST', 'GET_MICROPHONE_LIST', 'GET_MIC_ALLOCATIONS']),
6067
},
6168
};
6269
</script>

0 commit comments

Comments
 (0)