Uploaded September 2023 | Updated September 2026, 2 weeks ago
Chapters:
0:00 Introduction
1:47 My background and experience
2:06 Congratulations
2:35 Building a team and communication (1)
6:55 DAW, OS & plugin format specific bugs (2)
9:22 Plugin registration systems & piracy protection (3)
10:05 Infrastructure (website) (4a)
11:05 Infrastructure (code signing, notarization & Continuous Integration) (4b)
14:44 Product vision (5)
15:08 How to sell and market the plugin? (6)
15:48 Customer support (7)
16:47 Creating new products (a hidden 8th challenge)
17:13 Wrapping up
--
Our Development Services: theaudioprogrammer.com/development
Recruitment & Contracting:
theaudioprogrammer.com/recruitment
Join our Community!
theaudioprogrammer.com/community
Support us on Patreon:
patreon.com/theaudioprogrammer
Website: theaudioprogrammer.com
Instagram: instagram.com/theaudioprogrammer
Facebook: facebook.com/theaudioprogrammer
Twitter: twitter.com/theaudioprogrammer
#audioprogramming #vstplugins
Chapters:
0:00 Introduction
1:47 My background and experience
2:06 Congratulations
2:35 Building a team and communication (1)
6:55 DAW, OS & plugin format specific bugs (2)
9:22 Plugin registration systems & piracy protection (3)
10:05 Infrastructure (website) (4a)
11:05 Infrastructure (code signing, notarization & Continuous Integration) (4b)
14:44 Product vision (5)
15:08 How to sell and market the plugin? (6)
15:48 Customer support (7)
16:47 Creating new products (a hidden 8th challenge)
17:13 Wrapping up
--
Our Development Services: theaudioprogrammer.com/development
Recruitment & Contracting:
theaudioprogrammer.com/recruitment
Join our Community!
theaudioprogrammer.com/community
Support us on Patreon:
patreon.com/theaudioprogrammer
Website: theaudioprogrammer.com
Instagram: instagram.com/theaudioprogrammer
Facebook: facebook.com/theaudioprogrammer
Twitter: twitter.com/theaudioprogrammer
#audioprogramming #vstplugins


![JUCE PNG Strips for Next-Level Plugin UIs || Build This Awesome Sampler Pt 5
Custom knobs are one of the most-asked-about parts of building a plugin, and the secret is that you dont draw them at all. In Part 5 we build real custom knobs from an image filmstrip and a JUCE LookAndFeel, then wire them to the Decay and Reverb parameters of our sampler.
⏰ Timestamps:
00:00 - Introduction: why pro knobs arent drawn
01:41 - Prerequisites & the GitHub branch
01:55 - Adding the PNG strip (assets + CMake)
03:05 - Getting the knob from binary data
03:50 - How JUCE LookAndFeel works
04:35 - Building the KnobLookAndFeel class
07:02 - Moving the implementation into a .cpp
08:32 - Finding & overriding drawRotarySlider
11:26 - The frame-index math (value → frame)
15:10 - Drawing the frame (and the retina trick)
17:31 - Suppressing warnings with [[maybe_unused]]
18:06 - Why we build a reusable Knob component
19:14 - Creating the Knob class
23:00 - Implementing the constructor & styling
28:08 - Layout with resized()
29:01 - Wiring the Decay knob in the editor
31:44 - Adding the Reverb knob (the payoff)
32:55 - Recap & whats next
Project code: https://github.com/TheAudioProgrammer/JuceSamplerAudioPlugin
📚 Learn Audio Programming
https://theaudioprogrammer.com/books
🎤 Join our Community
https://theaudioprogrammer.com/community
💼 Hire Audio Programmers & Music Tech Professionals
https://theaudioprogrammer.com/recruitment
🏭 Create Your Own Audio Plug-in with Our Experienced Team
https://theaudioprogrammer.com/development
Stay connected with us
Instagram: https://www.instagram.com/theaudioprogrammer
Facebook: https://www.facebook.com/theaudioprogrammer
Twitter: https://www.twitter.com/audioprogrammer JUCE PNG Strips for Next-Level Plugin UIs || Build This Awesome Sampler Pt 5](https://i.ytimg.com/vi/pVSHrP9w8Nk/mqdefault.jpg)







