7d8ba0c15fAllow getting state tree without imported file and options. Update spectral order component from timer.
xenakios
2017-12-27 22:43:07 +02:00
843af8a8f9Attempt to provide some factory presets, but getting messy...Readme changes.
xenakios
2017-12-27 22:20:44 +02:00
22aaaeb836Got rid of unnecessary buffers. There may have at some point been some reason to do it like that though...
xenakios
2017-12-27 17:57:00 +02:00
7dcf9831f2Try zeroing even more buffers, but no help...
xenakios
2017-12-27 17:43:36 +02:00
a6ec40904cRename member. Attempt clearing buffers more thoroughly but old audio still appears to be present when restarting playback...
xenakios
2017-12-27 17:35:30 +02:00
f9cce79f49Added support for dropping audio files into the plugin GUI
xenakios
2017-12-27 16:56:37 +02:00
21b06b8353Add option for loading imported file with plugin's state. Use a small loop xfade amount as default.
xenakios
2017-12-26 20:24:10 +02:00
29e46bd008Add menu action to reset parameters to initial values, except for main volume and input pass through
xenakios
2017-12-26 18:12:22 +02:00
34002da183Add about dialog
xenakios
2017-12-24 16:56:22 +02:00
0052c77bbbAdd option to capture only when host transport active. Add option to always pass input audio through. That should probably be a plugin parameter though...
xenakios
2017-12-20 20:33:34 +02:00
7d8616ec70Add 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.
xenakios
2017-12-20 01:12:47 +02:00
b6e46bd293Add settings menu button
xenakios
2017-12-20 00:50:47 +02:00
bcd03d923eSome initial work on using AudioPlayHead
xenakios
2017-12-19 23:00:42 +02:00
77f514701cAdd properties file stuff. Store and restore last file import folder.
xenakios
2017-12-19 05:24:27 +02:00
a8e70b76b7Somewhat better layout order of the parameter components
xenakios
2017-12-19 03:50:55 +02:00
2bfb726e47Rename the plugin project
xenakios
2017-12-19 02:16:58 +02:00
7238c71e66Detect host offline rendering state and if active, use the stretchsource directly instead of the thread buffered source
xenakios
2017-12-19 00:37:02 +02:00
d900572506Added detector for invalid sample values in plugin output
xenakios
2017-12-18 22:27:12 +02:00
8c9749a90cAdded parameter for max capture length
xenakios
2017-12-18 19:48:40 +02:00
f3d769504dShow FFT size in samples in the info label.
xenakios
2017-12-17 22:57:37 +02:00
ec13410088Use the file extensions supported by the AudioFormatManager
xenakios
2017-12-17 18:43:29 +02:00
7ea18cc805Add 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.
xenakios
2017-12-17 18:16:39 +02:00
ff6c0dd529Increase maximum time stretch amount. Rename plugin binary.
xenakios
2017-12-15 21:00:15 +02:00
3a16caa712Save and restore spectral processing order
xenakios
2017-12-15 18:26:09 +02:00
9cddb76202Use custom range mapping functions for filter frequencies
xenakios
2017-12-15 17:43:59 +02:00
45dccb830dWorkaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI.
xenakios
2017-12-15 06:17:11 +02:00
dd9b7f3be3Some skew for low and high pass filter params
xenakios
2017-12-15 04:34:22 +02:00
dc86913533Added pause playback feature with fades for smoothing
xenakios
2017-12-14 22:17:45 +02:00
6ad663da47Use parameter index constants
xenakios
2017-12-14 19:57:14 +02:00
40096fc87dPropagate host provided maximum block size to buffering audio source
xenakios
2017-12-14 19:06:26 +02:00
a3c2a07e5bEnable compressor as needed. Apply harmonics bandwidth and Gauss mode
xenakios
2017-12-14 05:02:04 +02:00
76880a8d5fUpdate output channel count on the fly. Somewhat hacky...
xenakios
2017-12-14 00:44:46 +02:00
3fc51ab8c6Mono output doesn't currently work...
xenakios
2017-12-14 00:22:21 +02:00
d05a5d41a8Preliminary work to enable multichannel output again with a parameter to determine the output channels to render
xenakios
2017-12-14 00:19:46 +02:00
71a9419e51Can afford to update the spectral processing order while dragging the mouse. Changed the drag behavior and drawing again but still not that great.
xenakios
2017-12-13 23:49:21 +02:00
66fe05f842Try adding some visual feedback for the spectral order drags
xenakios
2017-12-13 21:25:42 +02:00
6760dd3e67Actually set the processing order on mouse up
xenakios
2017-12-13 20:16:20 +02:00
c78c42c153Added component to allow reordering the spectral processing stages
xenakios
2017-12-13 19:55:35 +02:00
e980344bb3Remove capture toggle button from editor. Also remove JS engine and dynamic object as those are not used currently.
xenakios
2017-12-13 18:48:52 +02:00
bd1eabf3bfAdd 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.
xenakios
2017-12-13 18:30:09 +02:00
3dc95b6f1dAvoid setting the audio buffer more than once
xenakios
2017-12-13 05:23:57 +02:00
e411a99f70If capture buffer used, refresh waveform when GUI has been closed and reopened.
xenakios
2017-12-13 05:18:39 +02:00
891a85b5a5Init zero octave parameter to proper value. Use param index constant.
xenakios
2017-12-12 23:38:24 +02:00
1576cfcf97Use tryEnter for loop xfadelen setting. Fix oopsie in rate parameter setting...
xenakios
2017-12-12 20:46:52 +02:00
5a17f43763Use 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...
xenakios
2017-12-12 20:43:43 +02:00
7805f1a0aaSwitch 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...
xenakios
2017-12-12 20:27:29 +02:00
5737b92165Layout parameters in a grid for now etc
xenakios
2017-12-12 19:54:54 +02:00
572b1d2515Added more parameters. Added int constants for parameter indexes. Initial work to do GUI layout with Javascript. Disabled spectrum visualizer for now.
xenakios
2017-12-12 19:14:43 +02:00
ccf7ba303fSpectralVisualizer optimizations, create objects only when needed etc
xenakios
2017-12-03 22:51:57 +02:00
16868d5ccdAllow FFT object to be constructed without inverse FFT. Added SpectralVisualizer component that does an extremely inefficient visualization of the spectral processing stages.
xenakios
2017-12-03 22:00:40 +02:00
a1f7c52eb0All/most spectral processing stages now in stand alone functions
xenakios
2017-12-03 19:09:42 +02:00
4a2cc8ff71Initial 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
xenakios
2017-12-03 18:39:47 +02:00
e52241ba86Avoid resetting active source play range when changing file. Update xfade cache when changing file.
xenakios
2017-11-28 21:10:22 +02:00
5f24356658Init FFT windowing type
xenakios
2017-11-28 20:46:04 +02:00
da1fea6850Check volume and loop xfade length in setters before entering mutex
xenakios
2017-11-28 16:35:15 +02:00
eece70d89bAdd parameters. Use plain old member variables for main volume and loop xfade length. GUI layout tweak.
xenakios
2017-11-25 21:25:46 +02:00
4a89c2f1c4Init FFT size with parameter value
xenakios
2017-11-25 05:52:48 +02:00
8bd4468603Parameter 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.
xenakios
2017-11-25 00:22:07 +02:00
73ef79509cUse shared audioformatmanager between plugin instances
xenakios
2017-11-24 01:44:30 +02:00
e9e1c45550Nicer way to deal with the shared audiothumbnailcache
xenakios
2017-11-23 19:36:46 +02:00
a109d71f09Use 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...
xenakios
2017-11-23 19:12:29 +02:00
9207325698Lock mutex when restoring plugin state
xenakios
2017-11-23 17:57:37 +02:00
321e9bbf1cThe 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
xenakios
2017-11-22 18:50:39 +02:00
c43de8120cAttempt to do a crossfade when changing FFT size, using the same stretchsource instance. It's tricky and not really working yet like this.
xenakios
2017-11-22 00:18:50 +02:00
8890faea01MacOs build bullshit. Well, the plugin was confirmed to run in GarageBand at least...
xenakios
2017-11-21 04:36:13 +02:00
5b54b15ba6Finally 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.
xenakios
2017-11-21 00:39:07 +02:00
98858218d5When setting stretchsource playrange, don't clear the ring buffer and seek only if the current seek position is not within the new play range
xenakios
2017-11-17 17:17:31 +02:00
6aa514f52bFinally 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
xenakios
2017-11-17 16:41:33 +02:00
3cdc6eabd6Back to memmove, should be correct according to Justin
xenakios
2017-11-16 21:23:33 +02:00
0dcd410780Support bool parameters in parameter component. Add freeze parameter to plugin.
xenakios
2017-11-16 19:45:40 +02:00
aee132519aUse Jules's neat way to attach button callbacks. Separate method in editor to choose file to load. Revert change to resample.cpp.
xenakios
2017-11-16 17:38:59 +02:00