Commit Graph
20 Commits
Author SHA1 Message Date
Afonso Jorge Ramos 6bf397e0f3 feat(macos): auto-select SystemDefault backend on non-Linux
When backend_type is None (auto-detect), default to SystemDefault on
non-Linux platforms so macOS gets CoreAudio device probing and sample
rate switching instead of falling through to the legacy CPAL path.
2026-03-31 02:20:13 +02:00
Afonso Jorge Ramos 4c15a43200 feat(macos): enhance CpalDefaultBackend with device capabilities
On macOS, enumerate_devices() now populates supported_sample_rates,
max_sample_rate, device_bus, and is_hardware via CoreAudio probing.
create_output_stream() switches the device sample rate to match the
track before opening the CPAL stream.
2026-03-31 02:20:08 +02:00
Afonso Jorge Ramos c51f07fe65 feat(macos): add CoreAudio device probing and sample rate switching
Add coreaudio_direct module using coreaudio-rs safe wrappers for:
- Device capability probing (supported sample rates, transport type)
- Automatic sample rate switching per-track
- Device lookup by name for CoreAudio↔CPAL bridging

Uses a fork branch of coreaudio-rs that adds get_available_sample_rates
and get_device_transport_type helpers (PR RustAudio/coreaudio-rs#149).
2026-03-31 02:19:59 +02:00
Afonso Jorge Ramos 70c27f3772 fix(macos): log when DAC sample rate detection is skipped 2026-03-20 01:16:09 +01:00
Afonso Jorge Ramos ce33270535 refactor: gate KWin functions with cfg(target_os = "linux") 2026-03-20 01:15:52 +01:00
Afonso Jorge Ramos 379ba28cee refactor: simplify should_use_main_window_transparency 2026-03-20 01:15:28 +01:00
Afonso Jorge Ramos 6422ae8ff9 refactor: cache isMacOS at module scope in titleBarStore 2026-03-20 01:15:15 +01:00
Afonso Jorge Ramos 6017cc70de fix(macos): gate drag region to macOS only 2026-03-20 01:14:47 +01:00
Afonso Jorge Ramos 7dca962080 fix(macos): merge duplicate platform detection and remove non-passive wheel listener 2026-03-20 01:14:27 +01:00
Afonso Jorge Ramos ebe555b7ca fix(macos): make notification fire-and-forget 2026-03-20 01:14:08 +01:00
Afonso Jorge Ramos dad062d61b fix(audio): add docs and fix param names for non-Linux stubs 2026-03-20 01:13:55 +01:00
Afonso Jorge Ramos f854e09661 feat(audio): add SystemDefault variant to AudioBackendType 2026-03-20 01:13:29 +01:00
Afonso Jorge Ramos 77888fb310 fix: suppress unused_mut warning for cross-platform builder 2026-03-20 00:49:42 +01:00
Afonso Jorge Ramos 08367fe951 fix: convert 16-bit PNG icons to 8-bit for Tauri compatibility 2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos 00147dc7fb feat(macos): adapt frontend for native title bar
- Add macOS platform detection (html.macos class)
- Prevent pinch-to-zoom gestures in WKWebView
- Hide custom title bar on macOS (uses native overlay title bar)
- Add 32px top padding to sidebar for traffic light buttons
- Add drag region for window movement
2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos caffd7b56c feat(macos): enable private API and set minimum system version 2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos 3809a5cc67 feat(macos): add notify-rust dependency for desktop notifications 2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos dbfc5e3f89 feat(macos): gate Linux-only commands and configure macOS window
- Gate XDG/desktop handler commands with macOS fallbacks
- Gate KWin window rule functions and cleanup to Linux
- Gate Linux-only notification helpers and constants
- Force native decorations on macOS (fixes WKWebView event delivery)
- Use overlay title bar style with dark background color
- Add macOS notifications via notify-rust with bundle identifier
2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos 9bcf24131f feat(macos): gate network module and fix remaining souvlaki error formatting
Gate /proc/self/mountinfo parsing to Linux with empty fallback. Use
Debug formatting for remaining souvlaki errors not covered by 6261f312.
2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos 5ed549d46b feat(macos): gate Linux-only audio backends with cfg
Add #[cfg(target_os = "linux")] to pipewire_backend and pulse_backend
modules. Add CpalDefaultBackend for non-Linux platforms using CPAL
default host (CoreAudio on macOS). Gate reset_pipewire_clock() calls.
2026-03-20 00:45:03 +01:00