335 Commits

Author SHA1 Message Date
Christina Ying Wang 61e1c6e189 Prevent system/display sleep while Radiance is running
Uses the keepawake crate to prevent both display and system idle sleep
for the lifetime of the app.

Change-type: patch
Signed-off-by: Christina Ying Wang <cywang117@outlook.com>
2026-02-12 10:35:15 -08:00
Christina Ying Wang b3747b4bf9 Add audio input device selector
Add a ComboBox in the top bar to select the audio input device at
runtime. Users with USB audio interfaces or multiple input devices
can now switch without changing their OS default prior to launching the app.

- Add selected_device_name field and switch_device()/
  available_input_devices()/selected_device_name() methods to Mir
- Refactor audio_input() to accept an optional device name
- Add "Audio input:" ComboBox in the top bar after latency compensation
- Cache the device list to avoid per-frame CoreAudio enumeration,
  refresh on ComboBox click to pick up newly connected devices

Signed-off-by: Christina Ying Wang <cywang117@outlook.com>
2026-02-10 21:09:22 -08:00
Christina Ying Wang 83af607354 Support multi-channel audio input devices
Replace the hardcoded 1/2-channel match arms with a generic N-channel
mixdown to mono, allowing devices like the Scarlett 2i2 (which reports
4 input channels) to work. Also silence the noisy "buffer full" log
message which fires every time the audio callback outpaces UI polling.
This log is expected and harmless

Signed-off-by: Christina Ying Wang <cywang117@outlook.com>
2026-02-10 21:08:45 -08:00
Christina Ying Wang c5ee5bad20 Upgrade cpal to 0.17.1, fix cfg guards for mpv feature
cpal 0.17.0 fixes CoreAudio segfaults when enumerating devices on
macOS, which caused crashes on systems with certain audio interfaces
(e.g. Scarlett 2i2). Also adapts to API changes: SampleRate is now a
u32 type alias instead of a tuple struct.

Adds missing #[cfg(feature = "mpv")] guards in library.rs so the
project can compile with --no-default-features.

