Commit Graph

686 Commits

Author SHA1 Message Date
Sam Lantinga 61c0f2cf64 Suggestion from Apple: use kCFRunLoopCommonModes which does more complete event processing 2016-09-08 20:38:23 -07:00
Ryan C. Gordon da1e3d6938 emscripten: special case to make SDL_ShowSimpleMessageBox() work.
Browsers don't have the functionality to fully support the generic
SDL_ShowMessageBox(), but this handles the likely most-common case.

Without this, you'd return immediately with a proper error result and no UI,
but probably no one checks that for SDL_ShowSimpleMessageBox. And if they
did: what would they do to handle this anyhow?

We'd need to lobby for an HTML spec of some sort that allows customizable
message boxes--that block!--to properly support SDL message boxes on
Emscripten, but this is probably Good Enough for now.
2016-09-06 13:13:03 -04:00
Ryan C. Gordon 45553ac4db emscripten-buildbot.sh: exit with an error if configure/make fail. 2016-09-06 12:18:52 -04:00
Ryan C. Gordon 6188c33420 mac: Patched to compile with CMake project. 2016-09-04 01:42:46 -04:00
Ryan C. Gordon 0265d3af9b coreaudio: Move from AudioUnits to AudioQueues.
AudioQueues are available in Mac OS X 10.5 and later (and iOS 2.0 and later).
Their API is much more clear (and if you don't mind the threading tapdance
to get its own CFRunLoop) much easier to use in general for our purposes.

As an added benefit: they seemlessly deal with format conversion in ways
AudioUnits don't: for example, my MacBook Pro's built-in microphone won't
capture at 8000Hz and the AudioUnit version wouldn't resample to hide this
fact; the AudioQueue version, however, can handle this.
2016-09-04 01:23:55 -04:00
Ryan C. Gordon 3b53304a94 coreaudio: capture devices should let the system allocate the render buffer. 2016-09-03 00:13:41 -04:00
Ryan C. Gordon fda7a3d158 coreaudio: Replaced an int with an SDL_bool. 2016-09-02 13:12:21 -04:00
Ryan C. Gordon f9d9708f6b coreaudio: Move some variable declarations to the top of the scope. 2016-09-02 13:11:28 -04:00
Gabriel Jacobo 1428bab3b3 Fixes building SDL on Ubuntu 16.04 with Mir headers installed 2016-09-01 16:01:54 -03:00
Sam Lantinga f11a440999 wayland: Add support for relative mouse mode, by Jonas ?dahl <jadahl@gmail.com>
Generate the C protocol files from the protocol XML files installed by
wayland-protocols, and use them to implement support for relative pointer
motions and pointer locking.

Note that at the time, the protocol is unstable and may change in the future.
Any future breaking changes will, however, fail gracefully and result in no
regressions compared to before this patch.
2016-09-01 01:26:56 -07:00
Jonas ?dahl 19d3500ae1 wayland: Build own version of core protocol
Since we are loading shared objects dynamically, build our own version of the
core protocol symbols, so that we in the future can include protocol
extensions.
2016-06-23 18:39:05 +08:00
Bastien Nocera 736a624df0 Wayland: Set "class" for each window we create
This will be used by Wayland compositors to match the application ID and
.desktop file to the SDL window(s).

Applications can set the SDL_VIDEO_WAYLAND_WMCLASS environemnt variable
early in the process to override using the binary name as a fallback.

Note that we also support the SDL_VIDEO_X11_WMCLASS in the Wayland
backend so that if a program correctly associated the desktop file with
the window under X11, only a newer SDL would be needed for it to work
under Wayland.

https://bugzilla.libsdl.org/show_bug.cgi?id=3376
2016-09-01 01:22:58 -07:00
Ryan C. Gordon 2098bfb3ca emscripten: Be more aggressive when closing audio capture devices.
Fixes exceptions being thrown on shutdown.
2016-08-31 16:10:04 -04:00
David Ludwig f5d43cf912 WinRT: added an extra NULL pointer check for SDL_*ScreenSaver() backend code 2016-08-31 12:52:55 -04:00
Brandon Schaefer ebb058910d Mir: Add mouse grab support (requires mir 0.24) 2016-08-30 12:58:00 -07:00
Philipp Wiesemann 48490a528a Fixed log message in audio capture test program. 2016-08-30 21:16:04 +02:00
Philipp Wiesemann 379a430408 Android: Removed unused internal function. 2016-08-30 21:15:46 +02:00
Philipp Wiesemann 9581d4a585 Android: Fixed misleading warning in log output (thanks, Sylvain!).
Fixes Bugzilla #3418.
2016-08-30 21:15:18 +02:00
Philipp Wiesemann cf28727f89 Android: Fixed missing mouse motion events while button down (thanks, Sylvain!).
Happened for real mouse if SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH was active.

