Age | Commit message (Collapse) | Author |
|
Previously the routing table did not store the route flags. This
adds basic support and exposes them in the /proc directory so that a
userspace caller can query the route and identify the type of each
route.
|
|
|
|
|
|
|
|
This is quite elusive.
|
|
The only major functional change is that the Track now needs to know
whether it's active or not, in order to listen to the keyboard (or not).
There are some bugs exposed/created by this, mainly:
* KeysWidget sometimes shows phantom notes. Those do not actually exist
as far as debugging has revealed and do not play in the synth.
* The keyboard can lock up Piano when rapidly pressing keys. This
appears to be a HashMap bug; I invested significant time in bugfixing
but got nowhere.
|
|
That's very much an informational API.
|
|
This is technically only a stepping stone but needed to happen at some
point anyways. Now, there's no more integer time stored in Piano's
legacy datastructures directly.
|
|
This is a class for handling user MIDI input, which is combined by the
Track with roll note data if applicable.
|
|
If Key_U is pressed while in visual mode, the currently selected text
will be converted to lowercase.
|
|
If Shift+Key_U is pressed while in visual mode, the currently selected
text will be converted to uppercase.
|
|
Allows the passing of a Casing enum, Lowercase or Uppercase, and
converts the selected text accordingly. If Lowercase is passed as the
parameter, it converts the selected text to lowercase. If Uppercase is
passed as the parameter, it converts the selected text to uppercase.
|
|
On some dark themes, it becomes impossible to dark button icons
against their dark button backgrounds. This change tries to
mitigate that by inverting the icon color if the contrast ratio
(against the button background) is less the 4.5 (the recommended
minimum for text).
This is only done for icons that are a solid color (e.g. all back),
where the desired icon would likely be the same inverted anyway.
Fixes a lot of cases of #13978
|
|
|
|
This function returns an Optional<Color> and is given an
alpha_threshold. If all pixels above that alpha threshold are the
same color, it returns the color, otherwise it returns an empty
optional.
|
|
Helper function to invert a bitmap in-place
|
|
This is needed for the next command to work.
|
|
This became apparent when using the VirtIO graphics device, because the
HardwareScreenBackend object needs to allow flushing of the framebuffer
constantly, and due to incorrect if-else flow, even a non-error response
from the ioctl was leading to a debug spam.
|
|
This uses UML conventions but just contains the necessary info to get
started with LibDSP development.
|
|
We need to mention the new queue system as well as the userland sample
format.
|
|
|
|
|
|
We turn it on in initialize(), so turn it off in restore().
Not all CLI applications can handle this mode correctly, and there's no
reason to leave it on.
|
|
Fixes 2f1029e while `ubuntu-latest` is not `ubuntu-22.04`.
|
|
This removes a few clicks to access the mouse settings and puts
all theming actions in one place.
|
|
|
|
This is a wrapper around Core::Process::spawn() for GUI applications,
that shows an error if the call to spawn() failed.
|
|
This makes the wrapper more like the rest in LibCore, and also
removes the annoying limitation of not supporting arguments.
There are three overloads one for String, char const *, and StringView
argument lists. As long as there are <= 10 arguments the argv list
will be allocated inline, otherwise on the heap.
|
|
|
|
|
|
|
|
This makes https://github.com/SerenityPorts/nesalizer obsolete.
The patch that hardcoded the SDL2 location is removed. The the patches
to the `Makefile` are quashed. A new install function is added.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These already come preconfigured
|
|
Some ports may have more than one `config.sub` that is in use (vendored
dependencies, etc.). Instead of fiddling about with space-delimited
strings, let's just make that setting into an array right away.
|
|
While we're at it, we might as well replace the download arguments in
`get_new_config_{sub,guess}` with the variable we defined earlier.
|
|
By using RefPtrs to handle interfaces, the IDL parser could store cyclic
references to interfaces that import each other. One main example is the
"EventTarget.idl" and the "AbortSignal.idl" files, which both reference
each other. This caused huge amounts of memory not to be freed on exit.
To fix this, the parsed IDL interfaces are now stored in a HashTable of
NonnullOwnPtr<Interface>, which serves as the sole reference for every
parsed interface. All other usages of the Interface are changed to use
references instead of RefPtrs, or occasionally as raw pointers where
references don't fit inside the data structures.
This new HashTable is static, and as such will automatically be freed
prior to exiting the generator. This ensures that the code generator
properly cleans up after itself.
With this change, The IDL code generators can properly run on Lagom when
compiled with the -DENABLE_ADDRESS_SANITIZER=ON flag, and gets compiled
properly on the CI :^)
|
|
The ellipsis seemed a little unclear for me.
|
|
While the app displayed the prompt on the close button press, the quit
action from the menu didn't do so.
|
|
This prevents the Jakt compiler from attempting to compile the
generated C++ source itself.
|