audio rework pt 1
[vg.git] / src / vg / vg_debug.h
1 #if 0
2 int debug_sfx = 0;
3 struct vg_convar debug_cvars[] =
4 {
5 { .name = "debug_sfx", .data = &debug_sfx, .data_type = k_convar_dtype_i32 }
6 };
7
8 static void sfx_internal_debug_overlay(void)
9 {
10 if( !debug_sfx )
11 return;
12
13 // Grab values
14 struct sound_info
15 {
16 float signal;
17 const char *name;
18 u32 cursor, flags;
19
20 u32 buffer_length, clip_start, clip_end;
21 }
22 infos[ SFX_MAX_SYSTEMS ];
23 int num_systems;
24
25 char perf[128];
26
27 sfx_lock();
28 num_systems = sfx_sys_len;
29
30 for( int i = 0; i < sfx_sys_len; i ++ )
31 {
32 sfx_system *sys = sfx_sys + i;
33 struct sound_info *snd = &infos[ i ];
34
35 //snd->signal = sys->signal_average;
36 snd->name = sys->name;
37 snd->cursor = sys->cur;
38 snd->flags = sys->flags;
39 snd->clip_start = sys->clip_start;
40 snd->clip_end = sys->clip_end;
41 snd->buffer_length = sys->buffer_length;
42 }
43 strcpy( perf, sfx_performance_info );
44 sfx_unlock();
45
46 // UI part
47 // ========
48 ui_global_ctx.cursor[0] = 10;
49 ui_global_ctx.cursor[1] = 10;
50 ui_global_ctx.cursor[2] = 150;
51 ui_global_ctx.cursor[3] = 12;
52 ui_text( &ui_global_ctx, ui_global_ctx.cursor, perf, 1, 0 );
53 ui_global_ctx.cursor[1] += 20;
54
55
56 // Draw audio stack
57 for( int i = 0; i < num_systems; i ++ )
58 {
59 ui_global_ctx.cursor[2] = 150;
60 ui_global_ctx.cursor[3] = 12;
61
62 u32 alpha = (infos[i].flags & SFX_FLAG_PERSISTENT)? 0xff000000: 0x22000000;
63
64 ui_new_node( &ui_global_ctx );
65 {
66 ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x00333333 | alpha );
67
68 ui_px baseline = ui_global_ctx.cursor[0];
69 ui_px width_block_1 = (ui_px)(((float)infos[i].clip_start / (float)infos[i].buffer_length) * 150.0f);
70 ui_px width_block_2 = (ui_px)(((float)(infos[i].buffer_length-infos[i].clip_end) / (float)infos[i].buffer_length) * 150.0f );
71
72 ui_global_ctx.cursor[2] = width_block_1;
73 ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77ffffff );
74
75 ui_global_ctx.cursor[2] = width_block_2;
76 ui_align_right( &ui_global_ctx );
77 ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0x77ffffff );
78
79 // Cursor
80
81 ui_global_ctx.cursor[2] = 2;
82 ui_global_ctx.cursor[0] = baseline + (ui_px)(((float)infos[i].cursor / (float)infos[i].buffer_length) * 150.0f);
83 ui_fill_rect( &ui_global_ctx, ui_global_ctx.cursor, 0xffffffff );
84
85 ui_global_ctx.cursor[0] = baseline + 2;
86 ui_global_ctx.cursor[1] += 2;
87 ui_text( &ui_global_ctx, ui_global_ctx.cursor, infos[i].name, 1, 0 );
88 }
89 ui_end_down( &ui_global_ctx );
90 ui_global_ctx.cursor[1] += 1;
91 }
92 }
93
94 static void vg_debugtools_draw(void)
95 {
96 sfx_internal_debug_overlay();
97 }
98
99 static void vg_debugtools_setup(void)
100 {
101 for( int i = 0; i < vg_list_size( debug_cvars ); i ++ )
102 {
103 vg_convar_push( debug_cvars[i] );
104 }
105 }
106 #endif