Commit Graph

547 Commits

Author SHA1 Message Date
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
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
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
8890faea01 MacOs build bullshit. Well, the plugin was confirmed to run in GarageBand at least... 2017-11-21 04:36:13 +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
3cdc6eabd6 Back to memmove, should be correct according to Justin 2017-11-16 21:23:33 +02:00
b65627c1ae Editor layout change 2017-11-16 20:58:26 +02:00
0dcd410780 Support bool parameters in parameter component. Add freeze parameter to plugin. 2017-11-16 19:45:40 +02:00
aee132519a Use Jules's neat way to attach button callbacks. Separate method in editor to choose file to load. Revert change to resample.cpp. 2017-11-16 17:38:59 +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
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
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
7dcbaedb8f Yeah, right...Projucer doesn't want to keep the link time optimization disabled. 2017-11-14 04:06:54 +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
1590110a24 Some improvements. To keep things saner use the single stretch source for now. 2017-11-14 01:50:44 +02:00
962d4806b5 Tiny improvements but things arestill not working right 2017-11-14 00:50:12 +02:00
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
76de3b12a5 Audio input capture more or less running 2017-11-13 22:35:36 +02:00
c32e64a570 Added sound play range parameters. Initial work on audio input capture. 2017-11-13 21:21:30 +02:00
d9e9107ed4 More parameter GUI work 2017-11-13 20:54:08 +02:00
b9db955a99 Initial work on custom GUI 2017-11-13 20:45:23 +02:00
793279a20a Crashing was probably because of wrongly placed prepareToPlay call 2017-11-13 19:41:47 +02:00
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
d7ca59b90a Initial git commit 2017-11-13 17:06:08 +02:00