ScreenplayReports.h header

#include <ew/app/ScreenplayReports.h>

Namespace ew::app

CharacterSummary struct

struct ew::app::CharacterSummary

A row of the character report: a speaking character and how much they say.

Members

QString ew::app::CharacterSummary::name

The character's name (as written in the cue).

int ew::app::CharacterSummary::lines = 0

The number of dialogue lines the character speaks (parentheticals excluded).

int ew::app::CharacterSummary::words = 0

The total number of words the character speaks.

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

Summaries compare equal when every field matches.

SceneSummary struct

struct ew::app::SceneSummary

A row of the scene report: a scene's sequential number, its heading (slug line), and how many dialogue lines it contains.

Members

int ew::app::SceneSummary::number = 0

1-based scene number, in script order.

QString ew::app::SceneSummary::heading

The scene heading text (e.g. "INT. HOUSE - DAY").

int ew::app::SceneSummary::dialogueLines = 0

The number of dialogue lines spoken in the scene.

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

Summaries compare equal when every field matches.

Functions

std::vector< CharacterSummary > ew::app::characterReport(const std::vector< ScreenplayElement > &elements)

Builds the character report for a parsed screenplay: one row per speaking character with their dialogue-line and word totals, sorted by line count (descending), then name.

std::vector< SceneSummary > ew::app::sceneReport(const std::vector< ScreenplayElement > &elements)

Builds the scene report for a parsed screenplay: one row per scene heading, numbered in script order, each counting the dialogue lines up to the next scene heading.