Giter VIP home page Giter VIP logo

juce-toys's Introduction

juce-toys

NATVIS

A NatVis file is provided to help with debugging in Visual Studio. You won't want to be without it. Refer to Microsoft's NatVis instructions for installation. It'll need to go in the right folder.

See https://msdn.microsoft.com/en-us/library/jj620914.aspx

LLDB

An equivalent LLDB file is provided. Installation instructions are in the comments at the top of the file. See juce_lldb_xcode.py.

If you'd like to add new types, see Sudara's guide to creating lldb type summaries and children.

JCF_DEBUG: JUCE Debugging Module

There are five development debugging utilities in the juce module jcf_debug.

I use these all the time. They are:

  • ComponentDebugger - attach one of these to a component and get a list of all its children as a tree in a separate window. Problem components are marked in grey (not visible), yellow (off screen) or red (zero size). (See the screenshot png in the root folder)
  • ValueTreeDebugger - attach this to a valuetree and a separate window will open where you can view (and change properties) of the tree.
  • BufferDebugger - one of these can be used to view a buffer (typically an array of floats) when debugging DSP code. You can put a macros into your code at places you want to be able to inspect the buffer contents. I wrote it while debugging some auto-correlation code for a pitch shifter and it's been a life safer a couple of times since.
  • advanced_leak_detector.h - is a utility you can add to a class when you have a memory leak from an object. it returns the stack back-trace of the leaked objects allowing you to find out where in your maze of source-code-complexity you created them!
  • FontAndColourDesigner - which allows you to easily flick between colours and fonts for a component. Handy when you are designing a UI. Though perhaps can be replaced with the Projucer these days!

The debuggers aren't pretty - but they are functional and shouldn't crash! Let me know if you get any problems!

MULTITHREADING

A JUCE Module for multi-threading problems in audio plugins. See the Doxygen documentation for more information.

  • garbage_collected_object - is a garbage collector i use for handling the deletion of objects on the message thread when the audio thread has finished with them.
  • nonblocking_call_queue.h - provides a lock-free mechanism for inter-thread function calls. very useful in conjunction with the garbage collector.
  • value_tree_clone.h - jules may have made this a relic of history with recent changes to JUCE, however this is the class I use for cloning a ValueTree from my message thread to my audio thread without locks (works in conjunction with the nonblocking call queue and the garbage collector).

** Other

A collection of parts and ideas which might be useful to people using JUCE.

  • adsr_editor.cpp, adsr_editor.h - is a basic, but nice looking envelope editor.

juce-toys's People

Contributors

bazrush avatar jcredland avatar sudara avatar modosc avatar davemod avatar jonathonracz avatar cpr2323 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.