summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-10Clock.MenuApplet: Add window title.=
2020-02-10UserName.MenuApplet: Add window title.=
2020-02-10LibCore: TCP and UDP servers should parent Notifiers to themselvesAndreas Kling
This makes things look a little more neat in Inspector. :^)
2020-02-10LibAudio/Piano: Replace floats with doublesWilliam McPherson
We should default to double-precision so that clients can make the choice to use float or double.
2020-02-10LibAudio/aplay: Handle WAV header errors properlyWilliam McPherson
We shouldn't just ASSERT() if the header parse fails. This was crashing Piano completely.
2020-02-10Piano: Draw stereo wavesWilliam McPherson
Draw two waves in different colors.
2020-02-10Piano: Try to be more stereo-orientedWilliam McPherson
2020-02-10Piano: Add nice scale factor to WaveWidgetWilliam McPherson
2020-02-10Piano: Ensure WaveWidget paints in-boundsWilliam McPherson
Letting GUI::Frame::paint_event() cover up your mistakes is tacky :P
2020-02-10Piano: Put reset() with other settersWilliam McPherson
2020-02-10Piano: Add samplerWilliam McPherson
This commit adds basic support for importing, viewing and playing WAV samples at different pitches. Naming issues: - We are using the Sample struct from Music.h, but also the Sample struct from LibAudio (Audio::Sample). This is a little confusing. set_recorded_sample() finds the peak sample and then divides all the samples by that peak to get a guaranteed min/max of -1/1. This is nice because our other waves are also bound between these values and we can just do the same stuff. This is why we're using Audio::Sample, because it uses floats, whereas Music.h's Sample uses i16s. It's a little annoying that we have to use a mixture of floats and doubles though. For playback at lower frequencies, we're calculating in-between samples, rather than just playing samples multiple times. Basically, you get the current sample and add the difference between the current sample and the next sample multiplied by the distance from the current sample. This is like drawing the hypotenuse of a right-angled triangle.
2020-02-10Ports: Disable JACK for SDL2 in `configopts`Jesse Buhagiar
This is causing build errors for myself and a few other people. This config option disables the SDL2 port from trying to compile with the JACK audio server (which we don't need).
2020-02-10Kernel: Remove more <LibBareMetal/Output/kstdio.h> includesAndreas Kling
2020-02-10AK: Remove bitrotted Traits::dump() mechanismAndreas Kling
This was only used by HashTable::dump() which I used when doing the first HashTable implementation. Removing this allows us to also remove most includes of <AK/kstdio.h>.
2020-02-10Userland: Fix segfault in chownWilliam McPherson
chown takes 2 arguments, not 1.
2020-02-10Meta: Integrate Shellcheck into TravisShannon Booth
lint-shell-scripts searches over the repository looking for shell scripts. On those found, shellcheck is run against them. If any linting fails print those warnings and exit with a non-zero exit code. Run this script automatically in Travis.
2020-02-10Meta: Fix shellcheck warnings in various scriptsShannon Booth
Warnings fixed: * SC2086: Double quote to prevent globbing and word splitting. * SC2006: Use $(...) notation instead of legacy backticked `...` * SC2039: In POSIX sh, echo flags are undefined * SC2209: Use var=$(command) to assign output (or quote to assign string) * SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails * SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. * SC2034: i appears unused. Verify use (or export if used externally) * SC2046: Quote this to prevent word splitting. * SC2236: Use -z instead of ! -n. There are still a lot of warnings in Kernel/run about: - SC2086: Double quote to prevent globbing and word splitting. However, splitting on space is intentional in this case, and not trivial to change. Therefore ignore the warning for now - but we should fix this in the future.
2020-02-10Build: clean .d files based on SUFFIXED_OBJS and EXTRA_OBJSjoshua stein
Fixes #1198
2020-02-09Kernel: Use VirtualAddress & PhysicalAddress classes from LibBareMetalLiav A
2020-02-09LibELF: Use VirtualAddress class from LibBareMetalLiav A
2020-02-09LibBareMetal: Add Memory definitionsLiav A
Add classes of VirtualAddress & PhysicalAddress.
2020-02-09LibC: Apply a change for the Bootstrapper environmentLiav A
2020-02-09Build Environment: Add a definition for the Bootstrapper environmentLiav A
2020-02-09AK: Apply changes for the Bootstrapper environmentLiav A
2020-02-09Userland: Use IO helpers from LibBareMetalLiav A
2020-02-09Kernel: Apply changes to use LibBareMetal definitionsLiav A
2020-02-09LibBareMetal: Creating a new library for freestanding environmentsLiav A
2020-02-09WebServer: Add missing space to HTTP error responsesAndreas Kling
Fixes #1200.
2020-02-09Net: Short-circuit routing to the IPv4 address of a local adapterAndreas Kling
This makes it possible to open http://localhost:8000/ in Browser. :^)
2020-02-09WebServer: Send the HTTP response headers in a single packetAndreas Kling
This makes it easier to observe the protocol in packet logs.
2020-02-09WebServer: Tighten things up with pledge() and unveil()Andreas Kling
2020-02-09WebServer: Implement a very basic HTTP server :^)Andreas Kling
This server listens on port 8000 and serves HTML files from /www. It's very simple and quite naive, but I think we can start here and build our way to something pretty neat. Work towards #792.
2020-02-09Net: When routing to loopback, use the loopback adapter's MAC addressAndreas Kling
Otherwise the routing decision gets interpreted as "host unreachable."
2020-02-09Net: Give the LoopbackAdapter a MAC addressAndreas Kling
Since the routing code currently interprets an all-zero MAC address as an invalid next hop, let's give the loopback adapter an address.
2020-02-09LibCore: Add File::is_directory() helpersAndreas Kling
2020-02-09AK: Make StringBuilder::to_string() non-destructiveAndreas Kling
This was an artifact of an earlier design of StringBuilder where I had attempted to preserve the same allocation from build to final String.
2020-02-09LibCore: Allow constructing a Core::HttpRequest from a raw HTTP requestAndreas Kling
This patch adds a very simple HTTP request parser that can be useful for implementing say.. a web server. :^)
2020-02-09Kernel: Support reading/writing PATADiskDevices directly via /dev/hdXConrad Pankoff
2020-02-09WindowServer: Remove username from MenuManager.Hüseyin ASLITÜRK
Now, we have UserName applet.
2020-02-09MenuApplets: Add UserName applet.asliturk
Move code from WindowServer.WSMenuManager to the applet.
2020-02-08TelnetServer: Protect the Client object during drain_socket()Andreas Kling
If parsing a command causes us to disconnect the client, we have to defer deletion of the Client object until we're done with the socket.
2020-02-08Kernel: Send SIGPIPE to the current thread on write to a broken pipeAndreas Kling
2020-02-08IPv4: Put some TCP close handshake debug spam behind TCP_SOCKET_DEBUGAndreas Kling
2020-02-08IPv4: Sockets should say can_read() after reading is shut downAndreas Kling
This allows clients to get their EOF after shutting down reading.
2020-02-08IPv4: Basic implementation of TCP socket shutdownAndreas Kling
We can now participate in the TCP connection closing handshake. :^) This implementation is definitely not complete and needs to handle a bunch of other cases. But it's a huge improvement over not being able to close connections at all. Note that we hold on to pending-close sockets indefinitely, until they are moved into the Closed state. This should also have a timeout but that's still a FIXME. :^) Fixes #428.
2020-02-08more: Read keystrokes from stdout instead of trying to re-open itAndreas Kling
If we're running more on a TTY that we don't have filesystem access to, we can't rely on open(ttyname(STDOUT_FILENO)). Since all the stdio fd's are opened read/write anyway, we can just read from stdout, even if it feels a bit weird. :^)
2020-02-08IPv4: Don't ACK empty TCP packetsAndreas Kling
Wireshark was complaining about duplicate ACK's and this was why.
2020-02-08IPv4: Split IPv4Socket::recvfrom() into packet/byte buffered functionsAndreas Kling
This code was really hard to follow since it handles two separate modes of buffering the data.
2020-02-08Kernel: The inode fault handler should grab the VMObject lock earlierAndreas Kling
It doesn't look healthy to create raw references into an array before a temporary unlock. In fact, that temporary unlock looks generally unhealthy, but it's a different problem.
2020-02-08x86: Simplify region unmapping a bitAndreas Kling
Add PageTableEntry::clear() to zero out a whole PTE, and use that for unmapping instead of clearing individual fields.