<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.getdunne.net/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.getdunne.net/wiki/feed.php">
        <title>GetDunne Wiki</title>
        <description></description>
        <link>https://www.getdunne.net/wiki/</link>
        <image rdf:resource="https://www.getdunne.net/wiki/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-18T06:10:55+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=api_guessing_game&amp;rev=1506869092&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=audio-languages&amp;rev=1612722069&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=audiokit&amp;rev=1612803152&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=audioparametertest&amp;rev=1508703108&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=audioparametertest2&amp;rev=1534864382&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=avoid_new_delete_prefer_references_to_pointers_use_member_variables_for_sub-components&amp;rev=1504292522&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=ceili_tunebook&amp;rev=1503940154&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=constexpr_instead_of_preprocessor_define&amp;rev=1504287265&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=downloading_and_installing_juce&amp;rev=1504014025&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=eliminate_char_arrays&amp;rev=1504282141&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=enum_class_rather_than_typedef_enum&amp;rev=1504274463&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=getting_past_the_opening_hurdles&amp;rev=1504014368&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=getting_started_with_the_projucer&amp;rev=1504182538&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=juce_and_parameter_automation&amp;rev=1508704366&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=juce_gui_basics&amp;rev=1612828322&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=modernizing_the_vanillajuce_code_base&amp;rev=1504295375&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=on-audio-kits&amp;rev=1612718218&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=overview&amp;rev=1504111388&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=preparing_your_pc_or_mac_to_build_audio_plugins_with_juce&amp;rev=1503973544&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=sarah&amp;rev=1506785934&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=sarah_oscillator_details&amp;rev=1504654921&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=sarah_skinning&amp;rev=1506875969&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=some_notes_on_linux_setup&amp;rev=1536954722&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=start&amp;rev=1643555506&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=starting_from_scratch_with_juce&amp;rev=1536686893&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=the_plugin_editor&amp;rev=1506973138&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=the_plugin_processor&amp;rev=1504115278&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=the_synthesizer&amp;rev=1504136963&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=vanillajuce&amp;rev=1548541866&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.getdunne.net/wiki/doku.php?id=voxvu&amp;rev=1503939644&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.getdunne.net/wiki/lib/tpl/dokuwiki/images/favicon.ico">
        <title>GetDunne Wiki</title>
        <link>https://www.getdunne.net/wiki/</link>
        <url>https://www.getdunne.net/wiki/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=api_guessing_game&amp;rev=1506869092&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-01T14:44:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>api_guessing_game</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=api_guessing_game&amp;rev=1506869092&amp;do=diff</link>
        <description>The API Guessing Game

Some day I intend to write an eloquent essay on the virtues of good software documentation, particularly as it applies to software libraries for use by other programmers. For the moment, I will say only this:

	*  Once one achieves a basic level of coding competence, programming mainly involves</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=audio-languages&amp;rev=1612722069&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-07T18:21:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>audio-languages</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=audio-languages&amp;rev=1612722069&amp;do=diff</link>
        <description>On audio languages, and why I prefer compilers

This was going to be an article about Domain-Specific Languages (DSLs) for audio, why AudioKit needs one for “scripting” the way DSP components go together, and why I believe it should be compiled rather than interpreted.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=audiokit&amp;rev=1612803152&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-08T16:52:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>audiokit</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=audiokit&amp;rev=1612803152&amp;do=diff</link>
        <description>Notes on AudioKit

This page is technically public, but there aren't any ordinary links to it, so it's private enough. There are no secrets here anyway.

	*  On &quot;Audio Kits&quot; and the Future of AudioKit
	*  On audio languages, and why I prefer compilers

See the main page of this wiki for links to several pages about JUCE. You may find the following particularly useful as you get started (please note this is work-in-progress):</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=audioparametertest&amp;rev=1508703108&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-22T20:11:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>audioparametertest</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=audioparametertest&amp;rev=1508703108&amp;do=diff</link>
        <description>AudioParameterTest: JUCE parameter automation, part 1

The code is on GitHub at &lt;https://github.com/getdunne/juce-AudioParameterTest&gt;.

Details to come...</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=audioparametertest2&amp;rev=1534864382&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-21T15:13:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>audioparametertest2</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=audioparametertest2&amp;rev=1534864382&amp;do=diff</link>
        <description>AudioParameterTest2: JUCE parameter automation, part 2

Code is on GitHub at &lt;https://github.com/getdunne/juce-AudioProcessorValueTreeStateTest&gt;.

