New SDR# Plugin Manager and Colorizer Available

SDR# plugin developer Eddie Mac has again released a new plugin for SDR# called "SDR# Plugin Manager". This plugin is designed to make it easy to install, remove and re-order other SDR# plugins. Also included is a repository browser. This is a repository of many known SDR# plugin links which can be used to download and install a plugin with a simple click of a button.

Eddie has also recently released another plugin called "Spectrum Colorizer". This simply changes the background color of the spectrum analyzer window.

SDRSharp Plugin Manager
SDRSharp Plugin Manager
SDR# Plugin Repository
SDR# Plugin Repository

If you are interested in programming your own plugins, Eddie also offers the following advice which he posted in our forum:

A good place to get started programming plugins is to download the express version of .NET (free for personal use) and install at least the C# pack. Then go to the Airspy website and download Youssef's zipped examples on coding plugins. 
While they are not documented you can use them as an example of the steps involved.

If you know a bit of c++ that is great it should be a good spring board to learn C#. In fact, you can even program simple plugins (like my tuner knob) in Visual Basic. Both C# and VB.NET compile to Common Language Run time anyway so to SDR# it's not much difference. The only caveat is that if you want to create any plugins to do processing on signals of any sort you MUST use C# as it supports the data types SDR# uses and VB does not. As well, VB does not allow unsafe code which C# can be instructed to allow. 

Another great resource for learning to program plugins for SDR# is GitHUb and another great place is Andrej Mohar's website where he actually has a tutorial and an good explanation of the plugin coding process. You can find it here 

If you would like an example of a "stencil" as you call it - a template, I would be happy to share a template in both VB and C# for you to use to start to learn. However, I would suggest begginning with C# from the start.

The basics of it is that the "plugin" is actually in interface that is called while SDR# loads. The "Plugins.xml" file tells SDR# what your dll is called and what the name of the plugin is. Once it has initialized your plugin, SDR# sharp asks the plugin for a "panel" control which contains the controls for your plugin. In also returns to you a "control" object interface that allows you to receive notifications of program value changes or to set program values. There are more complex things you can do but the basics are simple.


  1. Eddie

    They are unsafe data types and unsupported numeric types in SDR#. Everytime you try to implement the interface from SDR# in a VB class you will recieve an error message in the code window informing you that the interface can not implemented because one or more return types have types that are unsupported or unknow.j

    You could probably use marshalling but it was just easier for me to code it in C#.

    You can use the object browser to look at the SDRSharpCommon.dll and the SDRSharpRadio.dll that contain the interfaces for creating plugins.

    As I stated I just started creating plugins for SDR# at the begginning of the year so there is still alot I don’t know.

  2. Bill Smith

    “you MUST use C# as it supports the data types SDR# uses and VB does not”

    What are those data types that VB doesn’t support?

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>