- if (use_rec_regions) {
- uint32_t n = 0;
-
- for (list<pair<boost::shared_ptr<Region>,RegionView*> >::iterator iter = rec_regions.begin();
- iter != rec_regions.end(); n++) {
-
- list<pair<boost::shared_ptr<Region>,RegionView*> >::iterator tmp = iter;
- ++tmp;
-
- if (!canvas_item_visible (rec_rects[n].rectangle)) {
- /* rect already hidden, this region is done */
- iter = tmp;
- continue;
- }
-
- boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion>(iter->first);
- if (!region) {
- iter = tmp;
- continue;
- }
-
- nframes_t origlen = region->length();
-
- if (region == rec_regions.back().first && rec_active) {
-
- if (last_rec_data_frame > region->start()) {
-
- nframes_t nlen = last_rec_data_frame - region->start();
-
- if (nlen != region->length()) {
-
- region->freeze ();
- region->set_position (_trackview.get_diskstream()->get_capture_start_frame(n), this);
- region->set_length (nlen, this);
- region->thaw ();
-
- if (origlen == 1) {
- /* our special initial length */
- add_region_view_internal (region, false, true);
- }
+ if (!Config->get_show_waveforms_while_recording ()) {
+ return;
+ }
+
+ uint32_t n = 0;
+
+ for (list<pair<boost::shared_ptr<Region>,RegionView*> >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); n++) {
+
+ list<pair<boost::shared_ptr<Region>,RegionView*> >::iterator tmp = iter;
+ ++tmp;
+
+ assert (n < rec_rects.size());
+
+ if (!canvas_item_visible (rec_rects[n].rectangle)) {
+ /* rect already hidden, this region is done */
+ iter = tmp;
+ continue;
+ }
+
+ boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion>(iter->first);
+
+ if (!region) {
+ iter = tmp;
+ continue;
+ }
+
+ framecnt_t origlen = region->length();
+
+ if (region == rec_regions.back().first && rec_active) {
+
+ if (last_rec_data_frame > region->start()) {
+
+ framecnt_t nlen = last_rec_data_frame - region->start();
+
+ if (nlen != region->length()) {