Input, audio, media & services
Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit c1c316b9; unless a sentence says otherwise, nothing here was built or executed.
Input, audio, media and video, sensors, host devices, gamer services, storage, networking and avatars: contracts, lifecycles, platform differences and limits.
Pages in this group
- GamerServices behaviour contract — What CNA's GamerServices does with local offline profiles and with a configured CNA service: sign-in, configuration and credentials, the offline store, achievements, leaderboards, the Guide and the dispatcher.
- Network sessions and the SystemLink protocol — What each NetworkSessionType does in CNA, online sessions through the CNA service relay, the SystemLink wire and discovery protocols, the trust model, delivery guarantees, host migration and the evidence behind them.
- Avatars: the standard XNA avatar API on CNA's own avatars — How CNA's XNA avatar classes draw original CNA avatars on XNA's 71-bone rig: descriptions, the renderer, the 31 presets, catalogs and the editor, plus the separate SkinnedModelEXT extension and the evidence behind both.
- The input model: snapshots, keys, the mouse and logical coordinates — What Keyboard and Mouse GetState return and when, the Keys numbering and layout helpers, the mouse extensions and cursors, and how renderers map window pixels to logical coordinates.
- Gamepads, joysticks, haptics and host power — How CNA maps controllers to the four XNA slots, normalizes and dead-zones axes, what each GamePad extension does, and how the joystick, haptics, power and sensor classes of CNA::Input behave.
- Touch panel and gesture semantics — When CNA's touch state advances, which connected flag to trust, TouchCollection and TouchLocation contracts, gesture filtering, timestamps and the deliberate differences from FNA.
- Text input and IME composition — The exact TextInputEXT contract in CNA: committed text, IME composition and candidate events, the window-bound text mode, the input-type hint, composition placement and the clipboard classes.
- Sound effects, streaming, capture and the audio evidence — Caller-visible semantics of SoundEffect, 3D audio, XNB sound decoding, DynamicSoundEffectInstance buffer accounting and Microphone capture in CNA, and what the audio tests do and do not prove.
- XACT at run time: engine, banks, cues and their limits — The run-time contract of CNA's XACT classes: load failures, cue ownership and registration, AudioEngine::Update, variations, RPC curves, categories, instance limits, filters and wave banks.
- Songs, the media library and video: the public contract — The caller-visible contract of CNA's Song, MediaLibrary, MediaPlayer, visualization data and VideoPlayer, including where file extensions and decoders disagree and how video availability changed.
- Sensors and vibration: delivery, math and lifetime — Which thread delivers a CNA sensor reading and in which units, the Android compass and motion mathematics, the landscape remap, VibrateController semantics, the open Dispose(bool) defect and the evidence limits.
- Host devices: the optional CNA::Devices layer — The CNA_DEVICES build contract, what each CNA::Devices class really does, its platform reach, the overlap with CNA::Input, the camera polling model and the callback boundary callers must respect.