Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR, Power Genius, Tuner Genius and Antenna Genius Software?
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
SmartSDR v3.8.20 and the SmartSDR v3.8.20 Release Notes
SmartSDR v2.12.1 and the SmartSDR v2.12.1 Release Notes
Power Genius XL Utility v3.8.9 and the Power Genius XL Release Notes v3.8.9
Tuner Genius XL Utility v1.2.11 and the Tuner Genius XL Release Notes v1.2.11
Antenna Genius Utility v4.1.8
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Behringer CMD Micro DJ Midi Controller for use with Flex 6000
Comments
-
Thank you, Chris. If you -or someone else - gets the program to run,
I would be very glad to know the OS (7/10?) and any ideas, why it
refuses to run on my PC's (I've tested only under Windows 7 32 and 64bit)
0 -
I tried it for 2 minutes this morning before heading out for work.
It would not load/run the 64 bit version (Windows 10 Creator edition 64 bit).
Interestingly it looks like the main app was being removed by anti-virus measures but had no more time to check for sure.
73 de Steve G1XOW
0 -
Good morning, I had changed the initial IP address to my home computer. This version changes it back to William's default. Hopefully this will now work for all. Here it is...
https://www.dropbox.com/sh/j7f6b2udxoc9p72/AABrJsIwwuyidQ5qjgOT4sLEa?dl=0
1 -
I used the AGC slider for the B side. Here's the code I used.
if ((channel == 0) && (number == agcb)) {
if (shift==true)
{c.write("c44|display panafall set 0x40000000 bandwidth="+(map(value,0,127,0.03, 10))+" center="+FreqA+"
");}
else
{c.write("c44|display panafall set 0x40000000 bandwidth="+(map(value,0,127,0.03,0.92))+" center="+FreqA+"
");}
}
So I had to pick a zoom range. To do this, I mapped the 0-127 range of the slider to between 0.03 and 0.92, which is just a tiny bit before the Wideband Noise Filter kicks in. It's just under 1 mhz of bandwidth, which is usually plenty of room. I also added an IF statement for the shift button though, so if Shift is ON, it will coom out to 10 mhz, instead.
I think maybe I sould also figure out how to make it center the frequency as it zooms, though. It's easy to lose the slice!
I think a better way would be to use the Browse knob, and use it to scale the bandwidth by a precentage with each click. What do you guys think?
I like this Processing IDE. you can just click PLAY and it runs the program so you can see what happens right away.1 -
Alex, I've had the same problem with the earlier version which i believe was related to USB or Java. I reverted to earlier version of Java and made sure to have Midi inserted prior to selecting SSDR that seemed to cure. Later updated Java and all seems well. Not sure of exact cause.0
-
Forgot to mention I'm using Win7pro 64 bit0
-
Thank you for your answer, Bob. I'm also using your OS version.
Update: Craig changed his program, which works now.
73, Alex - DH2ID0 -
Thank you, Craig, works fine now.
I'll be using the original software, though, as I want the tune button for the
external tuner on top (without pressing shift first). It would be great,
if you could program an options menu to individually set the buttons and
sliders.
73, Alex - DH2ID
0 -
I have not tried this interface since upgrading to Windows 10. It worked fine on Win 8 & 8.1. But here are a few suggestions that MAY help. (or not...)
Make sure that if you are trying to run the program that you are running the compiled version, not the source code version. (They are in separate sub-directories in the un-zipped folder) If you download "Processing" and want to run things, there are some files that need to be put in the directory with the source code if you are running it that way.
Search the original thread about the Hercules DJ2 controller where William and I had lengthy exchanges as he brought me up to speed on the program before he switched to the Behringer CMD Micro and started a new thread. I am at the office right now and it has been over two years since I messed with this, so I don't remember the exact files/directories.
Other thoughts:
1) I seem to remember there being some frustration in that the program used the same UDP port that other software used and it tended to get bogged down or buffer overloaded. The solution, I think, was in getting the program to open an additional port so that it didn't have to share all the data with the other programs on the port.... (Long time, don't remember).
2) It may be that installing "Processing" puts some needed files in the system that enable the program to run.
3) I would love to see someone port this over to C# and abandon Processing altogether, even though Processing is very easy to learn and follow the logic and syntax. (This may be a Summertime project for me if I can learn enough C#, but don't hold your breath....)
Once you learn it, and understand the logic of William's program, it is very easy to modify, customize layout, add features and commands, and even reprogram for other MIDI controllers. It is a great option for those who cannot afford a Maestro, but need more control than the FlexControl Knob gives.
There are other Commercial programs out there that already interface with the CMD-Micro - Pegasus & SSDR-IOS are two that I know of. Pegasus is interesting, but more than I need with my 6500. I plan to find an interface for my iPad that will allow me to use my controllers (Hercules DJ2 LE and Behringer CMD PL1) with my iPad Air. - especially after SSDR V.2.0 is released.0 -
Craig (W0CHH) ....Could I suggest that you begin a new thread for this and include your links in the initial posting? This may prevent your updated software links from getting burried in previous discussion threads and make it more easy for interested parties to find them, and this discussion....Thanks for your work to keep this software interface going!
Ken - NM9P0 -
...Craig said: "I trust William will not mind if I release this here. I would have direct mailed him, but I couldn't find an email address."....
In my initial exchanges with William, I asked about this, and his response was that I was free to modify and share his code, as long as I put some comment in it giving him credit for his share of it, and that I did not commercialize it. I had no problem with that.
In the early stages, we bounced a lot of ideas off of each other and shared a lot of code snippets . . . with William doing most of the heavy lifting. Then our development took different forks, since we had different controllers that needed some different logic in some areas.
Then he got interested in other hobbies and time and energy for this project (and Ham Radio/Flex Radio) ran out. I miss his input and innovation, But I understand that a person only has so much time and energy and can usually only pursue one or two great hobby passions.0 -
Ken, SSDR IOS has include since last version Behringer. Only a small adapter is needed. So Behringer runs also under IOS
73 Chris1 -
Ken et al
sounds like a couple of good suggestions as the other thread is long and tough to find exactly what I want to see. I find the midi box easy to use and I need to study 'Processing' to understand the coding...but I need to learn c# also...but at my age it's probably not going to happen. As another note, I have a Maestro and got the adjustable feet but in looking at the fixed stand that came with it, I decided it would work as stand for the midi box and sure enough it does. Had to add a couple of screws to attach. Wonder if Flex would sell fixed stand separately?0 -
You could probably buy the stand as a replacement part. How wide is it? How well does the CMD Micro fit? Picture please!0
-
As a suggestion.
In one version of the program, William had incorporated a rudimentary text configuration file to select a few function / key options and allow the user to enter the IP address of the rig. I had planned upon capitalizing upon this.
The way I had planned to do this was with an expanded text configuration file.
All of the defined commands would be given a name in the config file, and then they could be linked with a particular button or dial. I planned to document the text file with the "#" lines so that it would be easy for others who received a copy of the software to know how to modify the config file.
When the program loads the config file, the un-commented lines become actual
variable definitions as though they were part of the variable definition section of the program. The advantage is also that the program would be easier for people to understand and trace because rather than merely having MIDI note numbers, they would see plain language command definitions.
Example:
======================================
# NM9P MIDI Controller Setup
# Edit this line with the IP Address of your rig
HamRig = 192.168.76.207
#Define Controller
MIDIController = "CMD-Micro"
#Link Radio Command
#Commands that are not assigned a value will not be available.
# Buttons
PTT = 13
Mode Select = 15
Filter Select = 16
VOX Toggle = 25
RIT = 26
RIT CL = 27
XIT = 28
XIT CL = 29
Mute Slice =
WNB =
CWX1 = 41
CWX2 = 42
CWX3 = 43
CWX4 =
CWX5 =
# etc, etc, etc,
# Dials & Sliders
# Most dials and sliders return a value of 0-127 which is translated in the program to
# a control range of 0-100, 0-50, or others, depending upon the control function.
# Enter in the format: ( control number, low value, high value) if you desire
# a control range less different from the standard.
# Numbers without limits will default to the control's standard range.
# For example:
# "CW Speed = 65, 15, 45" sets the CW Speed control to MIDI control number 65
# and sets the CW Speed range of the control from 15-45 WPM.
CW Speed = 65, 15, 45
TX Power = 66, 0, 100
AGC-T = 67
Line Gain = 68
Headphone Gain = 69
RIT = 70
XIT = 71
===================
you get the idea.
Names and numbers are for illustration and are not actual button definitions.
By using string names for the Midi Key controls, the Config file the various subroutines can be written so that instead of searching for the actual MIDI "note" assignment of the control, it would ask i the key pressed was "TX Power" which has the value of the key assigned to the desired button.
Then instead of editing the program every time you wanted to reorganize the layout, or even if you wanted to use it on a different MIDI controller, you just edit the Config text file. All of the name & number translation are in the individual command definitions, including control range calculations.
I had planned to put routines for as many commands as I could think of, each one given its own name in the config file.
Then changing controllers or reorganizing the command layout would be a simple matter of editing the text file. I could even have a selector to choose multiple config files - for casual, dxing, contesting, remote operation, etc.
As I expanded the program, adding additional control options, All I would need to do is add the short If/then/else statement, with the new function name as part of the formula, and then add that name to the configuration text file and assign it a MIDI key number......
It seemed a lot simpler, as a relative noob to the program, than creating a GUI window to assign controls to functions.
But, unfortunately I never finished the project.
Perhaps this may give some ideas to someone else working on it.
Ken - NM9P3 -
Ok I'm traveling at present but will post pix when I return. The stand fits very well and you just have to position it to have attachment screws to not interfere with battery cover etc. Midi bos sits at about 30-45 degrees from horizontal. Pix will show.0
-
PLEEEEEEEEEEEEASE! This would be awesome.0
-
Danny If I don't post over the weekend remind me0
-
That's very good, Ken. For easier setting a dropdown menu would be great.
I really like the Behringer CMD micro, using it all the time.
0 -
I had only planned on doing it this way because I am completely unskilled with drop-down menus and the like! I DO know how to edit a text file! A visual menu system of some sort was going to be a second or third phase. Probably after I ported it out to C#. Someday............
You guys are starting to stir my interest up to the point that I may give this another shot this summer.... That's all I needed...another project! ha ha.
BTW...nice picture. I never thought about hanging one from a shelf. I may need to try to find a good deal on a CMD Micro. My CMD PL1 is HUGE!
But I cannot afford to have THREE different MIDI controllers lying about...0 -
Ken, I just put it there so nobody asks me where all the knobs are :-)
Just joking...
But I'm really glad that the program gets further developed, being
strictly a hardware guy myself. I had to learn a bit FORTRAN and C when I was
at Heidelberg university but I really can't program well ...0 -
Here is pix using Maestro stand0
-
0
-
That's pretty nice! Thank you!0
-
I have been working on an implementation of Flex-CMD Micro DJ Midi Controller in Flexlib using Visual Studio 15 and C#. It is pretty much complete except that interrupts from the big tuning knobs need to be slowed down when they are turned too fast. I haven't figured out how to do that. It's custom tailored to my liking (different from the previous implementations) but a different compile with different preferences is pretty easy.
It might be interesting for someone who wants to play with it more. I am willing to provide source for this, but don't currently have a repository for distributing it. Let me know if there's interest.
Paul0 -
Have you examined William's source code to see his ways of slowing down the response of the main tuning wheels? It incorporated a touch-knob speed-up, and counting routines to reduce the response , requiring more "clicks" to count up before it advanced a step.0
-
Btw. I would love to see it, if nothing else to see how you handled I/O routines. I am a total noob at C#.0
-
Ken - I briefly looked at William's source but was really interested in doing my own thing, and anyway Flexlib/C# programming is totally different from the Ethernet API thing. If the tuning knob is turned too fast, the tune control's message queue gets overloaded and the tuning slows down dramatically. I need to somehow detect that the message cue is being overloaded so I can throw away some of the messages and increase the tuning step. I'm a bit of a newbie at this so it takes me a while to figure out these challenges, but that's the fun of it when it finally works.
I will have to find a place to disseminate the C#/Visual Studio source plus a setup/MSI package for installing the program outside VS I'll let you know on this thread when I get it ready. Be aware that I've reassigned many of the controls to my liking, so it's different from William's. Hopefully it will help you get going.
Paul
0 -
I've written two versions of this in C# - one as a native Windows Forms app. Then I ported FlexLib to .NET and rewrote as a web app using the Chrome browser. Chrome has a native MIDI driver which simplifies the client. For the WIndows version I used a MIDI library to ingest Midi device events. I have not had trouble with Midi event overruns. However I did have some trouble with event overruns in the web version with FFT streams, and used a foundation class called "BlockingCollection" that should give you enough control if you use a producer task to take Midi events and a consumer task to process or discard if too many events are in the processing queue.
It's been a few months since I touched either code base, but what you're doing should work out fine and the action code is actually pretty simple once you build the scaffolding. I built my Windows app using a Dictionary of action routines indexed by MidiEvent. Performance is fine.
0 -
I would suggest taking another look for the sake of understanding the logic he used, not the exact code. You may be able to port the logic solutions over to C#. On a related matter. I remember a thread on the API where Steve said it is often best to group frequency stepping units together when the changes are rapid and send it in one burst of a consolidated number. So that you are not sending too many commands too quickly. I.e. if you have 10 steps of 10Hz in 50 ms. then you send one command step of 100 Hz instead of 10 individual steps.0
Leave a Comment
Categories
- All Categories
- 260 Community Topics
- 2.1K New Ideas
- 538 The Flea Market
- 7.6K Software
- 6K SmartSDR for Windows
- 139 SmartSDR for Maestro and M models
- 368 SmartSDR for Mac
- 242 SmartSDR for iOS
- 226 SmartSDR CAT
- 175 DAX
- 345 SmartSDR API
- 8.8K Radios and Accessories
- 6.9K FLEX-6000 Signature Series
- 44 FLEX-8000 Signature Series
- 859 Maestro
- 45 FlexControl
- 849 FLEX Series (Legacy) Radios
- 807 Genius Products
- 424 Power Genius XL Amplifier
- 262 Tuner Genius XL
- 87 Antenna Genius
- 227 Shack Infrastructure
- 153 Networking
- 377 Remote Operation (SmartLink)
- 130 Contesting
- 639 Peripherals & Station Integration
- 116 Amateur Radio Interests
- 878 Third-Party Software