Commit Graph

59 Commits

Author SHA1 Message Date
b6f5c0ea7d Shorten the FFT switch crossfade length. Remove commented out code. Formatting change. 2018-02-13 22:16:18 +02:00
acbbe693bd Boolean stuff 2018-02-13 19:41:52 +02:00
c9a3a3ab03 Show additional technical info in label optionally. Added utility function to toggle a bool variable. 2018-02-13 16:51:57 +02:00
ccf47720ab Waveform length display improvement. Draw waveform texts brighter. 2018-02-07 14:52:22 +02:00
a589f133d2 Format waveform duration in a nicer way 2018-02-06 21:15:20 +02:00
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
42061670a8 Clean up. Removed the MultiStretchAudioSource, hopefully it doesn't need to be restored later... 2018-01-30 18:56:00 +02:00
f414f19e01 Remove the bool enabled members from the spectral process parameters 2018-01-30 18:49:00 +02:00
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
84164da2d7 Finally added enabled buttons for the spectral steps. 2018-01-30 17:32:23 +02:00
a24d5c8c81 Make callGUI more generic and move it to globals.h. Readme change. 2018-01-05 17:49:54 +02:00
85875d96f4 Remove the unneeded Mutex.h file 2018-01-03 18:28:14 +02:00
fbd337bf5d Removed the redundant spectrum processing methods 2017-12-29 05:12:03 +02:00
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
7dcf9831f2 Try zeroing even more buffers, but no help... 2017-12-27 17:43:36 +02:00
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
9630daba15 Use standalone functions for all spectral processors. Readme change. 2017-12-23 21:46:37 +02:00
8a92376713 Hardcode 8 channels for stretchsource xfade buffer 2017-12-17 19:54:12 +02:00
11be9bfde5 Comment out some logging code 2017-12-15 21:12:49 +02:00
dc86913533 Added pause playback feature with fades for smoothing 2017-12-14 22:17:45 +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
e411a99f70 If capture buffer used, refresh waveform when GUI has been closed and reopened. 2017-12-13 05:18:39 +02:00
1576cfcf97 Use tryEnter for loop xfadelen setting. Fix oopsie in rate parameter setting... 2017-12-12 20:46:52 +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
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
5737b92165 Layout parameters in a grid for now etc 2017-12-12 19:54:54 +02:00
b4502ba442 Add harmonics processing parameters. Add harmonics processing visualization etc 2017-12-03 23:47:28 +02:00
75be994714 Constness 2017-12-03 23:28:54 +02:00
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
a1f7c52eb0 All/most spectral processing stages now in stand alone functions 2017-12-03 19:09:42 +02:00
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
e52241ba86 Avoid resetting active source play range when changing file. Update xfade cache when changing file. 2017-11-28 21:10:22 +02:00
5f24356658 Init FFT windowing type 2017-11-28 20:46:04 +02:00
da1fea6850 Check volume and loop xfade length in setters before entering mutex 2017-11-28 16:35:15 +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
321e9bbf1c The crossfading between FFT sizes might be working! It seems to be quite heavy for the buffering thread though, so getting glitches in debug build...Removed unused member etc 2017-11-22 18:50:39 +02:00
c43de8120c Attempt to do a crossfade when changing FFT size, using the same stretchsource instance. It's tricky and not really working yet like this. 2017-11-22 00:18:50 +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
31dbfb84cd Remove unused external variables 2017-11-20 23:00:51 +02:00
98858218d5 When setting stretchsource playrange, don't clear the ring buffer and seek only if the current seek position is not within the new play range 2017-11-17 17:17:31 +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
3fd0b4ea09 Trying to get the Mac build working, but no luck... 2017-11-16 01:42:51 +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
c34961995d Implemented a proper equality operator for the processparameters. Also tried something a bit too smart with it, left commented out in the code... 2017-11-15 02:06:36 +02:00
d442e2eaea Added diagnostics to see how often the parameters have been set. Added a somewhat hacky way to avoid doing the parameter updates if not needed, using raw memory comparison. 2017-11-14 19:44:13 +02:00
6487880fb3 Process main volume. Allow importing audio files directly. Tweaks etc 2017-11-14 18:14:14 +02:00