Undo/redo functionality was broken in JUCE 5.1, but appears to be fixed in 5.3.2 (fingers crossed).

More details coming...</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=avoid_new_delete_prefer_references_to_pointers_use_member_variables_for_sub-components&amp;rev=1504292522&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-01T19:02:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>avoid_new_delete_prefer_references_to_pointers_use_member_variables_for_sub-components</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=avoid_new_delete_prefer_references_to_pointers_use_member_variables_for_sub-components&amp;rev=1504292522&amp;do=diff</link>
        <description>Avoid new/delete, prefer references to pointers, use member variables for sub-Components

The JUCE library includes a nice collection of managed pointer template classes, such as juce::ScopedPointer, which can and should be used to avoid most uses of the</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=ceili_tunebook&amp;rev=1503940154&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-28T17:09:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ceili_tunebook</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=ceili_tunebook&amp;rev=1503940154&amp;do=diff</link>
        <description>Ceili Tunebook

Ceili Tunebook is a system for managing and viewing sheet music, specifically traditional Celtic fiddle tunes and songs which can be represented using the ABC Music format.

For details, refer to &lt;http://ceili.dyndns-wiki.com&gt;. The material at that site will eventually be transferred to this one.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=constexpr_instead_of_preprocessor_define&amp;rev=1504287265&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-01T17:34:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>constexpr_instead_of_preprocessor_define</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=constexpr_instead_of_preprocessor_define&amp;rev=1504287265&amp;do=diff</link>
        <description>Using C++ &quot;constexpr&quot; to replace #define

In C, the only way to define symbolic constants was to use #define---in effect, a parameter-less macro. This is often used to specify the value of a symbolic constant in one place, so it can be used later in one or more other places, to declare the size of an array, e.g.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=downloading_and_installing_juce&amp;rev=1504014025&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-29T13:40:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>downloading_and_installing_juce</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=downloading_and_installing_juce&amp;rev=1504014025&amp;do=diff</link>
        <description>Downloading and installing JUCE

Downloading the JUCE library is straightforward, but knowing where to put it, and other items such as SDKs, is not. Basically, you have to run the Projucer program and hunt around before you can find out what the default folder locations are. On this page, I spare you that by showing you in advance, so you can make informed choices.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=eliminate_char_arrays&amp;rev=1504282141&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-01T16:09:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>eliminate_char_arrays</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=eliminate_char_arrays&amp;rev=1504282141&amp;do=diff</link>
        <description>Eliminating char[] arrays

