Build PFM::Project 10 from scratch using JUCE and Modern C++
Learn how to:
- Pass objects between threads in a lock-free manner
- Build Averagers, ValueHolders, DecayingValueHolders, and Circular Buffers
- Build Level Meters showing instantaneous and averaged RMS and Peak levels
- Build Histograms
- Build Gonio Meters
- Build Correlation Meters
- Build Threshold sliders for the meters
- Control the metering parameters with GUI widgets
- Save and load the metering parameters
PFM::Project 10 is available in 3 versions:
- Instructions Only. 14 steps. Tackle the project at your own speed, using the same instructions set that comes with the mentored version. For those who want no assistance.
- Instructions + Slack Access for asking basic questions (no code reviews or guidance). Tackle the project at your own speed, using the same instructions set the mentored version receives. For the developer who has simple questions but doesn't want or need any help getting everything working.
- Instructions + Slack Access + 30 Days of Code Reviews & Guidance. For the developer who wants to get through the project as fast as possible and get as much help as they need. The mentored version is explained below.
It is recommended that you already know some C++ and how to use GIT to manage the project's source code, but not required.
You will learn proper GIT etiquette during this course, if you do not already know it.
If you want to deeply learn C++, how to use GIT correctly, and JUCE Framework basics, I have the following resources:
- PFM::C++ Language Fundamentals (mentored)
- PFM::SimpleEQ (free, follow-along videos)
- PFM::SimpleMBComp (free, follow-along videos)
Includes Chapters 6 and 7 from PFM::C++ Language Fundamentals to get you up to speed with JUCE and Multithreaded programming.
Details of the Mentored version:
You'll build this project from scratch and I will review your code.
I will be your project manager and assign work accordingly.
Instructions are provided via a Jira Project board.
You'll submit your work via Pull Requests to a BitBucket repository.
I will review your work and either approve or request changes.
Discussions regarding the project are handled via a private Slack Workspace.
If you get really stuck, I can clone & build your project, find the bug, and point you in the right direction to fix the bug and continue with the project.
30 days of 1-on-1 mentorship via the Slack Workspace is included.
The completion time of this course depends entirely on the work the student puts in and their rate of progress through the project.
Mentorship begins immediately upon purchase. You decide how quickly you want to proceed through the material during the included mentorship period.
Continued Mentorship is available here: https://www.programmingformusicians.com/pfm_membership