Build attractive, effective user interfaces for your DSP and other applications!

 
  • Gauges
  • Meters
  • LEDs
  • Matrix Displays
  • Glass Effects
  • Combined Controls

 

What can I build with InstrumentLab?

Great looking user interfaces! for your DSP and control applications.  The following images are a taste of what InstrumentLab has to offer.

 

Applications include:  real time data monitoring, process control, signal analysis, digital signal analysis, video analysis, data visualization, visual instrumentation and more.

 

(See the "Features" tab for a more complete listing.)

 

/system/imgs/36/original/ILSpectrumDisplaySample.jpg?1311868433

 

 

InstrumentLab is a set of visual instruments and controls based on GDI+.  For Delphi / C++ Builder, InstrumentLab is a set of native VCL components, and these components can be composited:

 

 

/system/imgs/26/original/ILCompositeComponentsSample.jpg?1311868224

 

 

InstrumentLab is implemented using a very fast MMX optimized libraries to perform the plotting calculations, and is designed mainly for very fast real time data plotting applications, such as DSP, Audio Processing, Video and Image Processing.

 
Intel:
 
  • Intel MMX
  • Intel Performance Primitives ( IPP )
 
Developed with IGDI+
 
 
InstrumentLab is fully compatible and directly integrates with SignalLab, VideoLab, AudioLab, VisionLab, and PlotLab.

 

Delphi 2010 C++ Builder 2010 RAD Studio 2010 Delphi Prism

InstrumentLab is a set of visual instruments and controls based on GDI+.

The Delphi / C++ Builder version is a set of native VCL components.

Here are some examples of the included controls:

 

LED Controls:

/system/imgs/28/original/ILLedImage.jpg?1311868255

LED Controls have On/Off and multicolor indicators.

 

Progress Bar control:

/system/imgs/31/original/ILProgressBarImage.jpg?1311868328

Progress bar with multiple discrete or transitional colors, displaying with or without bars, and customizable borders.
The progress bar can be rotated.

 

Angular Gauge control:

/system/imgs/25/original/ILAnalogGaugeImage.jpg?1311868200

 

Analog Clock control:

/system/imgs/24/original/ILAnalogClockImage.jpg?1311868180

 

Linear Gauge control:

/system/imgs/29/original/ILLinearGaugeImage.jpg?1311868278

Thermometer Gauge control:

/system/imgs/37/original/ILThermometerImage.jpg?1311868453

 

Segment indicator control:

/system/imgs/34/original/ILSegmentIndicatorImage.jpg?1311868389

 

Segment Gauge control:

/system/imgs/33/original/ILSegmentGaugeImage.jpg?1311868368

 

Segment Clock control:

ILSegmentClockImage

 

Segment Text control:

/system/imgs/35/original/ILSegmentTextSample.jpg?1311868408

 

Spectrum control:

/system/imgs/36/original/ILSpectrumDisplaySample.jpg?1311868433

 

Matrix control:

/system/imgs/30/original/ILMatrixDisplaySample.jpg?1311868302

 

Composite controls:

/system/imgs/26/original/ILCompositeComponentsSample.jpg?1311868224

 

Glass Panel control:

/system/imgs/27/original/ILGlassPanelImage.jpg?1311868241

 

The glass panel can be placed on top of other components to create a glass cover appearance. It can be placed over any control.

Converters

SLChangeRange SLChangeRange Changes the output range of the signal
SLDetectLevels SLDetectLevels Detects levels in the input signal
SLPair SLPair Pairs multiple data buffers together

Custom Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Generic Filters

SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Generic Generators

SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Other

ULLabel ULLabel Rotatable label
ULImage ULImage GDI+ Image

Signal Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Signal Generators

SLGenericRealValueGen SLGenericRealValueGen User defined generator for Real values
SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Visualization

ILLed ILLed LED control with On/Off states
ILMultiLed ILMultiLed LED control with multiple states
ILProgressBar ILProgressBar Progress bar
ILAngularGauge ILAngularGauge Angular gauge
ILGlassPanel ILGlassPanel Rectangular, or elliptic panel covered with glass
ILLevelLed ILLevelLed LED control with gradually changing intensity and/or color based on the input value
ILThermometer ILThermometer Thermometer gauge
ILAnalogClock ILAnalogClock Analog clock
ILSegmentGauge ILSegmentGauge 7, 9, 14 or 16 segment gauge
ILSegmentIndicator ILSegmentIndicator 7, 9, 14 or 16 segment indicator
ILSegmentClock ILSegmentClock 7, 9, 14 or 16 segment clock
ILSegmentText ILSegmentText 7, 9, 14 or 16 segment text display
ILMatrixDisplay ILMatrixDisplay Matrix display
ILSpectrumDisplay ILSpectrumDisplay Spectrum display
ILLinearGauge ILLinearGauge Linear gauge

