diff -ru meterbridge-0.9.2/src/envelopes.c /home/nedko/mysrc/meterbridge-0.9.2/src/envelopes.c --- meterbridge-0.9.2/src/envelopes.c 2003-06-05 12:35:41.000000000 +0300 +++ /home/nedko/mysrc/meterbridge-0.9.2/src/envelopes.c 2006-11-18 16:45:14.000000000 +0200 @@ -1,3 +1,4 @@ +/* -*- Mode: C ; tab-width: 8 ; indent-tabs-mode: t ; c-basic-offset: 8 ; -*- */ #include #include @@ -105,10 +106,6 @@ unsigned int i, port; jack_default_audio_sample_t *in, *out; - if (meter_freeze) { - return 0; - } - for (port = 0; port < num_meters; port++) { /* just incase the port isn't registered yet */ if (input_ports[port] == 0 || output_ports[port] == 0) { @@ -119,10 +116,14 @@ out = (jack_default_audio_sample_t *) jack_port_get_buffer(output_ports[port], nframes); for (i=0; i #include #include @@ -71,6 +72,9 @@ SDL_FillRect(meter, buf_rect, trace); SDL_BlitSurface(meter_buf, buf_rect, screen, buf_rect+i); + if (meter_freeze) { + continue; + } for (j=0; j 100) printf("%d\t%f\n", cor_rect.w, tau_lp[i]); } SDL_UpdateRects(screen, 1, &win); - SDL_Delay(25); + if (meter_freeze) { + SDL_Delay(250); + } else { + SDL_Delay(25); + } } return 0; diff -ru meterbridge-0.9.2/src/main.c /home/nedko/mysrc/meterbridge-0.9.2/src/main.c --- meterbridge-0.9.2/src/main.c 2003-06-05 14:32:30.000000000 +0300 +++ /home/nedko/mysrc/meterbridge-0.9.2/src/main.c 2006-11-18 16:32:03.000000000 +0200 @@ -1,3 +1,4 @@ +/* -*- Mode: C ; tab-width: 8 ; indent-tabs-mode: t ; c-basic-offset: 8 ; -*- */ #include #include #include @@ -268,11 +269,17 @@ case SDL_QUIT: cleanup(); break; - case 5: - meter_freeze = 1; - break; - case 6: - meter_freeze = 0; + case SDL_MOUSEBUTTONDOWN: + if (!meter_freeze) + { + printf("meter freeze\n"); + meter_freeze = 1; + } + else + { + printf("meter unfreeze\n"); + meter_freeze = 0; + } break; default: //printf("%d\n", event.type); diff -ru meterbridge-0.9.2/src/scope.c /home/nedko/mysrc/meterbridge-0.9.2/src/scope.c --- meterbridge-0.9.2/src/scope.c 2003-06-05 12:21:38.000000000 +0300 +++ /home/nedko/mysrc/meterbridge-0.9.2/src/scope.c 2006-11-18 17:15:59.000000000 +0200 @@ -1,3 +1,4 @@ +/* -*- Mode: C ; tab-width: 8 ; indent-tabs-mode: t ; c-basic-offset: 8 ; -*- */ #include #include #include @@ -33,6 +34,9 @@ int x=0, y=128, ym1, base; SDL_BlitSurface(meter_buf, buf_rect, screen, buf_rect+i); + if (meter_freeze) { + continue; + } for (base = 0; base < RING_BUF_SIZE - 257; base++) { if (ring_buf[i][base] <= 0.0f && ring_buf[i][base+1] > 0.0f) { @@ -58,7 +62,11 @@ } } SDL_UpdateRects(screen, 1, &win); - SDL_Delay(50); + if (meter_freeze) { + SDL_Delay(250); + } else { + SDL_Delay(50); + } } return 0;