| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -94,30 +94,84 @@ void PaulstretchpluginAudioProcessorEditor::resized() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_settings_button.changeWidthToFitText(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_info_label.setBounds(m_settings_button.getRight() + 1, m_settings_button.getY(),  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
					getWidth()-m_settings_button.getRight()-1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    std::array<int,30> indexes; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_main_volume] = 0; indexes[cpi_pause_enabled] = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_capture_enabled] = 2; indexes[cpi_max_capture_len] = 3; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_freeze] = 4; indexes[cpi_num_outchans] = 5; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_fftsize] = 6; indexes[cpi_stretchamount] = 7; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_pitchshift] = 8; indexes[cpi_frequencyshift] = 9; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_octavesm2] = 10; indexes[cpi_octavesm1] = 11; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_octaves0] = 12; indexes[cpi_octaves1] = 13; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_octaves15] = 14; indexes[cpi_octaves2] = 15; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_numharmonics] = 16; indexes[cpi_harmonicsfreq] = 17; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_harmonicsbw] = 18; indexes[cpi_harmonicsgauss] = 19; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_spreadamount] = 20; indexes[cpi_compress] = 21; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_tonalvsnoisebw] = 22; indexes[cpi_tonalvsnoisepreserve] = 23; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_soundstart] = 24; indexes[cpi_soundend] = 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_filter_low] = 26; indexes[cpi_filter_high] = 27; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    indexes[cpi_loopxfadelen] = 28; indexes[cpi_onsetdetection] = 29; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    for (int i = 0; i < indexes.size(); ++i) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int tempfoo = indexes[i]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int gridx = tempfoo % 2; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
					int gridy = tempfoo / 2; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
					m_parcomps[i]->setBounds(1+gridx*(getWidth()/2), 30 + gridy * 25, getWidth()/2-2, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int yoffs = m_parcomps[cpi_loopxfadelen]->getBottom() + 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int w = getWidth(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int yoffs = 30; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int div = w / 4; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_capture_enabled]->setBounds(xoffs, yoffs, div-1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_passthrough]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_pause_enabled]->setBounds(xoffs, yoffs, div-1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_freeze]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				div = w / 2; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_main_volume]->setBounds(xoffs, yoffs, div-1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_num_outchans]->setBounds(xoffs, yoffs, div-1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_fftsize]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_stretchamount]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_pitchshift]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_frequencyshift]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octavesm2]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octavesm1]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octaves0]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octaves1]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octaves15]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_octaves2]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_numharmonics]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_harmonicsfreq]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_harmonicsbw]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_harmonicsgauss]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_spreadamount]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_compress]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_tonalvsnoisebw]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_tonalvsnoisepreserve]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_soundstart]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_soundend]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_filter_low]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_filter_high]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs = 1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_loopxfadelen]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				xoffs += div; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_parcomps[cpi_onsetdetection]->setBounds(xoffs, yoffs, div - 1, 24); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				yoffs += 25; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				int remain_h = getHeight() - 1 - yoffs; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_spec_order_ed.setBounds(1, yoffs, getWidth() - 2, remain_h / 5 * 1); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
				m_wavecomponent.setBounds(1, m_spec_order_ed.getBottom()+1, getWidth()-2, remain_h/5*4); | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |