feat(renaser): Fase 15 — la voz del sistema (acorde + eventos)
La bocina pertenecía al app enfocado (Fase 12), pero el kernel necesita hablar también. Ahora tiene voz propia, prioritaria. - `altavoz`: cola `SECUENCIA: Mutex<VecDeque<(u32,u32)>>` (freq, ms) + reloj `FIN_NOTA: AtomicU64`. `agendar(&[...])` encola; `atender()` (tarea del compositor cada fotograma) avanza la secuencia y silencia al acabar; `kernel_sonando()` gatea a los apps — mientras el kernel suena, `sys_tono` no-op. - Catálogo: VOZ_BIENVENIDA (Do5-Mi5-Sol5, 500 ms), VOZ_LANZAR (700→1050 Hz), VOZ_CERRAR (900→520 Hz), VOZ_DESALOJO (180 Hz). - Hitos: `kernel_main` agenda el acorde antes de `ejecutor.run`; `nacer_ventana` (Alt+N), `cerrar` (Alt+Q), `desalojar` (falla) agendan al hacer su trabajo. - De paso: las pestañas de la barra de tareas calculan su tinta por brillo del fondo (ITU-R BT.601); la pestaña crema del desalojo por memoria, que llevaba texto blanco invisible, ahora luce su nombre en tinta oscura. Verificado en QEMU con `-audiodev wav -machine pcspk-audiodev=spk`: el PCM crudo trae, en orden, el acorde de bienvenida (~520, 630, 760 Hz), un brevísimo 180 Hz (las balizas de discola/glotona desalojadas) y después la escala de Do mayor de tonada. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -255,6 +255,24 @@ silencioso. Los marcos para tablas intermedias salen del banco DMA. Esta
|
||||
mejora resolvió el #PF inexplicable en máquinas con un OVMF que coloca el BAR
|
||||
del virtio-blk fuera de los primeros 4 GiB.
|
||||
|
||||
## Fase 15 — la voz del sistema (completada)
|
||||
|
||||
La bocina pertenecía al app enfocado (Fase 12), pero el kernel necesita hablar
|
||||
también: un acorde al arrancar, un repique al lanzar una app, un bajo al
|
||||
desalojarla. Verificada en QEMU con captura PCM a WAV.
|
||||
|
||||
- `altavoz` gana una cola de notas (`SECUENCIA: Mutex<VecDeque<(u32,u32)>>`) y
|
||||
un reloj de fin (`FIN_NOTA: AtomicU64`). `agendar(&[(frec, ms)])` encola;
|
||||
`atender()` —invocada por la tarea del compositor cada fotograma— pasa a la
|
||||
nota siguiente cuando la actual termina. `kernel_sonando()` gatea a los apps:
|
||||
mientras el kernel habla, `sys_tono` ignora a las apps.
|
||||
- Catálogo: `VOZ_BIENVENIDA` (Do-Mi-Sol), `VOZ_LANZAR` (repique ascendente),
|
||||
`VOZ_CERRAR` (descendente), `VOZ_DESALOJO` (bajo grave).
|
||||
- Hitos: `kernel_main` agenda el acorde antes de `ejecutor.run`. `nacer_ventana`,
|
||||
`cerrar` y `desalojar` lo agendan al hacer su trabajo.
|
||||
- Pestañas de la barra de tareas: tinta calculada por brillo del fondo, así la
|
||||
pestaña crema del desalojo por memoria ya no lleva texto invisible.
|
||||
|
||||
Líneas abiertas posteriores: reciclado de las ranuras de ventana cerradas;
|
||||
audio con varias voces (PCM) más allá del tono único de la bocina.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user