\"  iintrod.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994 1995, Mountain Math Software. All rights reserved.
\"  
\"  This file is part of ObjectProDSP, a tool for Digital Signal
\"  Processing design, development and implementation. It is free
\"  software provided you use and distribute it under the terms of
\"  version 2 of the GNU General Public License as published
\"  by the Free Software Foundation. You may NOT distribute it or
\"  works derived from it or code that it generates under ANY
\"  OTHER terms.  In particular NONE of the ObjectProDSP system is
\"  licensed for use under the GNU General Public LIBRARY License.
\"  Mountain Math Software plans to offer a commercial version of
\"  ObjectProDSP for a fee. That version will allow redistribution
\"  of generated code under standard commercial terms.
\"  
\"  This program is distributed in the hope that it will be useful,
\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\"  GNU General Public License for more details.
\"  
\"  You should have received a copy of version 2 of the GNU General
\"  Public License along with this program. See file COPYING. If not
\"  or if you wish information on commercial versions and licensing
\"  write Mountain Math Software, P. O. Box 2124, Saratoga, CA 95070,
\"  USA, or send us e-mail at: support@mtnmath.com.
\"  
\"  You may also obtain the GNU General Public License by writing the
\"  Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
\"  USA.  However if you received a copy of this program without the
\"  file COPYING or without a copyright notice attached to all text
\"  files, libraries and executables please inform Mountain Math Software.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
\" THIS FILE IS CREATED AUTOMATICALLY. DO NOT EDIT.
\"  intro.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software. All rights reserved.
\"  
\"  This file is part of ObjectProDSP, a tool for Digital Signal
\"  Processing design, development and implementation. It is free
\"  software provided you use and distribute it under the terms of
\"  version 2 of the GNU General Public License as published
\"  by the Free Software Foundation. You may NOT distribute it or
\"  works derived from it or code that it generates under ANY
\"  OTHER terms.  In particular NONE of the ObjectProDSP system is
\"  licensed for use under the GNU General Public LIBRARY License.
\"  Mountain Math Software plans to offer a commercial version of
\"  ObjectProDSP for a fee. That version will allow redistribution
\"  of generated code under standard commercial terms.
\"  
\"  This program is distributed in the hope that it will be useful,
\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\"  GNU General Public License for more details.
\"  
\"  You should have received a copy of version 2 of the GNU General
\"  Public License along with this program. See file COPYING. If not
\"  or if you wish information on commercial versions and licensing
\"  write Mountain Math Software, P. O. Box 2124, Saratoga, CA 95070,
\"  USA, or send us e-mail at: support@mtnmath.com.
\"  
\"  You may also obtain the GNU General Public License by writing the
\"  Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
\"  USA.  However if you received a copy of this program without the
\"  file COPYING or without a copyright notice attached to all text
\"  files, libraries and executables please inform Mountain Math Software.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1 "Introduction to ObjectProDSP"
\".LINE \label{Sec:Introduction}

ObjectProDSP is an object oriented
tool for Digital Signal Processing (DSP) design analysis and implementation.
You can graphically define
a DSP network, provide test signals and view the output.

You can generate a stand alone C++ program
that performs the functions of this network and link this program
into your DSP application. 

With the source code distribution you can define
your own DSP nodes or other interactive objects.

The interface is designed to be self teaching.
Access to most functions is through a menu data base.
Instructions for each window and the most
important functions in a window are available in pull down menus.

ObjectProDSP runs as two Unix processes: user interface and
DSP execution. You can interrogate
the menu data base, manipulate data plots and perform other operations
in parallel with DSP execution.

.H 2 "It is easy to create and edit a DSP network"

To get a quick idea of what you can do with ObjectProDSP select
`help' (this is already selected when ObjectProDSP starts execution)
`examples', `fft' and `execute' by clicking the left mouse
button over the push buttons in the menu data base. A window
with a DSP network and three windows of plotted output will
appear.  Select the plot labeled `FFT_Plt_plot_of_FFT_FFT' and type
`ctrl-b' (hold the `ctrl' key down and type `b').
A new window will appear with the same data on a decibel power scale.

