Radiator supports plugins (finally ;-)

Downloads:

Radiator SDK - development kit (28/04/2001 - 182 kB) - plugin tester, sample plugin with source (Delphi 4.0), commented use of direct port access

Radiator command line utility (01/10/2001 - 18 kB) - sample application with source (Delphi 4.0)

Radiator remote control sample application (30/09/2001 - 123 kB) - sample application with source (Delphi 4.0)

Radiator global hot key control by Alexey Hakimzyanov (4 kB)

bt8x8 plugin + driver grappler  (ver 1.2 - self installing plugin + driver 179 kB) - plugin created by Mike Crash 
Supported cards: AVerMedia TVPhone98, AVerMedia TVPhone98 w/VCR, AIMS Extreme, Askey TView99, Hauppauge WinTV, LifeView FlyVideo98, PixelView PV878P+ 

bt8x8wdmfm plugin (ver 1.1 - 31/05/2001 - 14 kB) - plugin created by Ivan Uskov (latest universal bt8x8 WDM-drivers with FM-Mode support available on http://ivus.tele-kom.ru or here)
Supported cards: AverMedia Phone 95, AverMedia Phone 98, AverMedia Phone 98 w/VCR, FlyVideo 98, Tekram M 205 PRO, Modular Technology MM100PCTV, Hauppauge WinTV Primio

 

GemTek PCI direct access plugin (ver. 1.1.2, 26/02/2002 - 5 kB) - plugin created by Alex Brukhoff
Supported card: GemTek PCI

Plugin for IRAssistant made by Elso Andras with source (118 kB)

RadioTrack II plugin (07/09/2001 - 5 kB) - plugin created with possibility to switch mono/stereo by Josef Kucera (www page)
Supported card: AimsLab RadioTrack II

GemTek PCI plugin (ver. 1.04, 04/06/2001 - 82 kB) - plugin created by Vasily Zaitsev
Supported card: GemTek PCI

SoundForte SF64-PCE plugin (ver 1.00, 25/07/2001 - 23 kB) - plugin created by Peter Klyushkin (www page)
Supported card:
SoundForte RadioWave 64-E SF64-PCE

SoundForte SF64-PCR plugin (ver 1.03, 02/07/2001 - 58 kB) - plugin created by Alexey Hakimzyanov 
Supported card: SoundForte SF64-PCR

SoundForte SF16-FMR plugin (04/06/2001 - 17 kB) - plugin created by Ladislav Palider (Kefa)
Supported card: SoundForte SF16-FMR

SoundForte SF16-FMR2 plugin (ver 1.01, 02/07/2001 - 61 kB) - plugin created by Alexey Hakimzyanov 
Supported card: SoundForte SF16-FMR2

ProVideo 951 plugin (ver. 1.02, 30/09/2001 - 58 kB) - plugin created by Alexey Hakimzyanov 
Supported card: ProVideo 951 TV/FM Tuner

ProVideo 951 alternative plugin (ver. 0.1 beta, 13/01/2003 - 124 kB) - plugin created by Marek Ingr 
Supported card: ProVideo 951 TV/FM Tuner

 


Plugins directory:

Plugins should be stored in Radiator's subdirectory Plugins (for example c:\Program Files\Radiator\Plugins).
If there are any file(s) that plugin needs they should be stored there also. If plugin needs to save its configuration PREFERABLY USE plugins.ini file in Plugins subdirectory.

Items should be stored in plugins.ini file in the following form:
[name of the module] ;for example [sf16fmi] for sf16fmi.dll plugin
entry=value ;for example Port=$384

How to develop own driver (plugin) for Radiator:

The idea originally came from well-known MikeCrash. He made his own application (AFM radio) which was designed for BT878 based cards but his application could accept plugins for other cards as well.

Some time after we created the first proposal of the new plugins interface which included more functions and possibilities.

The Radiator plugins interface is strongly based on our given standard.

Interface:

Here is the list of functions and procedures which the Radiator plugin exports.
The sentence Radiator does not use it yet. means that although Radiator does not take benefit from these functions, it is planned to do so in next versions.

Required in all plugins Description
function GetModuleName: PChar; stdcall; Exported name of the module. Must not be empty for Radiator to recognize the plugin.
function GetModuleInfo: Cardinal; stdcall; Gives info of plugin possibilities. The result are ORed "module supports" constants:
eg. FM_TUNE or FM_MUTEUNMUTE
which is the same as FM_TUNE + FM_MUTEUNMUTE
Result would be 1 + 4 = 5.
function HWInit: Boolean; stdcall; Initializes hardware.
function HWDeInit: Boolean; stdcall; Deinitializes hardware.

 

Optional Description
function GetModuleComment: PChar; stdcall; Description, copyright etc.
procedure TuneFreq (Freq: LongInt); stdcall; Matches FM_TUNE. Frequency is given in kHz (88.2 MHz -> 88200 kHz).
procedure TuneFreqMuted (Freq: LongInt); stdcall; Matches FM_TUNEMUTED. Frequency is given in kHz (88.2 MHz -> 88200 kHz).
procedure SetMute (Mute: Boolean); stdcall Matches FM_MUTEUNMUTE.
function ScanStation (DirectionUp:Boolean; FreqToSearchFrom: LongInt): LongInt; stdcall
Radiator uses it since 1.6.1.0.
Matches FM_SCANSTATION. Parameters are
direction (up to high range - True or down to low range - False) and current frequency to search from. Returns new frequency.
function GetVolume: Word; stdcall;
Radiator does not use it yet.
Matches GETVOLUME.
procedure SetVolume (Left,Right: Word); stdcall;
Radiator does not use it yet.
Matches FM_SETVOLUMEBYVALUE.
procedure VolumeUpDown(Step: Integer); stdcall; Matches FM_SETVOLUMEUPDOWN.
procedure SetBass(Bass: Word); stdcall;
Radiator does not use it yet.
Matches FM_BASSTREBLE.
function GetBass: Word; stdcall;
Radiator does not use it yet.
Matches FM_BASSTREBLE.
procedure SetTreble(Treble: Word); stdcall;
Radiator does not use it yet.
Matches FM_BASSTREBLE.
function GetTreble: Word; stdcall;
Radiator does not use it yet.
Matches FM_BASSTREBLE.
function IsStereo: Boolean; stdcall;
Radiator does not use it yet.
Matches FM_ISSTEREO.
procedure SetStereo (Stereo: Boolean); stdcall; Matches FM_SETSTEREO.
function GetSignal: Word; stdcall; Matches FM_GETSIGNAL.
procedure ConfigurationDialog; stdcall; Matches FM_CONFIGURATIONDIALOG.

 

Functions to use for direct port access:

Direct access to port is performed by dlportio.dll shipped and installed with Radiator. DO NOT USE YOUR OWN DRIVERS NOR DIRECT ASM PORT DIRECTIVES - IT WOULD BE UNNECESSARY AND REDUNDANT. Port access by asm directives does not work on NT based systems.

Default path where the plugins are installed is RADIATOR_PATH+PLUGINS_PATH (for example in c:\Program Files\Radiator\Plugins
Dlportio.dll is always in RADIATOR_PATH directory, where it can be accessed.

function GetPortByte(Address : Word) : Byte;
procedure SetPortByte(Address : Word; Data : Byte);
function GetPortWord(Address : Word) : Word;
procedure SetPortWord(Address : Word; Data : Word);
function GetPortDWord(Address : Word) : Longword;
procedure SetPortDWord(Address : Word; Data : Longword);
function OpenDriver: Boolean;
procedure CloseDriver;

"Module supports" constants:

Constant Decimal value Description
FM_TUNE= 1 shl 0; 1 Supports setting frequency.
FM_TUNEMUTED= 1 shl 1; 2 Supports setting frequency "silently". Output is muted, but frequency is set. Then just unmute to hear it.
FM_MUTEUNMUTE= 1 shl 2; 4 Supports muting/unmuting.
FM_GETVOLUME= 1 shl 3; 8 Supports GetVolume function.
FM_SETVOLUMEBYVALUE= 1 shl 4; 16 Supports setting volume "digitally" by setting a value.
FM_SETVOLUMEUPDOWN= 1 shl 5; 32 Supports setting volume up and down by discrete steps (this is how Radiator works now).
FM_BASSTREBLE= 1 shl 6; 64 Supports bass & treble.
FM_ISSTEREO= 1 shl 7; 128 Supports stereo identification.
FM_SETSTEREO= 1 shl 8; 256 Also called forced stereo or mono.
FM_GETSIGNAL= 1 shl 9; 512 Station is/is not tuned to signal.
FM_AMRANGE= 1 shl 10; 1024 Supports AM range (not prepared in Radiator now).
FM_RDS= 1 shl 11; 2048 Supports RDS - not prepared in any way yet ;-).
FM_SCANSTATION= 1 shl 12; 4096 Supports scanning - parameters are
direction (up to high range - True or down to low range - False) and current frequency to search from. Return is new frequency.
FM_CONFIGURATIONDIALOG= 1 shl 16; 65536 Supports configuration dialog.

There is sample sf16fmi plugin included in the developer pack together with its source code in Delphi (Object Pascal) so you can get inspiration from there.

How to make the plugin available for other users of Radiator:

Send it to [email protected] and I will add it for download :-)



Visitors since 14/02/1999
Statistics for the 1st year

Made in Czech Republic. © 1999 - 2004 Miroslav Flesko
Any comments and suggestions: [email protected]
Main site on flesko.cz / Mirror on FortuneCity
Last updated: 14/01/03 08:51

... back to main page ...