aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
Commit message (Collapse)AuthorAgeFilesLines
* JOAL/OpenAL: Adjust build.xml for gluegen-rt + joal jars; Add ↵Sven Gothel2023-05-232-0/+559
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | com.jsyn.devices.openal.ALDevice for JOAL/OpenAL (todo: input) Adding ALDevice source code for an JOAL/OpenAL AudioDeviceManager. Input is currently missing, output working and manually tested for low latency. AudioDeviceFactory has ALDevice added with priority over JPortAudio. Not sure how to customize this, but this surely can change if desired. When adding input later on, 'preferJavaSound' might not be desired anymore? Note: To enjoy spatial 3D features w/ OpenAL, the source must be mono only! +++ Perhaps attach our java-source-zip files to the gluegen-rt.jar and joal.jar to have API source documentation: - https://jogamp.org/deployment/archive/rc/v2.5.0-rc-20230523/jar/gluegen-java-src.zip - https://jogamp.org/deployment/archive/rc/v2.5.0-rc-20230523/jar/joal-java-src.zip +++ Note: The added libs/gluegen-rt.jar and libs/joal.jar are java only w/o native libs. Hence one needs to add a either gluegen and joal native library jar files or just use the full jogamp-fat.jar. Used version is v2.5.0-rc-20230523 jogamp-fat.jar (* recommended and used in scripts/tests.sh *) https://jogamp.org/deployment/archive/rc/v2.5.0-rc-20230523/fat/jogamp-fat.jar All single jar files https://jogamp.org/deployment/archive/rc/v2.5.0-rc-20230523/jar/ 7z archive file of all single files w/o fat https://jogamp.org/deployment/archive/rc/v2.5.0-rc-20230523/archive/jogamp-all-platforms.7z
* Bump version to 17.1.0 (#116)Phil Burk2023-04-101-6/+6
| | | | | Synchronize build.gradle and JSyn.java version numbers Co-authored-by: Phil Burk <[email protected]>
* Add PlateReverb, RoomReverb and MultiTapDelay units (#115)Phil Burk2023-04-108-5/+744
| | | | | | | | | | | | | PlateReverb is a simulation of a metal plate based on all-pass delays. RoomReverb uses a MultiTapDelay for early reflections and a PlateReverb for diffusion. Add a DSP package with utility classes used to build unit generators. Add TuneReverb app with faders for experimenting and hearing reverb. Add unit tests for SimpleDelay. Co-authored-by: Phil Burk <[email protected]>
* midi: fixes for ExoSynth (#114)Phil Burk2022-08-113-45/+75
| | | | | | | | | | Combine channel and noteNumber as a tag for the VoiceAllocator to avoid collisions when the same note is played on multiple channels. Allocate more voices: numChannels * voicesPerChannel For GM2 synths, force channel 10 (9) to use preset 128. That is a sign for the synth that this is a rhythm channel.
* Remove LOGGER references and a '== Double.NaN' check (#113)Santiago Seifert2022-08-041-1/+1
| | | | LOGGER is not imported, and Double.NaN doesn't follow traditional '==' comparison rules.
* Add support for arbitrary offsets in MessageParser.parse (#112)Santiago Seifert2022-08-032-12/+37
| | | | Used for MIDI message parsing.
* WaveRecorder: fix hang in StreamingThread (#106)Phil Burk2022-01-303-28/+43
| | | | | | | | | | 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 getUnits() method to Circuit. (#104)Phil Burk2021-10-301-0/+9
| | | Add new TestCircuit unit test.
* jsyn: remove dependency on SLF4JPhil Burk2021-09-0118-234/+70
| | | | | | It was causing too many problems and had no apparent benefit. Fixes #101
* 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).
* Removed shadow jarRubbaBoy2020-10-301-0/+15
|
* Downgraded to Java 8RubbaBoy2020-10-301-15/+0
| | | | Includes a minor logging fix
* Restructured project, added gradle, JUnit, logger, and moreRubbaBoy2020-10-30259-0/+26091
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.