WiNRADiO 1000-3000 Series Software Developer's Information

Software Developer's Kit

The SDK document outlines the API specification for the 1000/1500 and 3000 series of WiNRADiO receivers.

The API is implemented in both 16 and 32 bit drivers: WRAPI.DLL for 16 bit applications (Windows 3.1x and 95) and WRAPI32.DLL for 32 bit applications (Windows 95, 98, NT 3.5 & 4, 2000 and XP).

Each function shows its declaration in C and Delphi and can be used in both 16 and 32 bit environments.

The actual DLLs are available as standard part of the WiNRADiO applications which are supplied with the receivers. The applications can be also downloaded from here.


Controlling WiNRADiO using DDE

Under Windows, WiNRADiO can be controlled from another program using WiNRADiO's DDE (Dynamic Data Exchange) interface.

A DDE implementation example is provided to demonstrate how to control WiNRADiO using Word for Windows macro language.

Using DDE, you can also write WiNRADiO control programs in high-level languages for Windows such as C, C++, Delphi, Visual Basic. A small Delphi program that controls WiNRADiO through DDE is provided in this document.

Controlling WiNRADiO in DOS

WiNRADiO for DOS (or rather DOSRADiO) is a command- line program which can be used to control a WiNRADiO receiver without Windows. This can be convenient for some special applications. The executable file can be used either directly, or incorporated in batch files or other programs.

Other examples of interfacing DOSRADiO and a complete command summary are provided in a separate DOS related document.



WiNRADiO API Application Examples

In the following, WiNRADiO API application examples for Delphi, Visual Basic and C/ C++ are provided. Each application is a fully operational WiNRADiO controller and makes use of the WRAPI Dynamic Link Library.

All examples come with full source code, demonstrating how the WiNRADiO API is accessed under each development environment. Develop your own applications easily by modifying the provided source code!

For Delphi programmers, a Delphi VCL component is also provided, together with an example application of a fully operational WiNRADiO controller. Using this component you don't need to worry about the API at all - this component does it all for you and you will be able to successfuly implement WiNRADiO control in a few minutes.

All demonstration applications attempt to present the same user interface where possible, using only standard visual components that are part of the development environment.


WiNRADiO in Visual Basic

This Visual Basic example of a simple PC controlled receiver panel was developed under Visual Basic version 6.

Please note that the program needs to be compiled in P code.

 DOWNLOAD Source Code

WiNRADiO in Visual Basic

WiNRADiO in Delphi

This example was developed using Delphi version 3 and runs under a 32-Bit (Windows '95, Windows NT) environment. The signal level is displayed using the Gauge component in Delphi.

The source code for this example is contained in a ZIP archive containing a README file which explains what the files in the archive are, and how to use them to compile and run the example application.

 DOWNLOAD Source Code

WiNRADiO in Delphi

WiNRADiO in C/C++

This example will compile with most versions of C compilers and runs under a 32-Bit (Windows '95, Windows NT) environment.

The source code for this example is contained in a ZIP archive contains a README file which explains what the files in the archive are, and how to use them to compile and run the example application.

There are two versions, the first is utilises static linking with .LIB files (for both Microsoft and Borland compilers), the second utilises run-time linking with source (WRAPI.C).

 DOWNLOAD .LIB Source Code
 DOWNLOAD .C Source Code

WiNRADiO in C++

WiNRADiO VCL Component for Delphi and C++ Builder

The above example programs demonstrate how to use the WiNRADiO API functions to create applications that control WiNRADiO in several development environments. You can, however, avoid the details of the API functions if you are using Delphi or C++ Builder to develop WiNRADiO control applications. The WiNRADiO VCL component can be used very quickly to create an application that controls WiNRADiO.

 DOWNLOAD Example Source Code

Being a VCL component, you can place it on your component palette in the IDE. To create an application that controls WiNRADiO, simply drop this component onto a form and set its properties at either design or run time. This component looks after the API calls for you, so you don't have to concern yourself with any of the details of the WiNRADiO API.

 DOWNLOAD VCL Component Source Code

WiNRADiO as a Delphi component

The source for this VCL component is contained in a ZIP archive containing a README file which explains what the files in the archive are, and how to use them to compile and install the package. You must install this component into the IDE before you load the VCL component example application. Instructions for this are provided in the README file.


Memory, Spectrum Scope and Signal Strength File Formats

The WiNRADiO 1000/1500/3000 series of PC-based receivers all use the same memory file and spectrum scope file formats. The 3000 series also uses a special format for the Signal Strength Recorder.

All three file formats are provided here for the benefit of our users and third-party developers.

 DOWNLOAD Memory File Format
 DOWNLOAD Spectrum Scope File Format
 DOWNLOAD Signal Strength Log File Format


Please note that non-adherence to the specified formats may yield unexpected results when attempting to load memory, spectrum scope, or signal strength files created by non-complying third party software. However, this can't damage the receiver.

Please also note that import/export facilities for memory files, the WiNRADiO Memory Manager and the Advanced Memory, are available for a free download from the XRS Web site.


Notes on DSP Development

The WiNRADiO 3000i-DSP series of internal receivers are equipped with a DSP which can be accessed by third-party programmers. Audio samples can be retrieved from the DSP in real time, as well as sent to the DSP for playback. For this purpose, the SDK document includes DSP-specific functions. Example source code is also available, which contains a simple implementation of an audio recorder, whose control panel is shown on the right.



DSP example

 WiNRADiO for Labview
 Radio Basic Programming Language (
 Extensible Radio Specification (XRS) (
 WiNRADiO for Linux (