Perhaps the biggest weakness of the C programming language is that it has no built-in character-string type. As a results, large chunks of the C Standard Library exist to implement strings using contiguous blocks of char(either arrays or malloc()</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=enum_class_rather_than_typedef_enum&amp;rev=1504274463&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-01T14:01:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>enum_class_rather_than_typedef_enum</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=enum_class_rather_than_typedef_enum&amp;rev=1504274463&amp;do=diff</link>
        <description>C++ &quot;enum class&quot; vs. C &quot;typedef enum&quot;

The problems

In the 1980's, it was common to use the preprocessor's #define capability to define symbolic constants, as a way of documenting the specific semantic interpretation intended for particular numeric values. For example, one could write:</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=getting_past_the_opening_hurdles&amp;rev=1504014368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-29T13:46:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getting_past_the_opening_hurdles</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=getting_past_the_opening_hurdles&amp;rev=1504014368&amp;do=diff</link>
        <description>Getting past the opening hurdles

The JUCE library is quite definitely not free. The good folks at Roli Ltd. do, however, offer two free options (“Personal” and “Education”) which allow people to get started with JUCE without having to pay for a commercial license, and these options involve certain conditions to which you'll have to agree, whether you like it or not. This page gives you a chance to preview the whole process before you start, and gives some hints one where to put things on your P…</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=getting_started_with_the_projucer&amp;rev=1504182538&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-31T12:28:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getting_started_with_the_projucer</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=getting_started_with_the_projucer&amp;rev=1504182538&amp;do=diff</link>
        <description>Getting started with the Projucer

The JUCE Projucer is a code and IDE-project generator. You specify what kind of project you want (e.g. GUI application, Audio Plug-In, etc.), and the target IDEs you intend to work with (e.g. Visual Studio, XCode), plus some other details such as a project name, and the Projucer will generate a complete project/solution for each IDE, including a few</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=juce_and_parameter_automation&amp;rev=1508704366&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-22T20:32:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>juce_and_parameter_automation</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=juce_and_parameter_automation&amp;rev=1508704366&amp;do=diff</link>
        <description>JUCE and parameter automation

In audio-recording parlance, automation refers to the ability of a recording system (traditionally a mixing console, more recently a DAW) to record, and subsequently reproduce, real-time adjustments to parameters such as track volume. In DAW systems, automation extends to cover real-time parameters of plug-ins (e.g. synthesizers and signal processors). To make this work, both DAW and plugin must support</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=juce_gui_basics&amp;rev=1612828322&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-08T23:52:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>juce_gui_basics</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=juce_gui_basics&amp;rev=1612828322&amp;do=diff</link>
        <description>JUCE GUI basics

The JUCE Tutorials at &lt;https://juce.com/learn/tutorials&gt; are the best place to get started with JUCE programming. Unfortunately, many of the tutorials tend to jump straight into details, and there is very little in the way of high-level overview.

JUCE is a C++ framework, not a library</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=modernizing_the_vanillajuce_code_base&amp;rev=1504295375&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-01T19:49:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>modernizing_the_vanillajuce_code_base</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=modernizing_the_vanillajuce_code_base&amp;rev=1504295375&amp;do=diff</link>
        <description>Modernizing the VanillaJuce code base

I was very pleased to receive the following feedback on VanillaJuce directly from JUCE author Jules Storer himself. I have added a bit of formatting to improve legibility:

Great contribution!

But... if you’re posting your code for beginners to learn from, you really need to get up to speed with modern C++ practices, because all the old-fashioned stuff in here sets a really bad example to any newcomers who don’t know that there are better ways to do things…</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=on-audio-kits&amp;rev=1612718218&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-07T17:16:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>on-audio-kits</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=on-audio-kits&amp;rev=1612718218&amp;do=diff</link>
        <description>On &quot;Audio Kits&quot; and the Future of AudioKit

This was originally written 2021-02-05 as an RTF file, but I decided to redo it using DokuWiki.

Concept of an Audio Kit

I define an Audio Kit as a collection of software resources which allow novice and intermediate programmers to produce audio programs using a high-level language, without the need to write real-time DSP code, using the “conductor” principle. Let’s break this down as five parts.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=overview&amp;rev=1504111388&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-30T16:43:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>overview</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=overview&amp;rev=1504111388&amp;do=diff</link>
        <description>Overview of the VanillaJuce code

In the following, whenever I want to refer to a pair of files, e.g. PluginProcessor.h/.cpp, I'll use the typewriter font, but leave off the file extension, e.g. PluginProcessor.

The VanillaJuce code consists of three groups of files:</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=preparing_your_pc_or_mac_to_build_audio_plugins_with_juce&amp;rev=1503973544&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-29T02:25:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>preparing_your_pc_or_mac_to_build_audio_plugins_with_juce</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=preparing_your_pc_or_mac_to_build_audio_plugins_with_juce&amp;rev=1503973544&amp;do=diff</link>
        <description>Preparing your PC or Mac to build audio plugins with JUCE

The JUCE library, which allows you to write platform-independent C++ code and target several different audio plugin formats and platforms, is pretty amazing, but it doesn't do this all by itself. you'll still need a number of other tools and resources before you can begin using JUCE at all. These include an</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=sarah&amp;rev=1506785934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-30T15:38:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sarah</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=sarah&amp;rev=1506785934&amp;do=diff</link>
        <description>SARAH: FFT-based synthesizer plugin

SARAH is an improved and expanded version of VanillaJuce which uses the new DSP classes provided in JUCE 5.1 to address the problem of oscillator aliasing. It works by using juce::dsp::FFT to transform mathematically-perfect oscillator waveforms, zeroing out unwanted high-frequency harmonics, and reverse-transforming to produce perfectly band-limited wave tables. Just for fun (and because I wanted to know if it was even possible without killing the CPU), it a…</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=sarah_oscillator_details&amp;rev=1504654921&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-09-05T23:42:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sarah_oscillator_details</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=sarah_oscillator_details&amp;rev=1504654921&amp;do=diff</link>
        <description>SARAH Oscillator Details

The oscillators are the only interesting aspect of SARAH's design. All of the other elements shown in the signal-flow diagram (Envelope Generators, LFOs, summing and scaling) are entirely conventional.

SARAH uses two oscillator instances per voice. The oscillators themselves are identically structured, but their settings are independent, i.e., they can be set to produce different waveforms, detuned, and mixed so as to provide at least a basic set of options to create c…</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=sarah_skinning&amp;rev=1506875969&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-01T16:39:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sarah_skinning</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=sarah_skinning&amp;rev=1506875969&amp;do=diff</link>
        <description>Thoughts on &quot;skinning&quot;

Traditionally, GUIs for VST/AU plugins have been created using pre-rendered graphic images, typically in the form of a large background image and any number of smaller image files used for knobs and the like. Allowing these image files to be loaded at run-time made it possible for users to substitute their own images, thus changing the</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=some_notes_on_linux_setup&amp;rev=1536954722&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-14T19:52:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>some_notes_on_linux_setup</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=some_notes_on_linux_setup&amp;rev=1536954722&amp;do=diff</link>
        <description>Setting up a Linux machine for JUCE development

This is just a page of semi-random notes at the moment.

I've been working with Linux Mint 19 “Tara”, Cinammon edition, 64-bit.

The Linux version of Projucer won't run without libcurl3, and to compile properly you'll need to install the</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=start&amp;rev=1643555506&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-30T15:11:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=start&amp;rev=1643555506&amp;do=diff</link>
        <description>Welcome

My name is Shane Dunne. I'm a software- and technology-development consultant based in Kingston, Ontario, Canada. My professional web site is at &lt;http://getdunne.com&gt;.

This site exists to support my non-commercial work in open-source software development. My open-source projects are hosted at</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=starting_from_scratch_with_juce&amp;rev=1536686893&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-11T17:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>starting_from_scratch_with_juce</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=starting_from_scratch_with_juce&amp;rev=1536686893&amp;do=diff</link>
        <description>Starting from scratch with JUCE

This is not quite the same as the usual “getting started” documentation for JUCE. That already exists at &lt;https://www.juce.com/tutorials&gt;. My aim here is to tell you a bunch of things the JUCE tutorials don't tell you, so you can avoid having to learn them all the hard way, as I did.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=the_plugin_editor&amp;rev=1506973138&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-10-02T19:38:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>the_plugin_editor</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=the_plugin_editor&amp;rev=1506973138&amp;do=diff</link>
        <description>The VanillaJuce plugin Editor (GUI)

The VanillaJuceAudioProcessorEditor class defined in PluginEditor.h is very simple, and little changed from what was automatically generated by the Projucer:


class VanillaJuceAudioProcessorEditor
    : public AudioProcessorEditor
    , public ChangeListener
{
public:
    VanillaJuceAudioProcessorEditor (VanillaJuceAudioProcessor&amp;);
    ~VanillaJuceAudioProcessorEditor();

    void paint (Graphics&amp;) override;
    void resized() override;

    virtual void ch…</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=the_plugin_processor&amp;rev=1504115278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-30T17:47:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>the_plugin_processor</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=the_plugin_processor&amp;rev=1504115278&amp;do=diff</link>
        <description>The VanillaJuce plugin Processor

The class VanillaJuceAudioProcessor is arguably the most complicated of all, because, as an instance of the parent class juce::AudioProcessor it represents the entire plugin. It therefore has to include several groups of nearly-unrelated functions. Here is the class declaration:</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=the_synthesizer&amp;rev=1504136963&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-30T23:49:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>the_synthesizer</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=the_synthesizer&amp;rev=1504136963&amp;do=diff</link>
        <description>The VanillaJuce synthesizer

The synthesizer-related classes Synth, SynthSound, SynthParameters have already been covered on the overview page. This leaves only SynthOscillator, SynthEnvelopeGenerator, and SynthVoice. SynthVoice is by far the most important, so let's start with that. I'm not going to pore over every line of code; instead my goal is to point out what's important to help you understand the code as you read it for yourself.</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=vanillajuce&amp;rev=1548541866&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-26T22:31:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vanillajuce</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=vanillajuce&amp;rev=1548541866&amp;do=diff</link>
        <description>VanillaJuce

VanillaJuce is a simple example of a complete VST2.4 + AUv2 synthesizer built with JUCE 5.x.

In this context, “complete” doesn't mean that this is a particularly great synthesizer; rather, it means that all of the major plugin requirements are covered, i.e.:</description>
    </item>
    <item rdf:about="https://www.getdunne.net/wiki/doku.php?id=voxvu&amp;rev=1503939644&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-08-28T17:00:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>voxvu</title>
        <link>https://www.getdunne.net/wiki/doku.php?id=voxvu&amp;rev=1503939644&amp;do=diff</link>
        <description>Voxvu

Voxvu is a program for interactive visualization of voxel data on the Microsoft Windows platform.

(More to come...)</description>
    </item>
</rdf:RDF>
