ABox Help Basics Objects Signals Tutorials

The Basics

   The concept of ABox is to create a circuit by selecting objects from the object menu, placing them on the workspace, then connecting them by hooking pins together.

Pieces of ABox

The Workspace:
   Left clicking and dragging on the workspace will move the screen.
   Right clicking will call up a context menu.

Hovering:
   ABox uses hovering to indicate what is being controlled. This appears as a thick line around an item when the mouse is over it. The default hover color is pure blue, but this may be changed via the settings panel. Objects and pins are hovered seperately.
   Objects with controls have a seperate inner hover.
   Hovered items also recieve keystrokes. Most objects have a complete set of hot-keys. See Objects for details.

Workspace Modes:
   There are two workspace modes, each having a different background color.
   Switch between modes using the tab key, a popup menu, or the shift key.
   Mouse operation and File Dropping operate differently for the two modes.

Normal mode:

  • Light Gray by default.
  • Right clicking on the workspace will call up the create menu.
  • Objects and pins are hovered as soon as the mouse is over the item.
  • Left clicking and dragging an object will move the object.
  • Objects that have controls may be adjusted with the left mouse button.
  • Right clicking an object will call up it's menu.
  • Objects with hot-keys will accept them.
  • Left clicking and dragginng a pin will start a connection.
  • Right clicking a pin will call up the bus menu.
  • Dropping a file on the workspace is the same using the File Open command.
  • The Edit menu is disabled.

Select mode:

  • Dark Gray by default.
  • Objects are selected by left clicking. There is no mouse over hovering.
  • To deselect, left click again, the hover goes off.
  • Multiple objects may be selected.
  • To quickly select many objects, hold the shift key and move the mouse over the objects.
  • To deselect all the objects, press tab two times.
  • Left clicking and dragging an object will move ALL selected objects.
  • Right clicking will call up the edit menu.
  • Copy, Cut and Paste operations are enabled.
  • Dropping a file on the workspace is the same as the Edit Paste File command.

Objects:
   ABox objects come in many forms, each performing a specific function. An object will recieve data at its input pins, transform it, and present the new data at it's output pins. Some objects don't require input, others don't produce output. See Objects for details.
   Objects are displayed as large icons, giving a schematic representation of what the object does. Some objects (eg. the Math object) will change icons to indicate the function they are set to perform.
   Objects are created with the create menu.

   All objects have popup menu's, which are accessed by right clicking on the object's icon. The menu shows the current mode and lists the hot-keys the object accepts. Some object don't have any special modes, the delete command is all that appears.

   Objects that are not connected, don't do anything. Many objects have pins that a require a connection. If these pins are not connected, the object does nothing.

See Objects for complete descriptions.

The Create Menu:
The Create Menu    Right clicking on the workspace will call up the create menu. Press the appropriate button to create the desired object.

This is functionaly equivalent to the Object Menu.

Devices:
   To be able to play a circuit, it must contain at least one "device". There are two kinds of devices, Realtime and Virtual.

   Realtime devices are objects that depend on hardware inside the PC. Examples are the WaveOut and WaveIn objects that use the sound card. ABox will only allow one of these objects per physical device. Unless the PC has multiple sound cards, a circuit may contain only one WaveOut object.

   Virtual devices are emulated in software. These include the Oscilloscope, Spectrum Analyzer and File Object. ABox will allow more than one of these in a circuit.

Pins:
   Objects interact by transferring data via pins.
Pins are displayed as triangles with a letter in them.
Hovering the object will show the object's unused pins.
Right clicking on a pin will call up the bus menu.
Connecting and unconnecting pins may result in transients.

There are two kinds of pins: Input and Output.

   Input pins recieve data and always point into the object.

   Output pins broadcast data and always point away from the object.

   Input pins can only be connected to output pins. Conversly, output pins may only be connected to input pins.
   Objects may not be connected to themselves without first going through another object.
   Pins are allowed only one connection each.

Connecting Pins:
Connect step #1    Left click on an unused pin. It will turn green if it is available for connecting.
Connect step #2    With the left button still down, move the mouse to another pin on a different object. Invalid connections turn red.
Connect step #3    Assuming both pins are green, let up on the mouse.
Connect step #4    Both pins will jump out of their objects and appear as a double ended arrow, indicating the direction of signal flow.

   When moving object's, the triangles will try to point at their parking spot.

Unconnecting Pins:
Hover the pin, and press the delete key.
-or-
Right click on the pin to call up the bus menu, then choose Unconnect.

Transients:
   Making or breaking connections while a circuit is playing, may result in a sharp change in signal. This is known as a transient. Often these go unnoticed, unless the connection is in-line with an audio device. Special care should be taken at high volume through a SPDF port.

Pin Letters:
   The pin's letter represents what sort of information is expected. Capital letters mean continous data, lowercase letters mean a zero-crossing trigger.
   ABox uses the following scheme:
AAmplitude, usually an input, always means multiplication.
DDecay, Delay, used for filters, interpereted as a percentage.
FFrequency, usually an input.
LLeft channel in a stereo field.
MMidi Note, usually an input.
OOffset, usually an input, always means addition.
TTime, usually an input.
RRadius, Resonance, Root note, Right channel, Range, usually an input.
SSeed, Switch, usually an input.
1,2,3...A numbered input.
1p,2p,3p...A numbered pan input.
X,Y and ZNo specific meaning, depends on the context.
ttrigger, always an input.
rrestart, trigger input.

   Unlike electrical circuits, there is no impedance in the connections. Data is transferred distortion free.

See Signals for more details.

