Hours' Psalm Specifications
Hour-level Psalm Specs is where the psalm world (Psalm, IPsalter, PsalmSpec) and the Antiphon world come together. Each office has a corresponding PsalmSpec class (e.g. PrimePsalmSpec) which incorporates a model of the content of the psalms portion of an office but can manage the formatting of those songs in terms of the relation between psalms and antiphon. There is a general interface defining the two ways in which psalms can be output: first, using a set of antiphons proper to the office; second, by using a set of antiphons for Lauds on that day. These will, naturally, have the same implementation for Lauds. class IOfficePsalmSpecSet { public: virtual ~IOfficePsalmSpecSet(); virtual void outputPsalms(const IEncapsulatedOfficeFormatter &inFormatter, const IAntiphons &inAntiphons, ...