Video Layers

ILLedLayer ILLedLayer Layer drawing LED control with On/Off states
ILMultiLedLayer ILMultiLedLayer Layer drawing LED control with multiple states
ILProgressBarLayer ILProgressBarLayer Layer drawing progress bar
ILAngularGaugeLayer ILAngularGaugeLayer Layer drawing angular gauge
ILGlassPanelLayer ILGlassPanelLayer Layer drawing rectangular, or elliptic panel covered with glass
ILLevelLedLayer ILLevelLedLayer Layer drawing LED control with gradually changing intensity and/or color based on the input value
ILThermometerLayer ILThermometerLayer Layer drawing thermometer gauge
ILAnalogClockLayer ILAnalogClockLayer Layer drawing analog clock
ILSegmentGaugeLayer ILSegmentGaugeLayer Layer drawing 7, 9, 14 or 16 segment gauge
ILSegmentIndicatorLayer ILSegmentIndicatorLayer Layer drawing 7, 9, 14 or 16 segment indicator
ILSegmentClockLayer ILSegmentClockLayer Layer drawing 7, 9, 14 or 16 segment clock
ILSegmentTextLayer ILSegmentTextLayer Layer drawing 7, 9, 14 or 16 segment text display
ILMatrixDisplayLayer ILMatrixDisplayLayer Layer drawing matrix display
ILSpectrumDisplayLayer ILSpectrumDisplayLayer Layer drawing spectrum display
ILLinearGaugeLayer ILLinearGaugeLayer Layer drawing linear gauge
ULLabelLayer ULLabelLayer Layer drawing rotatable label
ULImageLayer ULImageLayer Layer drawing image

Matrix Layers

ILExternalLedMatrixLayer ILExternalLedMatrixLayer Matrix layer drawing LED control with On/Off states
ILExternalMultiLedMatrixLayer ILExternalMultiLedMatrixLayer Matrix layer drawing LED control with multiple states
ILExternalProgressBarMatrixLayer ILExternalProgressBarMatrixLayer Matrix layer drawing progress bar
ILExternalAngularGaugeMatrixLayer ILExternalAngularGaugeMatrixLayer Matrix layer drawing angular gauge
ILGlassPanelMatrixLayer ILGlassPanelMatrixLayer Matrix layer drawing rectangular, or elliptic panel covered with glass
ILExternalLevelLedMatrixLayer ILExternalLevelLedMatrixLayer Matrix layer drawing LED control with gradually changing intensity and/or color based on the input value
ILExternalThermometerMatrixLayer ILExternalThermometerMatrixLayer Matrix layer drawing thermometer gauge
ILExternalAnalogClockMatrixLayer ILExternalAnalogClockMatrixLayer Matrix layer drawing analog clock
ILExternalSegmentGaugeMatrixLayer ILExternalSegmentGaugeMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment gauge
ILExternalSegmentIndicatorMatrixLayer ILExternalSegmentIndicatorMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment indicator
ILExternalSegmentClockMatrixLayer ILExternalSegmentClockMatrixLayer Matrix layer drawing 7, 9, 14 or 16 segment clock
ILExternalSegmentTextMatrixLayer ILExternalSegmentTextMatrixLayer Matrix layer drawing text
ILExternalMatrixDisplayMatrixLayer ILExternalMatrixDisplayMatrixLayer Matrix layer drawing matrix display
ILTextMatrixLayer ILTextMatrixLayer Matrix layer drawing text
ILExternalSpectrumDisplayMatrixLayer ILExternalSpectrumDisplayMatrixLayer Matrix layer drawing matrix display
ILExternalLinearGaugeMatrixLayer ILExternalLinearGaugeMatrixLayer Matrix layer drawing linear gauge
ULExternalLabelMatrixLayer ULExternalLabelMatrixLayer Matrix layer drawing external text label
ULImageMatrixLayer ULImageMatrixLayer Matrix layer drawing image

Control Element

