home *** CD-ROM | disk | FTP | other *** search
- audio.c:
-
- InitAudio()
- InitAudioControl()
- AudioOpen()
- AudioReadState()
- AudioUpdatePanel()
- SigpollAsyncHandler() --- signal handling stuff (sun-related??)
- SigpollSyncHandler()
- AudioFlushClose()
- SetPlayGain()
-
- All of the above functions frequently uses the functions and variables
- <multimedia/libaudio.h>, <multimedia/audio_device.h> and
- <multimedia/ulaw2linear.h>
-
-
- canvas.c
-
- InitWaveCanvas() --- it uses the DEVICE_SAMPLE_RATE to determine
- DefaultWaveCanvasDataSamplingInterval
- InitWaveCanvasScrollbar() --- initializes the WaveCanvasScrollbarHandler.
- DisplayVUMeter() --- uses the sound Buffer data structure to store data_size.
- Calls audio_u2c().
- UpdateVUMeter() --- this also uses the Buffer data structure to store data_size
- as well as storing the start and end byte number of the
- soundfile.
- Calls audio_u2s()
- ResetWaveCanvasMarkers() --- uses the Buffer data structure to store
- start and end byte number of the sound data.
- ClearAllSound() --- Buffer.filename.
- CenterWaveCanvasHighlightedSegment() --- uses DEVICE_SAMPLE_RATE.
-
-
- buffer.c:
-
- InitBuffer() --- uses fields like data, hdr etc.
- AllocBuffer() --- allocate buffer size.
- FileUpdate() --- uses Buffer.play.io_position and Buffer.play.start.
- ReadSoundFile() --- lots of things dealing with the buffer.
- GetFileData() --- depends on the format of the sound file i.e must contain a file
- header and then data.
-
-
-
- Comments: At this time, I think it might be hard to put the sun-specific
- stuff into one file, simply because they are spread all over
- the place. Just by looking at audio.c, canvas.c and buffer.c,
- we can see that these sun-specific code is referenced in
- all the places. By sun-specific code I mean the data-structures
- and library functions which are defined in sun audio packages.
- For example, the audio_hdr structure is defined in the
- sun library, so any other workstation companies who would
- like to incorporate this audio code, the first thing
- they need is to take care of the sun-specific data-structure
- ie, hdr + data.
-
- If we eliminate the concern about these data structures,
- then I think the code is relatively easy to be broken down.
- Only audio.c, canvas.c, save.c, uses sun library functions
- (not data structure....)
-
- Perhaps what we can do is simply give a guide of exactly
- what people should do to make DTR work on their workstation.
- ie. build another package which "translates" the sun
- specific audio stuff into workstation-A specific stuff.
-
-