I’m working with Tracktion Engine plugins and noticed that PluginRenderContext::bufferStartSample exists as a parameter, but in all the engine’s code I can find, it’s always set to 0: PluginNode::getPluginRenderContext() passes 0 ModifierNode::getPluginRenderContext() sets rc.bufferStartSample = 0 Renderer passes 0 There’s even an assertion: jassert (fc.bufferStartSample == 0); // This assumes bufferStartSample is always 0 The parameter seems designed for writing to sub-sections of la...| JUCE
To display 3 decimals in a label I’ve figured out following code: float cDT1 = 0.f; label_Delay1->setText(juce::String::toDecimalStringWithSignificantFigures(cDT1, (int)setDecimals(cDT1) + 3), juce::NotificationType(0)); float RootComponent::setDecimals(float Deci) { int tInt = (int)Deci; std::string sDec = std::to_string(tInt); int sLen = sDec.length(); return sLen; } It works fine except when Deci = 10, 100, 1000 etc. Only then 4 decimals are displayed. I can’t figure out why. Kare...| JUCE
This looks so obvious I feel like I’m missing something… Toying around with clang20’s rtsan, I noticed that AudioProcessorPlayer::audioDeviceIOCallbackWithContextacquires a (real, blocking) lock. Obviously it is intended to be called on the audio thread. Is this really justified? Same thing goes for AudioProcessor::callbackLock btw. Sounds like a SpinLock job to me… what am I missing?| JUCE
Trying to build juce extras with cmake cmake --build build/juce/AudioPluginHost (after confiuring of course cmake -S submodules/juce -B build/juce/AudioPluginHost -DCMAKE_BUILD_TYPE=Release -DJUCE_BUILD_EXTRAS=ON -DJUCE_BUILD_EXAMPLES=OFF). My build directory was completely empty prior to these steps. I get this build error that I just can’t really understand: In file included from ./submodules/juce/extras/NetworkGraphicsDemo/Source/Main.cpp:52: ./submodules/juce/extras/NetworkGraphicsDemo/...| JUCE
If I log the transport’s position, it moves by 0.001 second every second… It works fine on a real device (not a simulator)| JUCE
Hi! Another one on accessible menu items. We make pretty heavy use of ‘isTicked’ in surge on our menus. Here’s our play mode Unfortunately, the ‘isTicked’ parameter doesn’t seem to show up anywhere. Since its a popup menu there’s no value, the title is unchanged, etc… basically the ticked status of the menu seems invisible to screen readers, at least on macOS. From perusing the code, it seems isTicked is only used to draw the checkmark icon. So is there an easy way to show ‘...| JUCE
Hi, Cakewalk seems to behave differently from other hosts and I wonder if it is an “acceptable” behaviour or not. My plugin has a main stereo bus, and a number of output aux buses. In other hosts (reaper, studio one,…), when the aux buses are enabled, the bus enablements are performed by the host before prepareToPlay is called. So, when I’m in prepareToPlay, getTotalNumOutputChannels returns the correct value, the number of channels that I will actually receive in processBlock. In the...| JUCE
And the next day, someone falls into the trap 😅| JUCE
In a tutorial I am following, I need to enable live build engine in the side panel. But I can’t find it in the Projucer. In my projucer there is only one tab in the window (see screenshot) I am using the latest development branch. How can I show the tab in Projucer? Thanks in advance! my projucer:| JUCE
Hi there, It seems there’s some cache/optimization policy that will resort to outputting opengl rendering at half alpha/brightness when a component’s visibility is enabled under moderate CPU stress. Anyone experienced with juce/opengl have any similar experiences with some advice for fixes or workaround? Is this an issue related to a (older) plugin host’s opengl handling? Thanks for your help. Details Workaround Attempts Enabling setMouseRepaintsOnActivity successfully undims the dimmed...| JUCE
Has anyone else ran into characters painting jankily in the TextEditor when using custom typefaces? I haven’t checked outside of MacOS on latest JUCE. This is happening almost every letter, first paint call has a fragment: Second paint call “finishes” the letter or group of letters: Typing text feels a bit delayed / lofi / rough / bouncy as a result… (I also hear an audio glitch on my very first keystroke after the app starts, which makes me wonder if Something Bad is happening with a...| JUCE
I setup a BubbleComponent that moves along with a slider thumb and saw some glitchyness in the painting of the bubble. I then rolled my own tooltip and I’m seeing the same issue, at least on MacOS: The component is split in half, horizontally, right where two other components underneath it meet. The top half and the bottom half of the tooltip are painted separately, out of sync. A lot of glitchiness goes away if I reduce other painting happening at the same time, so I’m assuming this is a...| JUCE