ILExternalLedElement ILExternalLedElement Component element drawing external LED control with On/Off states
ILLevelDetectLedElement ILLevelDetectLedElement Component element drawing internal level triggered LED control
ILTimeDetectLedElement ILTimeDetectLedElement Component element drawing internal time triggered LED control
ILExternalMultiLedElement ILExternalMultiLedElement Component element drawing external data LED control with multiple states
ILProgressBarElement ILProgressBarElement Component element drawing internal data progress bar
ILExternalProgressBarElement ILExternalProgressBarElement Component element drawing external data progress bar
ILGaugeMinMaxHandElement ILGaugeMinMaxHandElement Component element drawing internal data min or max angular gauge hand
ILExternalGaugeHandElement ILExternalGaugeHandElement Component element drawing external data angular gauge hand
ILExternalGaugeControlHandElement ILExternalGaugeControlHandElement Component element drawing external user controllable data angular gauge hand
ILAngularGaugeElement ILAngularGaugeElement Component element drawing internal data angular gauge
ILExternalAngularGaugeElement ILExternalAngularGaugeElement Component element drawing external data angular gauge
ILGlassPanelElement ILGlassPanelElement Component element drawing rectangular, or elliptic panel covered with glass
ILLevelLedElement ILLevelLedElement Component element drawing internal data LED control with gradually changing intensity and/or color based on the input value
ILExternalLevelLedElement ILExternalLevelLedElement Component element drawing external data LED control with gradually changing intensity and/or color based on the input value
ILThermometerElement ILThermometerElement Component element drawing internal data thermometer gauge
ILExternalThermometerElement ILExternalThermometerElement Component element drawing external data thermometer gauge
ILExternalClockHandElement ILExternalClockHandElement Component element drawing external data analog clock hand
ILAnalogClockElement ILAnalogClockElement Component element drawing internal data analog clock
ILExternalAnalogClockElement ILExternalAnalogClockElement Component element drawing external data analog clock
ILSegmentGaugeElement ILSegmentGaugeElement Component element drawing internal data 7, 9, 14 or 16 segment gauge
ILExternalSegmentGaugeElement ILExternalSegmentGaugeElement Component element drawing external data 7, 9, 14 or 16 segment gauge
ILSegmentClockElement ILSegmentClockElement Component element drawing internal data 7, 9, 14 or 16 segment clock
ILExternalSegmentClockElement ILExternalSegmentClockElement Component element drawing external data 7, 9, 14 or 16 segment clock
ILExternalSegmentTextElement ILExternalSegmentTextElement Component element drawing external text data 7, 9, 14 or 16 segment indicator
ILExternalMatrixDisplayElement ILExternalMatrixDisplayElement Component element drawing external data matrix display
ILExternalSpectrumDisplayElement ILExternalSpectrumDisplayElement Component element drawing external data spectrum display
ILLinearGaugeElement ILLinearGaugeElement Component element drawing internal data linear gauge
ILExternalLinearGaugeElement ILExternalLinearGaugeElement Component element drawing external data linear gauge
ILExternalLinearGaugeControlHandElement ILExternalLinearGaugeControlHandElement Component element drawing external user controllable data linear gauge hand
ILExternalLinearGaugeHandElement ILExternalLinearGaugeHandElement Component element drawing external data linear gauge hand
ILLinearGaugeMinMaxHandElement ILLinearGaugeMinMaxHandElement Component element drawing internal data min or max linear gauge hand
ULAnalogLabelElement ULAnalogLabelElement Component element drawing analog label
ULTimeLabelElement ULTimeLabelElement Component element drawing time label
ULExternalLabelElement ULExternalLabelElement Component element drawing external text label
ULImageElement ULImageElement Component element drawing image
ILExternalSegmentIndicatorElement ILExternalSegmentIndicatorElement Component element drawing external data 7, 9, 14 or 16

InstrumentLab: What's New

New in Version 5.0.3.1 (released on 2012-10-20)

  • Fixed a bug when populating existing buffers in .NET generic filters

New in Version 5.0.3 (released on 2012-10-10)

 

  • Added support for Delphi / C++ Builder / RAD Studio XE3
  • Added support for Visual Studio 2012
  • Improved Firemonkey support

