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.