VisualAp

VisualAp is a visual framework for building applications and emulate systems. VisualAp is cross-platform as it is a 100% Java application.

This application is able to perform audio processing, image processing, text and other process-driven emulation. VisualAp provides a visual framework based on lightweight visual components (proclets) that implements specific tasks.

Users can extend the capabilities of VisualAp via user-written proclets. Custom analysis and processing proclets can be developed using Eclipse.

Features
The user can create an application/system by selecting the components from a toolbox, configuring the parameters (via the Javabeans framework), and connecting the components together in order to set up communication channels between the components.

From the application menu the user can:
 * create, load and save a system
 * check the correctness of the current system
 * run process simulation of the current system

Inside the main window the user is able to:
 * instantiate a component
 * move a component
 * edit parameters defining the behavior of the component
 * connect/disconnect a component to another

Components
The following visual components are included in version 1.1 of VisualAp:
 * add echo effect
 * delay audio stream
 * split stereo audio in two mono audio streams
 * filter an image: blur, invert, sharpen, edge
 * transform an image: rotate, scale, shear, translate
 * inspect type information
 * record an audio stream from the microphone
 * generate stereo audio stream from two mono audio input streams
 * read a text file, audio file or image file
 * play the incoming audio stream
 * display input data
 * generate an audio tone
 * write data (text, audio stream, image) to a file

New components, based on Javabean conventions, can be created to enrich the current library, using a Java software development platform.

Dataflow programming
The programming language used in VisualAp to describe a system is a dataflow programming language. Execution is determined by the structure of the graphical block diagram on which the programmer connects different components by drawing connectors. These connectors propagate variables and any component can execute as soon as all its input data become available. Internally the VisualAp programming language is based on XML.

VisualAp uses multi-thread execution whenever multiple components are ready for execution simultaneously.