The Alexandria Roadmap

June 26, 2011

The Alexandria collection of pure Java libraries will be as follows:

  • Copernicus [Neptune]: Simple threaded sound library supporting the common formats: wav, snd, au, aiff, mp3, ogg, flac, and ape. Nearly complete, currently in RC2 status. Final version in less than a month.
  • Kepler [Saturn]: Simple network library based on a snapshot of Jexxus. Supporting a central tracker for a swarm, time sync, DHT, and a host of other code saving features meant to streamline interactive online group media. Just begun, no release, due in 4-6 months.
  • Galileo [Jupiter]: Simple JOGL library for graphics which takes care of a host of other simple routines. 80% underway, no release, due by the end of the year. A very infantile version may be released along side Kepler/Saturn to demonstrate the ideas.

Just dropping out an FYI for anyone interested.


Copernicus RC2 Released

June 26, 2011

After much delay, here is class library number 1, release candidate 2. For your consumption:

FLAC support added, I went and built my own current jFLAC library with SPI services. Tests are positive that it works, though far from conclusive. (This is jFLAC 1.4 beta for the record). SoundBank now has update tracking, so you can report and analyze its progress when scanning or reading in threads. There are two new handler interfaces, one that allows SoundBank tracking, and another that reports sound playback position, start and stop events. Check out the Javadoc for more intel.

NOTE: As of this release, the position callback is borked because there is no easy way to determine the stream total length using the java.sound.sampled interfaces. I’ll be adding workarounds for each file format I suppose in the final test (soon to come) release.


Copernicus Updates

June 19, 2011

I decided today to finish the much neglected SoundBank features of interactivity. Specifically, the ability to get working information from the Bank then you Scan() or Read() in thread. Should be updated and finished with the next couple days, after that I’ll take a look and see if anything else needs added/finished. Feel free to post any wishlist items as a comment here.


Copernicus RC1!

January 10, 2011

[THIS VERSION IS DEPRECATED, SEE: RC2]

Ok, so here is class library number 1, release candidate 1. I need some exterior testing at the this point, I’ve tossed what I can at it on both Windows and MAC OS X and its been operating smooth and silky. For your consumption:

No FLAC support for lack of working SPI. However it has standards (wav, au, aiff and such) plus mp3, ogg, and ape. Usage is simple and I’ll post up a simple example here:

Sound clip = new Sound();
clip.LoadNow(“duel.ape”);
clip.Play();
I did say simple right, that’ll load a sound and play it in the current thread. How about something more complicated?
// Simple SoundBank class test, load dir and play sound
SoundBank Bank = new SoundBank();
Bank.ReadNow(“bankb”);
int index = Bank.get(“bank/duel1.aiff”);
Bank.PlayThread(index,0.4f,-1.0f);
Thread.sleep(3000);
Bank.PlayThread(index,0.4f,1.0f);
Thread.sleep(3000);
Bank.PlayThread(index,0.6f,0.0f);
Thread.sleep(10000);
// kill all playing sounds
NeptuneCore.KillAll();
// shutdown the system
NeptuneCore.Shutdown();
That loads all the sound files from a directory (or a .zip in this case, since the SoundBank uses both the same transparently :D ) into a bank, and then plays them in threads, finally killing all of them and shutting down. Its cake right?
As always, please feel free to donate with the donate button :)

Welcome!

January 9, 2011

Here is the place I’ll be posting and maintaining all information about Wishray Technologies. These are in particular:

  • All Java class libraries and applications
  • Each has a focus related to media applications and interactive media
  • Some are pure algorithms or utilities like network code

Well that is all. The first two to be posted will be part of Alexandria, a collection of class libraries for Java 6+. These include:

  • Copernicus: A pure Java sound engine for playback of all common formats through SPI (mp3, ogg, and so on).
  • Galileo: A JOGL engine that streamlines creating interactive visual applications between the big three platforms: Windows, Linux, and Mac OS X.

That is all. You can read more about us in the About page here, or donate to help maintain things via paypal with the Donate button.