Commit Graph

1263 Commits

Author SHA1 Message Date
twinaphex ffd364c5ff Rename btstack.c to btstack_hid.c 2015-04-04 05:23:26 +02:00
twinaphex ecd6ab7027 (BTStack) Rename btstack_hid.c to btstack.c 2015-04-04 05:22:14 +02:00
twinaphex 03d6e3a109 (null_hid.c) Add header include 2015-04-04 02:41:12 +02:00
twinaphex c73377857b (iOS) Get rid of apple_ios_joypad - refactored into btstack HID driver 2015-04-04 02:09:31 +02:00
twinaphex 9bfe575a90 (BTStack) Refactor btstack_hid to become a driver 2015-04-04 02:07:18 +02:00
twinaphex 0b09237741 (btstack_hid.c) Cleanups 2015-04-04 01:45:04 +02:00
twinaphex 55a162a77b (btstack_hid) Cleanups 2015-04-04 01:41:20 +02:00
twinaphex 677723ba3c (btstack.h) Cleanups 2015-04-04 01:06:50 +02:00
Twinaphex 2b420f0b3e (iOS) Buildfix 2015-04-04 01:03:32 +02:00
twinaphex 68b4304efd (HID) Move btdynamic/btpad to input/drivers_hid 2015-04-04 00:58:38 +02:00
twinaphex 5e83eefd81 Add VID/PID detection for joypad connection 2015-04-03 23:30:51 +02:00
twinaphex 61edabf6f4 (libusb) Correct send_control function implementation 2015-04-03 20:49:49 +02:00
twinaphex 606eaa59ae (libusb_hid) Cleanup 2015-04-03 19:33:47 +02:00
Twinaphex 3c9e702320 (apple_hid.c) Cleanup 2015-04-03 19:21:44 +02:00
twinaphex b3be54721e (libusb) Cleanups 2015-04-03 19:02:35 +02:00
twinaphex b0d740ea09 (libusb) Further fleshing out 2015-04-03 18:52:48 +02:00
twinaphex 76b52e4f57 (Libusb HID) Flesh out driver some more 2015-04-03 05:26:58 +02:00
Twinaphex e87cd94fed (HID) Simplify apple_hid_joypad_button/apple_hid_joypad_axis, etc 2015-04-03 05:06:10 +02:00
twinaphex 9d5f44a7c6 (connect_wii.c) Cleanups 2015-04-03 03:14:57 +02:00
twinaphex 05b8fbf1aa (connect_wii.c) hidpad_wii_get_axis - style nits 2015-04-03 03:07:44 +02:00
Twinaphex b9d244bd3b (connect_wii.c) Refactor hidpad_wii_axis 2015-04-03 03:06:37 +02:00
twinaphex e7c7b55004 (connect_wii.c) Dehardcode some magic numbers 2015-04-03 02:56:37 +02:00
twinaphex 7665226f4c (connect_wii.c) Get rid of two unused macros 2015-04-03 02:52:20 +02:00
twinaphex 5fdaa293fb Rename winxinput_joypad to xinput_joypad 2015-04-03 02:37:10 +02:00
twinaphex e997f9a477 (QNX) Namespace functions 2015-04-03 01:39:13 +02:00
twinaphex 5fd1ff826a (input) Namespace functions 2015-04-03 01:37:20 +02:00
twinaphex 7fc95a1726 (input_autodetect.c) Move enum to top 2015-04-03 01:22:55 +02:00
twinaphex 494a190c5b (drivers_joypad) Cleanups 2015-04-03 01:19:51 +02:00
twinaphex 4205b3e8f3 (input) Cleanups 2015-04-03 01:02:46 +02:00
twinaphex ae922a9593 (qnx_input.c) Cleanups 2015-04-03 00:57:54 +02:00
twinaphex 0fa5fd91dd (libusb) Start allocating and freeing joypad connections 2015-04-02 22:51:04 +02:00
Twinaphex 79431fcc7e (connect_wii.c) Change type of state variable 2015-04-02 22:46:11 +02:00
Twinaphex 682ec250eb (connect_wii.c) Fix 2015-04-02 20:48:38 +02:00
twinaphex e0a5a77034 (connect_wii.c) Cleanups 2015-04-02 20:27:47 +02:00
twinaphex b2a2af2355 (connect_wii.c) Buildfix 2015-04-02 19:55:45 +02:00
twinaphex 469b939dfc (connect_wii.c) Don't rely on htonl/htons for endian byte swapping 2015-04-02 19:52:47 +02:00
twinaphex 8bd0253c27 (connect_wii.c) Cleanups 2015-04-02 18:52:58 +02:00
twinaphex 6433cdf2e7 (input/connect) Cleanups 2015-04-02 18:48:44 +02:00
twinaphex b202d54dd3 Rename null joypad driver 2015-04-02 18:44:02 +02:00
twinaphex 37acf75b4c Rename most joypad drivers - should now all have consistent names 2015-04-02 18:42:15 +02:00
Twinaphex 119dcdd163 (iOS) Buildfix 2015-04-02 18:34:10 +02:00
twinaphex 6ea55bfaa9 (connect_ps4.c) Fix condition check 2015-04-02 18:28:29 +02:00
twinaphex f8823836de (connect_wii.c) Get rid of 'byte' typedef 2015-04-02 18:12:21 +02:00
twinaphex b9e6b014e3 Start preparing joypad_connection code for cross-platform purposes 2015-04-02 17:49:32 +02:00
twinaphex 0c2548bd25 (libusb) Start passing userdata pointer to hotplug callback 2015-04-02 17:28:30 +02:00
twinaphex f8b405a4d2 (libusb) Add manufacturer descriptor/device descriptor to interface struct 2015-04-02 17:16:51 +02:00
twinaphex e1d67f23b1 (apple_hid.c) Cleanup 2015-04-02 16:54:23 +02:00
twinaphex 6c4e92f0ca (apple_hid.c) style nits 2015-04-02 16:49:50 +02:00
Twinaphex 92fc29a762 (Apple HID) Cleanups 2015-04-02 16:47:36 +02:00
Twinaphex d9b96374f0 Merge pull request #1568 from lioncash/retval
hid: Fix return of potentially uninitialized pointers
2015-04-02 15:45:22 +02:00
twinaphex d3db9d2335 (Libusb/HID) Start adding preliminary libusb HID driver - based
on https://github.com/nonolith/libusb/blob/master/examples/hotplug.c and https://github.com/ToadKing/wii-u-gc-adapter/blob/master/wii-u-gc-adapter.c
2015-04-02 15:43:23 +02:00
Lioncash c947b4c6a2 hid: Fix return of potentially uninitialized pointers
After a pointer is freed it's considered to be a dangling pointer. Returning a dangling pointer is undefined behavior.
2015-04-02 09:16:26 -04:00
SuperrSonic 17bb05d3d1 (Wii) Simple fix for Wiimote not connecting after
... loading game, core, history, exiting, anything that reloads RA.
2015-04-02 04:36:46 -04:00
aliaspider c2d3299d4e (3DS) add the ability to open the menu with L+R+Start+Select. 2015-04-02 02:38:49 +01:00
aliaspider 27bd10b21d implement a very basic input driver, will need to be implemented
correctly later.
2015-04-02 02:19:21 +01:00
twinaphex 5612545b25 (CTR/3DS) Update copyright headers 2015-04-02 01:43:28 +02:00
twinaphex 9ade0a8a7f (HID) Create null_hid 2015-04-02 00:20:38 +02:00
Twinaphex 6f8194bf65 (Apple HID) Use ident name of HID input driver 2015-04-02 00:02:32 +02:00
Twinaphex f04f4e8b93 (HID) Buildfix 2015-04-01 23:33:21 +02:00
Twinaphex db2dd5010b Merge pull request #1559 from aliaspider/master
preliminary 3DS port.
2015-04-01 23:18:12 +02:00
Twinaphex 05db495f63 (HID) Cleanups 2015-04-01 23:16:43 +02:00
aliaspider 2045cee432 preliminary 3DS port. 2015-04-01 22:14:13 +01:00
Twinaphex 4ec9a7542c (Apple HID) Buildfix 2015-04-01 23:05:59 +02:00
twinaphex ff65ad8652 (Apple HID) Cleanups 2015-04-01 23:05:02 +02:00
Twinaphex 89105bda56 (Apple HID) Updates 2015-04-01 22:57:15 +02:00
twinaphex 43bb5c81cc Start creating input HID driver interface, etc. 2015-04-01 22:31:43 +02:00
Twinaphex f9d98cccd3 (Apple HID) Refactor 2015-04-01 20:49:26 +02:00
Twinaphex ee43f89aa7 (HID) Buildfix 2015-04-01 20:02:59 +02:00
twinaphex f1533f8ebf (HID) Start refactoring the Apple HID joypad driver to be a more
general-purpose HID joypad driver
2015-04-01 20:00:38 +02:00
Twinaphex 9f319e60e1 (Apple HID) Some more refactors 2015-04-01 16:13:14 +02:00
Twinaphex 6b3fc76154 (Apple HID) Cleanups 2015-04-01 15:46:07 +02:00
Twinaphex dc52663281 (Apple HID) Create apple_hid_get_product_string 2015-04-01 15:32:30 +02:00
Twinaphex 34439fc432 (input_autodetect.c) Add AUTODETECT_MATCH_* rule 2015-04-01 02:55:30 +02:00
Twinaphex 013038d3ef (connect_ps4.c) Cleanups 2015-04-01 01:23:43 +02:00
Twinaphex 28a85d9331 (connect_ps4.c) Make analog work 2015-04-01 00:20:39 +02:00
Twinaphex 467c007864 (connect_ps4.c) PS4 pad works now - TODO: analog/rumble (potential FUTURE: touchpad and other stuff) 2015-03-31 22:28:56 +02:00
Twinaphex 7e97764882 (connect_ps4.c) Update 2015-03-31 21:42:43 +02:00
Twinaphex a4190a9c3f (PS4/connect_ps4.c) Update 2015-03-31 21:40:22 +02:00
Twinaphex ebd85ea02b (PS4/joypad_connection) PS4 joypad is starting to work 2015-03-31 21:18:21 +02:00
Twinaphex 047fdbd3fc (PS4/joypad_connection) Changes 2015-03-31 19:23:06 +02:00
Twinaphex b9da2bc32f (Apple HID) Handle iOHIDDeviceOpen not returning success 2015-03-31 16:55:23 +02:00
Twinaphex d93854a924 (Apple HID) Create apple_hid_manager_init/apple_hid_manager_exit wrapper functions 2015-03-31 16:51:04 +02:00
Twinaphex f853c39d5f (apple_hid.c) Get rid of unnecessary log message 2015-03-31 16:39:28 +02:00
Twinaphex 2b399234d3 (OSX) Should now properly show device name of pad being disconnected 2015-03-31 16:35:20 +02:00
Twinaphex 9f8f054b41 Correct apple_hid_get_product_id 2015-03-31 16:28:46 +02:00
Twinaphex 43fe95ce93 (Apple HID) Mundane style nits 2015-03-31 16:03:06 +02:00
Twinaphex 5d49f7671b (Apple HID) Cleanup add_device callback function 2015-03-31 16:00:11 +02:00
Twinaphex 56736d4eeb (Apple HID) Cleanups 2015-03-31 15:44:19 +02:00
Twinaphex 0807ac0165 (apple_hid.c) Deallocate hid_apple properly in apple_hid_free 2015-03-31 15:15:54 +02:00
Twinaphex da428a70d3 (Apple) apple_joypad_hid.c is going to become a more generic
'HID joypad' driver
2015-03-31 15:14:39 +02:00
Twinaphex f473d6237f (Apple) Dirty buildfix for now 2015-03-31 14:46:44 +02:00
twinaphex cdee9eb9d8 Split up Apple HID code to input/drivers_hid/apple_hid.c 2015-03-31 14:44:51 +02:00
Twinaphex b88f7b3af5 (iOS) Create iOS 6 scheme 2015-03-31 01:58:55 +02:00
Twinaphex 8a33670c7c (iOS) Move included source files to Griffin 2015-03-30 22:29:30 +02:00
neville ddb5aab3ed (OSX PPC) Start making things more backwards compatible with OSX 10.4 - avoid CGFloat, NSUinteger, NSInteger, use <AvailabilityMacros.h> instead of <Availability.h>, etc. 2015-03-30 17:10:31 +02:00
Twinaphex 3a3653b3b7 Merge pull request #1552 from aliaspider/master
(menu) add experimental touch controls.
2015-03-28 22:59:19 +01:00
aliaspider 560c98f3cb (menu) add pointer support (active only for rgui for now) 2015-03-28 22:35:18 +01:00
twinaphex 7ac7b15718 (input_autodetect.c) Some fixes 2015-03-28 22:20:05 +01:00
twinaphex 765e9c0361 Return an unsigned value that indicates which values were found 2015-03-27 18:50:40 +01:00
twinaphex 9923e6a021 (input_autodetect.c) Further cleanups 2015-03-27 18:05:43 +01:00
twinaphex f88e62b3d2 Create input_autoconfigure_joypad_from_conf_internal 2015-03-27 18:02:21 +01:00
twinaphex 782f366131 Cleanup comments 2015-03-27 17:55:00 +01:00
twinaphex 54f2d61809 input_autodetect.c - don't need runloop.h header 2015-03-27 17:53:06 +01:00
twinaphex 3985497552 Small cleanup 2015-03-27 17:48:27 +01:00
twinaphex 948e9a1888 (input_autodetect) Cleanups pt. 5 2015-03-27 17:47:15 +01:00
twinaphex 6917982686 Cleanup input_try_autoconfig_joypad 2015-03-27 17:39:11 +01:00
twinaphex bf0693fcb0 (input_autodetect.c ) Cleanups pt. 4 2015-03-27 17:34:09 +01:00
twinaphex c5ece757d8 (input_autodetect.c) Cleanups pt. 3 2015-03-27 17:31:59 +01:00
twinaphex 57a1f6d9a0 Cleanups 2015-03-27 17:27:21 +01:00
twinaphex 14270babe5 (input_autodetect.c) Cleanups pt. 2 2015-03-27 17:10:09 +01:00
twinaphex 28faf469a0 Cleanups 2015-03-27 17:02:55 +01:00
twinaphex 226c6ff41a Simplify input_autodetect 2015-03-27 16:57:58 +01:00
Radius 2f2a86e97f add osk enable hotkey 2015-03-25 22:24:12 -05:00
twinaphex 8223969226 (PSP) Buildfix 2015-03-24 10:30:05 +01:00
twinaphex cda414b27d (Android) Go through input_driver_key_pressed 2015-03-24 08:53:49 +01:00
twinaphex 91b03d914d (input_driver.c) Cleanups 2015-03-24 08:35:55 +01:00
twinaphex 30a0e99972 (Input) Implement function pointers 'set_rumble' and 'grab_mouse'
always to prevent conditional checks
2015-03-24 07:51:50 +01:00
twinaphex 3b87f5bb69 Fix input_driver_state 2015-03-24 05:59:01 +01:00
twinaphex d6981c3aad Cleanups 2015-03-23 07:34:18 +01:00
twinaphex f5b2b8fdf7 Create input_driver_free 2015-03-23 07:15:41 +01:00
twinaphex 95664b038e Create input_driver_init 2015-03-23 07:07:28 +01:00
twinaphex 0d164162fc Create input_driver_grab_mouse 2015-03-23 04:31:11 +01:00
twinaphex 5f8407e16c Use input_driver_get_capabilities 2015-03-23 04:18:27 +01:00
twinaphex d9ba52e018 Create input_driver_get_joypad_driver 2015-03-23 03:40:09 +01:00
twinaphex c274ab94a0 Create input_driver_key_pressed 2015-03-23 03:22:57 +01:00
twinaphex 71e927020c Create input_driver_poll 2015-03-23 03:17:43 +01:00
twinaphex db1087ad33 Create input_driver_state 2015-03-23 03:04:05 +01:00
twinaphex da53a4c683 Create video_driver_overlay_interface 2015-03-22 23:44:58 +01:00
twinaphex 7243c43cda Create video_driver_focus 2015-03-22 23:40:22 +01:00
twinaphex e3eb9fe9f0 Create video_driver_viewport_info 2015-03-22 21:28:50 +01:00
twinaphex 13de784dfc Style nits 2015-03-22 08:14:36 +01:00
twinaphex 842d0aafa5 (input_overlay.c) Cleanups 2015-03-22 04:02:04 +01:00
twinaphex 713c7f6093 Cleanup input_overlay_load_desc_image 2015-03-22 03:56:57 +01:00
twinaphex cd77bc7f68 Simplify input_overlay_load_desc_image 2015-03-22 03:55:04 +01:00
twinaphex f3fefa2ceb (QNX) Build fixes 2015-03-21 22:55:50 +01:00
twinaphex 5a443d229a global_get_ptr update pt. 2 2015-03-21 05:42:49 +01:00
twinaphex 55ba05a1a3 Updates pt. 6 2015-03-20 22:41:15 +01:00
twinaphex 5ad9f131ce Updates pt. 5 2015-03-20 22:32:09 +01:00
twinaphex 5d8ce54a9f Updates pt. 4 2015-03-20 22:22:06 +01:00
twinaphex e996d5d51f Updates 2015-03-20 21:22:38 +01:00
twinaphex b97ea7bc8d Create input_overlay_load_texture_image 2015-03-20 04:12:17 +01:00
twinaphex 1457e50ae5 (Overlay) input_overlay_load_overlays_iterate - cleanups 2015-03-20 03:30:17 +01:00
twinaphex 2a82d4a3c0 (input_overlay.c) Move some code over to texture loading code 2015-03-20 03:26:48 +01:00
twinaphex 9e432b4251 (Overlay) Remove unused variables 2015-03-20 01:47:11 +01:00
twinaphex 97d73557d8 (Overlay) Create OVERLAY_IMAGE_TRANSFER_DESC_IMAGE_ITERATE 2015-03-19 23:13:25 +01:00
twinaphex 758039c3f5 Simplify input_overlay_load_desc 2015-03-19 23:02:50 +01:00
twinaphex ada29dcbd6 Simplify input_overlay.c 2015-03-19 22:52:15 +01:00
twinaphex 8d0297dfe1 (input_overlay.c) Take out general.h include 2015-03-19 04:28:40 +01:00
twinaphex 1e9725a302 (Android) Buildfix 2015-03-18 20:26:55 +01:00
twinaphex 5976da19c4 (Win32) buildfix 2015-03-18 20:23:18 +01:00
Twinaphex 0782cb5168 (Apple) Build fixes 2015-03-18 20:15:40 +01:00
twinaphex 3670ef2ac5 Go through driver_get_ptr to grab pointer to driver struct 2015-03-18 19:40:00 +01:00
twinaphex 7378299282 Create rarch_main_get_ptr 2015-03-18 06:47:22 +01:00
Higor Eurípedes 718ca11a43 Remove warnings during clang++ builds 2015-03-16 14:43:56 -03:00
Higor Eurípedes 7d1b2467da (sdl_input.c) Fix CXX build 2015-03-16 14:01:23 -03:00
twinaphex 80a6673004 Fix some CXX_BUILD errors 2015-03-16 16:57:27 +01:00
twinaphex 84e9f2fa7d Use retro_inline throughout 2015-03-15 04:52:46 +01:00
twinaphex 00239a30d6 Create wrapper functions for passing a message to the runloop's
message queue
2015-03-15 02:47:23 +01:00
twinaphex cea8f0cbe0 (Overlay) Change input_overlay_load_overlays 2015-03-15 00:16:57 +01:00
twinaphex c08fff5a0c (Overlay) input_overlay_load_overlays - split up init part into separate
function
2015-03-14 23:47:13 +01:00
twinaphex 03cda5b208 (Overlay) Take for loop out of input_overlay_load_overlay 2015-03-14 06:29:45 +01:00
twinaphex 35a1582be4 (Overlay) input_overlay_load_overlay - refactor 2015-03-14 06:19:16 +01:00
twinaphex aed8d1887d (Overlay) Cache config file once and clean it up when no longer needed -
config_file_new was taking up at least 11% of rarch_main_iterate_overlay_state's
CPU activity (23.3% in total on OSX)  - should now be far more efficient
2015-03-14 05:45:48 +01:00
Andrés 53265b742d Fix windows build 2015-03-12 22:47:58 -05:00
twinaphex 0b5105433f (Windows) Add MOUSE_HWHEEL support 2015-03-12 13:35:37 +01:00
twinaphex e366a6eaa2 (Mouse) Start adding preliminary horizontal mouse wheel up/down 2015-03-12 05:38:37 +01:00
Alcaro a3759d7ff1 Apparently these are booleans used as int. Fixing. 2015-03-11 15:37:48 +01:00
Alcaro a60a22424e Fix indentation - should be spaces, not tabs. 2015-03-11 14:08:51 +01:00
Alcaro 7bd444f1fa Let's not miss these input notifications if many arrive at once. 2015-03-11 14:06:58 +01:00
twinaphex 6c7e5f642c (NGC) Buildfix pt. 2 2015-03-11 04:21:32 +01:00
twinaphex f0e75c9259 (NGC) gx_input_joypad.c - buildfix 2015-03-11 04:20:11 +01:00
Twinaphex fcd7cc958a (Apple) Make apple_pointer_state somewhat more robust 2015-03-11 00:43:07 +01:00
Twinaphex fe747a77d0 (OSX) Add stub scroll wheel 2015-03-11 00:35:51 +01:00
twinaphex 667a461c89 (Windows/Mouse) Wheel works now in normal mode - doesn't work in
grabbed mouse state (exclusive foreground mode)
2015-03-10 23:40:54 +01:00
Jean-André Santoni a26a46d4de (Apple) Fix mouse movements 2015-03-10 18:44:55 +01:00
twinaphex 2a40cd5939 (keyboard_event) Cleanups 2015-03-09 19:04:10 +01:00
twinaphex 498d43960d (udev_joypad_hat) Cleanup 2015-03-09 19:01:12 +01:00
twinaphex 894076f52d (xdk_xinput_input) Cleanup 2015-03-09 19:00:01 +01:00
twinaphex ec01703098 (Input) Cleanups 2015-03-09 18:58:09 +01:00
twinaphex 509e2e2851 (X11 input) Cleanups 2015-03-09 18:55:26 +01:00
twinaphex 74332fbd14 (GLX) Implement mouse wheel up/down for GLX context driver 2015-03-09 17:44:19 +01:00
twinaphex 0ab0fdf709 (Menu) Implement wheel up/down - will need kivutar to implement this
better
2015-03-09 16:36:49 +01:00
twinaphex b93b9d8b58 (udev) Implement wheel up/wheel down 2015-03-09 16:23:22 +01:00
Twinaphex 3ec863d4a5 (Apple HID) Use CFRUnLoopGetCurrent() instead of CFRunLoopGetMain() 2015-03-07 15:47:23 +01:00
twinaphex 795ef467ac Move msg_queue and nbio/http to runloop struct 2015-03-07 13:01:41 +01:00
twinaphex a74cb0574b Create g_runloop and start moving variables there 2015-03-07 12:36:50 +01:00
Twinaphex 935d6a54b8 (Apple HID) Don't call IOHIDDeviceClose in removal callback function 2015-03-06 21:56:10 +01:00
twinaphex b89e415018 (Overlay) Simplify some code 2015-02-28 08:00:15 +01:00
twinaphex f30e82bced Remove input_overlay_load_overlay_image 2015-02-27 06:53:10 +01:00
twinaphex fd5e6958fa (Overlay) Should now properly set up first overlay screen as quickly
as possible
2015-02-27 02:26:15 +01:00
twinaphex ec339c184d Set ol->resolve_pos to 0 beforehand 2015-02-27 02:22:05 +01:00
twinaphex d510a502e5 Create ol->resolve_pos 2015-02-27 02:21:17 +01:00
twinaphex 34622f63ed (Overlay) Back to the drawing board 2015-02-27 01:25:08 +01:00
Googer 03b4ace443 (Android) Fix pad input detection for pre-KitKat.
Also update getting system properties to use getprop command instead of
__system_property_get.  Use sdk level to determine which gamepad
detection method to use (only use vendorId and productId if at least
KitKat - i.e., SDK version 19+).
2015-02-24 12:20:21 -05:00
twinaphex cb53153fa1 Update comment in load_overlay_image_done 2015-02-23 22:35:01 +01:00
twinaphex ef91d9a528 Make function static 2015-02-23 22:11:18 +01:00
twinaphex a41c159ece Load first active overlay immediately - much faster 2015-02-23 21:49:08 +01:00
twinaphex 00beda42f2 Add pos_increment to allow us to iterate through steps 2015-02-23 21:14:34 +01:00
twinaphex 89685c5709 Add OVERLAY_IMAGE_TRANSFER_DESC_ITERATE and OVERLAY_IMAGE_TRANSFER_DESC_DONE 2015-02-23 20:57:49 +01:00
twinaphex d44ebefd49 Move more logic to load_overlays 2015-02-23 19:21:28 +01:00