-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Actualizar gitignore #1491
Closed
ControlVegetal
wants to merge
76
commits into
juce-framework:master
from
ControlVegetal:actualizar-gitignore
Closed
Actualizar gitignore #1491
ControlVegetal
wants to merge
76
commits into
juce-framework:master
from
ControlVegetal:actualizar-gitignore
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Previously, filling a string containing a space or other non-rendered character with a gradient would end up filling the entire clip region. The correct behaviour is to completely skip filling any empty paths.
Xcode 13.2.1 warns on these functions, despite the lambdas being declared inside an @availability-checked block.
It's important that the plugin always returns the full set of available components. The plugin may be scanned by a separate process from the 'main' DAW process, and these processes may report different compatibility levels. If the scanner has more restricted compatibility than the 'main' DAW process, then some channel layouts may not be registered, and will be hidden in the DAW.
Previously, the set Comparator behaved the same way, regardless of the value of columnFirst. This is incorrect; the set should be sorted such that the final item in the set has the greatest cross-dimension. There was also an off-by-one error in the result of getHighestCrossDimension(). The highestCrossDimension data member is exclusive, but the cell values in the occupiedCells set are inclusive. We need to add 1 to the maximum cell cross-dimension in order to convert it to an exclusive value.
…d after querying sample rates The code added in 6f20de5 was only executed when no explicit sample rates were set. Now, the sample rate is always updated after querying available sample rates and before querying available buffer sizes, so that the buffer size check is guaranteed to use an up-to-date samplerate value.
Since eb6ebaf, juce_gui_basics always depends on UserNotifications when building for iOS.
This enables the generation of VST3 manifests across platforms that support it. For instance, Windows ARM64 systems can now generate x64 manifests.
…ed for non-resizable windows The buggy behaviour could be seen in a blank GUI app project by setting a native titlebar and calling setResizable (false, false). The resulting window would still display a resize cursor when hovering the window border.
…rained window sizes Previously, for windows with a native titlebar and a constrainer, the window could be restored at the wrong size. This happened because findPhysicalBorderSize() may return nonsensical values when called during a SC_RESTORE, which in turn produces an unexpected window size when adding the bogus border size to the constrained client area size. We now avoid trying to constrain the window if we're unable to determine the correct border size. I think this is only likely to happen during SC_RESTORE, in which case the system should have a pretty good idea of where the window should go, and constraining should not be necessary.
This change intends to address a bug observed only on Windows 10 with a display scale factor of 125%. When the native titlebar is enabled, and the window's border-resizer is used to resize the window slowly the with mouse, the client area of the window may move to the wrong location, or be drawn with some areas obscured/clipped. This is especially observable when resizing the WidgetsDemo to its smallest size, and then dragging the right border a single pixel to the right. On my computer, this consistently causes the client area to display at the wrong location. I haven't been able to find any obvious bug in JUCE that might cause this behaviour. In particular, it seems that the window begins displaying incorrectly *before* the window ever actually resizes. During the resize, the system sends events (WM_SIZING and WM_WINDOWPOSCHANGING) to the window, and according to the documentation, the window may modify the message parameters in order to constrain the new window size. When running on a scaled display, JUCE attempts to map the logical client area size to a sensible size in physical pixels, and uses the sizing messages to enforce this size requirement. In the case of the broken window rendering, the system requests a new window size, which JUCE rejects. The window's display state doesn't change, so the swap chain does not resize, and the swap chain does not present. Put another way, the broken rendering happens *independently* of JUCE modifying the swap chain in any way. Therefore, I believe that the bug is introduced elsewhere, potentially by Windows itself. I also checked to see whether the issue could be caused by mishandling of the NCCALCSIZE message, which is normally used to configure the relative positions of the client and nonclient areas. However, in the buggy case, NCCALCSIZE is not sent until *after* the first 'broken' frame is painted - and even then, the implementation immediately falls back to DefWindowProc. Given that the issue appears to be a bug in Windows, the proposed change is a workaround, rather than a true fix. It appears as though the problem goes away when WM_WINDOWPOSCHANGING does not modify the requested bounds. Therefore, for windows with native titlebars, we rely on the constraints to be applied in WM_SIZING only, when sizing the window in a sizemove gesture.
…ifferent scalings could detach from the mouse This bug could be observed by running the WidgetsDemo Drag+Drop pane on Windows 10, and dragging an item between two displays at different scale factors. This is issue is a regression introduced in 9817a2b. The regression was caused by the change in mouse position calculation. The incorrect version switched to using ClientToScreen, but the correct version used getPointFromLocalLParam. The function getPointFromLocalLParam was replaced by clientLParamToPoint in 24ab3cb, and is restored by this commit.
… dragging between screens When two monitors are available, both with different scale factors, then the drag-image may 'detach' from the mouse while the image's top-left coordinate was on one display, and the mouse cursor was on the other display. This happened because, on Windows, the mouse cursor moves continuously in physical (not logical!) space. In other words, the mouse may not move continuously in logical space, and the discontinuity becomes visible when components are positioned relative to the mouse in logical space. In order to display consistently, the top-left position of the image must be set relative to the physical position of the mouse.
…r on incorrect thread Previously, if the very first call to MidiDeviceListConnectionBroadcaster::get() happened on a background thread (which could happen on macOS in response to a MIDI setup configuration change), then MessageManager::getInstance and getAvailableDevices could be called on that same thread. With this change in place, midi change notifications will be ignored if there's no message manager available, and getAvailableDevices will only be called on the message thread.
…sages in the context of the peer receiving the event
…push notifications enabled
…n at runtime on Android
… icon cannot be located
…ction for posting an OS-specific accessible notification
Also updates the DemoRunner so that the new push notifications example works properly on Android.
The issue occurred when using looping and reading a block that is larger than the length of the underlying AudioFormatReader.
…meter boundaries Prior to this a soft break could occur between two characters printed in different fonts, even though there was no break opportunity there in the Unicode string.
When building in C++23 mode for iOS with Xcode 16.1 and Ninja, this symbol could not be found, presumably because it is no longer included transitively via other standard headers.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for submitting a pull request.
Please make sure you have read and followed our contribution guidelines (.github/contributing.md in this repository). Your pull request will not be accepted if you have not followed the instructions.