To add a fourth plot of the input data to the FFT do the following.
Select `objects' and `plot' from the menu data base.
Then hold the shift key down and click the left mouse button with the
cursor over the `Plot' button.
An unlinked plot node will appear in
the network window. Hold the shift key down while clicking the
right mouse button over the node labeled `FFT_Sum' in the network
window. The selected node will
be highlighted and a message will appear in the information window
saying: Linking output buffer on output channel 0 in node `FFT_Sum'.
Hold the shift key down and click the left mouse button over the
unlinked plot node in the network. The plot node will be linked
into the network at the point you selected.

To execute the edited network select `database' and `network' from the
menu bar in the network window.
A separate window with commands for controlling the network
will appear. Select `exec' and `Execute'. You will be prompted for the
number of input samples to generate. Type RETURN to select the default.
A new window will appear with the plot of the FFT input data and
the other plots will be updated with the new data you generated.

.H 2 "The main window"

ObjectProDSP starts with two windows. The `information' window
displays help for most operations. It is frequently updated.

The main window contains four
parts. At the top are pull down menus that control and document the
window. Next is a section for entry of DSP++ language
statements. ObjectProDSP signal processing operations are defined in
C++ using classes and member functions. This internal
DSP extension of C++ is called DSP++.
Most often DSP++ statements are generated by menu
selections or by graphically editing a network. You can enter statements
directly by selecting the highlighted line at the bottom of this section
and typing language statements. For example you can enter
\".LINE \verb"double A = (Pi+3.5)/4;"
`double A = (Pi+3.5)/4;'.
Statements are scrolled
up in this section as are messages related to execution of these
statements. The history of all text in this window
is available through the `create DSP++ history window' option under the
`Data base' pull down menu.

The next section in the main window
contains a record of up to the last three commands executed
from the menu data base and messages related to command execution.
The history of all text in this window
is available through the `create command history window' option under the
`Data base' pull down menu.
You can enter commands
directly in the highlighted line in this section. Commands will first
be searched for in the visible menu data base buttons and then
the full data base
will be searched. If you enter a valid unique command the corresponding
command will be
executed. A command that selects a menu and is not on
the visible data base buttons
will cause the selected menu to appear in
a separate window. For example
if you type `CxFFT' the menu for that class will appear in a window.

To directly enter DSP++ statements or menu commands
use the pull down menu
`select' or click the left mouse in the text entry area. To return
keyboard input to menu shortcut keys type the `escape' key.

The last section of the main window 
provide push button access to the menu data base.
From this data base you can control most
ObjectProDSP functions. 

.H 2 "Windows management"

It is easy to create many windows. There are some facilities
for managing windows.
You can delete some windows (type `ctrl-shift delete'),
but not any windows containing network output.
You can `raise' windows (make them appear above any overlapping windows)
with options in the network window pull down menus and the menu data base.
This can be helpful in locating the window output form a particular node.
For example to raise a plot or listing node position the mouse over the
plot node in the network window and type upper case `W' (shift-W).


\"  mmenu_codes.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1 "Pull down menu codes"

The most important commands for most windows are
documented and available in the menu bars
at the top of the window.
There is a simple coding scheme
for shortcut keystrokes and mouse shortcuts.
Mouse shortcuts (if available) are in square brackets `[ ]'.
Keyboard shortcuts are in round brackets `( )'.
Keyboard shortcuts are denoted as a single character like `(p)' for 
lower case `p' or a word that designates the key like `(space)' for the
space bar. A key can be modified with the shift or control keys.
`(shift-space)' means hold the shift key down and press the space bar.
For the most part you can enter shortcut keys whenever the window is selected
and the cursor positioned within it. However there are some `dead spots'
in some windows. If you find that shortcut keys are having no effect
move the cursor around. Known dead spots are in blank space in the right
part of network displays and in the transition between sections
in the main menu. Short cut keys will not work in the main menu
if you have selected keyboard entry for one of the two text areas.
Type `escape' to return to short cut keys in the main window.

Mouse buttons are
denoted as `[L]' (left), `[M]' (middle) and `[R]' (right). Most mouse actions
occur when the button is released. Any that occurs when a button is
pressed are preceded by the letter D.
Mouse buttons are modified with either or both of the shift and
control keys. [ctrl-L] means hold the control key down while
pressing and releasing the left button.
`shift' is generally used for commands related to editing
networks and  `ctrl' for commands to access the menu database.

.H 1 "Moving though a help window"

Help windows, pop up windows and the information window
are the only ones that do not have
a menu bar at the top to document their use.
In addition to using the scroll bar you
can use the following keys to move through the help and information
windows:
page up, page down, home (beginning of file), end, up arrow,
down arrow. You can
delete a help window by typing `ctrl-shift-delete'.


