I got some good debugging done for something I’m calling an “Allenspace Sound Generator”. It makes a continuous, spacey collection of sine waves, with some controls for the generation rate, the envelopes, the number of tones per cluster and basic pitch spread and pan spread. There is also a weird gizmo called a “flibber” which basically intermixes tracks rather than mixing them. This gizmo was an attempt to recreate a faulty version made unintentionally that had some bizarre multi-threading issues and is very glitchy sounding.
At this point the GUI is totally placeholder, making use of a single slider tool that only shows a label and outputs a normal (0…1). AND IT HAS NOT BEEN GIVEN MUCH TESTING and will crash (turn non-functional) if you just hit “Start” without moving ALL the sliders first. If you want to give it a try, I recommend first putting all the sliders near the middle and working from there. Or wait until I figure out a reasonable GUI.
GUI is now more informative if not particularly friendly. Now has reasonable initial settings so can just hit play and get something. One highly intermittent known bug remains, though.
http://www.java-gaming.org/user-generated-content/members/27722/allenspace.jar
I am a bit fried and will give it the GUI more work as a side priority over the next week or two, probably. It potentially could also be run from the jar via an api, if you have a need for some spacey atmospherics.
Sounds pretty cool: get two running at the same time, and have one “flibber” and the other straight. I want to expose some controls over the “flibber” parameters, and investigate adding various forms of lfo modulation to the sines.
Did some research on freesound.org, for rain and wind-in-trees, for candidates effects to use in Vangard. I think I have found a couple improvements over the first wind-in-trees attempt. In the next while, I’ll be expanding the api to allow ags1 to directly trigger audio events that are part of the sound-scapes. Right now she can only manipulate the volumes, not the trigger events or control the stochastic timing algos. A future api will allow the ability to control the stochastic timings as well. For the first pass (built over the last few weeks), I just wanted to get something that would work, sound decent, and could be a placeholder for a while. (The jar is 1MB and runs solo at about 1% cpu on my PC.)
So what I really wanted to get to today was this:
downloaded LWJGL
set up a project in Eclipse
got the red block “HelloWorld” program to run (with some fussing, trying to figure out what they meant when referring to “your natives” and how to specify launch arguments which I hadn’t done before)
The hello world program didn’t run on my laptop (GLFW_API_UNAVAILABLE error. but it IS running on my desktop. Yay!
Also gathered up locations of documents for study including an example of audio playback via OpenAL. The goal is to be able to output my audio over OpenAL, via LWJGL.