Commit Graph

69 Commits

Author SHA1 Message Date
1f24ffb1b6 Moved dry source playback into its own method. Allow moving waveform time selection without having to press shift 2018-02-23 17:43:29 +02:00
f47e848f19 Shorter range change fade length. Readme change. 2018-02-22 22:20:06 +02:00
122c90bf3f Smooth play range change almost working... 2018-02-22 21:03:46 +02:00
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
c98b7c70e4 Report unstretched play range length when playing original source 2018-02-22 02:04:30 +02:00
1a8bddeb9b Added convenience functions to deal with storing and getting audio parameters and use them 2018-02-22 01:09:36 +02:00
715a753893 Resample unprocessed source sound as needed 2018-02-21 20:16:07 +02:00
e6a7d26d27 Preliminary work to play the sound source unprocessed 2018-02-21 19:34:39 +02:00
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
e3d893ee9e Added zoomscrollbar for waveform. Removed unused code. 2018-02-14 15:18:35 +02:00
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