sc_audio_v1.play_once
Submit one fire-and-forget trigger request; no playback token, no audible-output or completion guarantee, no stop.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, uint64_t)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_audio_v1.play_once |
| Record ID | sc-audio-v1-play-once |
| Service | game.audio |
| Table | sc_audio_v1 |
| Version macro | SC_AUDIO_VERSION_1_1 |
| Packed table version | 65537 |
| Since / availability | size >= 40; 1.1 |
| Complete member extent (x64 bytes) | 40 |
| Table size (x64 bytes) | 40 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*play_once)(sco_plugin* self, uint64_t trigger);
Submit one fire-and-forget trigger request; no playback token, no audible-output or completion guarantee, no stop.
Results and failures
Section titled “Results and failures”OK accepted submission only; BAD_ARG invalid owner/input; WRONG_THREAD; NOT_FOUND unknown/stale/wrong-kind trigger; FAILED foreign owner, backend refusal or recursion; CRASHED backend fault (play_once then OFF until restart); UNAVAILABLE unbound, revoked, stopped, restart-required, a 1.0-sized table, or owner released during an accepted call (no rollback, do not retry).
Absent capability
Section titled “Absent capability”game.audio.play_once OFF without a bound host provider; independent of game.audio.triggers; no native backend, not run in game.
Ownership
Section titled “Ownership”Live caller owns the trigger token from resolve. No playback token is issued; no native pointers or cross-boundary allocation.
Thread affinity
Section titled “Thread affinity”Game thread only.
Callback context
Section titled “Callback context”No plugin callbacks. Host backend synchronous, bounded and nonthrowing.
Reentrancy
Section titled “Reentrancy”Recursive operations fail with FAILED; owner release during backend call drains cleanup on return.
Cleanup and cancellation
Section titled “Cleanup and cancellation”Nothing to clean up per call: no playback is tracked. Owner unload needs no stop; an accepted submission cannot be cancelled.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sc_audio.h(*play_once) |
| cpp | typed-wrapper | include/scosdk/game/audio.hpptable_->play_once( |
| csharp | unsupported | docs/game/audio.mdunsupported |
| lua | unsupported | docs/game/audio.mdunsupported |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
ABI pins prove layout, not semantic behavior or a live game session.