# Development

**URL:** https://forum.juce.com/c/development/21.md

[Latest](https://forum.juce.com/latest.md) · [Categories](https://forum.juce.com/categories.md) · [Tags](https://forum.juce.com/tags.md)

---

## [About the Development category](https://forum.juce.com/t/about-the-development-category/27)

<div class="topic-metadata">

**Author:** [@system](https://forum.juce.com/u/system)\
**Replies:** 0\
**Last updated:** [April 7, 2016, 6:08am UTC](https://forum.juce.com/t/about-the-development-category/27 "2016-04-07T06:08:09Z")

</div>

General development questions and topics.

---

## [In desperate need for help with dsp::IIR::Filter](https://forum.juce.com/t/in-desperate-need-for-help-with-dsp-filter/69784)

<div class="topic-metadata">

**Author:** [@Oxymore](https://forum.juce.com/u/Oxymore)\
**Replies:** 4\
**Last updated:** [October 29, 2026, 8:08am UTC](https://forum.juce.com/t/in-desperate-need-for-help-with-dsp-filter/69784 "2026-10-29T08:08:41Z")

</div>

Hi, No matter where I look, I find either outdated answers or examples that do not work when I copy them. I really need help to understand how to use an IIR::Filter and how to update its coefficients. I am trying to ma…

---

## [JUCE 9.0.3: Windows WinMM MIDI input loses SysEx](https://forum.juce.com/t/juce-9-0-3-windows-winmm-midi-input-loses-sysex/69661)

<div class="topic-metadata">

**Author:** [@jrossi](https://forum.juce.com/u/jrossi)\
**Replies:** 4\
**Last updated:** [October 16, 2026, 4:22pm UTC](https://forum.juce.com/t/juce-9-0-3-windows-winmm-midi-input-loses-sysex/69661 "2026-10-16T16:22:14Z")

</div>

I recently updated to JUCE 9.0.3 to test the Windows MIDI Service backend against the latest Microsoft release. While that works well, I ran into an issue when using the legacy WinMM backend in that release. When stress …

---

## [UB (pointer overflow) in ImageConvolutionKernel::applyToImage at the left image edge](https://forum.juce.com/t/ub-pointer-overflow-in-imageconvolutionkernel-applytoimage-at-the-left-image-edge/69151)

<div class="topic-metadata">

**Author:** [@martijn](https://forum.juce.com/u/martijn)\
**Replies:** 1\
**Last updated:** [October 16, 2026, 11:48am UTC](https://forum.juce.com/t/ub-pointer-overflow-in-imageconvolutionkernel-applytoimage-at-the-left-image-edge/69151 "2026-10-16T11:48:34Z")

</div>

We’re hitting a UBSan pointer-overflow report in ImageConvolutionKernel::applyToImage() whenever the destination area includes the left edge of the image (which it always does for a full-image blur): runtime error: poi…

---

## [PR: Fix PNGLoader crash on invalid png files](https://forum.juce.com/t/pr-fix-pngloader-crash-on-invalid-png-files/69663)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [October 7, 2026, 6:23pm UTC](https://forum.juce.com/t/pr-fix-pngloader-crash-on-invalid-png-files/69663 "2026-10-07T18:23:44Z")

</div>

https://github.com/juce-framework/JUCE/pull/1763

---

## [MIDI input: Tune Request is repeated after every real-time byte](https://forum.juce.com/t/midi-input-tune-request-is-repeated-after-every-real-time-byte/69639)

<div class="topic-metadata">

**Author:** [@jrossi](https://forum.juce.com/u/jrossi)\
**Replies:** 1\
**Last updated:** [October 6, 2026, 5:05pm UTC](https://forum.juce.com/t/midi-input-tune-request-is-repeated-after-every-real-time-byte/69639 "2026-10-06T17:05:01Z")

</div>

On inputs where JUCE parses raw MIDI 1.0 bytes, once a Tune Request (F6) has been received, every following real-time byte (F8–FE) is delivered followed by an extra F6, which is produced by JUCE’s input parsing in Bytest…

---

## [PR: Fix a crash from an audio callback delivered after the device has stopped](https://forum.juce.com/t/pr-fix-a-crash-from-an-audio-callback-delivered-after-the-device-has-stopped/69306)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [August 14, 2026, 9:11pm UTC](https://forum.juce.com/t/pr-fix-a-crash-from-an-audio-callback-delivered-after-the-device-has-stopped/69306 "2026-08-14T21:11:52Z")

</div>

---

## [PR: JACK: Fail AudioIODevice::open() if the client can't be activated](https://forum.juce.com/t/pr-jack-fail-audioiodevice-open-if-the-client-cant-be-activated/69279)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [August 10, 2026, 8:09pm UTC](https://forum.juce.com/t/pr-jack-fail-audioiodevice-open-if-the-client-cant-be-activated/69279 "2026-08-10T20:09:33Z")

</div>

---

## [PR: AudioDeviceManager: Fix a hang when a device reports a zero buffer size](https://forum.juce.com/t/pr-audiodevicemanager-fix-a-hang-when-a-device-reports-a-zero-buffer-size/69278)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [August 10, 2026, 8:07pm UTC](https://forum.juce.com/t/pr-audiodevicemanager-fix-a-hang-when-a-device-reports-a-zero-buffer-size/69278 "2026-08-10T20:07:35Z")

</div>

---

## [PR: PopupMenu: Make manually-triggered custom items keyboard-accessible](https://forum.juce.com/t/pr-popupmenu-make-manually-triggered-custom-items-keyboard-accessible/69265)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [August 8, 2026, 9:02pm UTC](https://forum.juce.com/t/pr-popupmenu-make-manually-triggered-custom-items-keyboard-accessible/69265 "2026-08-08T21:02:30Z")

</div>

---

## [Event listener leak in the WebViewPluginDemoGUI](https://forum.juce.com/t/event-listener-leak-in-the-webviewplugindemogui/69236)

<div class="topic-metadata">

**Author:** [@alix909](https://forum.juce.com/u/alix909)\
**Replies:** 0\
**Last updated:** [August 3, 2026, 10:29am UTC](https://forum.juce.com/t/event-listener-leak-in-the-webviewplugindemogui/69236 "2026-08-03T10:29:01Z")

</div>

I noticed an event listener leak in WebViewPluginDemoGUI — the mousemove listener is attached in the component body instead of inside a useEffect, so a new listener is added on every render and never cleaned up. Happy t…

---

## [How to access LV2 atom:Path parameter defined in metadata.ttl](https://forum.juce.com/t/how-to-access-lv2-atom-path-parameter-defined-in-metadata-ttl/69193)

<div class="topic-metadata">

**Author:** [@jlearman](https://forum.juce.com/u/jlearman)\
**Replies:** 8\
**Last updated:** [July 28, 2026, 4:42pm UTC](https://forum.juce.com/t/how-to-access-lv2-atom-path-parameter-defined-in-metadata-ttl/69193 "2026-07-28T16:42:05Z")

</div>

I implemented a piano resonance plugin that needs to be configurable to specify the IR file on Zynthian, where the UI is not instantiated. (Note: on Windows and presumably other more typical platforms, the file is speci…

---

## [Breaking change by build number revision: AudioProcessor cannot be but in some static library any longer](https://forum.juce.com/t/breaking-change-by-build-number-revision-audioprocessor-cannot-be-but-in-some-static-library-any-longer/69145)

<div class="topic-metadata">

**Author:** [@DrTT](https://forum.juce.com/u/DrTT)\
**Replies:** 10\
**Last updated:** [July 17, 2026, 10:14pm UTC](https://forum.juce.com/t/breaking-change-by-build-number-revision-audioprocessor-cannot-be-but-in-some-static-library-any-longer/69145 "2026-07-17T22:14:08Z")

</div>

Hello, first of all thanks for all your effort going into the development of JUCE. I use that framework for about six years now for open-source multi-platform audio plugins and have been quite satisfied with the result…

---

## [PR: Avoid sending mouse-drag events to a component whose mouse-down was consumed by a modal component](https://forum.juce.com/t/pr-avoid-sending-mouse-drag-events-to-a-component-whose-mouse-down-was-consumed-by-a-modal-component/69143)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [July 12, 2026, 11:11pm UTC](https://forum.juce.com/t/pr-avoid-sending-mouse-drag-events-to-a-component-whose-mouse-down-was-consumed-by-a-modal-component/69143 "2026-07-12T23:11:33Z")

</div>

---

## [Dynamic plugin name?](https://forum.juce.com/t/dynamic-plugin-name/69139)

<div class="topic-metadata">

**Author:** [@benvining](https://forum.juce.com/u/benvining)\
**Replies:** 0\
**Last updated:** [July 12, 2026, 6:18pm UTC](https://forum.juce.com/t/dynamic-plugin-name/69139 "2026-07-12T18:18:41Z")

</div>

Is it well-formed for a plugin’s name reported to the host via AudioProcessor::getName()to change over the course of a plugin’s lifetime?

---

## [How can I best use AI to co-develop my plugin with JUCE?](https://forum.juce.com/t/how-can-i-best-use-ai-to-co-develop-my-plugin-with-juce/67558)

<div class="topic-metadata">

**Author:** [@TenSquareSoftware](https://forum.juce.com/u/TenSquareSoftware)\
**Replies:** 24\
**Last updated:** [July 12, 2026, 7:29am UTC](https://forum.juce.com/t/how-can-i-best-use-ai-to-co-develop-my-plugin-with-juce/67558 "2026-07-12T07:29:33Z")

</div>

Hi, I’m an amateur developer and I’m currently working in my free time on developing a VST/AU plugin using JUCE. It’s a MIDI editor for the Oberheim Matrix-1000 synthesizer. Since my C++/JUCE knowledge is limited, I’m r…

---

## [PR: Linux: Detect Renoise's out-of-process plug-in host](https://forum.juce.com/t/pr-linux-detect-renoises-out-of-process-plug-in-host/69086)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [June 30, 2026, 5:42pm UTC](https://forum.juce.com/t/pr-linux-detect-renoises-out-of-process-plug-in-host/69086 "2026-06-30T17:42:18Z")

</div>

---

## [Shouldn't AudioParameterInt::isDiscrete() return true?](https://forum.juce.com/t/shouldnt-audioparameterint-isdiscrete-return-true/51682)

<div class="topic-metadata">

**Author:** [@schabtach](https://forum.juce.com/u/schabtach)\
**Replies:** 6\
**Last updated:** [June 29, 2026, 6:04pm UTC](https://forum.juce.com/t/shouldnt-audioparameterint-isdiscrete-return-true/51682 "2026-06-29T18:04:04Z")

</div>

isDiscrete() is described as “Returns whether the parameter uses discrete values…” and integers, by definition, are discrete values, so shouldn’t AudioParameterInt::isDiscrete() return true? It doesn’t.

---

## [SMPTE Opens Entire Standards Catalog for Free, Removing Century-Old Paywal](https://forum.juce.com/t/smpte-opens-entire-standards-catalog-for-free-removing-century-old-paywal/69025)

<div class="topic-metadata">

**Author:** [@cpr2323](https://forum.juce.com/u/cpr2323)\
**Replies:** 0\
**Last updated:** [June 21, 2026, 10:50pm UTC](https://forum.juce.com/t/smpte-opens-entire-standards-catalog-for-free-removing-century-old-paywal/69025 "2026-06-21T22:50:06Z")

</div>

Title says it all. Some helpful links to get to the docs: Link to article I read on slashdot. :nerd\_face:

---

## [Heads-up: FloatVectorOperations::multiply might (?) produce denormals on apple silicon](https://forum.juce.com/t/heads-up-floatvectoroperations-multiply-might-produce-denormals-on-apple-silicon/68983)

<div class="topic-metadata">

**Author:** [@remaincalm](https://forum.juce.com/u/remaincalm)\
**Replies:** 3\
**Last updated:** [June 15, 2026, 3:15pm UTC](https://forum.juce.com/t/heads-up-floatvectoroperations-multiply-might-produce-denormals-on-apple-silicon/68983 "2026-06-15T15:15:21Z")

</div>

Just a quick community service note. PluginVal started failing me on denormals on release builds on Apple silicon. From what I can tell: if you have inputs near the denormal floor, and FloatVectorOperations::multiply w…

---

## [Unit testing!](https://forum.juce.com/t/unit-testing/68980)

<div class="topic-metadata">

**Author:** [@mdt516](https://forum.juce.com/u/mdt516)\
**Replies:** 2\
**Last updated:** [June 15, 2026, 1:38am UTC](https://forum.juce.com/t/unit-testing/68980 "2026-06-15T01:38:47Z")

</div>

Hello everyone! I’m a computer science student wanting to improve my skills on a real project. I’m making a synth plugin right now and I want to write tests. Catch2 or doctest both appeal to me bc of the operator overloa…

---

## [Rethinking ValueTree: ideas and discussion](https://forum.juce.com/t/rethinking-valuetree-ideas-and-discussion/68957)

<div class="topic-metadata">

**Author:** [@kunitoki](https://forum.juce.com/u/kunitoki)\
**Replies:** 9\
**Last updated:** [June 10, 2026, 10:22pm UTC](https://forum.juce.com/t/rethinking-valuetree-ideas-and-discussion/68957 "2026-06-10T22:22:15Z")

</div>

While working on the YUP framework, I ended up exploring an alternative approach to JUCE’s ValueTree and built a system called DataTree. The goal was to experiment with a few different design choices: More explicit mu…

---

## [\[crash\] Fix a rare crash on shutdown due to MidiInput / CriticalSection destruction order](https://forum.juce.com/t/crash-fix-a-rare-crash-on-shutdown-due-to-midiinput-criticalsection-destruction-order/68956)

<div class="topic-metadata">

**Author:** [@emezeske](https://forum.juce.com/u/emezeske)\
**Replies:** 0\
**Last updated:** [June 9, 2026, 3:44pm UTC](https://forum.juce.com/t/crash-fix-a-rare-crash-on-shutdown-due-to-midiinput-criticalsection-destruction-order/68956 "2026-06-09T15:44:13Z")

</div>

Here’s a PR to fix this crash. Details in the PR.

---

## [Info on MIDI notes sent out by common drum trigger modules?](https://forum.juce.com/t/info-on-midi-notes-sent-out-by-common-drum-trigger-modules/68939)

<div class="topic-metadata">

**Author:** [@KoenTanghe](https://forum.juce.com/u/KoenTanghe)\
**Replies:** 0\
**Last updated:** [June 3, 2026, 3:45pm UTC](https://forum.juce.com/t/info-on-midi-notes-sent-out-by-common-drum-trigger-modules/68939 "2026-06-03T15:45:42Z")

</div>

Hi, a question related to developing software accepting MIDI messages from drum modules: Does anyone know of a good resource that documents which MIDI note on messages different brands / models of (common) drum trigger…

---

## [Prepare to play](https://forum.juce.com/t/prepare-to-play/68893)

<div class="topic-metadata">

**Author:** [@dpynes](https://forum.juce.com/u/dpynes)\
**Replies:** 4\
**Last updated:** [May 28, 2026, 12:52pm UTC](https://forum.juce.com/t/prepare-to-play/68893 "2026-05-28T12:52:44Z")

</div>

I have a plug-in that seems to be exhibiting unusual behavior. The playhead is playing, and I load the plug-in as an AU2…the prepare to play function is not called. The plug-in then creates unusual crackling from not b…

---

## [Can you lazy load submenus for file-browsing popupmenus (plugin preset system)?](https://forum.juce.com/t/can-you-lazy-load-submenus-for-file-browsing-popupmenus-plugin-preset-system/67908)

<div class="topic-metadata">

**Author:** [@jonagon](https://forum.juce.com/u/jonagon)\
**Replies:** 4\
**Last updated:** [May 25, 2026, 12:09pm UTC](https://forum.juce.com/t/can-you-lazy-load-submenus-for-file-browsing-popupmenus-plugin-preset-system/67908 "2026-05-25T12:09:45Z")

</div>

I’m trying to make a popupmenu for my plugin’s preset system. I’ve been trying to mimic fabfilter’s popupmenu system which allows you to browse the file system via popupmenus/submenus. From some testing it seems fabfilte…

---

## [Packaging audio software on Windows, macOS, and Linux workshops](https://forum.juce.com/t/packaging-audio-software-on-windows-macos-and-linux-workshops/68878)

<div class="topic-metadata">

**Author:** [@dhealey](https://forum.juce.com/u/dhealey)\
**Replies:** 0\
**Last updated:** [May 23, 2026, 5:26pm UTC](https://forum.juce.com/t/packaging-audio-software-on-windows-macos-and-linux-workshops/68878 "2026-05-23T17:26:21Z")

</div>

Hello, I’ve published a set of workshops/mini-courses showing how to build installers for audio software. In addition I show how to codesign on both macOS and Windows (Azure and certificate methods) and how to notarize o…

---

## [AAX and ARA2](https://forum.juce.com/t/aax-and-ara2/53178)

<div class="topic-metadata">

**Author:** [@stian](https://forum.juce.com/u/stian)\
**Replies:** 20\
**Last updated:** [May 12, 2026, 8:11pm UTC](https://forum.juce.com/t/aax-and-ara2/53178 "2026-05-12T20:11:30Z")

</div>

Now that Pro Tools finally supports ARA2, I wondered if there are any plans to add support for ARA2 through AAX in JUCE?

---

## [Check if on audio thread](https://forum.juce.com/t/check-if-on-audio-thread/30823)

<div class="topic-metadata">

**Author:** [@CrushedPixel](https://forum.juce.com/u/CrushedPixel)\
**Replies:** 8\
**Last updated:** [May 3, 2026, 4:09pm UTC](https://forum.juce.com/t/check-if-on-audio-thread/30823 "2026-05-03T16:09:59Z")

</div>

Is there a simple call to check if we’re on the audio thread? I’d like to use it for some jasserts to avoid developer stupidity. What I’m using to check if we’re currently on the message thread: jassert(juce::MessageM…

---

## [New JUCE interview series](https://forum.juce.com/t/new-juce-interview-series/59768)

<div class="topic-metadata">

**Author:** [@sudara](https://forum.juce.com/u/sudara)\
**Replies:** 25\
**Last updated:** [April 24, 2026, 2:35pm UTC](https://forum.juce.com/t/new-juce-interview-series/59768 "2026-04-24T14:35:32Z")

</div>

Hello! I’m doing a series of interviews with devs/companies working with JUCE. They are going on the official JUCE site, which is fun. The first interview from the series is up: If you have ideas on who I should int…

[Next page](https://forum.juce.com/c/development/21.md?page=1)