New in Version 5.0.2 (released on 2012-04-16)

 

  • Added FireMonkey support.
  • Added 64 bit support for VCL, FireMonkey, and .NET
  • All .NET assemblies are now managed assemblies.
  • The .NET assemblies are reduced by half combining low level and high level assemblies, and simplifying deployment.
  • All .NET assemblies now contain the necessary 32 and 64 bit BPLs and DLLs internally simplifying the deployment.
  • The .NET Visual C++ redistributables are no longer needed.
  • Added InstumentLab animations.
  • Added InstumentLab Analog Instrument center position.
  • Significantly improved InstrumentLab Analog Instruments rendering performance.
  • Spectrum, MatrixDisplay, Thermometer, and all Segment displays now can be rotated.

New in Version 5.0.1 (released on 2011-10-18)

  • The managed assemblies are now rewritten in C# for better .NET 4.0 compatibility.
  • Added support for .NET 4.0 and .NET 3.5 “Client Profile”.
  • Significantly improved .NET type converters.
  • Significantly optimized component loading performance in .NET.
  • Major improvements in the .NET property editors.
  • Small improvements in the Unicode support for VC++.
  • Improved VisualStudio 2010 .NET support.
  • .NET assemblies have been renamed to better match the Microsoft guidelines.
  • Added .NET 4.0 assemblies.

New in Version 5.0 (released on 2011-09-05)

 

  • Added Delphi XE and XE2 support.
  • Added control hands to the gauges.
  • Added optional user input for the video layers.
  • Significantly improved multithreading model adapted for multicore systems, with advanced relaxed interlocking, and with optional per-component, dedicated threads.

New in Version 4.5

  • Added Visual Studio 2010 support.
  • Added TSLGenericRealMatrix component.
  • Added SLGenericRealValue and TSLGenericRealValueGen components.
  • Added mouse controlled gauge hands.
  • Improved multithreading locks.
  • Improved RAD Studio 2010 buffer debugger visualizes.

New in Version 4.3.1

  • Updated install.
  • Improved RAD Studio 2010 buffer debugger visualizes.

New in Version 4.3

  • Added RAD Studio 2010 support.
  • Added UserLab Label control.
  • Added UserLab Image control.
  • Added Linear Gauge control.
  • Added Segment Text control.
  • Added Spectrum control.
  • Added Matrix control.
  • Added shaped LED support.
  • Added non proportional gauges and clocks mode.
  • Added Diamond and Round Diamond border modes.
  • Added support for composite components.
  • Added a large number of component elements, video(draw) and matrix layers.
  • Added support for Matrix rendering of the components.
  • Added Visual C++ and .NET support.

New in Version 4.0.1

  • Improved installs.
( Click to view Larger images. )
These demos are executable after downloading.
Also see:   Demo source code downloads

InstrumentLab Examples

Angular Guages Angular Guages
Analog Clocks Analog Clocks
Linear Gauges Linear Gauges
Segment Gauges Segment Gauges
Segment Clocks Segment Clocks
Segment Indicators Segment Indicators
Thermometer Gauges Thermometer Gauges
LED Indicators LED Indicators
Composite components Composite components
Glass Panels Glass Panels

InstrumentLab: Frequently Asked Questions

Q: Do I have to purchase InstrumentLab?
A: InstrumentLab is free for non commercial purposes. This means that you can use it for personal pleasure, hobby, or evaluation purposes. If you are student you can also use it for free for your educational needs including school projects. If you are a tutor at present you also can use it for free for your classes. However in the near future a low cost tutor license will be available, and you will have to purchase it. Your students however will not need license to use the product at class.
Q: Is InstrumentLab multithreading? Will it stop streaming while I move the window with the mouse?
A: Yes. InstrumentLab is fully multithreaded and will not stop streaming while the main thread is busy.

InstrumentLab Installers

Firemonkey and VCL Installer: InstrumentLab 5.0.3 VCL and FireMonkey (Windows only) 32 and 64 bit support for 2010 to XE3
Updated on 2012-10-10, downloaded 1793 times.
Firemonkey and VCL Installer: InstrumentLab 5.0.3 VCL and FireMonkey for XE2 Update4 Hotfix1
Updated on 2012-10-13, downloaded 165 times.
Legacy VCL Installer: InstrumentLab 5.0.1 for Delphi/C++ Builder 5 to 2009
Updated on 2011-10-18, downloaded 9137 times.
Visual C++ Installer: InstrumentLab 5.0.3 for Visual C++ MFC
Updated on 2012-10-10, downloaded 1839 times.
.NET Installer: InstrumentLab 5.0.3.1 for Microsoft .NET 2.0-4.0
Updated on 2012-10-20, downloaded 4057 times.

Demos