Signed-off-by: Christina Ying Wang <cywang117@outlook.com>
2026-02-10 21:07:54 -08:00
Eric Van Albert 032223c056 Don't use exclusive mode on MacOS--it doesn't play nice with having the UI continue to run 2025-12-18 22:28:05 -05:00
Eric Van Albert 0b6db35b8b Only use can_draw on Linux 2025-12-18 22:03:06 -05:00
Eric Van Albert b3defdf8e3 More windows fixes: ignore can_draw in winit_output too 2025-12-18 21:46:58 -05:00
Eric Van Albert 82e2225fea more windows fixes :/ 2025-12-17 18:42:41 -05:00
Eric Van Albert a5cac90ac1 More windows fixes 2025-12-17 18:18:47 -05:00
Eric Van Albert 2e3dbf2637 Don't use exclusive on windows because winit stops rendering 2025-12-17 18:11:04 -05:00
Eric Van Albert 245a966861 Windows fixes 2025-12-17 18:03:20 -05:00
Eric Van Albert 6bb6fc56e4 Don't select custom library items if there is a matching non-custom one 2025-12-17 16:26:51 -05:00
Eric Van Albert 4986af64a1 Add 'Open library' button 2025-12-17 00:32:49 -05:00
Eric Van Albert 3280b96ade Add disconnected drop target below tiles 2025-12-16 22:45:22 -05:00
Eric Van Albert 7190a51a99 Don't consume scroll if no tiles in selection did anything with it 2025-12-16 22:17:45 -05:00
Eric Van Albert 740b55f44b Try to avoid having to request audio permission so many times 2025-12-16 21:05:31 -05:00
Eric Van Albert 431b4ce21d Add additional search paths for yt-dl on MacOS 2025-12-16 20:57:46 -05:00
Eric Van Albert f8bbc0d8ee Minor MacOS fixes 2025-12-15 23:27:16 -05:00
Eric Van Albert 80d4d13700 Small fixes for MacOS 2025-12-15 22:57:46 -05:00
Eric Van Albert 23e19e77aa Fix some more SRGB colors 2025-12-15 21:36:28 -05:00
Eric Van Albert 9f92a9e5fd Fix some srgb & premultiplied alpha bugs 2025-12-15 21:23:08 -05:00
Eric Van Albert bf6e1570a2 Add library toggle button 2025-12-15 15:32:13 -05:00
Eric Van Albert d15e7364e6 Add library 2025-12-15 15:06:27 -05:00
Eric Van Albert 0f59ab70fe Factor out library UI widget 2025-12-14 14:32:10 -05:00
Eric Van Albert 80ecce5850 Animate mosaic size changes for smoother insertion/deletion 2025-12-12 19:17:08 -05:00
Eric Van Albert fdc6d034d3 make dragging the auto-DJ easier by automatically selecting new nodes that are surrounded by the existing selection 2025-12-12 18:39:07 -05:00
Eric Van Albert 355452a996 tweaks to tiles (size, text) 2025-12-12 17:00:37 -05:00
Eric Van Albert 78e328e29c Fix scrollarea animation & other jank 2025-12-12 16:02:17 -05:00
Eric Van Albert c269e09bc3 Make mosaic scrollable (a little janky due to animation) 2025-12-11 20:51:11 -05:00
Eric Van Albert 6b69557801 Prevent segfault on exit 2025-12-11 16:09:42 -05:00
Eric Van Albert d4f45b279f Fix up MovieNode & expand its capabilities (webcams, etc. via config files) 2025-12-11 16:00:27 -05:00
Eric Van Albert 9ce22a0e4a Fix identity property of yuvrot 2025-12-11 13:30:11 -05:00
Eric Van Albert 5d8bfa3803 Get opacity for UI BG working 2025-12-11 12:07:22 -05:00
Eric Van Albert 5879d21a70 Factor out UIBG 2025-12-11 11:09:50 -05:00
Eric Van Albert bbabd8515b Add UI BG node and fix sRGB compositing issues 2025-12-10 16:19:34 -05:00
Eric Van Albert 8e785f7ef2 Output to UI background (WIP) 2025-12-10 12:14:06 -05:00
Eric Van Albert 53e804488e Set intensity with number keys 2025-12-07 13:56:58 -05:00
Eric Van Albert 638371f946 put builtin effects in their own directory, and start timebase immediately upon load 2025-12-07 13:30:49 -05:00
Eric Van Albert 690eedf707 Fix screen output painting 2025-12-06 18:39:41 -05:00
Eric Van Albert 8381b18364 Fix egui text rendering glitches 2025-12-06 16:46:01 -05:00
Eric Van Albert 3372a03048 Fix issue where rendering would stop or stutter if windows were occluded 2025-12-06 16:07:02 -05:00
Eric Van Albert 21c96607f1 Move radiance frame pumping from RequestRedraw to about_to_wait 2025-12-06 14:39:33 -05:00
Eric Van Albert d891a3f020 switch away from eframe to get tighter winit integration 2025-12-05 16:53:55 -05:00
Eric Van Albert 2eb7c64006 Update winit_output to support latest winit + wgpu 2025-12-05 14:47:05 -05:00
Eric Van Albert 742ecfdfce Accept F32 for audio input format (MacOS only does F32 it seems) 2025-12-04 14:15:36 -05:00
Eric Van Albert c2f85173e3 Start audio stream--fixes audio input on windows 2025-12-03 17:49:41 -05:00
Eric Van Albert 20e1f74b2f Add compilation of all built-in effect node shaders to build.rs 2025-11-28 14:11:08 -05:00
Eric Van Albert cb6179318e declare_surfman for MSVC compatibility 2025-11-05 16:32:03 -05:00
Eric Van Albert fe83e32ff3 Make mpv optional, make sound input optional 2025-10-30 14:09:39 -04:00
Eric Van Albert 9b380b4572 Fix MovieNode 2025-10-29 21:57:17 -04:00