Running two or more WAVE processes

By specifying two or more record names, separated by `+' characters, in the command-line argument that follows `-r' (see above), you may open separate WAVE signal windows (processes) for each record. These processes are almost completely independent: from any signal window, you may navigate within the record, change display settings, edit annotations, run external analysis programs, quit the process, etc., without affecting any other signal windows.

For example, you may open two signal windows for the same record by:

   wave -r 100+100 -a atr
You can now move about the record freely in either window. This facility makes it easy to compare different segments of the record. Note that whenever two or more windows are displaying the same set of annotations, as in this case, only one should be editing the annotations at any given time.

The window associated with the last record named on the command line has a special status: it is designated the master signal window, and a \ovalbox{\rule[-.3mm]{0cm}{2.5mm}\small\sf ~Sync~} button appears at the top of this window. Clicking on \ovalbox{\rule[-.3mm]{0cm}{2.5mm}\small\sf ~Sync~} causes all of the other signal windows to be redrawn so that the times shown in their lower left corners match that in the master signal window. (Note, however, that if you have quit a signal window from the middle of the list, any signal windows from earlier in the list will no longer respond to sync requests.)

By default, all command-line arguments apply to all signal windows. You may specify an argument that is to apply to only one signal window, however, by prefixing the argument with `+n/', where n is the signal window number. (The first signal window, corresponding to the first record named on the command line, is signal window number 0; the next is number 1, etc.)

This facility has many applications. For example, you may wish to open two copies of the same record, with two different annotators:

   wave -r 100+100 -a +0/atr +1/qrs
In this case, record 100 is opened in two windows, with annotator atr in window 0 and annotator qrs in window 1. (The `-a' option applies to both windows since it does not have a `+n/' prefix.)

As another example, you may wish to discuss a record with colleagues at other locations:

   wave -r 200+200+200 -a qrs +0/-display +0/atlantic.bigu.edu:0 \
       +1/-display +1/pacific.widget.com:0
Here, record 200 is opened in three windows. Window 0 is opened on display 0 of atlantic.bigu.edu, window 1 on display 0 of pacific.widget.com, and window 3 (the master window) on the local display. (For this to work, your colleagues must first allow your computer to open windows on their displays, typically using xhost. See xview(7) for information about the -display option. Notice that the `+n/' prefix must be attached to both the -display option and to its argument in order to apply both of these arguments to the same signal window.) Your colleagues can freely move about the record, but you can direct the discussion at any time by using the \ovalbox{\rule[-.3mm]{0cm}{2.5mm}\small\sf ~Sync~} button in your signal window. In a case such as this one, anyone can enable editing; you should do so only after making sure that no one else has. Once you have saved your work (by selecting Save from the File menu), your changes become visible to your colleagues if they reload the annotations (by clicking on Reload from the Load window).

As a final example, the MIMIC Database includes both high-resolution waveform records and medium-resolution (roughly 1 sample per second) computed measurement records. You may view both of these at the same time using a command such as:

        wave -r 237+237n -a all
Typically, you will wish to view the high-resolution and low-resolution data at different time scales. Although WAVE attempts to choose reasonable defaults, you can adjust the scales independently if you wish:
        wave -r 237+237n -a all +1/-Vt +1/2

If you use wavescript or wave-remote to control the master signal window (this happens by default unless you use the -pid option of these programs to control a different signal window), the other signal windows are kept synchronized with the master window.

Note that you cannot increase the number of signal windows in a group once you have started a WAVE process group, although you can run more than one process group at a time if you wish.

George B. Moody (george@mit.edu)
2019-03-08