bzero(nested_output, sizeof(Samples*) * MAX_CHANNELS);
bzero(prev_head, SPEED_OVERLAP * sizeof(double));
bzero(prev_tail, SPEED_OVERLAP * sizeof(double));
bzero(nested_output, sizeof(Samples*) * MAX_CHANNELS);
bzero(prev_head, SPEED_OVERLAP * sizeof(double));
bzero(prev_tail, SPEED_OVERLAP * sizeof(double));
- if(transition_temp) delete transition_temp;
- if(speed_temp) delete speed_temp;
- if(level_history)
- {
- delete [] level_history;
- delete [] level_samples;
- }
-
+ delete transition_temp;
+ delete speed_temp;
+ delete meter_history;
- if(commonrender)
- {
- level_history = new double[((ARender*)commonrender)->total_peaks];
- level_samples = new int64_t[((ARender*)commonrender)->total_peaks];
- current_level = 0;
-
- for(int i = 0; i < ((ARender*)commonrender)->total_peaks; i++)
- {
- level_history[i] = 0;
- level_samples[i] = -1;
- }
+ if( commonrender ) {
+ meter_history->init(1, ((ARender*)commonrender)->total_peaks);
+ meter_history->reset_channel(0);
- for(int64_t i = edit_startproject; i < start_project; i++)
- {
- double speed = speed_autos->get_value(i,
- PLAY_FORWARD,
- previous,
- next);
- speed_position += speed;
- }
-
+ speed_position += speed_autos->automation_integral(edit_startproject,
+ start_project-edit_startproject, PLAY_FORWARD);