Daniel Walz - Build Juce UI's easily with Plug-in GUI Magic (Pt 2 of 2)

Daniel Walz - Build Juce UI's easily with Plug-in GUI Magic (Pt 2 of 2)

How to Enhance Your Plugin with Visualizations

Introduction to the Tutorial

  • Daniel introduces himself and references a previous tutorial on adding an editor and quick controls to plugins without coding.
  • The focus of this session is on adding visual elements like an oscilloscope and analyzer to enhance the plugin's appeal.

Recap of Previous Work

  • A recap of prior achievements includes creating a magic state for parameter management and implementing a user interface (UI) for the plugin.
  • Demonstrates existing features such as buttons for sound creation and a list for easy selection of connected items.

Adding Visualizations

  • Plans are made to integrate visualizers, specifically an oscilloscope and meter, into the plugin interface.
  • Discussion about defining what data will be sent to the meter, emphasizing that it can measure various signals (input/output).

Implementing Level Source

  • Introduction of level sources in the code, which will allow measurement from different points within the plugin.
  • The process involves creating unique magical sources that will later appear in the UI builder.

Setting Up Meter Functionality

  • Instructions on initializing components necessary for measuring output signals rather than input signals.
  • Emphasis on setting parameters like channel count and timing intervals for accurate measurements.

Finalizing Visual Elements

  • Steps taken to connect meters properly so they display relevant data; adjustments made to improve aesthetics by organizing elements in containers.
  • Tweaks include removing unnecessary text boxes and adjusting sizes/colors for better visibility.

Creating Additional Sources

  • Discussion about inheriting from a common class (magic plot source), allowing users to create custom plots easily.
  • Encouragement to implement FIFO structures for sample measurement while noting that most setup is automated.

Conclusion of Setup Process

  • Overview of how simple it is to create visualizers with minimal code, highlighting efficiency in development practices.
  • Reminder about object management within constructors, ensuring proper initialization before usage.

Magic State and Analyzer Setup

Understanding Magic State and Analyzer

  • The concept of a "magic state" is introduced, emphasizing its significance in the context of an analyzer. Users are encouraged to name their analyzers uniquely.

Preparing for Playback

  • The process of preparing the magic state for playback is discussed, highlighting the need to set up parameters like the number of channels and release time.

Initialization of Plot Sources

  • It’s noted that blood sources are trivial; thus, calling prepareToPlay on the magic steady state initializes all plot sources automatically. Manual setup may be necessary in specific scenarios.

Sample Management and Display Issues

Pushing Samples to Analyzer

  • The speaker mentions pushing samples to the analyzer but encounters issues with display settings, indicating adherence to a style guide.

Troubleshooting Display Problems

  • A problem arises where no output is shown due to insufficient space for displaying plots. Adjustments are made by creating containers for better organization.

Visual Tweaks and Enhancements

Adjusting Plot Appearance

  • The speaker discusses enhancing visual elements such as background color and width adjustments for clarity in data representation.

Fixing Display Errors

  • An error occurs where expected outputs do not appear; troubleshooting leads to identifying issues with source selection.

Finalizing Visual Elements

Color Customization

  • Adjustments are made to colors used in displays, including setting transparency levels for better visibility against backgrounds.

Adding Branding Elements

  • Discussion includes incorporating branding into visuals by adding logos or images, which requires enabling resources manually within the software environment.

Refining Layout and Settings

Layout Optimization

  • The layout is refined by adjusting margins and padding around elements, ensuring a clean presentation without unnecessary spacing.

Final Touches on Functionality

  • Emphasis on maintaining functionality while tweaking visual aspects indicates a balance between aesthetics and performance in design choices.
Video description

See the announcement here: https://foleysfinest.com/2020-03-29-Announcing_PluginGuiMagic/ Join the Audio Programmer Community: https://theaudioprogrammer.com/community/ Support the channel: https://www.patreon.com/TheAudioProgrammer Website: https://www.theaudioprogrammer.com Instagram: https://www.instagram.com/theaudioprogrammer Facebook: https://www.facebook.com/theaudioprogrammer Twitter: https://www.twitter.com/audioprogrammer