\"  mmenu_database.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1 "The menu data base"

The two or three rows of buttons in the lower part of the main window
provide access to the menu data base.
Most functions are available in this data base.  Objects you
create interactively are added to it.
Documentation is integrated at three levels.
Moving the mouse over a button produces a brief description
above the button. Pressing the left or right mouse button while
the cursor is over a selection
usually displays a
more complete description of the selection in the information window.
Some selections have an associated help file. Clicking the right mouse
button will display this file in a new window.

The information window contents is frequently updated.
Usually any information that you might want to reference later is also
scrolled into the DSP++ command history. If you want to preserve something
in the information window that has not been scrolled 
use the `append information window to DSP++ history option' under the
`Data base' menu.

You can `peel off' lines of the help data base
menu to appear in a separate window. Hold the control key down and
select the menu with the left mouse button. If the selection is
a menu then that menu will appear in a separate window otherwise 
the menu that contains this selection will appear.
There are never more than three
rows of buttons displayed in the main window. If you go deeper 
only the top level and the deepest two levels will
be displayed. Database menus in a separate window
display as many levels as you select
up to the height of the screen.

A menu data base button
is selected when you release the left mouse button
(or type RETURN) with the cursor
positioned inside the button.
Buttons that execute commands are in boldface.
Other buttons select new menus.

Commands can be entered directly in the lower highlighted area of
the main window. Just click the mouse in this area and type the command.
First the visible commands will be searched and then the entire data base.
Menus selected in this way are `peeled off' into a separate window
if the selection is not 
among the displayed buttons.
Type the `escape' key to stop entering commands
and return input to pull down menu shortcut keys.



\"  mmenu_editing.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1 "Editing a DSP network"

The menu database provides information
about nodes and networks.
A button in the database labeled with a node class name
(select `objects' and then `dsp processing' to see the processing
node classes) allows you to add an instance of this class
to a network.
If no network is being edited a new network will
be created.  You can
select the default parameters of the node or you can be prompted
for each parameter. The pull down menu `Edit and control' shows how to do this.
The help files in the
network editing window tell you how to edit an existing network.
To create a network editing window hold the shift key down
and press the left mouse button
selecting any class (`other' is not a class)
under the `dsp processing' menu. This will create a new network
window with an instance of the selected object.
\"  aabort.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1  "Aborting commands and deleting windows"

You can abort commands which prompt you for input by typing  the `escape'
key. You can abort the current DSP command by
selecting `abort' from the `state' menu.
You can delete `help', `information'  and `menu' windows by selecting
the window to be deleted
and typing `delete' while holding the control and shift keys down.


\"  ssave_win.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  
.H 1 "Saving window and display images"

You can save any window (except pop up windows) and the entire
X-window display to a disk file. This file can be viewed using
`xwud' or converted to postscript format for printing with `xpr'.
The window save commands use the utility `$OPD_X_BIN/xwd'.
This is assumed to be in directory `$OPD_X_BIN' (which defaults
to `/usr/bin/X11' if `OPD_X_BIN' is not defined in the environment).
If that program is not at that location no files will be generated.

To save the current window type `ctrl-shift-*'. To save the current
window without first raising it above overlapping windows type
`ctrl-shift-&'. These commands are accessible in the pull down menus
in the main window under `Edit and control'. The first of these commands
is in the pull down menus for the network and plot menus.
Both commands work for
all windows. The save window commands are among the few commands not
accessible through the menu data base.

To save the entire display type `ctrl-shift-^' in the main window.
\"  intro_end.roff from ObjectProDSP 0.2
\"  Copyright (C) 1994, Mountain Math Software, All rights reserved.
\"  Licensed for free use and distribution under version 2 of the Gnu General
\"  Public License. Please see file COPYING for details and restrictions.
\"  
\"  ObjectProDSP is a trademark of Mountain Math Software.
\"  

