So to combine all that Christoph...

Stage 1: Allowing for polled and event-driven plug-in sound servers.

general abstract sound server portions
 |   |
 |   +-----> polled version of sound server
 |              |         |         |
 |            UNIX       SDL    leave in Win32?
 |
 +---------> event-driven version of sound server
                |                         |
             Win32-focussed        cross-platform


Stage 2: Abstracting song data parsing.

        --------------------
             song data
        --------------------
         |                |
         |                |
         v                v
    SCI0 song         SCI01 song
     decoder__       __decoder
     /   | \  --___-- /   |  \
    /    |   X--   --X__  |   \
   v    _|--   v    v   --|_   v
 Song<-- |       Song     | -->  Song
Target   |      Target    |     Target
MT-32    |        GM      |     Adlib
  \      |        |       |     /
   \     |        |       |   /
    v    v        v       v  v
 Song iterator object (returns time
 index, translated song data, cues,
     loop instructions, EOTs)


Hope I have all this right. Sounds nice too.

Alex.



Reply via email to