CastMember.h header
#include <ew/core/CastMember.h>
Namespace ew::core
CastMember struct
struct ew::core::CastMember
A character and the actor who voices them.
Held by the PROJECT rather than by each script, because a cast crosses every script a project contains: the actor voicing a character in episode one voices them in episode nine. Keeping a copy per script is how two scripts come to disagree about who plays whom, and the disagreement only surfaces at a recording session.
Members
ew::core::foundation::ContentId ew::core::voice::CastMember::characterId
The character, by entity id.
By id rather than by name, so renaming a character in the codex does not orphan their casting – the rule K2 set for variables and K4 follows for the same reason.
QString ew::core::voice::CastMember::actorName
The actor's name, as it should appear on a recording sheet.
Free text rather than another entity: an actor is a real person outside the fiction, and filing them in the codex would put them in the story's own index of people and places.
QString ew::core::voice::CastMember::contact
How to reach them – agent, email, studio. Free text, and often empty.
QString ew::core::voice::CastMember::voiceNote
Direction that applies to every line this character speaks ("dry, never shouts").
Functions
const CastMember * ew::core::voice::castFor(const std::vector< CastMember > &cast, ew::core::foundation::ContentId characterId)
The cast member for characterId in cast, or null when the character is not yet cast.
Not-yet-cast is the normal early state of a project rather than an error, which is why this answers with null instead of refusing.