Fixes Bugzilla #3313.
2016-08-30 21:14:52 +02:00
Philipp Wiesemann 51053a062c Fixed compiling if filesystem is disabled (thanks, Elias!).
Fixes Bugzilla #3414.
2016-08-30 21:14:13 +02:00
David Ludwig 5020fe8fdb WinRT: added SDL_*ScreenSaver() support; fixed crash when restoring app from screensaver 2016-08-29 20:27:21 -04:00
Sam Lantinga 651107a118 Fixed sorting and name of XBox wireless controller entry 2016-08-16 12:02:22 -07:00
Sam Lantinga 4c1484784a Merged Change: 3576099 from rel/streaming_client
Description:
SDL - add mapping for xbox one s wireless controller
2016-08-16 12:02:12 -07:00
David Ludwig b65763c0c2 WinRT: patched to compile 2016-08-29 10:48:56 -04:00
Ryan C. Gordon 5bcf1d256b cocoa: Fixed incorrect autorelease, noted by static analysis. 2016-08-28 19:06:31 -04:00
Ryan C. Gordon c9bfcbde6e nacl: Patched to compile. 2016-08-28 18:52:25 -04:00
Ryan C. Gordon 714aa21136 Patched to compile on Haiku. 2016-08-28 18:24:44 -04:00
Ryan C. Gordon 2da1ec8354 Merge audio capture work back into the mainline. 2016-08-28 13:36:13 -04:00
Ryan C. Gordon 06dcdc7d48 Patched to compile. 2016-08-28 11:56:11 -04:00
Ryan C. Gordon 850da32f30 alsa: Implemented hotplug support, cleaned up device names. 2016-08-28 08:50:26 -07:00
Ryan C. Gordon 35e564a694 ios: patched to compile. 2016-08-26 15:46:29 -04:00
Ryan C. Gordon cfa95fe68c alsa: don't enumerate virtual devices, just physical hardware. 2016-08-15 10:09:41 -04:00
Sam Lantinga ad1bfea5a0 Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
Updated the removal code to iterate over all joystick add messages instead of just the first one.
2016-08-26 12:18:08 -07:00
Sam Lantinga c69bce6774 commit 1170112da3776fdb06425f62d57b63144c33dc51
Author: James Zipperer <james.zipperer@synapse.com>
Date:   Sun Aug 21 01:19:19 2016 -0700

    bugfix for controller / joystick add / remove being in the event queue at the same time
2016-08-26 11:16:44 -07:00
Philipp Wiesemann e79f00097a Emscripten: Fixed crash if closing removed joystick (thanks, Sylvain!). 2016-08-25 22:31:44 +02:00
Philipp Wiesemann e41e185eab Android: Fixed crash if closing removed joystick (thanks, Sylvain!).
Fixes fix for Bugzilla #3408.
2016-08-25 22:31:33 +02:00
David Ludwig 5150eb361f WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state
The repro steps were this:
1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher
2. hide the cursor, via a call to SDL_ShowCursor(0)
3. make the Win10 game bar appear, by pressing the Windows + G hotkey
4. observe that the mouse cursor appears, in order to interact with the
   game bar (this is expected behavior)
5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey
   again, or clicking somewhere in the app

EXPECTED RESULT: cursor disappears, as game bar disappears

ACTUAL RESULT: cursor didn't always disappear
2016-08-20 13:46:45 -04:00
Philipp Wiesemann f6f9350a3c Added link in header comment. 2016-08-17 21:05:00 +02:00
Philipp Wiesemann a128552577 Emscripten: Fixed opening previously closed joystick. 2016-08-17 21:04:50 +02:00
Philipp Wiesemann c18ff8d253 Android: Fixed opening previously closed joystick (thanks, Sylvain!).
Fixes Bugzilla #3408.
2016-08-17 21:04:32 +02:00
Ryan C. Gordon b6daf1f60a testaudiocapture: ask for way more output samples.
Fixes Emscripten builds on Chrome for Android.
2016-08-12 22:50:48 -04:00
Ryan C. Gordon d05ae1941c emscripten: send fake mouse events for touches, like other targets do.
(This really should be handled at the higher level and not in the individual
targets, but this fixes the immediate bug.)
2016-08-12 19:59:00 -04:00
Ryan C. Gordon 3b88f5c690 emscripten audio: check for an "undefined" object, remove some console.log(). 2016-08-12 00:03:58 -04:00
Ryan C. Gordon e435659c63 audio: Cleaned up "extern AudioBootStrap" list. 2016-08-11 22:26:58 -04:00
Ryan C. Gordon 6f4bcd2498 audio: Renamed some internal driver symbols in various targets. 2016-08-11 22:22:09 -04:00
Ryan C. Gordon 8f0af77354 android: implement audio capture support. 2016-08-11 22:04:49 -04:00
Ryan C. Gordon b78ec97496 directsound: Implemented audio capture support. 2016-08-10 16:00:16 -04:00
Ryan C. Gordon 21c7fe0060 windows: directsound should also map audio device GUIDs to proper names.
Moved this code from winmm into core so both can use it.

DirectSound (at least on Win10) also returns truncated device names, even
though it's handed in as a string pointer and not a static-sized buffer.  :/
2016-08-10 15:34:24 -04:00
Ryan C. Gordon b879595a2a audio: Patched to compile on C89 compilers. 2016-08-10 14:14:14 -04:00
Ryan C. Gordon 244d2dbcd5 emscripten audio: fix timer on capture's silence callback. 2016-08-10 14:13:48 -04:00