feat: audio visualizer configuration#316
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
42a57c0 to
2b4b899
Compare
2b4b899 to
f02e3d9
Compare
01765fc to
a5cc895
Compare
4fc7f63 to
9bb80b0
Compare
9048af5 to
f463bc0
Compare
f463bc0 to
c23dc3c
Compare
c23dc3c to
36e66c0
Compare
36e66c0 to
fcef900
Compare
|
cc @rektdeckard for awareness on upcoming Agent Builder |
fcef900 to
d827b2c
Compare
|
@thomasyuill-livekit is the grid visualizer supposed to match the |
bcherry
left a comment
There was a problem hiding this comment.
i think this is great - but also (maybe as a follow-on is fine) we need to update the readme to describe what all this stuff is and how to use it
ah good point just resolving the grid |
d827b2c to
7849339
Compare
|
grid audioVisualizerColor issue resolved |
57ce7e1 to
0fe373c
Compare
| audioVisualizerType?: 'bar' | 'wave' | 'grid' | 'radial' | 'aura'; | ||
| audioVisualizerColor?: `#${string}`; | ||
| audioVisualizerColorDark?: `#${string}`; | ||
| audioVisualizerBarCount?: number; | ||
| audioVisualizerGridRowCount?: number; | ||
| audioVisualizerGridColumnCount?: number; | ||
| audioVisualizerRadialBarCount?: number; | ||
| audioVisualizerRadialRadius?: number; | ||
| audioVisualizerAuraColorShift?: number; | ||
| audioVisualizerWaveLineWidth?: number; |
There was a problem hiding this comment.
nitpick: It might be nice to set this up so that the typescript logic will validate that all fields which are required for a certain audioVisualizerType value are non optional via something directionally like the below:
type Common = {
audioVisualizerColor?: `#${string}`;
audioVisualizerColorDark?: `#${string}`;
audioVisualizerBarCount: number;
audioVisualizerGridRowCount?: number;
audioVisualizerGridColumnCount?: number;
audioVisualizerRadialBarCount?: number;
audioVisualizerRadialRadius?: number;
audioVisualizerAuraColorShift?: number;
audioVisualizerWaveLineWidth?: number;
};
type AudioVisualizerTypeBar = Common & {
audioVisualizerType: 'bar'
audioVisualizerBarCount: number;
};
type AudioVisualizerTypeRadial = Common & {
audioVisualizerType: 'radial';
audioVisualizerRadialBarCount: number;
audioVisualizerRadialRadius: number;
};
// etc
type AudioVisualizer = AudioVisualizerTypeBar | AudioVisualizerTypeRadial;
export type AppConfig = AudioVisualizer & {
// Rest of fields here
};Then if somebody were configuring this locally they would be sure to have set all the right fields.
There was a problem hiding this comment.
thats a great idea
I'm going to do that in the next PR tho so I have some time to test it thoroughly
Summary
Resolves https://linear.app/livekit/issue/LK-3566/extend-agent-starter-react-to-enable-audio-visualizers-configuration
This PR significantly extends the agent-starter-react example by adding audio visualizer configuration capabilities.
Key Features
Configuration Updates
Added 8 new config options to
app-config.ts:#${string};#${string};New Components
Component Updates
Agents UIshadcn registryScreenshots