Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
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

17891113

Comments

  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Asher, thanks for the suggestion.  I need to get up to speed on the Blocking Collection class, how to use it and bring it into my application.  It sounds like the right approach.

    My assumption on the midi event queue overruns is from observing that when I turn the tuning knob very fast the frequency incrementing slows or stops until I slow down turning the tuning knob.  And those events are being lost as the queue doesn't empty itself after I stop turning.  Maybe  my reasoning is all wrong, but i don't know how to debug this.

    I need to programmatically determine that the events are coming in too quickly, be able to throttle them down and increase the step size to increase the tuning speed.  It sounds difficult.  The Flex Control Knob seems to handle this just fine.  

    Paul
  • Asher - K0AU
    Asher - K0AU Member ✭✭
    edited March 2020
    couple quick thoughts.  Put a performance analyzer on your code to see what's happening before you make any assumptions.  My experience is I never got tuning as smooth as the Flex Control Knob - because the WIndows app is talking to the radio and the radio then sends updates to all the subscribed applications.  So it's a bit slower.  When I programmed my own web interface I could resolve the jerkiness.  If tuning is falling behind you may have some other bottleneck to solve first.  I used a Midi library called NAudio which doesn't have much support but seems to work ok and is on Github.  Good luck!
  • Ken - NM9P
    Ken - NM9P Member ✭✭
    edited May 2017
    Part of the problem William ran into is that the CMD Micro and CMD-PL1 have high resolution "turntables" and give too many "tics" per revolution which made it really hard to stop on the correct frequency. He designed a three stage variable speed routine. If you tuned with the top of the knob, touching the capacitance plate, it tuned tic-for- tic. But if you tuned by the rubber outside of the knob, he had a counter that required 5 or 10 tics before it sent a tic to the program, slowing down the knob response nicely. But if you "threw" the wheel quickly, it would increase the step size by a factor of ten, which really sped up the QSY,
  • Paul Burton
    Paul Burton Member ✭✭
    edited June 2020
    I'm sorry I haven't responded to this thread lately, as I've been busy.  I have the install package ready for those that want to download the program, and also have a Visual Studio 2015 project available for those interested.  Unfortunately, I've no current repository for distributing it.  If anyone knows a free place where I can drop this stuff for general access, let me know.  

    Paul
  • Steve G1XOW
    Steve G1XOW Member ✭✭
    edited May 2020
    Hi paul, a lot of peeps are starting to use a public folder im a dropbox account. Looking forward to having a play!
  • Ken - NM9P
    Ken - NM9P Member ✭✭
    edited May 2017
    Paul, I second the recommendation to open up a Dropbox account and create either a linked or Shared folder.  You can then upload your program to the folder and post or email the link to interested parties.  It doesn't have all the luxuries of version tracking, etc.  But it is free for a small Dropbox account. (up to 5Gb)
  • Paul Burton
    Paul Burton Member ✭✭
    edited June 2020
    OK, hopefully I've created two dropbox folders.  One has the zipped install files to install it on your computer.  The other is the set of zipped project files which can be opened in Microsoft Visual Studio to view the source code by downloading to a folder and clicking on the .sln file.  Here is the link to the folders.

    https://www.dropbox.com/sh/rsbsidlv5mljq5n/AAC4puhwbGXHfGxzQaS8UEnpa?dl=0

    I need to write a help file which will show which buttons/knobs/sliders apply to each FLEX function, but I haven't had time to do that yet.  I'll include it in the install folder as a readme file when I have time to do it.  You can discover it yourself by just starting the program (after starting the radio and SSDR), connecting my program to your radio, and playing with each button/knob/slider and observing its effect.  Then use a label-maker to label your CMD Micro.  I am still struggling with the tuning knob action, so it doesn't work well yet unless you go slow.

    If you import the source into VS, I would welcome any comments on how the program works or improvements you would want to make.  Also I welcome suggestions on my C# style or things I could have done better (please be gentle as I am a fairly inexperienced C# programmer).

    If you want to customize it for your own use, you can go to the "switch" statements which decode the various CMD Micro buttons/knobs/sliders and just insert your own code in the appropriate case.  There are currently 5 buttons which are currently undefined, so you can easily add your own function there.  If you are using a different MIDI controller, you need to determine the event caused by each button/know/slider and make appropriate "case" statements under the "switch" statements.



  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Dropbox "public folders" have been deprecated.  
  • Ken - NM9P
    Ken - NM9P Member ✭✭
    edited May 2017
    Thanks!  I will look at them when I get a chance.
    But I have meetings tonight.

    Ken - NM9P
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Anyone have any sturdy and adjustable CMD Micro stand ideas available on Amazon?
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    If anyone downloaded the Flex/CMD Micro install package from dropbox you might need to do it again.  I had grabbed the wrong folder and uploaded it.  It's now correct.  Sorry

    Paul
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Paul, are you sure your last DropBox package is the right one?

    I get a "HIGHLIGHT RADIO TO BE CONNECTED
    Invalid number of input device"

  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Yes, that is correct.  It's not seeing your CMD Micro for some reason, or else you have more than one CMD Micro attached.  I'll recheck the link tomorrow but I think it's correct.  
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    I just downloaded it and installed it to my machine and it works correctly.  Did it find your Flex OK?
  • Bob- W5TX
    Bob- W5TX Member ✭✭
    edited May 2017
    Roy. Look in this thread for pictures of Maestro stand. Not sure if Flex will sell stand separately but it's a super stand.
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Roy, you must have the Flex running, SSDR running and connected, and the CMD Micro plugged into the USB port and powered up before starting my software.  You should see your FLEX discovered in the HIGHLIGHT RADIO TO BE CONNECTED window and you should not see "Invalid number of devices".  The fact that you got that screen indicates the proper code is running but the CMD Micro is not being seen.  Perhaps your firewall is blocking things.
  • Paul Burton
    Paul Burton Member ✭✭
    edited March 2019
    I have updated my FLEX CMD Micro application and also added a crude picture of the CMD Micro layout to assist in labeling the buttons/knobs/sliders.   The link to the folder has not changed, and is 

    https://www.dropbox.com/sh/rsbsidlv5mljq5n/AAC4puhwbGXHfGxzQaS8UEnpa?dl=0


  • Roy Laufer
    Roy Laufer Member ✭✭
    edited August 2017
    Sorry, Paul, there's no joy in Mudville...

    I have SSDR running, I have my CMD Micro plugged in and lit up.

    I start your program and I get "CMD Micro" in the top box, and HIGHLIGHT RADIO TO BE CONNECTED at the top of the lower window, then there is a line space followed by my 6700's data. If I highlight my 6700 data line, I get absolutely nothing, if I select the empty line above it I get:

    Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.

    startIndex cannot be larger than length of string
    Parameter name: startIndex.

    I assume that your program doesn't like the choice of identifier for my 6700:

    FLEX-6700 FeLEX AC2GS

    (Maybe it doesn't like the dash?????)
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    OK Roy, that sounds like the problem, but I'll have to take a closer look at it.  What is the exact text you are seeing in the radio selection window?
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Here ya go!

    image
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    OK, Roy, I am trying to parse out the radio serial number as a unique identifier for the radio.  I am curious as to what FeLEX AC2GS is.  Is this the serial number?   Did you change this from the original one?  I guess I'll have to do the radio ID differently.
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    My serial number remains unchanged

    As far as I can see your software is parsing out the "Radio Identification" info - 

    Model: FLEX-6700
    Nickname: FeLEX
    Callsign: AC2GS

  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Roy, I am parsing the radio response on discovery, and the FeLEX value should be the serial number.  I see now that I've interpreted the Nickname as the serial number.  I'll fix that and repost here when I'm done.   Sorry for my error.  
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    No problem Paul.

    I appreciate all the effort that you have put into this project.

    You might consider double checking the installation program setting, it seems to default to a "funky" program subdirectory /[your company]/CMD Micro/.
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Roy - I corrected my error and have uploaded the new version.  Please give it a try and let me know how it goes.  thanks

    Paul
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Much better.

    The install app still wants to place the files into a default 'your company' sub-directory.

    Twirling the CMD's Main Level knob, which should be "Monitor Level" crashes the program for me.
  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    Yes, I haven't dealt with the install directory yet.  I've never used VS install projects and haven't found where that's specified.  That's strange about the sidetone/monior level crashing things.  Mine works perfectly.  Do the other knobs/sliders work ok?

    Now you know what it means to be a beta tester ;-)
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Audio Pan crashes the software.
    Tuning Step crashes the software.

  • Paul Burton
    Paul Burton Member ✭✭
    edited May 2017
    What happens when it crashes?  It all works perfectly with my 6300.
  • Roy Laufer
    Roy Laufer Member ✭✭
    edited May 2017
    Very odd - if I prime the controls manually the CMD seems to operate now!?

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.