Commit graph

17 commits

Author SHA1 Message Date
Admin
aad72dfe2b Audio: never auto-select loopback; fix VPIO init + minimize ducking
- The SCK loopback device claimed is_default and default_input() fell
  through to it when the real mic errored — the voice pipeline silently
  became SYSTEM-AUDIO capture behind screen-recording privileges. Loopback
  is no longer default and default_input() only auto-picks real Input
  devices; system-audio capture is explicit-opt-in by device id.
- VoiceProcessingIO input failed FailedInitialization on macOS when pinned
  via setDeviceID (it aggregates its own devices; follows system default
  input now). If VPIO still fails, degrade to plain capture instead of
  marking the DEVICE failed (voice_input_unusable flag + device-change
  re-arm); input error log no longer says "output".
- VPIO voice-chat mode ducks all other app audio to a whisper: request
  advanced ducking at minimum level (macOS 14+/iOS 17+) so music stays
  near full volume while AEC keeps running. Links AudioToolbox.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-02 17:48:41 +02:00
Admin
676255dfc2 Land route app + platform geo/permission APIs, map nav layer, geodata radar
apps/route: AI trip planner on MapView — tool broker + local/cloud agent
dispatch, nav session + simulated drive, layers/theme state, DDG image
search, trip history, tilt-shift DOF layer (linear circle-of-confusion:
level = log2 of radius, constant growth rate, tilt raises only the
ceiling; tilt-shift on by default).

Platform: Cx geo location API (macOS/iOS/Android/web) + permission
plumbing, memory watchdog, headless build cfg. Map: nav layer M0 API,
landcover drape, bridge dz. Geodata: 250m dual-radar compositor
(radar_volume) + KNMI sync. Docs for the route/glass/blur/shiny work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 00:10:52 +02:00
Kevin Boos
d4942bbaf0 Don't always set the app's icon (e.g., for packaged app bundles) (#1082)
* Support overriding the dpi factor at runtime, on all platforms

Add `Cx::set_window_dpi_override` for runtime UI zoom, but dispatch it
in a deferred manner so it's safe to call in an event handler.

For each platform, we connect the dpi override to the click/tap
coordinates to remap it properly, which was done on some platforms
but not most.

* Don't always set the app's icon (e.g., for packaged app bundles)
2026-05-18 22:47:11 +02:00
Kevin Boos
e6fdd1f4c7 App menu bar: restore Quit option, use proper app name (#1076)
* App menu bar: restore Quit option, use proper app name

The menu bar shows "MakepadStdInLoop" by default, which is really strange
especially for published apps. This fixes that and also allows the app
to set the name, as well as using a sensible default for it if the app
didn't specify it.

We also now restore the previous Makepad 1.0 behavior of having a default
"Quit" entry in the main app's first menu bar entry.

* ensure Exit flow actually makes it out, on macOS
2026-05-02 09:35:44 +02:00
Admin
6cf21b67bd iterating 2026-04-05 11:28:47 +02:00
Admin
8a13941776 android borked 2026-03-22 17:28:18 +01:00
offline-ant
642a929e5f platform: video/camera subsystem with media plugin architecture (#929)
Video playback: extended API with volume, playback rate, seek ranges,
buffered ranges, can_play_type, audio-only mode. Unified player wrapping
native backend (AVPlayer/GStreamer/MediaFoundation) with software fallback.
YUV shader pipeline (BT.601/709/2020, NV12 biplanar, rotation).

Camera: V4L2 backend (Linux), expanded NDK Camera2 (Android), AVCapture
stream refactor (iOS/macOS) with shared session architecture. NV12
zero-copy paths on iOS (CVMetalTextureCache) and Android (AImage planes).
Camera preview modes (texture/native/auto).

Video encoding: H264 hardware encode on Apple (VideoToolbox) and Android
(MediaCodec). Camera-to-encoder pipeline with pixel buffer passthrough.

Media plugin system: externalized codec implementation via MediaPlugin
trait. MsePlayer, VideoFrameDecoder, MediaVideoEncoder, SoftwareVideoPlayer
interfaces. Runtime codec capability query and merge.

Includes camera example app.

Co-authored-by: ant <ant@offline.click>
2026-03-08 13:10:58 +01:00
offline-ant
5edb28bd5e cargo-makepad: cross-platform icon build pipeline and desktop packaging (#890)
Refactor app icon handling into a unified app_icon module that replaces
the old window_icon.rs. Build-time icon generation produces platform-
native formats (ICO with multiple sizes for Windows, ICNS for macOS,
multi-resolution PNGs for Linux/Wayland/X11).

Add `cargo makepad desktop` subcommand for desktop packaging with
automatic icon detection from MAKEPAD_APP_ICON_PATH env var, or from
Cargo package metadata.

Resolve binary names from [[bin]] targets in Cargo.toml so .app bundles,
.exe outputs, and APK labels use the correct name instead of defaulting
to the package name.

Use llvm-rc for Windows .res generation (cross-compilation compatible)
with absolute link paths for reliable resource embedding.

Co-authored-by: ant <ant@offline.click>
2026-02-26 11:33:26 +01:00
Admin
11e49f0700 android vulkan otw 2026-02-15 14:18:42 +01:00
Admin
cbab84abca android back 2026-02-15 13:30:18 +01:00
Admin
71bee4562c headless otw 2026-02-15 09:48:28 +01:00
Admin
8c8e25c89a x11 working 2026-02-14 16:53:27 +01:00
Admin
8e6702c56b First 2.0 2026-02-12 14:52:33 +01:00
Admin
a271bd0027 compile 2026-02-10 18:26:51 +01:00
Drin
1c4758655e feat: a native wayland backend (#793)
* initialize the event loop for wayland backend

Signed-off-by: drindr <dreamchancn@qq.com>

* feat: hidpi wayland and mouse event
- hidpi support with wayland
- mouse event support
- refactor some code

Signed-off-by: drindr <dreamchancn@qq.com>

* wayland xkbcommon for key pressing event

Signed-off-by: drindr <dreamchancn@qq.com>

* add support for IME in with wayland

---------

Signed-off-by: drindr <dreamchancn@qq.com>
Co-authored-by: makepaddev <20386332+makepaddev@users.noreply.github.com>
2025-10-25 19:35:58 +02:00
Eddy Bruel
729b4d3fa0 Various fixes 2025-05-08 11:51:43 +02:00
Eddy Bruel
ff9048cc37 Initial commit 2025-05-06 10:11:37 +02:00