aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MIDI example that renders to PCM (#108)Phil Burk2022-05-082-0/+156
| | | | | Add an example program that renders some MIDI messages to a PCM double array.
* WaveRecorder: fix hang in StreamingThread (#106)Phil Burk2022-01-305-29/+118
| | | | | | | | | | The read() could hang forever waiting for data when the WaveRecorder was stopped. Now it terminates the thread. Also fix bug in AudioFifo when partially full. It would not read any data! Fixes #105
* Add test instructions to READMEPhil Burk2022-01-301-0/+7
|
* Add getUnits() method to Circuit. (#104)Phil Burk2021-10-302-0/+53
| | | Add new TestCircuit unit test.
* Add "ant docs" infoPhil Burk2021-10-091-0/+5
|
* Remove SLF4J from tests and gradlePhil Burk2021-09-0616-112/+40
| | | | It was an unnecessary dependency.
* jsyn: remove dependency on SLF4JPhil Burk2021-09-0118-234/+70
| | | | | | It was causing too many problems and had no apparent benefit. Fixes #101
* tests: fix unit testsPhil Burk2021-08-296-14/+31
| | | | | | | | | Add missing parameters. Create PseudoRandom. Do not run test that generates the WAV files. Fix hang in TestConnections. Fixes #97
* add gradle build info to README.mdPhil Burk2021-08-251-5/+24
|
* Make gradlew executableligi2021-08-251-0/+0
|
* Fix ExponentialRamp exceptionPhil Burk2021-04-111-9/+9
| | | | | | Negative input could cause a crash. Fixes #92
* Add WaveFolder unit generator.Phil Burk2020-11-242-5/+87
| | | | Fold waveforms using sin(a*x).
* Merge pull request #87 from philburk/fixconsolePhil Burk2020-10-3021-161/+51
|\ | | | | examples: remove SLF4J dependency
| * examples: remove SLF4J dependencyPhil Burk2020-10-3021-161/+51
|/ | | | | | Use System.out.println() instead. These example are intended to write to the console. A recent change that added gradle support broke this feature.
* Merge pull request #86 from philburk/fixantPhil Burk2020-10-303-0/+72
|\ | | | | build: fix ANT build
| * build: fix ANT buildPhil Burk2020-10-303-0/+72
|/ | | | It was broken by the changes made for gradle.
* Removed slf4j for buildsRubbaBoy2020-10-304-18/+14
|
* Removed shadow jarRubbaBoy2020-10-303-6/+25
|
* Downgraded to Java 8RubbaBoy2020-10-3010-25/+29
| | | | Includes a minor logging fix
* Removed .settings/RubbaBoy2020-10-303-361/+1
|
* Restructured project, added gradle, JUnit, logger, and moreRubbaBoy2020-10-30347-1494/+1946
| | | | Added Gradle (and removed ant), modernized testing via the JUnit framework, moved standalone examples from the tests directory to a separate module, removed sparsely used Java logger and replaced it with SLF4J. More work could be done, however this is a great start to greatly improving the health of the codebase.
* Merge pull request #85 from philburk/tolentiPhil Burk2020-10-308-8/+8
|\ | | | | JSyn: fix spelling of Lisa Tolentino
| * JSyn: fix spelling of Lisa TolentinoPhil Burk2020-10-308-8/+8
|/
* Merge pull request #81 from philburk/usejava8v16.8.1Phil Burk2020-07-021-1/+1
|\ | | | | build: use java 1.8 in ant script
| * build: use java 1.8 in ant scriptPhil Burk2020-07-021-1/+1
| |
* | Merge pull request #80 from philburk/bump464Phil Burk2020-07-021-2/+2
|\| | | | | jsyn: bump to build 464, version 16.8.1
| * jsyn: bump to build 464, version 16.8.1Phil Burk2020-07-021-2/+2
|/
* Merge pull request #79 from philburk/minorfixesPhil Burk2020-07-021-1/+1
|\ | | | | jsyn: some minor improvements
| * jsyn: some minor improvementsPhil Burk2020-07-021-1/+1
|/ | | | Use final in MultiPassThrough
* Merge pull request #78 from philburk/betterdocsPhil Burk2020-07-028-28/+66
|\ | | | | jsyn docs: various small improvements
| * jsyn docs: various small improvementsPhil Burk2020-07-028-28/+66
|/ | | | Update build.xml to use newer versions of javadoc
* Merge pull request #73 from philburk/safeuiPhil Burk2019-09-151-1/+7
|\ | | | | ui: use safeRepaint()
| * ui: use safeRepaint()Phil Burk2019-09-151-1/+7
| | | | | | | | | | To allow workaround for OpenJDK bug. https://github.com/philburk/syntona/issues/13
* | point README.txt to README.mdPhil Burk2019-04-211-23/+1
| |
* | reorganize README.mdPhil Burk2019-04-211-10/+5
|/
* Merge pull request #72 from philburk/bump463Phil Burk2019-03-171-5/+5
|\ | | | | JSyn: bump to build 463, version 16.8.0
| * JSyn: bump to build 463, version 16.8.0Phil Burk2019-03-171-5/+5
|/
* Merge pull request #53 from philburk/noteplayerPhil Burk2017-07-311-1/+31
|\ | | | | MultiChannelSynthesizer: add noteOn and noteOff with timestamp
| * MultiChannelSynthesizer: add noteOn and noteOff with timestampPhil Burk2017-07-311-1/+31
|/
* Merge pull request #52 from philburk/multipassPhil Burk2017-07-314-7/+78
|\ | | | | MultiPassThrough: multi-channel passthrough
| * MultiPassThrough: multi-channel passthroughPhil Burk2017-07-314-7/+78
|/
* Merge pull request #51 from nmulcahey/masterPhil Burk2017-07-311-1/+3
|\ | | | | Ensure upper bound for argument to Thread#setPriority is less than Thread#MAX_PRIORITY
| * Ensure upper bound for argument to Thread#setPriority is less thanNathan Mulcahey2017-07-171-1/+3
|/ | | | Thread#MAX_PRIORITY
* Merge pull request #48 from philburk/js20161211Phil Burk2016-12-214-24/+26
|\ | | | | Fix some white space and doc issues.
| * AudioFifo: remove extra white spacePhil Burk2016-12-152-15/+14
| |
| * Filter docs, add some see links.Phil Burk2016-12-152-9/+12
|/
* 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
|/