In this tutorial series I show you how to create a simple sampler plug-in using C++ and the JUCE Framework.  I’d recommend following along with these videos if you have some familiarity with C++ and would like to understand more about how the JUCE Framework is structured without getting too far into DSP.

You can follow along and get the code on GitHub.

Subjects covered include:

–  Component Class

– Drawing waveforms

– Synthesiser Class

– Building a VST

– Slider and Label Classes

– Basic Object-Oriented Concepts

– ADSR Class

– Audio Processor Value Tree State

– Using your own images in a plug-in



Part 1 – Loading and Playing

Part 2 – Drag and Drop Samples

Part 3 – Drawing Waveforms

Part 4 – Making Sliders and Labels

Part 5 – Using the Slider Listener Class

Part 6 – Building an ADSR Envelope

Part 7 – Audio Processor Value Tree State (2020)

Pt 8 – Basic Object Oriented Concepts

Pt 9 – Creating a Transport / Playhead

Part 10 – How to Use Images in Your Plug-ins

Privacy Preference Center


These cookies are used to record GDPR choices and to provide the minimum necessary functioning of the website for both logged-in and non-logged in users. The third party cookies from Google power the search engine on our site.

wpc_wpc, wp_api_sec, _wpndash, wordpress_logged_in, recognized_logins, G_ENABLED_IDPS, usprivacy, wordpress_sec, wp_api, tk_ai, gdpr[consent_types], wp-settings-time-20, wp-settings-20, gdprprivacy_bar, wordpress_test_cookie, gdpr[allowed_cookies], wp-settings.time-1, last_active_role,


Part of our website uses Google cookies to provide site analytics (how our website is used). This helps us to improve our website and create content suitable for all our visitors. You can learn more about how Google uses cookies, and how to manage them at

_gat_gtag_UA*, _ga, _gid, , CONSENT

Learning Content

We use Dropbox to deliver some of our paid for learning content. This places cookies on our website managed by Dropbox.

jar, locale, __Host-js_csrf, t, lid, last_active_role, bjar

Shopping Cart

These cookies are used to process the payment for paid-for content and to grant access to that content. Our website uses the WooCommerce platform to handle the shopping cart and the PayPal gateway to handle payment processing.

You can find out more about PayPal's cookies (which do not appear on our site) and Privacy Policy by visiting

wp_woocommerce_session, woocommerce_items_in_cart, woocommerce_cart_hash, tk_ai, tk_us, mailchimp_user_mail, mailchimp.cart.current_email

Mailing List Subscriptions

We use a Wordpress plugin to manage our email subscription sign up. We use Mailchimp to handle and manage email to our subscribers, but we don't use their cookies on our site. For more information on MailChimp Cookies, visit

et_bloom_optin_optin*, et_bloom_subscribed_to_optin

Marketing and Tracking


The Audio Programmer Logo

Connect with the Audio Programmer community and find out about new tutorials, jobs, and events!

You have Successfully Subscribed!