Introduction to JUCE
Tuesday 28 July 2020
What is JUCE?
JUCE has an extensive API for building applications. In order to facilitate the use of
the API, it’s organized into different modules. During our development we will use the
GUI and Audio modules.
Projucer is a graphical application that allows us to create and manage JUCE projects.
We’re going to use Projucer to create an Audio Application during the second part of
this course.
Projucer allows us to export the application to multiple platforms including Linux,
macOS, iOS, Windows, and Android. In the general case, the code is portable from one
platform to another, requiring only a recompilation.
We can also manage modules from within Projucer. What this means is that we
can bring extra components to be used in our application and enhance or add new
functionality.
Links
JUCE
Projucer
Introduction to Projucer
Here is a list of common tasks when we first use Projucer:
1. Create a new project
We tell Projucer that we want to create a project, give it a name and a type.
2. Configure exporters
Here’s where we would choose from a list of supported exporters.
3. Save
Save the project
4. Open in IDE
Depending on the platform, we may have a button for firing up the IDE. Clicking
it will open the project’s code in that particular IDE so we can start writing code.
5. Build
Compile the project to verify that the base code compiles.
6. Run
Run the project to verify that it runs correctly.
More posts in cpp
- Add a component ID and converting between ints and strings
- Implement a play button and add a listener
- Implement paintRowBackground and paintCell
- Add a vector to store a list of files
- Add a TableListBox
- Create a PlaylistComponent in the Projucer project
- Threads
- Implement a timer
- Add getPosition and setPosition functions
- Refactor DJAudioPlayer to use app-scope formatManager
- Draw the thumbnail
- Hook up the load button to trigger the AudioThumbnail load
- The AudioThumbnail class in the API
- Creating a new component - WaveformDisplay
- Implementing drag and drop triggers
- Use a MixerAudioSource to play more than one file at a time
- Implement the listener interfaces to DeckGUI
- Creating a DeckGUI class
- setPosition control
- Implementing setGain and setSpeed
- Add audio playback functionality
- Writing the DJAudioPlayer class
- Creating a new JUCE class with Projucer
- Refactoring our code
- Using ResamplingAudioPlayer to implement variable speed playback
- Add stop, start and volume functionality
- Add a file chooser
- Audio file playback in JUCE
- Realtime sound synthesis in JUCE
- Adding a slider listener
- Introduction to event listeners
- Macros
- Inheritance
- Adding a GUI widget to the JUCE app
- Introduction to JUCE