ScreenplayBreakdown.h header

#include <ew/app/ScreenplayBreakdown.h>

Namespace ew::app

SceneBreakdown struct

struct ew::app::SceneBreakdown

The production breakdown of one scene: its slug parsed into environment, location, and time, plus the cast that appears (speaking characters, in first-appearance order).

Members

int ew::app::SceneBreakdown::number = 0

1-based scene number, in script order.

QString ew::app::SceneBreakdown::heading

The full scene heading (slug line).

QString ew::app::SceneBreakdown::location

The location (the setting portion of the slug, between the INT./EXT. prefix and the time).

SceneEnvironment ew::app::SceneBreakdown::environment =

Interior, exterior, both, or unknown.

SceneTime ew::app::SceneBreakdown::time =

Day, night, other, or unknown.

std::vector<QString> ew::app::SceneBreakdown::cast

The characters who speak in the scene, in first-appearance order, deduplicated.

bool operator==(const SceneBreakdown &, const SceneBreakdown &)=default

Breakdowns compare equal when every field matches.

Enumerations

enum class SceneEnvironment { Interior, Exterior, Mixed, Unknown }

Where a scene takes place relative to a building – the INT./EXT. axis of a slug line. Drives a stripboard's colour and a production's day/night interior/exterior scheduling.

enum class SceneTime { Day, Night, Other, Unknown }

The time-of-day a scene plays at, taken from the tail of the slug line.

Functions

QString ew::app::sceneEnvironmentLabel(SceneEnvironment environment)

A short label for environment ("INT", "EXT", "INT/EXT", or "" for unknown).

QString ew::app::sceneTimeLabel(SceneTime time)

A short label for time ("Day", "Night", "Other", or "" for unknown).

std::vector< SceneBreakdown > ew::app::screenplayBreakdown(const std::vector< ScreenplayElement > &elements)

Builds a production breakdown for a parsed screenplay: one entry per scene, with its slug parsed into environment/location/time and its appearing cast collected from the character cues between that scene heading and the next.