Commit Graph

192 Commits

Author SHA1 Message Date
xenakios
e8b16839da Added function to create parameter. Set value step amount for most parameters. Enable double click to reset parameter slider. 2018-02-01 20:09:12 +02:00
xenakios
e6fb981e01 Highlight parameters of spectral module when clicked in the spectral chain editor 2018-02-01 15:11:41 +02:00
xenakios
0e997e1d43 Avoid showing nonsense play position value 2018-02-01 13:17:15 +02:00
xenakios
d119439f76 Avoid mouse drag when the spectral module enable button has been clicked 2018-02-01 00:06:32 +02:00
xenakios
ad86b46f95 Added a separate performance meter component 2018-01-31 20:58:16 +02:00
xenakios
6f89b544ab Draw prebufferred amount in main GUI component. Does not refresh properly in stand alone app build and probably not in all plugin hosts either. 2018-01-31 20:43:27 +02:00
xenakios
b179285b93 Added method to sound source to get playback position percent. Avoid seeking sound source when changing FFT size. Readme change. 2018-01-31 20:06:12 +02:00
xenakios
42061670a8 Clean up. Removed the MultiStretchAudioSource, hopefully it doesn't need to be restored later... 2018-01-30 18:56:00 +02:00
xenakios
f414f19e01 Remove the bool enabled members from the spectral process parameters 2018-01-30 18:49:00 +02:00
xenakios
65545c96b6 Make num harmonics parameter an integer parameter 2018-01-30 18:07:47 +02:00
xenakios
ced5a5e22a Increase spec process enabled button size. Init spread spec process to disabled. Remove checks for spec process enabled states from processBlock 2018-01-30 17:54:06 +02:00
xenakios
84164da2d7 Finally added enabled buttons for the spectral steps. 2018-01-30 17:32:23 +02:00
xenakios
0253b335f5 Fix release build crash in Reaper and Ableton Live 2018-01-20 22:54:26 +02:00
xenakios
a2ab8d285f glah 2018-01-20 22:39:33 +02:00
xenakios
fcbd99d4ed Double click on waveform selects whole buffer 2018-01-20 22:21:26 +02:00
xenakios
bc3f456485 Again draw file name in waveform component 2018-01-20 21:50:24 +02:00
xenakios
99127c79bb Increase thumbnailcache thread priority. Readme change. 2018-01-20 21:27:29 +02:00
xenakios
f4aef4bcac Remove redundant code and change about box text 2018-01-18 06:56:23 +02:00
xenakios
620f59c4f4 remove commented out stuff 2018-01-17 22:03:43 +02:00
xenakios
8bf3225b83 Restore ability to set capture buffer lengthm now via settings menu. Use AudioProcessor owned thumbnail for live input captured audio. Still need to clean up some of the old messy code that is now commented out. 2018-01-17 21:53:26 +02:00
xenakios
f6274f19be When changing audio file, seek to beginning of play range 2018-01-17 19:34:12 +02:00
xenakios
daf17f2ea3 Initial work to make the AudioProcessor own the AudioThumbNail etc 2018-01-17 18:57:56 +02:00
xenakios
3e2ce4ad45 Update version number 2018-01-08 18:04:28 +02:00
xenakios
f2275d49eb About text change 2018-01-05 21:57:43 +02:00
xenakios
a24d5c8c81 Make callGUI more generic and move it to globals.h. Readme change. 2018-01-05 17:49:54 +02:00
xenakios
cf17390293 Move methods to cpp file 2018-01-03 19:32:53 +02:00
xenakios
85875d96f4 Remove the unneeded Mutex.h file 2018-01-03 18:28:14 +02:00
xenakios
96a88e8016 Use new JUCE button callback stuff 2018-01-03 17:15:57 +02:00
xenakios
64ad16f8cb Clean up parameter components initing 2017-12-29 19:31:12 +02:00
xenakios
fbd337bf5d Removed the redundant spectrum processing methods 2017-12-29 05:12:03 +02:00
xenakios
0c394e9e36 Info labal justification change. Show prebuffered amount multiplied. 2017-12-28 22:50:52 +02:00
xenakios
2eedb1963f Factory presets stuff 2017-12-27 22:56:27 +02:00
xenakios
7d8ba0c15f Allow getting state tree without imported file and options. Update spectral order component from timer. 2017-12-27 22:43:07 +02:00
xenakios
843af8a8f9 Attempt to provide some factory presets, but getting messy...Readme changes. 2017-12-27 22:20:44 +02:00
xenakios
22aaaeb836 Got rid of unnecessary buffers. There may have at some point been some reason to do it like that though... 2017-12-27 17:57:00 +02:00
xenakios
7dcf9831f2 Try zeroing even more buffers, but no help... 2017-12-27 17:43:36 +02:00
xenakios
a6ec40904c Rename member. Attempt clearing buffers more thoroughly but old audio still appears to be present when restarting playback... 2017-12-27 17:35:30 +02:00
xenakios
f9cce79f49 Added support for dropping audio files into the plugin GUI 2017-12-27 16:56:37 +02:00
xenakios
21b06b8353 Add option for loading imported file with plugin's state. Use a small loop xfade amount as default. 2017-12-26 20:24:10 +02:00
xenakios
29e46bd008 Add menu action to reset parameters to initial values, except for main volume and input pass through 2017-12-26 18:12:22 +02:00
xenakios
34002da183 Add about dialog 2017-12-24 16:56:22 +02:00
xenakios
9630daba15 Use standalone functions for all spectral processors. Readme change. 2017-12-23 21:46:37 +02:00
xenakios
9ee8aa6ade Implement the input passthrough parameter 2017-12-23 07:23:38 +02:00
xenakios
820259b001 Inverted range for num harmonics parameter 2017-12-23 07:11:13 +02:00
xenakios
f8b98e05d1 Move parameter component methods to cpp 2017-12-22 22:59:45 +02:00
xenakios
4caaf1f5e0 Toggle button parameter tweak 2017-12-22 22:41:11 +02:00
xenakios
da6afcf05f Layout parameter components manually...Add parameter for input pass through. etc 2017-12-22 22:35:02 +02:00
xenakios
0052c77bbb Add option to capture only when host transport active. Add option to always pass input audio through. That should probably be a plugin parameter though... 2017-12-20 20:33:34 +02:00
xenakios
643799bceb Add submenu to set prebuffering amount, including none etc 2017-12-20 03:58:50 +02:00
xenakios
7d8616ec70 Add menu actions and logic to deal with playing only when the host plays. Also seek to stretch source active time range beginning when starting play. 2017-12-20 01:12:47 +02:00
xenakios
b6e46bd293 Add settings menu button 2017-12-20 00:50:47 +02:00
xenakios
bcd03d923e Some initial work on using AudioPlayHead 2017-12-19 23:00:42 +02:00
xenakios
77f514701c Add properties file stuff. Store and restore last file import folder. 2017-12-19 05:24:27 +02:00
xenakios
a8e70b76b7 Somewhat better layout order of the parameter components 2017-12-19 03:50:55 +02:00
xenakios
7238c71e66 Detect host offline rendering state and if active, use the stretchsource directly instead of the thread buffered source 2017-12-19 00:37:02 +02:00
xenakios
d900572506 Added detector for invalid sample values in plugin output 2017-12-18 22:27:12 +02:00
xenakios
8c9749a90c Added parameter for max capture length 2017-12-18 19:48:40 +02:00
xenakios
f3d769504d Show FFT size in samples in the info label. 2017-12-17 22:57:37 +02:00
xenakios
e0a341972d Add license texts to source code files 2017-12-17 21:40:35 +02:00
xenakios
8a92376713 Hardcode 8 channels for stretchsource xfade buffer 2017-12-17 19:54:12 +02:00
xenakios
ec13410088 Use the file extensions supported by the AudioFormatManager 2017-12-17 18:43:29 +02:00
xenakios
7ea18cc805 Add method to get sanitized samplerate as getSampleRate might return 0.0 when called from outside audio processing method. Comment out Spectral visualizer instance in editor. 2017-12-17 18:16:39 +02:00
xenakios
9cad298ef3 Use home directory for import file dialog initial location 2017-12-15 21:35:27 +02:00
xenakios
11be9bfde5 Comment out some logging code 2017-12-15 21:12:49 +02:00
xenakios
ff6c0dd529 Increase maximum time stretch amount. Rename plugin binary. 2017-12-15 21:00:15 +02:00
xenakios
3a16caa712 Save and restore spectral processing order 2017-12-15 18:26:09 +02:00
xenakios
9cddb76202 Use custom range mapping functions for filter frequencies 2017-12-15 17:43:59 +02:00
xenakios
45dccb830d Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI. 2017-12-15 06:17:11 +02:00
xenakios
dd9b7f3be3 Some skew for low and high pass filter params 2017-12-15 04:34:22 +02:00
xenakios
dc86913533 Added pause playback feature with fades for smoothing 2017-12-14 22:17:45 +02:00
xenakios
6ad663da47 Use parameter index constants 2017-12-14 19:57:14 +02:00
xenakios
40096fc87d Propagate host provided maximum block size to buffering audio source 2017-12-14 19:06:26 +02:00
xenakios
a3c2a07e5b Enable compressor as needed. Apply harmonics bandwidth and Gauss mode 2017-12-14 05:02:04 +02:00
xenakios
76880a8d5f Update output channel count on the fly. Somewhat hacky... 2017-12-14 00:44:46 +02:00
xenakios
3fc51ab8c6 Mono output doesn't currently work... 2017-12-14 00:22:21 +02:00
xenakios
d05a5d41a8 Preliminary work to enable multichannel output again with a parameter to determine the output channels to render 2017-12-14 00:19:46 +02:00
xenakios
71a9419e51 Can afford to update the spectral processing order while dragging the mouse. Changed the drag behavior and drawing again but still not that great. 2017-12-13 23:49:21 +02:00
xenakios
66fe05f842 Try adding some visual feedback for the spectral order drags 2017-12-13 21:25:42 +02:00
xenakios
6760dd3e67 Actually set the processing order on mouse up 2017-12-13 20:16:20 +02:00
xenakios
c78c42c153 Added component to allow reordering the spectral processing stages 2017-12-13 19:55:35 +02:00
xenakios
e980344bb3 Remove capture toggle button from editor. Also remove JS engine and dynamic object as those are not used currently. 2017-12-13 18:48:52 +02:00
xenakios
bd1eabf3bf Add more parameters including input capture enabled. A slightly nasty timer hack had to be implemented for that but can't be helped since the Juce provided bool parameter doesn't do callbacks...Small tweaks and fixes. 2017-12-13 18:30:09 +02:00
xenakios
3dc95b6f1d Avoid setting the audio buffer more than once 2017-12-13 05:23:57 +02:00
xenakios
e411a99f70 If capture buffer used, refresh waveform when GUI has been closed and reopened. 2017-12-13 05:18:39 +02:00
xenakios
891a85b5a5 Init zero octave parameter to proper value. Use param index constant. 2017-12-12 23:38:24 +02:00
xenakios
1576cfcf97 Use tryEnter for loop xfadelen setting. Fix oopsie in rate parameter setting... 2017-12-12 20:46:52 +02:00
xenakios
5a17f43763 Use Juce CriticalSection for main audio processor too. Use tryEnter for changing main volume parameter. Looks like it's best to do the tryEnter stuff for everything possible... 2017-12-12 20:43:43 +02:00
xenakios
7805f1a0aa Switch to using Juce CriticalSection in StretchSource. Especially when used with tryEnter, seems to help the audio glitches a lot, even when running under the debugger... 2017-12-12 20:27:29 +02:00
xenakios
68d5674eb9 Use parameter index constants. Init octave mixer parameters. 2017-12-12 20:00:51 +02:00
xenakios
5737b92165 Layout parameters in a grid for now etc 2017-12-12 19:54:54 +02:00
xenakios
572b1d2515 Added more parameters. Added int constants for parameter indexes. Initial work to do GUI layout with Javascript. Disabled spectrum visualizer for now. 2017-12-12 19:14:43 +02:00
xenakios
2fe40137cc argh 2017-12-05 02:09:20 +02:00
xenakios
b4502ba442 Add harmonics processing parameters. Add harmonics processing visualization etc 2017-12-03 23:47:28 +02:00
xenakios
75be994714 Constness 2017-12-03 23:28:54 +02:00
xenakios
ccf7ba303f SpectralVisualizer optimizations, create objects only when needed etc 2017-12-03 22:51:57 +02:00
xenakios
16868d5ccd Allow FFT object to be constructed without inverse FFT. Added SpectralVisualizer component that does an extremely inefficient visualization of the spectral processing stages. 2017-12-03 22:00:40 +02:00
xenakios
a1f7c52eb0 All/most spectral processing stages now in stand alone functions 2017-12-03 19:09:42 +02:00
xenakios
4a2cc8ff71 Initial work to separate spectrum processing implementations into stand alone functions from the ProcessedStretch class, to allow visualizations etc without having to instantiate the full ProcessedStretch object 2017-12-03 18:39:47 +02:00
xenakios
e52241ba86 Avoid resetting active source play range when changing file. Update xfade cache when changing file. 2017-11-28 21:10:22 +02:00
xenakios
5f24356658 Init FFT windowing type 2017-11-28 20:46:04 +02:00