Commit Graph

  • 7d8ba0c15f Allow getting state tree without imported file and options. Update spectral order component from timer. xenakios 2017-12-27 22:43:07 +02:00
  • 843af8a8f9 Attempt to provide some factory presets, but getting messy...Readme changes. xenakios 2017-12-27 22:20:44 +02:00
  • 22aaaeb836 Got 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
  • 7dcf9831f2 Try zeroing even more buffers, but no help... xenakios 2017-12-27 17:43:36 +02:00
  • a6ec40904c Rename 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
  • f9cce79f49 Added support for dropping audio files into the plugin GUI xenakios 2017-12-27 16:56:37 +02:00
  • 21b06b8353 Add 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
  • 29e46bd008 Add 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
  • 34002da183 Add about dialog xenakios 2017-12-24 16:56:22 +02:00
  • 184b6148fd readme changes xenakios 2017-12-23 23:48:24 +02:00
  • 9630daba15 Use standalone functions for all spectral processors. Readme change. xenakios 2017-12-23 21:46:37 +02:00
  • 9ee8aa6ade Implement the input passthrough parameter xenakios 2017-12-23 07:23:38 +02:00
  • 820259b001 Inverted range for num harmonics parameter xenakios 2017-12-23 07:11:13 +02:00
  • f8b98e05d1 Move parameter component methods to cpp xenakios 2017-12-22 22:59:45 +02:00
  • 4caaf1f5e0 Toggle button parameter tweak xenakios 2017-12-22 22:41:11 +02:00
  • da6afcf05f Layout parameter components manually...Add parameter for input pass through. etc xenakios 2017-12-22 22:35:02 +02:00
  • 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... xenakios 2017-12-20 20:33:34 +02:00
  • 8c57fcce0d Readme changes xenakios 2017-12-20 04:09:46 +02:00
  • 643799bceb Add submenu to set prebuffering amount, including none etc xenakios 2017-12-20 03:58:50 +02:00
  • e5c4025421 readme change xenakios 2017-12-20 02:20:11 +02:00
  • 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. xenakios 2017-12-20 01:12:47 +02:00
  • b6e46bd293 Add settings menu button xenakios 2017-12-20 00:50:47 +02:00
  • bcd03d923e Some initial work on using AudioPlayHead xenakios 2017-12-19 23:00:42 +02:00
  • 77f514701c Add properties file stuff. Store and restore last file import folder. xenakios 2017-12-19 05:24:27 +02:00
  • a8e70b76b7 Somewhat better layout order of the parameter components xenakios 2017-12-19 03:50:55 +02:00
  • 2bfb726e47 Rename the plugin project xenakios 2017-12-19 02:16:58 +02:00
  • 7238c71e66 Detect 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
  • d900572506 Added detector for invalid sample values in plugin output xenakios 2017-12-18 22:27:12 +02:00
  • 8c9749a90c Added parameter for max capture length xenakios 2017-12-18 19:48:40 +02:00
  • f3d769504d Show FFT size in samples in the info label. xenakios 2017-12-17 22:57:37 +02:00
  • e0a341972d Add license texts to source code files xenakios 2017-12-17 21:40:35 +02:00
  • 8a155a3c2c readme change xenakios 2017-12-17 20:01:14 +02:00
  • 8a92376713 Hardcode 8 channels for stretchsource xfade buffer xenakios 2017-12-17 19:54:12 +02:00
  • 32e1300386 Readme changes xenakios 2017-12-17 19:09:37 +02:00
  • ec13410088 Use the file extensions supported by the AudioFormatManager xenakios 2017-12-17 18:43:29 +02:00
  • 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. xenakios 2017-12-17 18:16:39 +02:00
  • 9e7b37afba More correct plugin channel configs xenakios 2017-12-16 20:06:22 +02:00
  • 92e6e214e1 okay xenakios 2017-12-16 03:47:05 +02:00
  • 9cad298ef3 Use home directory for import file dialog initial location xenakios 2017-12-15 21:35:27 +02:00
  • 11be9bfde5 Comment out some logging code xenakios 2017-12-15 21:12:49 +02:00
  • e7f92cc81d Add readme xenakios 2017-12-15 21:09:51 +02:00
  • ff6c0dd529 Increase maximum time stretch amount. Rename plugin binary. xenakios 2017-12-15 21:00:15 +02:00
  • 3a16caa712 Save and restore spectral processing order xenakios 2017-12-15 18:26:09 +02:00
  • 9cddb76202 Use custom range mapping functions for filter frequencies xenakios 2017-12-15 17:43:59 +02:00
  • 45dccb830d Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI. xenakios 2017-12-15 06:17:11 +02:00
  • dd9b7f3be3 Some skew for low and high pass filter params xenakios 2017-12-15 04:34:22 +02:00
  • dc86913533 Added pause playback feature with fades for smoothing xenakios 2017-12-14 22:17:45 +02:00
  • 6ad663da47 Use parameter index constants xenakios 2017-12-14 19:57:14 +02:00
  • 40096fc87d Propagate host provided maximum block size to buffering audio source xenakios 2017-12-14 19:06:26 +02:00
  • a3c2a07e5b Enable compressor as needed. Apply harmonics bandwidth and Gauss mode xenakios 2017-12-14 05:02:04 +02:00
  • 76880a8d5f Update output channel count on the fly. Somewhat hacky... xenakios 2017-12-14 00:44:46 +02:00
  • 3fc51ab8c6 Mono output doesn't currently work... xenakios 2017-12-14 00:22:21 +02:00
  • d05a5d41a8 Preliminary 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
  • 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. xenakios 2017-12-13 23:49:21 +02:00
  • 66fe05f842 Try adding some visual feedback for the spectral order drags xenakios 2017-12-13 21:25:42 +02:00
  • 6760dd3e67 Actually set the processing order on mouse up xenakios 2017-12-13 20:16:20 +02:00
  • c78c42c153 Added component to allow reordering the spectral processing stages xenakios 2017-12-13 19:55:35 +02:00
  • e980344bb3 Remove 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
  • 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. xenakios 2017-12-13 18:30:09 +02:00
  • 3dc95b6f1d Avoid setting the audio buffer more than once xenakios 2017-12-13 05:23:57 +02:00
  • e411a99f70 If capture buffer used, refresh waveform when GUI has been closed and reopened. xenakios 2017-12-13 05:18:39 +02:00
  • f872a13257 Merge branch 'master' of https://bitbucket.org/xenakios/paulstretchplugin eh xenakios 2017-12-13 00:06:26 +02:00
  • 891a85b5a5 Init zero octave parameter to proper value. Use param index constant. xenakios 2017-12-12 23:38:24 +02:00
  • 1576cfcf97 Use tryEnter for loop xfadelen setting. Fix oopsie in rate parameter setting... xenakios 2017-12-12 20:46:52 +02:00
  • 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... xenakios 2017-12-12 20:43:43 +02:00
  • 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... xenakios 2017-12-12 20:27:29 +02:00
  • 68d5674eb9 Use parameter index constants. Init octave mixer parameters. xenakios 2017-12-12 20:00:51 +02:00
  • 5737b92165 Layout parameters in a grid for now etc xenakios 2017-12-12 19:54:54 +02:00
  • 572b1d2515 Added 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
  • de5c0d4f87 Merge branch 'master' of https://bitbucket.org/xenakios/paulstretchplugin joo xenakios 2017-12-06 03:03:15 +02:00
  • 2fe40137cc argh xenakios 2017-12-05 02:09:20 +02:00
  • 9ec0ad88f7 Merge branch 'master' of https://bitbucket.org/xenakios/paulstretchplugin juuh xenakios 2017-12-04 02:38:49 +02:00
  • 6c589705b6 argh xenakios 2017-12-04 02:38:22 +02:00
  • b4502ba442 Add harmonics processing parameters. Add harmonics processing visualization etc xenakios 2017-12-03 23:47:28 +02:00
  • 75be994714 Constness xenakios 2017-12-03 23:28:54 +02:00
  • ccf7ba303f SpectralVisualizer optimizations, create objects only when needed etc xenakios 2017-12-03 22:51:57 +02:00
  • 16868d5ccd Allow 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
  • a1f7c52eb0 All/most spectral processing stages now in stand alone functions xenakios 2017-12-03 19:09:42 +02:00
  • 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 xenakios 2017-12-03 18:39:47 +02:00
  • e52241ba86 Avoid resetting active source play range when changing file. Update xfade cache when changing file. xenakios 2017-11-28 21:10:22 +02:00
  • 5f24356658 Init FFT windowing type xenakios 2017-11-28 20:46:04 +02:00
  • da1fea6850 Check volume and loop xfade length in setters before entering mutex xenakios 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. xenakios 2017-11-25 21:25:46 +02:00
  • 4a89c2f1c4 Init FFT size with parameter value xenakios 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. xenakios 2017-11-25 00:22:07 +02:00
  • 73ef79509c Use shared audioformatmanager between plugin instances xenakios 2017-11-24 01:44:30 +02:00
  • e9e1c45550 Nicer way to deal with the shared audiothumbnailcache xenakios 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... xenakios 2017-11-23 19:12:29 +02:00
  • 9207325698 Lock mutex when restoring plugin state xenakios 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 xenakios 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. xenakios 2017-11-22 00:18:50 +02:00
  • 8890faea01 MacOs build bullshit. Well, the plugin was confirmed to run in GarageBand at least... xenakios 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. xenakios 2017-11-21 00:39:07 +02:00
  • 31dbfb84cd Remove unused external variables xenakios 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 xenakios 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 xenakios 2017-11-17 16:41:33 +02:00
  • 3cdc6eabd6 Back to memmove, should be correct according to Justin xenakios 2017-11-16 21:23:33 +02:00
  • b65627c1ae Editor layout change xenakios 2017-11-16 20:58:26 +02:00
  • 0dcd410780 Support bool parameters in parameter component. Add freeze parameter to plugin. xenakios 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. xenakios 2017-11-16 17:38:59 +02:00