Busses:
   Busses reduce circuit clutter by allowing connections to callouts. These are just like the callouts on a schematic diagram or flow chart, where a designator is assumed to connect to all other designators with the same label.
   Busses have one source and any number of destinations.
   Bus operations are carried out via the bus menu.
   Once objects are connected to a bus, they behave just like they were connected directly.
   Busses are displayed as circles with a two character label. There are 240 busses, designated a0 through z9.
   l0-l9 and o0-o9 are not used.
   Hovering a bus will hover all other connections to that bus.

Bus Sources:
   A bus can have only one source, an output pin, and it must be assigned before inputs pins can be connected to it. Sources are displayed as an output pin pointing into a bus designator, as if the pin were driving the circle. If a bus source is disconnected, all other pins on the bus are also disconnected. Use caution when unconnecting a bus source.

Bus Destinations:
   Any number of input pins may be connected to a bus, each recieving the same data at the same time. Bus destinations are displayed as a pin pointing away from a designator, as if the circle were driving the pin.

The Bus Menu:
   Pins are connected to busses via the Bus Menu, which is called up by right clicking on any pin. A panel will appear with a line of action buttons and default actions at the top, and two grids of bus buttons below. ABox determines what actions are acceptable and will configure the panel accordingly.

Pressing an action button will perform that action.
Pressing a bus button will perform the default action.
The bus menu
Action Buttons:
Unconnect   Available for any connected pin. Pressing this button will unconnect the pin.
Direct Connect
   Available only for busses with one source and one destination. Pressing this will convert the bus connection to a direct connection, and free the bus for future use.
Default Actions:
Connect   Available for any unconnected pin.
   For output pins, the panel will show unused busses. Busses that would connect an object to itself are locked out. Pressing a bus button will create a bus source.
   For input pins, the panel will show all busses currently in use. Busses that would connect an object to itself are locked out. Pressing a bus button will connect the pin to bus, creating a bus destination.
Rename   Available only for bus sources (output pins). Pressing a bus button will rename the bus, and all pins connected to it.
Transfer   Available only for bus destinations, the panel will show currently used busses. Busses that would connect an object to itself are locked out. Pressing a bus button will transfer the pin to the choosen bus.
Convert to bus   Available only for normal connections. The panel will show unused busses. Pressing a bus button will convert the normal connection to the choosen bus, creating both a source and destination.

File Menu:

The file menu

New (Ctrl+N)
   Deletes the current circuit and stops playing. The contents of the clipboard are maintained.

Open (ctrl+O)
   Destroys the current circuit, then loads a new file.
   The circuit will continue to play, unless the new file does not contain any devices.
   In normal mode, dropping an ABox file on the workspace will load it.

Save (Ctrl+S)
   Stores the file.

Settings
   Calls up the settings panel.

Exit (Alt+X)
   Exits the application.


Edit Menu:

the edit menu
The Edit menu is only available in select mode.

Normal Mode (Tab)
   Switches back to normal mode.

Copy (Ctrl+C) or (Ctrl+Delete)
   Copies the selected items and their connections to the internal clipboard.
The ABox clipboard is not available other applications.

Cut (Ctrl+X) or (Shift+Delete)
   Performs the Copy operation, then deletes the objects from the circuit.
Play will stop if the remaining circuit contains no devices.

Paste (Ctrl+V) or (Shift+Insert)
   Inserts the contents of the internal clipboard into the circuit.

   If the clipboard contains a bus source that is alreay in use, it will be reassigned to the next available bus. Matching bus destinations will also be reassigned.

   If the clipboard contains a realtime device that already exists in the circuit, you will be prompted for a responce:

  • Ignore will remove the object from the clipboard and continue the paste operation.
  • Retry will check again if the device can be inserted.
  • Cancel will abort the operation.

Paste File (Shift+Ctrl+V)
   Loads a file into the internal clipboard, then pastes it into the circuit.
   In select mode, dropping an ABox file on the workspace will paste it.


Object Menu:

The object menu
This operates just like the create popup menu.
Choosing an object will immediately insert it into the circuit.


Circuit Menu:

The circuit menu
   These settings are stored with circuit files and control the behavior of the workspace.

Lock Positions
   Prevents moving objects, but allows control of objects.

No Ask Save
   Tells ABox not to ask if you want to save an edited file.

No Edit
   Prevents any editing of objects.


Play/Stop: (Space Bar)

   If enabled this button will start or stop play.
   ABox monitors device usage and will disable this button if the circuit cannot be played.
   Possible causes are:

  1. There are no devices in the circuit.
  2. Some other application is using the device.



Settings Panel:

The settings panel

Show Pins
   Tells ABox to display pins all the time, or only when hovering an object.

Show Names
   Tells ABox to display the names of the objects.

Play Buffers
   ABox play buffers allow the operating system enough clock cycles to operate by acting as a shock absorber. The more buffers, the "spongier" the shock, the longer the delay. The maximum delay is displayed on the button. ABox will try to keep all the buffers full.
   This setting takes effect immediately.
   If you notice audio dropouts when hovering or performing other operations, try increasing the number of buffers.
   If the time delay is too long for a particular application, reduce the number of buffers.
   Keep in mind that complicated circuits may require more clock cycles than the computer is capable of. In this case, no amount of buffering will eliminate drop-outs.
   Also note that virtual devices require significant amounts of clock cycles to display. Try turning the device off to varify if this is the case.

Colors
   Press one of the ten buttons to select a color to adjust.
   The RGB ( Red Green Blue ) sliders to the right are then used to adjust the color. The colored rectangle between the buttons and the slider will update immediately.
   Releasing the slider will update the rest of ABox.
   Use the reset button to reload the default colors.