Commit Graph

117 Commits

Author SHA1 Message Date
xenakios
122c90bf3f Smooth play range change almost working... 2018-02-22 21:03:46 +02:00
xenakios
a8079b277f Attempt to do fade outs and fade ins when seeking source sound, but not working yet. Readme changes. 2018-02-22 20:01:29 +02:00
xenakios
c98b7c70e4 Report unstretched play range length when playing original source 2018-02-22 02:04:30 +02:00
xenakios
1a8bddeb9b Added convenience functions to deal with storing and getting audio parameters and use them 2018-02-22 01:09:36 +02:00
xenakios
715a753893 Resample unprocessed source sound as needed 2018-02-21 20:16:07 +02:00
xenakios
e6a7d26d27 Preliminary work to play the sound source unprocessed 2018-02-21 19:34:39 +02:00
xenakios
3171940a67 Experimented with adding a sound play range offset parameter but not going to be able to support it properly for now. Show debug build title in about screen. 2018-02-15 16:03:00 +02:00
xenakios
e3d893ee9e Added zoomscrollbar for waveform. Removed unused code. 2018-02-14 15:18:35 +02:00
xenakios
b6f5c0ea7d Shorten the FFT switch crossfade length. Remove commented out code. Formatting change. 2018-02-13 22:16:18 +02:00
xenakios
acbbe693bd Boolean stuff 2018-02-13 19:41:52 +02:00
xenakios
c9a3a3ab03 Show additional technical info in label optionally. Added utility function to toggle a bool variable. 2018-02-13 16:51:57 +02:00
xenakios
ccf47720ab Waveform length display improvement. Draw waveform texts brighter. 2018-02-07 14:52:22 +02:00
xenakios
a589f133d2 Format waveform duration in a nicer way 2018-02-06 21:15:20 +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
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
a24d5c8c81 Make callGUI more generic and move it to globals.h. Readme change. 2018-01-05 17:49:54 +02:00
xenakios
85875d96f4 Remove the unneeded Mutex.h file 2018-01-03 18:28:14 +02:00
xenakios
fbd337bf5d Removed the redundant spectrum processing methods 2017-12-29 05:12:03 +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
9630daba15 Use standalone functions for all spectral processors. Readme change. 2017-12-23 21:46:37 +02:00
xenakios
8a92376713 Hardcode 8 channels for stretchsource xfade buffer 2017-12-17 19:54:12 +02:00
xenakios
11be9bfde5 Comment out some logging code 2017-12-15 21:12:49 +02:00
xenakios
dc86913533 Added pause playback feature with fades for smoothing 2017-12-14 22:17:45 +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
e411a99f70 If capture buffer used, refresh waveform when GUI has been closed and reopened. 2017-12-13 05:18:39 +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
5737b92165 Layout parameters in a grid for now etc 2017-12-12 19:54:54 +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
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
xenakios
da1fea6850 Check volume and loop xfade length in setters before entering mutex 2017-11-28 16:35:15 +02:00
xenakios
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
xenakios
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
xenakios
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
xenakios
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
xenakios
31dbfb84cd Remove unused external variables 2017-11-20 23:00:51 +02:00
xenakios
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
xenakios
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
xenakios
0dcd410780 Support bool parameters in parameter component. Add freeze parameter to plugin. 2017-11-16 19:45:40 +02:00
xenakios
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
xenakios
84e564b393 Still trying... 2017-11-16 02:48:24 +02:00
xenakios
adc6505424 Still trying to understand the MacOs no sound issue, but no luck...Sigh. 2017-11-16 02:33:00 +02:00
xenakios
3fd0b4ea09 Trying to get the Mac build working, but no luck... 2017-11-16 01:42:51 +02:00
xenakios
4620ba818e Save and restore plugin state. Port input file skipbuffer bug fix from standalone app. 2017-11-15 20:51:52 +02:00
xenakios
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
xenakios
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
xenakios
6487880fb3 Process main volume. Allow importing audio files directly. Tweaks etc 2017-11-14 18:14:14 +02:00
xenakios
1590110a24 Some improvements. To keep things saner use the single stretch source for now. 2017-11-14 01:50:44 +02:00
xenakios
962d4806b5 Tiny improvements but things arestill not working right 2017-11-14 00:50:12 +02:00
xenakios
aab3fcf2a3 Added WaveformComponent. Audio playback now broken if a file is not set initially, need to sort that out later... 2017-11-13 23:42:13 +02:00
xenakios
76de3b12a5 Audio input capture more or less running 2017-11-13 22:35:36 +02:00
xenakios
c32e64a570 Added sound play range parameters. Initial work on audio input capture. 2017-11-13 21:21:30 +02:00
xenakios
b9db955a99 Initial work on custom GUI 2017-11-13 20:45:23 +02:00
xenakios
793279a20a Crashing was probably because of wrongly placed prepareToPlay call 2017-11-13 19:41:47 +02:00
xenakios
d97975f27a OK, it plays some crappy audio but crashes on quit and all that kind of great stuff 2017-11-13 18:15:07 +02:00
xenakios
d7ca59b90a Initial git commit 2017-11-13 17:06:08 +02:00