Microphone gain question

  • 1
  • Question
  • Updated 3 years ago
  • Answered
Having tons of fun with programming with the FlexLib API but ran in to a small snag.  I have made myself an addon program strip that has numerous things on it.  That way I can get to the most used items I want without having to hunt in menus or expand the program so I can see all the setting in the side panels.  It makes it easier to use remotely on my 11.6" windows laptop.

All in all I have been real successful but I ran into a small problem with the Mic gain.  Easy to set the mic gain BUT I want MY  mic gain control to be updated IF I use the built in mic gain control on the P/CW side panel in SmartSDR.  I can update my gain control when the program starts by just doing it in the AddNewSlice event.  But is there an event handler to monitor the Mic gain control on the P/CW panel when it makes a change.  Or an event handler that will tell me when the mic gain changes regardless of how?

---Gary WB8ROL
Photo of Gary L. Robinson

Gary L. Robinson

  • 237 Posts
  • 46 Reply Likes

Posted 3 years ago

  • 1
Photo of Mark - W3II

Mark - W3II

  • 130 Posts
  • 33 Reply Likes
Official Response

Hook the Radio object's PropertyChanged event. There will be a property change event named "MicLevel" when the level is changed. Remember this event may occur on a background thread.


Photo of Gary L. Robinson

Gary L. Robinson

  • 237 Posts
  • 46 Reply Likes
Thanks Mark!  That's exactly what I needed.  I looked through the flexlib documentation but missed the PropertyChanged event in the Radio object. 
Photo of Peter K1PGV

Peter K1PGV, Elmer

  • 541 Posts
  • 315 Reply Likes
For the archives:

The beauty of Flex providing us the source code for FlexLib is that it's quite easy to look up such things.

It's very interesting to look at all the properties about which you can receive change notifications: Just search the sources for "RaisePropertyChanged" -- Similarly, if there's a property that you know you can read (as with "myValue = _radio.MicLevel" for example) you can search to see if there's a PropertyChanged event associated with this by searching for the property name in quotes (or, if you want to be really specific, searching for 'RaisePropertyChanged("<property-name>")' where <property-name> is the name of the property such as "MicLevel".

It's a wonderful thing, the gift of source code.

Peter
K1PGV
Photo of Gary L. Robinson

Gary L. Robinson

  • 237 Posts
  • 46 Reply Likes
Yes, you are right about the source code!!  I had been scouring the Wiki FlexLib documentation and it's not quite as searchable as the source code hihi  I have been writing my own custom version of PowerSDR for years (until I got my Flex 6300) but doing an add-on client is a bit different and taking a little time to get adjusted to it.

But it is exciting!  And in many ways much more efficacious to make add-on clients.

My little add-on utility bar is perking along and doing great - especially for "easy chair" remote operation on 11.6" laptop screen which has limited screen space.

---Gary WB8ROL