New Audio Based Juce Module Available - dRowAudio
Hi all, I've just finished up the first draft of a collection of audio visual classes I've been developing, all bundled up nicely in a module thanks to the great re-structuring of the library.
This is still in beta stage so please be kind, any bug-spots will be greatly received and any suggestions/fixes even more so.
I've created a demo to showcase most of this stuff and give an example of how to set it up. It should be pretty straightforward, but the cURL stuff requires some extra linking and pre-processor macros, look at the Introjucer file for guidance, you'll also have to add the network/curl/lib folder to the includes path if using MSVC as this can't be set with the Introjucer currently.
So heres a quick rundown of the features:
Audio:
- AudioFilePlayer
Wrapper for audio transport and audio sources with a listener interface for notifying of changes to files and settings. Easily sub-classable for custom control, see AudioFilePlayerExt.
- Filtering and Looping audio sources
Audio sources containing 3-band EQ and looping capabilities
- SoundTouchAudioSource
Audio source wrapper for the SoundTouch library for independent pitch and tempo adjustments
- Buffer
Buffer class with with listener interface. Useful for holding wavetables or transfer functions.
- FFT classes
Simple to use FFT classes which use Accelerate on the Mac or RealFFT on Windows.
- Misc conversion and utility functions
GUI:
- AudioThumbnailImage classes
Classes to render an audio thumbnail on a background thread to an Image and then control transport through positioning or dragging.
- Audio UI classes
AudioOscilliscope, Spectroscope, Sonogram, Meters etc.
- ColumFileBrowser
Similar to OSX's Finder
- MusicLibraryTable
Full featured music library table which can easily combine with the iTunes Library classes to display, search and act as a drag source for your audio library.
- Utility
Some helpful utility classes such as clocks and cpu meters
Maths:
- Lots of useful helper methods for interpolation, conversion and bezier curve generation
Network:
- cURL classes for RIAA multithreaded, multiprotocol network transfers
Utility:
- iTunesLibrary
iTunes Library parser into ValueTree which can merge with an old library tree to maintain any added metadata.
- Lots of handy comparators, xml helpers and constants
I know the demo colour scheme is a bit drab at the moment but it made the design decisions easier.
This is being constantly developed in a public Git repository so follow it to keep up to date. Its available here: https://github.com/drowaudio/drowaudio
Please ignore the plugin and non-demo apps there for now, they are very old and need updating.
There is a prebuilt demo download here: https://github.com/downloads/drowaudio/drowaudio/Library%20&%20Demo%20v0.5.zip
I have also added a page to the Wiki with some screenshots http://www.rawmaterialsoftware.com/wiki/index.php/DRowAudio. Maybe we could add a new page for modules, there's a couple floating around now, would be nice to have a centralised place for them.
Hope this is useful to people!
Dave.
