aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #47 from zgeggy2k/masterPhil Burk2016-12-152-23/+73
|\ | | | | Fix deadlock in AudioFifo.
| * Fix deadlock in AudioFifo.Greg2016-12-122-23/+73
|/ | | | | | | | | | | | | | | | | | | | | | | | The deadlock scenario is the following: 1) AudioFifo is used with wait on write and read 2) Producer Thread calls write(). The buffer is full, then it gets into the while(available() == buffer.length) loop 3) a context switch happens right there, BEFORE readSemaphore.wait() 4) Consumer Thread calls read() multiple times until it depletes the buffer, then ends up in writeSemaphore.wait() 5) context switch back to the Producer Thread, which now calls readSemaphore.wait() Deadlock: the buffer is empty, and nobody is going to signal the producer that there is availability. This can be reproduced with a simple stress test. I added the stress test which is simply a copy of an existing one, with a very large value for the chunk variable. The race condition is more likely to be hit when the buffer is small, but I have hit it in "production" with 32K buffers, while generating large files (a few hundred megabytes). I am not sure the performance implications of the change, as my use cases are non-realtime. Still, all the tests pass.
* Merge pull request #46 from philburk/fixdocsPhil Burk2016-12-033-4/+3
|\ | | | | fix javadocs
| * fix javadocsPhil Burk2016-12-033-4/+3
|/
* Merge pull request #45 from philburk/throttle2Phil Burk2016-12-011-0/+7
|\ | | | | Throttle the CPU if there are no audio devices.
| * Throttle the CPU if there are no audio devices.Phil Burk2016-12-011-0/+7
|/
* Merge pull request #44 from philburk/floatshaperPhil Burk2016-12-012-9/+133
|\ | | | | Floatshaper
| * Added evaluate() to FloatSample.Phil Burk2016-11-302-37/+27
| |
| * FloatWaveShaper: example programPhil Burk2016-11-301-0/+134
|/ | | | FIXME need better solution, add evaluate to FloatSample()
* Merge pull request #43 from philburk/rc-1678Phil Burk2016-11-308-28/+191
|\ | | | | last minute changes for 16.7.8
| * Turn down example FM carrierPhil Burk2016-11-301-4/+4
| |
| * Cleanup EdgeDetectorPhil Burk2016-11-301-9/+4
| |
| * cleanup for 16.7.8, doc MultiChannelSynthesizer, add DoubleTable.length()Phil Burk2016-11-306-15/+183
|/
* Merge pull request #42 from philburk/startrequiredPhil Burk2016-11-2913-89/+158
|\ | | | | add isStartRequired, add GroupChannel to synth
| * add isStartRequired, add GroupChannel to synthPhil Burk2016-11-2913-89/+158
|/
* Merge pull request #41 from philburk/instrumentsPhil Burk2016-11-2945-344/+1770
|\ | | | | Instruments
| * Instruments: add voice operation.Phil Burk2016-10-312-16/+35
| |
| * Instruments: add better synth, pitch controlPhil Burk2016-10-2444-338/+1745
| |
* | Merge pull request #39 from philburk/issue-15-queuePhil Burk2016-11-272-17/+54
|\ \ | |/ |/| Check for bounds when sample or envelope data is queued.
| * Check for bounds when sample or envelope data is queued.Phil Burk2016-11-272-17/+54
|/ | | | | | Add unit test. Fix: #15
* Merge pull request #31 from philburk/startstopPhil Burk2016-08-093-87/+95
|\ | | | | Fix race condition when stopping and restarting the synthesizer.
| * Fix race condition when stopping and restarting the synthesizer.Phil Burk2016-08-093-87/+95
|/ | | | https://github.com/philburk/jsyn/issues/30
* Merge pull request #28 from philburk/docsPhil Burk2016-03-2325-177/+214
|\ | | | | Docs
| * Add doc target to ant build.xmlPhil Burk2016-03-2324-168/+195
| | | | | | | | Also fixed Javadoc errors.
| * Add a doc target to the Ant build script.Phil Burk2016-03-232-9/+19
|/ | | | | You can now generate Javadocs by entering: ant doc
* Merge pull request #27 from philburk/nosampPhil Burk2016-03-231-4/+4
|\ | | | | Use sine waves as default in PlayGrains example.
| * Use sine waves as default in PlayGrains example.Phil Burk2016-03-231-4/+4
| |
* | Merge pull request #26 from philburk/xfadePhil Burk2016-03-231-3/+4
|\ \ | | | | | | Setup CrossFade port so it ranges from -1 to +1.
| * | Setup CrossFade port so it ranges from -1 to +1.Phil Burk2016-03-231-3/+4
| |/
* | Merge pull request #18 from dakoner/masterPhil Burk2016-02-101-0/+201
|\ \ | |/ |/| Add AndroidAudioForJsyn.java, a utility class to integrate Jsyn with …
| * Add AndroidAudioForJsyn.java, a utility class to integrate Jsyn with Android.David Konerding2016-02-101-0/+201
|/
* Merge pull request #17 from philburk/jtargetPhil Burk2016-02-041-1/+2
|\ | | | | Set Java target and source to 1.6 in build.xml.
| * Set Java target and source to 1.6 in build.xml.Phil Burk2016-02-041-1/+2
|/
* Merge pull request #16 from philburk/fixbuildPhil Burk2016-02-032-1/+18
|\ | | | | Add jportaudio.jar to the classpath.
| * Add jportaudio.jar to the classpath.Phil Burk2016-02-032-1/+18
|/
* Merge pull request #13 from philburk/clearcmdPhil Burk2015-12-144-28/+76
|\ | | | | Add clearCommandQueue() to Synthesizer.
| * Add clearCommandQueue() to Synthesizer.Phil Burk2015-12-144-28/+76
|/ | | | Also make some members final in SynthesisEngine.
* Merge pull request #11 from philburk/bumpdatePhil Burk2015-11-032-10/+12
|\ | | | | Bump build date, add FFT test
| * Bump build date.Phil Burk2015-11-022-10/+12
|/
* Merge pull request #10 from philburk/fixfftPhil Burk2015-11-023-24/+133
|\ | | | | fix scaling in FFT
| * fix scaling in FFTPhil Burk2015-11-023-24/+133
| |
* | Merge pull request #8 from philburk/no-format-msgPhil Burk2015-09-141-1/+0
|\ \ | |/ |/| JavaSoundSampleLoader: remove verbose message on load
| * JavaSoundSampleLoader: remove verbose message on loadPhil Burk2015-09-141-1/+0
|/
* Merge pull request #7 from philburk/fix-four-polePhil Burk2015-08-263-10/+9
|\ | | | | Fix four pole
| * FilterFourPole: raise minimum frequency to prevent blowupPhil Burk2015-08-261-1/+1
| | | | | | | | Feedback was causing the filter to hit NaN.
| * Experiment with BLITPhil Burk2015-08-261-2/+2
| |
| * Instruments: browserPhil Burk2015-04-301-7/+6
|/
* Merge pull request #5 from philburk/examplesPhil Burk2015-04-296-57/+56
|\ | | | | Use AudioMath for pitch to frequency conversion. Cleanup PitchDetector.
| * Use AudioMath for pitch to frequency conversion.Phil Burk2015-04-296-57/+56
|/ | | | | | Fix ListDevices default. Cleanup interpolator in AutoCorrelator. Remove empty string from SubtractiveSynth library.
* Merge pull request #4 from philburk/noisePhil Burk2015-01-318-15/+108
|\ | | | | Added a new BrownNoise unit generator