These demos are executable after downloading.   Also see: Demo source code downloads
Analog Clocks demo

Demonstrates a variety of analog clock displays

Angular Gauges demo

Demonstrates a variety of angular gauges

Composite Components demo

Demonstrates building composite instruments, such as segment displays inside angular gauges, angular gauges inside linear gauages, etc

Glass Panels demo

Demonstrates adding a glass effect to any component

LED Displays demo

Demonstrates a variety of LED displays

Linear Gauges demo

Demonstrates a variety of linear gauges

Matrix Display demo

Demonstrates thermometers, gauges and other components on a matrix

Progress Bars demo

Demonstrates a number of great looking progress bars displayed horizontally, vertically -- and even diagonally!

Segment Clocks demo

Demonstrates a variety of segment clock options

Segment Gauges demo

Demonstrates displaying numerical output in segment gauges

Segment Indicators demo

Demonstrates indicating status or alerts with segment displays

Segment Text demo

Demonstrates displaying arbitrary text in a segment component

Thermometers demo

 

Demonstrates a variety of analog thermometer options
Spectrum demo
Displays a spectrum using TILSpectrumDisplay (which has a matrix display effect)

 

The libraries are licensed per developer, and there are no royalties required. Once you have purchased a developer license, you are free to distribute your final product without the need to pay any royalties or other fees as long as you comply with the following license agreement:
 
 
LICENSE - AGREEMENT
 
Users of the LabPacks Component Pack(Software) must accept these terms of license.
 
If you refuse to accept the terms of license, you may not use this software, and you have the right to return it within 30 days of the purchase date, and to receive your money back.
 
For your convenience a copy of this license agreement will be stored on your system during the installation.
 
This license grants you the following rights:
 
You have a non exclusive license to the Software. The Title and all intangible rights to the Software are the property of Mitov Software .  
 
You may install and use one copy of the Software per computer assuming only one and the same person will use the Software on all of the computers. You may distribute any application that includes Software without any additional royalties beyond your initial license registration fee.
 
You can also create a reasonable set of copies of the product on different types of media, such as CD Rom or Type Backup, as far as those copies are used only for your own back up protection.
 
Description of the limitations. 
 
You may not reverse engineer, decompile, or disassemble the Software.
 
The Software is licensed as a single product. You may not rent or lease the Software. You must treat the Software like any other copyrighted material except that you may either (a) a reasonable amount of copies of the Software solely for backup or archival purposes, or (b) install the Software multiple computers provided you keep the original solely for backup or archival purposes and only a single developer will use all of the copies.
 
You may not separate Delphi and C++ Builder components from this Software.
Each developer must have a valid license for the Software.
 
You may not create a competing component product using this Software.
 
Additional restriction to Delphi-VCL and C++ Builder components: 
 
You may not distribute the Delphi-VCL components in a DCU (Delphi Compiled Unit) format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
You may not distribute the C++ Builder components in OBJ format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
 
 
Mitov Software grants a limited warranty with these restrictions:
 
THE SOFTWARE IS SUPPLIED AS IT IS. MITOV SOFTWARE AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE SOFTWARE. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MITOV SOFTWARE OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE.

News

October 20, 2012more...

Bug fix release for .NET installers

October 13, 2012more...

New Releases for RAD Studio XE3; XE2 Update 4 Hotfix 1; Visual C++; and .NET. Many additions and improvements.

October 1, 2012more...

Mitov Software has joined the Delphi Third Party Alliance

August 1, 2012more...

Job Opportunity: Remote Contract Developer

April 16, 2012more...

New .NET and XE2 Releases: version 5.0.2 with 64-bit support

March 23, 2012more...

64-bit .NET support! Beta prerelease with many improvements

March 14, 2012more...

The NEW OpenWire Live Bindings 5.0.1 beta is released!

March 10, 2012more...

32/64-bit XE2 Update 4 release!

October 26, 2011more...

The NEW OpenWire Editor version 5.0.1 beta is officially released

October 18, 2011more...

Release of version 5.0.1 of the libraries on all platforms

October 12, 2011more...

And don't miss my second talk: Video, Audio Processing, DSP, Artificial Intelligence and Computer Vision with FireMonkey

October 11, 2011more...

Don't miss my speech at CodeRage 6: Creating dual-compile controls for VCL and FireMonkey

September 2, 2011more...

Welcome to our New Web Site!

Partners

Em
Alliancelogo2

Published

Torry_logo