Posts

Showing posts from July, 2023

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,                     ...