WaveWarp Users' Guide: last updated 28 February 2002
  

3.2-- The DirectX Input Port and Output Port Components |
 
|
To utilize the DirectX capabilities of WaveWarp is straightforward. Simply include a DirectX Input Port and/or a DirectX Output Port component on your DrawingBoard (as will be discussed later, this can be done automatically by converting any of your existing DrawingBoards). The screenshot in Figure 24 illustrates the "DirectXstereoWelcome.dwb" DrawingBoard which demonstrates the use of the DirectX ports in combination with a simple delay and mixer to produce a digital delay DirectX plugin (akin to the standalone project illustrated in the "Welcome.dwb" discussed earlier). The DirectX ports enable WaveWarp to communicate seamlessly with your DirectX-enabled audio editor/sequencer application. When the DirectX Input Port component is connected up on the DrawingBoard, WaveWarp will automatically use this port to retrieve the real-time audio stream "sent" from a DirectX host editor/sequencer application. Likewise, when the DirectX Output Port component is connected up on the DrawingBoard, WaveWarp will automatically use this port to "return" the processed real-time audio stream back to the DirectX host audio editor/sequencer application. Any WaveWarp component or combination of components may be connected between the DirectX Ports on the DrawingBoard, thereby enabling you to build an essentially unlimited assortment of DirectX plugins.

Figure 24 Example DrawingBoard ("DirectXstereoWelcome.dwb") which acts as a conventional ("two-way") DirectX plugin, i.e. takes data "sent" (via the DirectX Input Port) from an audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix), then "returns" the processed data (via the DirectX Output Port) to the an audio editor / sequencer.
Note: Unlike conventional DirectX plugins, WaveWarp does not restrict you to building only "two-way" DirectX plugins, i.e. plugins which take their data from an audio editor/ sequencer and return the processed data to the audio editor/ sequencer. You may build "one-way" plugins as follows:
1. using only a DirectX Input Port without a DirectX Output Port, WaveWarp will treat the audio editor/sequencer as any other audio source, taking the real-time data sent from the audio editor/sequencer and processing it locally on the DrawingBoard, without returning it to the audio editor/sequencer. As far as the output goes, the audio editor/sequencer "ignores" the plugin, and plays as if it were not present. The screenshot in Figure 25 illustrates this type of "one-way" DirectX plugin architecture.

Figure 25 Example DrawingBoard ("DirectXstereoOneWaySend.dwb") which acts as a "one-way" DirectX plugin, i.e. takes data "sent" (via the DirectX Input Port) from an audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix) WITHOUT "returning" the processed data to the audio editor / sequencer (here the processed data is simply displayed on the Audio Oscilloscope within WaveWarp rather than being sent back out).
2. using only a DirectX Output Port without a DirectX Input Port, WaveWarp will treat the audio editor/sequencer as any other audio output, sending the real-time data locally generated on the DrawingBoard to the audio editor/sequencer, ignoring the source data from the audio editor/sequencer. The screenshot in Figure 26 illustrates this other type of "one-way" DirectX plugin architecture.

Figure 26 Example DrawingBoard ("DirectXstereoOneWayReturn.dwb") which acts as the opposite class of "one-way" DirectX plugins, i.e. it generates data internally (in this case from the WAV file "Wavewarp.wav") WITHOUT retrieving it from the audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix), then sends it out to the audio editor / sequencer (via the DirectX Output Port).

   
|