Commit Graph

109 Commits

Author SHA1 Message Date
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
b6e46bd293 Add settings menu button 2017-12-20 00:50:47 +02:00
bcd03d923e Some initial work on using AudioPlayHead 2017-12-19 23:00:42 +02:00
77f514701c Add properties file stuff. Store and restore last file import folder. 2017-12-19 05:24:27 +02:00
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
d900572506 Added detector for invalid sample values in plugin output 2017-12-18 22:27:12 +02:00
8c9749a90c Added parameter for max capture length 2017-12-18 19:48:40 +02:00
e0a341972d Add license texts to source code files 2017-12-17 21:40:35 +02:00
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
ff6c0dd529 Increase maximum time stretch amount. Rename plugin binary. 2017-12-15 21:00:15 +02:00
3a16caa712 Save and restore spectral processing order 2017-12-15 18:26:09 +02:00
9cddb76202 Use custom range mapping functions for filter frequencies 2017-12-15 17:43:59 +02:00
45dccb830d Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI. 2017-12-15 06:17:11 +02:00
dd9b7f3be3 Some skew for low and high pass filter params 2017-12-15 04:34:22 +02:00
dc86913533 Added pause playback feature with fades for smoothing 2017-12-14 22:17:45 +02:00
6ad663da47 Use parameter index constants 2017-12-14 19:57:14 +02:00
40096fc87d Propagate host provided maximum block size to buffering audio source 2017-12-14 19:06:26 +02:00
a3c2a07e5b Enable compressor as needed. Apply harmonics bandwidth and Gauss mode 2017-12-14 05:02:04 +02:00
76880a8d5f Update output channel count on the fly. Somewhat hacky... 2017-12-14 00:44:46 +02:00
3fc51ab8c6 Mono output doesn't currently work... 2017-12-14 00:22:21 +02:00
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
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
891a85b5a5 Init zero octave parameter to proper value. Use param index constant. 2017-12-12 23:38:24 +02:00
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
68d5674eb9 Use parameter index constants. Init octave mixer parameters. 2017-12-12 20:00:51 +02:00
5737b92165 Layout parameters in a grid for now etc 2017-12-12 19:54:54 +02:00
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
b4502ba442 Add harmonics processing parameters. Add harmonics processing visualization etc 2017-12-03 23:47:28 +02:00
5f24356658 Init FFT windowing type 2017-11-28 20:46:04 +02:00
eece70d89b Add parameters. Use plain old member variables for main volume and loop xfade length. GUI layout tweak. 2017-11-25 21:25:46 +02:00
4a89c2f1c4 Init FFT size with parameter value 2017-11-25 05:52:48 +02:00
8bd4468603 Parameter and slider stuff. Added spread parameter. Mutex locking fixes. This had went unnoticed because VS for some reason didn't break into the debugger on entering a non recursive multiple times. 2017-11-25 00:22:07 +02:00
73ef79509c Use shared audioformatmanager between plugin instances 2017-11-24 01:44:30 +02:00
e9e1c45550 Nicer way to deal with the shared audiothumbnailcache 2017-11-23 19:36:46 +02:00
a109d71f09 Use shared thumbnailcache for all plugin instances. Kind of a tricky thing with std::shared_ptr going on here using the deprecated unique method...But, oh well... 2017-11-23 19:12:29 +02:00
9207325698 Lock mutex when restoring plugin state 2017-11-23 17:57:37 +02:00
5b54b15ba6 Finally removed the Control class, the same stuff can be done in the AudioProcessor subclass...The Control source files are still in the repo in case they need to be looked at, but will eventually remove those too. 2017-11-21 00:39:07 +02:00
6aa514f52b Finally support changing FFT size. This however doesn't now use the double stretch source thing, so glitches will probably happen... Parameter component was changed to support changing the parameter value only on mouse releasee etc 2017-11-17 16:41:33 +02:00
0dcd410780 Support bool parameters in parameter component. Add freeze parameter to plugin. 2017-11-16 19:45:40 +02:00
43be82edc8 Plugin initialization bug existed also on Windows, fixed for now...Make the GUI poll for some state changes from the AudioProcessor, instead of the processor calling the GUI. When using memory buffer in input source, copy all channels to xfade buffer. Some other tweaks. 2017-11-16 16:58:04 +02:00
84e564b393 Still trying... 2017-11-16 02:48:24 +02:00
adc6505424 Still trying to understand the MacOs no sound issue, but no luck...Sigh. 2017-11-16 02:33:00 +02:00
3c79a097c5 blah 2017-11-16 00:53:44 +02:00
d32d855e64 macOs build fixes. Plugin itself doesn't work properly... 2017-11-16 00:37:24 +02:00
c283d719d0 Update waveform component time selection when state restored. Should probably restructure all this stuff so that the GUI can ask for this stuff when it wants, instead of the AudioProcessor making calls into the GUI... 2017-11-15 21:47:26 +02:00
4620ba818e Save and restore plugin state. Port input file skipbuffer bug fix from standalone app. 2017-11-15 20:51:52 +02:00
f4c8d2891b Made input capture buffer circular and update waveform thumbnail while capturing audio. 2017-11-15 17:52:47 +02:00
6487880fb3 Process main volume. Allow importing audio files directly. Tweaks etc 2017-11-14 18:14:14 +02:00
836dad1e7d Try handling multichannel stuff. Not going too well, looks like the plugin will need to get a setting to set the actual number of output channels that will be processed... 2017-11-14 03:13:32 +02:00
b2cdb3aa85 Tweaks 2017-11-14 02:30:18 +02:00