Getting started with JUCE

Getting started with JUCE
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Begin developing user interfaces in code or with a graphical editor
  • Build and run the Introjucer tool
  • Create a JUCE project with the Introjucer tool

Book Details

Language : English
Paperback : 158 pages [ 235mm x 191mm ]
Release Date : October 2013
ISBN : 1783283319
ISBN 13 : 9781783283316
Author(s) : Martin Robinson
Topics and Technologies : All Books, Application Development, Enterprise Products and Platforms, Open Source

Table of Contents

Chapter 1: Installing JUCE and the Introjucer Application
Chapter 2: Building User Interfaces
Chapter 3: Essential Data Structures
Chapter 4: Using Media Files
Chapter 5: Helpful Utilities
  • Chapter 1: Installing JUCE and the Introjucer Application
    • Installing JUCE for Mac OS X and Windows
    • Building and running the JUCE Demo application
      • Running the JUCE Demo application on Windows
      • Running the JUCE Demo application on Mac OS X
      • The JUCE Demo application overview
      • Customizing the look and feel
    • Building and running the Introjucer application
      • Building the Introjucer application on Windows
      • Building the Introjucer application on Mac OS X
      • Examining the JUCE Demo Introjucer project
    • Creating a JUCE project with the Introjucer application
    • Documentation and other examples
    • Summary
    • Chapter 2: Building User Interfaces
      • Creating buttons, sliders, and other components
        • Adding child components
      • Responding to user interaction and changes
        • Broadcasters and listeners
        • Filtering data entry
      • Using other component types
      • Specifying colors
        • Component color IDs
        • Setting colors using the LookAndFeel class
      • Using drawing operations
        • Intercepting mouse activity
      • Configuring complex component arrangements
        • Other component types
      • Summary
      • Chapter 3: Essential Data Structures
        • Understanding the numerical types
        • Specifying and manipulating text strings
          • Posting log messages to the console
          • String manipulation
        • Measuring and displaying time
          • Displaying and formatting time information
          • Manipulating time data
          • Measuring time
          • Accessing various special directory locations
          • Obtaining various information about files
          • Other special locations
          • Navigating directory structures
        • Using dynamically allocated arrays
          • Finding the files in a directory
          • Tokenizing strings
          • Arrays of components
          • Using the OwnedArray class
          • Other banks of controls
        • Employing smart pointer classes
        • Summary
        • Chapter 4: Using Media Files
          • Using simple input and output streams
            • Reading and writing text files
            • Reading and writing binary files
          • Reading and writing image files
            • Manipulating image data
          • Playing audio files
            • Creating a GUI to control audio file playback
            • Adding audio file playback support
          • Working with the Binary Builder tool
            • Embedding an image file using the Introjucer application
          • Summary
          • Chapter 5: Helpful Utilities
            • Using the dynamically typed objects
              • Using the Value class
              • Structuring hierarchical data
            • Employing undo management
            • Adding XML support
            • Understanding how JUCE handles multiple threads
            • Storing application properties
            • Adding menu bar controls
            • Summary

            Martin Robinson

            Martin Robinson is a British University Lecturer, software developer, composer, and an artist. He lectures in Music Technology with particular interests in audio software development and game audio. He gained his B.A. (Hons) Music and Music Technology from Middlesex University with first class honors, specializing in music composition. Later, he gained his M.A. Electronic Arts (with distinction) where his thesis focused on developing a system for employing artificial neural networks for controlling audio-visual systems. His interest in computer programming developed through his music composition practice and his desire to customize systems for manipulating music and audio. He developed the UGen++ library for developing audio applications that was based on the look and feel of the SuperCollider audio programming language. Later, he developed the Plink|Plonk|Plank libraries too, for audio application development. He also develops iOS applications.
            Sorry, we don't have any reviews for this title yet.

            Code Downloads

            Download the code and support files for this book.

            Submit Errata

            Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

            Sample chapters

            You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

            Frequently bought together

            Getting started with JUCE +    Python for Finance =
            50% Off
            the second eBook
            Price for both: £21.95

            Buy both these recommended eBooks together and get 50% off the cheapest eBook.

            What you will learn from this book

            • Create projects using the Introjucer tool
            • Build user interfaces using code and the graphical editor in the Introjucer
            • Respond to user interaction form sliders, buttons, and text entry
            • Perform fundamental drawing commands
            • Store and manipulate data in dynamic arrays
            • Convert binary files to source code for cross-platform compatibility
            • Store and manipulate application data and settings
            • Read, write, and display image files

            In Detail

            There are a number of frameworks available for developing cross-platform applications. JUCE achieves this with a combination of consistency, ease-of-use, and breadth of functionality. JUCE is a C++ toolkit for building cross-platform applications on PC, Mac, Linux, iOS, and Android. It encourages you to write consistent code and is particularly good for complex, customized GUIs and audio/midi processing; it also includes a vast range of classes to help with all your day-to-day programming tasks.

            Getting started with JUCE is a practical, hands-on guide to developing applications using JUCE which will help you get started with many of the core aspects of the JUCE library. The book guides you through the installation of JUCE and covers the structure of the source code tree including some of the useful tools available for creating JUCE projects.

            Getting started with JUCE will guide you through how to use the JUCE library, from the installation of basic tools to developing examples using many of its classes. It will take you through a series of practical examples that show you how to create user interfaces, illustrating the key features.

            You will also learn how to deal with files, text strings, and other fundamental data using the JUCE library. In particular, you will learn how to create user interfaces both using code and using the Introjucer tool to layout and configure user interface functionality. You will also manipulate image and audio data and learn how to read and write common media file formats. With this book, you will learn everything you need to know to understand some of the additional helpful utilities offered by JUCE and how to use the JUCE documentation to get started with such classes.


            This book is a fast-paced, practical guide full of step-by-step examples which are easy to follow and implement.

            Who this book is for

            This book is for programmers with a basic grasp of C++. The examples start at a basic level, making few assumptions beyond fundamental C++ concepts. Those without any experience with C++ should be able to follow and construct the examples, although you may need further support to understand the fundamental concepts.

            Code Download and Errata
            Packt Anytime, Anywhere
            Register Books
            Print Upgrades
            eBook Downloads
            Video Support
            Contact Us
            Awards Voting Nominations Previous Winners
            Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
            Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software