DRowAudio

From JUCE

Jump to: navigation, search

Contents

Introduction

dRowAudio is a Juce module which includes classes for audio processing and display.

The module has its roots in an application developed while studying at University but has since become a collection of commonly used classes and helper methods for rapid, audio based application development. Specialist areas include graphical displays, audio transport control and analysis.

Features

Audio

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.

Audio sources containing 3-band EQ, looping and reverse playback capabilities

Audio source wrapper for the SoundTouch library for independent pitch and tempo adjustments

Buffer class with with listener interface. Useful for holding wavetables or transfer functions.

Simple to use FFT classes which use Accelerate on the Mac or RealFFT on Windows.

Pitch detection based on a very accurate auto correlation method.

GUI

Classes to render an audio thumbnail on a background thread to an Image and then control transport through positioning or dragging.

AudioOscilliscope, Spectroscope, Sonogram, Meters etc.

Similar to OSX's Finder

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.

Some helpful utility classes such as clocks and cpu meters

Maths

Network

Utility

iTunes Library parser into ValueTree which can merge with an old library tree to maintain any added metadata.

Mobile (iOS)

Demo

The dRowAudio demo (available from /apps) contains example usage for most of the classes. This is a good place to find out how to utilise the module's classes.

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.

1._Audio_Playback.png

3._Column_File_Browser.png

4._FFT.png

5._cURL.png

Setup and Config

There are a couple of flags that need to be set in your project in order for the project to successfully compile the cURL code. These are shown below as an Introjucer config page. If you are using MSVC you will also need to add dRowAudio/network/curl/lib to you library includes as this can not currently be set using the Introjucer. 6._Project_Settings.png

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox