- Rough GUI
The initial GUI was layed out using CSplitterWnds and three stub views.
The CClipView, CSegmentView, and CAudioView were created as generic CView
objects that were place holders for later work.
- Simple project I/O
The project needs to store several CDocuments into a single CDocument class.
The overly complicated OLE architecture allows for compound CDocument files but
does it in such a byzantine fashion that a custom approach is almost always better.
The CVoiceOverDoc handles the individual serialization of each sub-document. The
sub-documents are owned by each CClipView, CAudioView, and CSegmentView. Their
associated documents, CClipDoc, CAudioDoc, and CSegmentDoc, are contained by the
- Inter-module hint handling
The CAudioView and CClipView need to communicate with each other to coordinate
clip recording and playback. As a general approach to allow all views to talk
with each other, hint handling was implemented in the CVoiceOverDoc. Each view
can easily get a pointer to the CVoiceOverDoc for the project (there's only one).
The hints are standardized integer values and allow for a void pointer as an