xenakios
|
8a92376713
|
Hardcode 8 channels for stretchsource xfade buffer
|
2017-12-17 19:54:12 +02:00 |
|
xenakios
|
ec13410088
|
Use the file extensions supported by the AudioFormatManager
|
2017-12-17 18:43:29 +02:00 |
|
xenakios
|
7ea18cc805
|
Add 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.
|
2017-12-17 18:16:39 +02:00 |
|
xenakios
|
9cad298ef3
|
Use home directory for import file dialog initial location
|
2017-12-15 21:35:27 +02:00 |
|
xenakios
|
11be9bfde5
|
Comment out some logging code
|
2017-12-15 21:12:49 +02:00 |
|
xenakios
|
ff6c0dd529
|
Increase maximum time stretch amount. Rename plugin binary.
|
2017-12-15 21:00:15 +02:00 |
|
xenakios
|
3a16caa712
|
Save and restore spectral processing order
|
2017-12-15 18:26:09 +02:00 |
|
xenakios
|
9cddb76202
|
Use custom range mapping functions for filter frequencies
|
2017-12-15 17:43:59 +02:00 |
|
xenakios
|
45dccb830d
|
Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI.
|
2017-12-15 06:17:11 +02:00 |
|
xenakios
|
dd9b7f3be3
|
Some skew for low and high pass filter params
|
2017-12-15 04:34:22 +02:00 |
|
xenakios
|
dc86913533
|
Added pause playback feature with fades for smoothing
|
2017-12-14 22:17:45 +02:00 |
|
xenakios
|
6ad663da47
|
Use parameter index constants
|
2017-12-14 19:57:14 +02:00 |
|
xenakios
|
40096fc87d
|
Propagate host provided maximum block size to buffering audio source
|
2017-12-14 19:06:26 +02:00 |
|
xenakios
|
a3c2a07e5b
|
Enable compressor as needed. Apply harmonics bandwidth and Gauss mode
|
2017-12-14 05:02:04 +02:00 |
|
xenakios
|
76880a8d5f
|
Update output channel count on the fly. Somewhat hacky...
|
2017-12-14 00:44:46 +02:00 |
|
xenakios
|
3fc51ab8c6
|
Mono output doesn't currently work...
|
2017-12-14 00:22:21 +02:00 |
|
xenakios
|
d05a5d41a8
|
Preliminary work to enable multichannel output again with a parameter to determine the output channels to render
|
2017-12-14 00:19:46 +02:00 |
|
xenakios
|
71a9419e51
|
Can afford to update the spectral processing order while dragging the mouse. Changed the drag behavior and drawing again but still not that great.
|
2017-12-13 23:49:21 +02:00 |
|
xenakios
|
66fe05f842
|
Try adding some visual feedback for the spectral order drags
|
2017-12-13 21:25:42 +02:00 |
|
xenakios
|
6760dd3e67
|
Actually set the processing order on mouse up
|
2017-12-13 20:16:20 +02:00 |
|
xenakios
|
c78c42c153
|
Added component to allow reordering the spectral processing stages
|
2017-12-13 19:55:35 +02:00 |
|
xenakios
|
e980344bb3
|
Remove capture toggle button from editor. Also remove JS engine and dynamic object as those are not used currently.
|
2017-12-13 18:48:52 +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
|
3dc95b6f1d
|
Avoid setting the audio buffer more than once
|
2017-12-13 05:23:57 +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
|
891a85b5a5
|
Init zero octave parameter to proper value. Use param index constant.
|
2017-12-12 23:38:24 +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
|
68d5674eb9
|
Use parameter index constants. Init octave mixer parameters.
|
2017-12-12 20:00:51 +02:00 |
|
xenakios
|
5737b92165
|
Layout parameters in a grid for now etc
|
2017-12-12 19:54:54 +02:00 |
|
xenakios
|
572b1d2515
|
Added more parameters. Added int constants for parameter indexes. Initial work to do GUI layout with Javascript. Disabled spectrum visualizer for now.
|
2017-12-12 19:14:43 +02:00 |
|
xenakios
|
2fe40137cc
|
argh
|
2017-12-05 02:09:20 +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
|
ccf7ba303f
|
SpectralVisualizer optimizations, create objects only when needed etc
|
2017-12-03 22:51:57 +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
|
4a89c2f1c4
|
Init FFT size with parameter value
|
2017-11-25 05:52:48 +02:00 |
|
xenakios
|
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 |
|
xenakios
|
73ef79509c
|
Use shared audioformatmanager between plugin instances
|
2017-11-24 01:44:30 +02:00 |
|
xenakios
|
e9e1c45550
|
Nicer way to deal with the shared audiothumbnailcache
|
2017-11-23 19:36:46 +02:00 |
|
xenakios
|
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 |
|
xenakios
|
9207325698
|
Lock mutex when restoring plugin state
|
2017-11-23 17:57:37 +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
|
3cdc6eabd6
|
Back to memmove, should be correct according to Justin
|
2017-11-16 21:23:33 +02:00 |
|
xenakios
|
b65627c1ae
|
Editor layout change
|
2017-11-16 20:58:26 +02:00 |
|
xenakios
|
0dcd410780
|
Support bool parameters in parameter component. Add freeze parameter to plugin.
|
2017-11-16 19:45:40 +02:00 |
|
xenakios
|
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 |
|
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
|
3c79a097c5
|
blah
|
2017-11-16 00:53:44 +02:00 |
|
xenakios
|
d32d855e64
|
macOs build fixes. Plugin itself doesn't work properly...
|
2017-11-16 00:37:24 +02:00 |
|
xenakios
|
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 |
|
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
|
f4c8d2891b
|
Made input capture buffer circular and update waveform thumbnail while capturing audio.
|
2017-11-15 17:52:47 +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
|
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 |
|
xenakios
|
b2cdb3aa85
|
Tweaks
|
2017-11-14 02:30:18 +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
|
d9e9107ed4
|
More parameter GUI work
|
2017-11-13 20:54:08 +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 |
|