- if(level_samples) delete [] level_samples;
- calculate_history_size();
- level_samples = new int64_t[total_peaks];
-
- for(int i = 0; i < MAXCHANNELS;i++)
- {
- current_level[i] = 0;
- if(buffer[i] && !level_history[i])
- level_history[i] = new double[total_peaks];
- }
-
- for(int i = 0; i < total_peaks; i++)
- {
- level_samples[i] = -1;
- }
-
- for(int j = 0; j < MAXCHANNELS; j++)
- {
- if(buffer[j])
- for(int i = 0; i < total_peaks; i++)
- level_history[j][i] = 0;
+ meter_history->init(MAXCHANNELS, calculate_history_size());
+ for( int i=0; i<MAXCHANNELS; ++i ) {
+ if( buffer[i] ) meter_history->reset_channel(i);