Commit Graph

212 Commits

Author SHA1 Message Date
xenakios
909b61922b Attempt implementing offline rendering from the plugin but not going so great. Looks like the StretchAudioSource doesn't really work that robustly... 2018-02-26 17:49:19 +02:00
xenakios
47638ba0c6 Prepare to allow adding offline rendering feature 2018-02-26 16:34:13 +02:00
xenakios
ebffc66e90 Upped version number 2018-02-23 21:27:55 +02:00
xenakios
6f6670b2d4 Parameter store and recall stuff 2018-02-23 18:09:01 +02:00
xenakios
a3b034ac44 Count calls to prepareToPlay 2018-02-22 01:54:21 +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
73c58f6067 Save and restore more parameters 2018-02-21 20:41:51 +02:00
xenakios
3b6e309232 Add parameter for stretch bypass 2018-02-21 19:49:16 +02:00
xenakios
e6a7d26d27 Preliminary work to play the sound source unprocessed 2018-02-21 19:34:39 +02:00
xenakios
f424a6a305 Lower number of supported channels for imported file. Remove commented out code. 2018-02-19 21:12:54 +02:00
xenakios
efe5781271 Don't reset thumbnail in prepareToPlay 2018-02-19 21:09:09 +02:00
xenakios
d1cf25782a Increase version 2018-02-16 14:33:17 +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
178d68b0ec Store and restore zoomscrollbar positions. Readme change. 2018-02-14 18:38:54 +02:00
xenakios
acbbe693bd Boolean stuff 2018-02-13 19:41:52 +02:00
xenakios
3a36e35903 Store and restore tech info toggle via settings file 2018-02-13 17:52:45 +02:00
xenakios
53029555d0 Parameter layout tweaks etc 2018-02-13 15:47:17 +02:00
xenakios
103a085304 Use the input channel count parameter when initing capture. Readme change. 2018-02-13 15:37:16 +02:00
xenakios
07a54c4cdc Preliminary work to allow more input channels 2018-02-12 16:44:21 +02:00
xenakios
05a6eb21f0 Init playposition info seconds to zero to try avoiding garbage value to show 2018-02-09 15:34:39 +02:00
xenakios
10a36338b8 Upped version number 2018-02-09 13:55:54 +02:00
xenakios
52d8b4d664 Change plugin title to final 1.0.0 2018-02-09 13:29:01 +02:00
xenakios
aed9e459cf Removed factory presets. Readme edits. 2018-02-07 16:55:48 +02:00
xenakios
0a9a087cb2 Added dummy parameter to mark the plugin state dirty for the host. Readme change. 2018-02-07 16:00:49 +02:00
xenakios
ac18c12ae7 Clean up unused code 2018-02-05 23:28:36 +02:00
xenakios
185cd27bef Upped version number. Reverse order of version history in readme. 2018-02-02 14:19:48 +02:00
xenakios
e8b16839da Added function to create parameter. Set value step amount for most parameters. Enable double click to reset parameter slider. 2018-02-01 20:09:12 +02:00
xenakios
0e997e1d43 Avoid showing nonsense play position value 2018-02-01 13:17:15 +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
65545c96b6 Make num harmonics parameter an integer parameter 2018-01-30 18:07:47 +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
0253b335f5 Fix release build crash in Reaper and Ableton Live 2018-01-20 22:54:26 +02:00
xenakios
99127c79bb Increase thumbnailcache thread priority. Readme change. 2018-01-20 21:27:29 +02:00
xenakios
620f59c4f4 remove commented out stuff 2018-01-17 22:03:43 +02:00
xenakios
8bf3225b83 Restore ability to set capture buffer lengthm now via settings menu. Use AudioProcessor owned thumbnail for live input captured audio. Still need to clean up some of the old messy code that is now commented out. 2018-01-17 21:53:26 +02:00
xenakios
f6274f19be When changing audio file, seek to beginning of play range 2018-01-17 19:34:12 +02:00
xenakios
daf17f2ea3 Initial work to make the AudioProcessor own the AudioThumbNail etc 2018-01-17 18:57:56 +02:00
xenakios
3e2ce4ad45 Update version number 2018-01-08 18:04:28 +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
2eedb1963f Factory presets stuff 2017-12-27 22:56:27 +02:00
xenakios
7d8ba0c15f Allow getting state tree without imported file and options. Update spectral order component from timer. 2017-12-27 22:43:07 +02:00
xenakios
843af8a8f9 Attempt to provide some factory presets, but getting messy...Readme changes. 2017-12-27 22:20:44 +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
21b06b8353 Add option for loading imported file with plugin's state. Use a small loop xfade amount as default. 2017-12-26 20:24:10 +02:00
xenakios
29e46bd008 Add menu action to reset parameters to initial values, except for main volume and input pass through 2017-12-26 18:12:22 +02:00
xenakios
34002da183 Add about dialog 2017-12-24 16:56:22 +02:00
xenakios
9ee8aa6ade Implement the input passthrough parameter 2017-12-23 07:23:38 +02:00
xenakios
820259b001 Inverted range for num harmonics parameter 2017-12-23 07:11:13 +02:00
xenakios
da6afcf05f Layout parameter components manually...Add parameter for input pass through. etc 2017-12-22 22:35:02 +02:00
xenakios
0052c77bbb Add option to capture only when host transport active. Add option to always pass input audio through. That should probably be a plugin parameter though... 2017-12-20 20:33:34 +02:00
xenakios
643799bceb Add submenu to set prebuffering amount, including none etc 2017-12-20 03:58:50 +02:00
xenakios
7d8616ec70 Add 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. 2017-12-20 01:12:47 +02:00
xenakios
b6e46bd293 Add settings menu button 2017-12-20 00:50:47 +02:00
xenakios
bcd03d923e Some initial work on using AudioPlayHead 2017-12-19 23:00:42 +02:00
xenakios
77f514701c Add properties file stuff. Store and restore last file import folder. 2017-12-19 05:24:27 +02:00
xenakios
7238c71e66 Detect host offline rendering state and if active, use the stretchsource directly instead of the thread buffered source 2017-12-19 00:37:02 +02:00
xenakios
d900572506 Added detector for invalid sample values in plugin output 2017-12-18 22:27:12 +02:00
xenakios
8c9749a90c Added parameter for max capture length 2017-12-18 19:48:40 +02:00
xenakios
e0a341972d Add license texts to source code files 2017-12-17 21:40:35 +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
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
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
891a85b5a5 Init zero octave parameter to proper value. Use param index constant. 2017-12-12 23:38:24 +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
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
b4502ba442 Add harmonics processing parameters. Add harmonics processing visualization etc 2017-12-03 23:47:28 +02:00
xenakios
5f24356658 Init FFT windowing type 2017-11-28 20:46:04 +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
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
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
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
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
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