Commit Graph

248 Commits

Author SHA1 Message Date
xenakios
a45136e818 Use native file dialog again. Readme. 2018-03-21 13:48:01 +02:00
xenakios
6b09d11d49 Change the initial order of spectral modules to make the compressor be the last module. This is way too messy like this...But maybe this was the last time this needed to be done... 2018-03-21 13:43:03 +02:00
xenakios
88ad2e0de0 GUI size tweaks 2018-03-13 00:33:47 +02:00
xenakios
d4b1bffe7a Kind of working now, but maybe not in the best way... 2018-03-09 19:39:39 +02:00
xenakios
6d7671e8cf The spectral module enabled parameters still not doing so great... 2018-03-09 18:05:33 +02:00
xenakios
7fe4ea982e Remove the spectral module selection and move parameters. Initial attempt to implement the module enabled parameters. Might need to redesign this a bit... 2018-03-06 13:44:36 +02:00
xenakios
4f148a322d blah 2018-03-03 23:06:06 +02:00
xenakios
e1b0f6aaad Remove import file parameter and replace with spectrum module select parameter 2018-03-03 22:48:24 +02:00
xenakios
e5825f52dc OK, it's not going to work... 2018-03-03 22:32:44 +02:00
xenakios
47bf763408 Try adding parameter to open the import file dialog, but now working right at the moment 2018-03-03 22:19:02 +02:00
xenakios
d813794ea9 Added linear interpolation option for envelope random transform, fixes etc 2018-03-03 17:55:02 +02:00
xenakios
c391a2c0af Added free filter envelope random transform 2018-03-03 17:22:23 +02:00
xenakios
536b1ccaf1 Allow free filter to attenuate more 2018-03-03 15:57:24 +02:00
xenakios
cfe2a2b971 Hide the offline render feature for now 2018-03-03 14:36:45 +02:00
xenakios
9212069e65 Blah 2018-03-02 23:37:52 +02:00
xenakios
f474b022f0 A bit better but not much 2018-03-02 23:14:08 +02:00
xenakios
0d6eb09958 Attempt implementing mousewheel zoom into waveform. Badly. 2018-03-02 22:49:32 +02:00
xenakios
0b52559ab1 Stuff 2018-03-02 19:33:47 +02:00
xenakios
634f612d9a Make the GUI wider 2018-02-28 20:58:55 +02:00
xenakios
b651e9f064 Parameter group highlight for free filter parameters 2018-02-28 18:57:28 +02:00
xenakios
310f549643 Do envelope y scaling based on envelope point min and max values 2018-02-28 16:34:16 +02:00
xenakios
3816194fbf Fix envelope tilt. Add envelope y scale and tilt as plugin parameters 2018-02-28 14:36:13 +02:00
xenakios
f5995807f4 Add free filter envelope transforms as plugin parameters etc! 2018-02-28 14:20:26 +02:00
xenakios
3dfb6a3c80 Place both the waveform component and the zoomscrollbar inside the tab component page. Needs a bit more tweaking. 2018-02-27 22:15:14 +02:00
xenakios
b672213e98 Tweaks to free filter calculations but don't seem to be working correctly yet 2018-02-27 19:21:00 +02:00
xenakios
51049e4ae1 Mutex protect the envelope when manipulating the amount of nodes from the GUI. Should probably redesign this stuff a bit...Init envelope reset nodes. 2018-02-27 15:21:36 +02:00
xenakios
195a630060 Implemented free filter processing. Note that the envelope manipulation from the GUI is not handled thread safely yet 2018-02-27 15:02:34 +02:00
xenakios
e8d134ce48 More work on free filter 2018-02-27 04:06:53 +02:00
xenakios
cf9b54d19b Initial work to add back the free filter feature 2018-02-27 02:33:41 +02:00
xenakios
51d40c6daf MacOS build 2018-02-27 00:32:33 +02:00
xenakios
d76ac6118a Allow cancelling offline render 2018-02-26 20:09:47 +02:00
xenakios
ba067f7d4a Do offline render in a thread, show render progress etc 2018-02-26 19:55:32 +02:00
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
3c20facdbc Improve time selection dragging behavior 2018-02-23 18:21:28 +02:00
xenakios
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
xenakios
531d2e221b Also allow moving time selection by dragging it from the top 2018-02-23 02:16:41 +02:00
xenakios
615f870490 Try improving the spectral module dragging logic but didn't really improve yet. Readme changes. 2018-02-22 15:15:11 +02:00
xenakios
017957b7ae Limit shift dragged time selection properly 2018-02-22 14:56:18 +02:00
xenakios
e502906d4f Shift dragging the time selection moves it 2018-02-22 14:49:53 +02:00
xenakios
7cd5251516 Added methods for the normalized time position to/from view x coordinate mappings 2018-02-22 14:22:06 +02:00
xenakios
3d53c4fb91 Shift dragging time selection edge moves whole time selection. Should do this more properly... 2018-02-22 05:23:39 +02:00
xenakios
a3b034ac44 Count calls to prepareToPlay 2018-02-22 01:54:21 +02:00
xenakios
3b6e309232 Add parameter for stretch bypass 2018-02-21 19:49:16 +02:00
xenakios
f2d0d3617a Use unique pointers for parameter components 2018-02-19 20:47:32 +02:00
xenakios
0f1742fbbf Show approximate output duration in info label 2018-02-19 17:39:10 +02:00
xenakios
dd30bd3cae Forget using the gradient for now 2018-02-16 13:51:48 +02:00
xenakios
974f55dcad Experiment with a colour gradient fill in the performance meter 2018-02-16 01:55:33 +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
e3d893ee9e Added zoomscrollbar for waveform. Removed unused code. 2018-02-14 15:18:35 +02:00
xenakios
b6f5c0ea7d Shorten the FFT switch crossfade length. Remove commented out code. Formatting change. 2018-02-13 22:16:18 +02:00
xenakios
3a36e35903 Store and restore tech info toggle via settings file 2018-02-13 17:52:45 +02:00
xenakios
c9a3a3ab03 Show additional technical info in label optionally. Added utility function to toggle a bool variable. 2018-02-13 16:51:57 +02:00
xenakios
53029555d0 Parameter layout tweaks etc 2018-02-13 15:47:17 +02:00
xenakios
c65812f709 Performance improvements for painting waveform during capture mode etc 2018-02-12 20:51:05 +02:00
xenakios
07a54c4cdc Preliminary work to allow more input channels 2018-02-12 16:44:21 +02:00
xenakios
b8c70ddd30 Mark plugin dirty when changing spectral module order or module enabled state. Readme change. 2018-02-09 13:02:10 +02:00
xenakios
e7d34a026d Moved prebuffering amount menu to performance component 2018-02-07 15:12:10 +02:00
xenakios
ccf47720ab Waveform length display improvement. Draw waveform texts brighter. 2018-02-07 14:52:22 +02:00
xenakios
af8ab1eba1 More space for time text 2018-02-06 22:20:08 +02:00
xenakios
a589f133d2 Format waveform duration in a nicer way 2018-02-06 21:15:20 +02:00
xenakios
85f3552af4 Control click on waveform seeks if click within active play range. Draw waveform length in seconds. (Should format into hours:minutes:seconds.milliseconds or something...) 2018-02-06 17:38:26 +02:00
xenakios
c9b287dc13 Move code to cpp file. Readme change. 2018-02-02 12:23:57 +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
e6fb981e01 Highlight parameters of spectral module when clicked in the spectral chain editor 2018-02-01 15:11:41 +02:00
xenakios
d119439f76 Avoid mouse drag when the spectral module enable button has been clicked 2018-02-01 00:06:32 +02:00
xenakios
ad86b46f95 Added a separate performance meter component 2018-01-31 20:58:16 +02:00
xenakios
6f89b544ab Draw prebufferred amount in main GUI component. Does not refresh properly in stand alone app build and probably not in all plugin hosts either. 2018-01-31 20:43:27 +02:00
xenakios
f414f19e01 Remove the bool enabled members from the spectral process parameters 2018-01-30 18:49:00 +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
a2ab8d285f glah 2018-01-20 22:39:33 +02:00
xenakios
fcbd99d4ed Double click on waveform selects whole buffer 2018-01-20 22:21:26 +02:00
xenakios
bc3f456485 Again draw file name in waveform component 2018-01-20 21:50:24 +02:00
xenakios
99127c79bb Increase thumbnailcache thread priority. Readme change. 2018-01-20 21:27:29 +02:00
xenakios
f4aef4bcac Remove redundant code and change about box text 2018-01-18 06:56:23 +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
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
f2275d49eb About text change 2018-01-05 21:57:43 +02:00
xenakios
cf17390293 Move methods to cpp file 2018-01-03 19:32:53 +02:00
xenakios
96a88e8016 Use new JUCE button callback stuff 2018-01-03 17:15:57 +02:00
xenakios
64ad16f8cb Clean up parameter components initing 2017-12-29 19:31:12 +02:00
xenakios
0c394e9e36 Info labal justification change. Show prebuffered amount multiplied. 2017-12-28 22:50:52 +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
f9cce79f49 Added support for dropping audio files into the plugin GUI 2017-12-27 16:56:37 +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
f8b98e05d1 Move parameter component methods to cpp 2017-12-22 22:59:45 +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
a8e70b76b7 Somewhat better layout order of the parameter components 2017-12-19 03:50:55 +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
f3d769504d Show FFT size in samples in the info label. 2017-12-17 22:57:37 +02:00
xenakios
e0a341972d Add license texts to source code files 2017-12-17 21:40:35 +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
45dccb830d Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI. 2017-12-15 06:17:11 +02:00
xenakios
76880a8d5f Update output channel count on the fly. Somewhat hacky... 2017-12-14 00:44: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
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
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
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
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
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
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
d32d855e64 macOs build fixes. Plugin itself doesn't work properly... 2017-11-16 00:37:24 +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
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
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
d7ca59b90a Initial git commit 2017-11-13 17:06:08 +02:00