Sonic Flow
A Program for the Design and Simulation of
Audio Signal Processing Networks
Graphical User Interface
This page is intented for the illustration of what Sonic Flow is about.
This page contains a proposal and an
initial list of requirements for a graphical user interface
(GUI) to the Sonic Flow library.
NOTE: the Sonic Flow project (of Seppänen and
Kananoja) doesn't currently plan to implement a GUI.
Screenshots
An informal example of the network editing window
(network.xcf):
The toolbox window
(toolbox.xcf):
Requirements
Actions
- add new blocks (from a "block library")
- delete existing blocks
- browse a hierarchic library of blocks
- create a new network (a window)
- one graphical window contains one network (see the above screenshot)
- delete (close) an existing network (window)
- Open/Save/Save As a network from/to disk
- the layout of the network must be saved as well as the logical connections
(topology)
- move blocks around on the screen
- the wires connected to the block must move along with the block
- change the name and other parameters of blocks: a parameter dialog window
is needed. The window would open e.g. by doubleclicking the left mouse
button on top of the block or pressing the right mouse button down on top
of the block and selecting "Properties..." from a menu.
- make connections (wires) between blocks
- remove connections (wires) between blocks
- start/stop the simulation of the network
- have a progress indicator for the (asynchronous) simulation
- select a number of blocks
- copy/cut/paste selected blocks (and the wires in between)
- catch the exceptions from the library and display error/warning dialogs
of them
- there may be edges in wires
- blocks are represented as rectangles
- the rectangle contains the name of the block (alternatively a graphical
icon) and graphical symbols for the input and output terminals
- names of all blocks have the same text font and text size
- all terminal names have the same text font and text size
- there is a separate tool for adding the wires
- so there must be a separate tool for the other operations (moving etc.)
- input terminals are mainly on the top and left sides of the block
rectangle
- output terminals are mainly on the right and bottom sides of the block
rectangle
- the terminals are represented with a graphical symbol
- the terminal names are displayed in a `tooltip' when the user moves the
mouse pointer on top of the graphical symbol of a terminal
- blocks may not overlap
- the color of the window background may be changed
- the color of the block rectangle background may be changed
Menu hierarchy
File | Edit | Network | Block |
New Ctl+N | Cut Ctl+X | Start simulation | Add |
Open Ctl+O | Copy Ctl+C | Stop simulation | Remove |
Save As... | Paste Ctl+V | Combine | |
Save Ctl+S | | Break apart | |
Close Ctl+W | | | |
Preferences... | | | |
Quit Ctl+Q | | | |
Sonic Flow
http://sonicflow.sourceforge.net/gui/
Last modified: Tue Dec 15 10:40:20 1998
jams@users.sourceforge.net