Commit Graph

57 Commits

Author SHA1 Message Date
4483871cd3 Android: Stabilize camera lifecycle handling
- Pause camera feeds during lifecycle transitions to avoid crashes
- Refresh camera metadata after rotation to keep orientation accurate
2025-10-23 01:32:16 +09:00
3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
54eb2799da Fix build on OpenBSD
Like FreeBSD, OpenBSD cannot build the camera module because it uses interfaces only provided by Linux
2025-08-30 15:02:01 +02:00
49e3eba008 Consolidate frame_changed signal into CameraFeed 2025-08-09 04:12:27 +09:00
2560ddbce0 Add CameraServer camera_feeds_updated signal, and document async behavior 2025-08-08 03:53:41 +09:00
ef833a9488 Fix camera removal detection after toggling monitoring on Linux 2025-07-14 02:28:54 +09:00
4cd27d7fd4 Merge pull request #106094 from shiena/feature/support-android-camera
Add CameraFeed support for Android
2025-05-13 16:22:27 -05:00
5db0aab505 Merge pull request #104857 from shiena/feature/discovery-continuity-camera
macOS: Allow users to select Continuity Camera
2025-05-13 16:22:12 -05:00
296ca79b9d Add CameraFeed support for Android
Co-authored-by: KOGA Mitsuhiro <shiena.jp@gmail.com>
2025-05-13 22:46:06 +09:00
5dc4ac2bb2 linux: respect order of device list when enumerating camera feeds 2025-04-24 17:00:15 -04:00
e37d785a0a feat: Allow users to select Continuity Camera
Added Continuity Camera to the device discovery session to provide
users with more camera options. Users on macOS 13+ can now select
their Continuity Camera device within the application.
2025-04-01 20:15:20 +09:00
fa0a3c9c6e Add and require GDSOFTCLASS for Object subclasses that want to cast but do not use GDCLASS. 2025-03-31 20:49:50 +02:00
54685c3037 Deactivate the CameraServer by default.
Add `monitoring_feeds` property to `CameraServer`.
This saves resources for games that don't use a physical camera.
2025-03-21 07:58:57 +01:00
713a1ba554 Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
512abc38b2 Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition. 2025-01-17 17:31:58 +01:00
e88e30c273 Remove unused headers in servers.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08:00
9655d7d948 Check CameraFeed type 2024-12-18 10:37:06 +08:00
6bc80effbb Make Godot compile on FreeBSD 2024-12-05 12:33:55 -04:00
8a134c580c Merge pull request #97469 from Calinou/cameraserver-linux-remove-prints
Remove verbose prints from CameraServer on Linux due to being printed every second
2024-12-03 14:40:53 -06:00
bb5f390fb9 Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
1fc8208765 Merge pull request #97589 from pkowal1982/fix_97454
Fix error message on startup when camera is busy
2024-09-29 00:47:15 +02:00
0178bb88e0 Fix error message on startup when camera is busy 2024-09-28 17:00:29 +02:00
38d7ec1640 Expose CameraFeed setters 2024-09-27 20:07:36 +08:00
87709cfdf2 Remove verbose prints from CameraServer on Linux due to being printed every second 2024-09-26 00:08:06 +02:00
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
b88585abfc Add linux camera support 2024-09-25 12:08:06 +02:00
41875d8aef macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
25b2f1780a Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
072f6feaba Make some Image methods static 2022-10-14 14:34:15 +02:00
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
8823eae328 Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
de0ca3b999 Refactor module initialization
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
2022-05-04 17:34:51 +02:00
33d6d4bdf7 [macOS] Enable Objective-C ARC 2022-02-01 15:58:30 +02:00
c69e0d16bc Fix multiple missing UTF-8 decoding. 2022-01-06 14:35:22 +02:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
ce97ddbcb1 Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
e6801a098e [macOS] Request camera permission before session init. 2021-08-22 00:34:02 +03:00
3564c16cb8 Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
5b16020846 Replace remaining uses of NULL with nullptr
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-29 11:53:27 +02:00
b5334d14f7 Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
30783d57cc iOS Modules: separate main platform code from modules
Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin.
Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin.
Changed platform code so it's not affected by the move.
Modified Xcode project file to remove parameters that doesn't make any effect.
Added basic '.gdip' plugin config file.
2020-11-10 16:28:29 +03:00
3cd1cb53a0 iOS: Refactoring
Enabled ARC for iOS.
Weakify/Strongify macros for objc blocks.
Removed old version checks.
Specific types for ObjC++ modules to exclude unneeded bridging.
Separate DeviceMetrics class for device specific data.
Replaced old/deprecated functionality.
2020-10-02 15:04:51 +03:00
5a376cb061 Fix header guards in modules:
- Add missing header guards to various modules' register_types.h
- Add header guard to basis_universal/texture_basisu.h.
- Ensure header guard encloses entire header in
  webrtc/webrtc_data_channel_js.h.
2020-09-06 16:13:59 +01:00
66be375eb0 Modules: update modules to be built for iOS
Using 'available' checks to fix deprecation compilation errors
Additional checks for simulator
2020-07-25 21:55:15 +02:00
00299f15b4 [macOS] Add support for the Apple Silicon (ARM64) build target. 2020-06-29 12:33:51 +03:00
c3e7aeb279 SCons: Enable iOS modules for ARKit and Camera 2020-06-23 12:48:44 +03:00