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 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.

Hercules Starlight DJ Midi Controller w/ SmartSDR for Mac

I purchased the Hercules Starlight DJ midi controller. This controller is not specifically supported by Marcus. It was similar to Hercules that is supported and I was hoping it would work. Most of the controllers Marcus lists as being supported seem to be no longer sold. I like this controller because it has more knobs than the others.

After much experimenting, I found that it is best to set the compatibility to DJ2GO2. The other compatibility selections make the controls on the right side use the same button and knob ids as the the left side. Using DJ2GO2 allows each button, knob and LED to have a unique id.

Everything works great after assigning the radio controls to the controller except using the jog wheels for tuning. No matter what I try, turning the jog wheels to tune causes the frequency to jump by megahertz. When viewing the jog wheel control in the midi mapping editor I only see the control values of 1 and 127. Other knobs range from 1 to 127 with all 127 values visible as I turn the knob. Any suggestions would be appreciated.

I have attached a file with all of the button, knob and LED codes. The codes for the LEDs were quit difficult to determine.

This controller has annoying flashing LEDs on the bottom of the base. I took the clear bottom off of the controller and covered those LEDs with electrical tape and replaced the bottom. Problem solved.

Comments

  • biotpolice
    biotpolice Member, Unconfirmed
    Hi Gordon,

    Thanks for this. I have just acquired one of these controllers and I too am having similar issues with the jog wheel. Have you made any developments since your last post please.

    Thanks,

    Robert
  • gordonz
    gordonz Member ✭✭
    Robert,

    I gave up on using SmartSDR for Mac to control the jog wheels. I purchased an automation application called Keyboard Maestro ($36) that allows me to write scripts to process Midi messages. This is a very powerful scripting program for the Mac. I also use the FRStack Web API to send and receive messages from my Flex 6400.

    This allows me to use any Midi controller recognized by the Mac operating system. I can assign any function supported by FRStack Web API to a button, knob, jog wheel or slider. I also have full control over any button LEDs.

    I have found that midi jog wheels are overly sensitive when controlling VFO tuning. I modified my VFO script to only change the frequency after "x" number of midi messages are received where "x" is a value between 2 and 10. This allows me to adjust jog wheel sensitivity. I can control this sensitivity with one of the knobs on my controller.

    I have since replaced my Starlight with a DJ-Tech 4MIX controller from bhphotovideo.com. It has a lot more knobs and buttons (See photos).
  • KE8ROY891
    KE8ROY891 Member ✭✭
    Can’t seem to get the WebApi installed/working as I don’t see the PList file that’s required. What am I missing. Trying to get the Streamdeck working on Mac. Thanks
  • gordonz
    gordonz Member ✭✭
    > @KE8ROY891 said:
    > Can’t seem to get the WebApi installed/working as I don’t see the PList file that’s required. What am I missing. Trying to get the Streamdeck working on Mac. Thanks

    If you are talking about "/Library/LaunchDaemons/com.mkcmsoftware.FRStackWebApi.plist" then you need to copy that file from "/usr/local/frstack".

    $ sudo cp /usr/local/frstack/com.mkcmsoftware.FRStackWebApi.plist /Library/LaunchDaemons
  • KE8ROY891
    KE8ROY891 Member ✭✭
    edited October 2023
    @gordonz Thank you. Yes. I copied that file to that location. I also started the file. Even so, I don't see any logs, and I can not get Stream Deck or Browser to run any commands. That said, I could be executing the command incorrectly, I have tried the port both the port from the web api instructions and the default port in the FRStack Stream Deck Profiles. I have tried http://127.0.0.1:13522/api/Radio/MUTE[?param=2] to see if it would mute the radio (for example) and I received an error message saying it wasn't formatted correctly. I have also tried http://127.0.0.1:5025/api/Radio/MUTE[?param=2]. and http://localhost:13522/api/Radio/MUTE[?param=2] and http://localhost:5025/api/Radio/MUTE[?param=2]. Thanks for your help. Let me know what I am doing wrong.
  • gordonz
    gordonz Member ✭✭
    @KE8ROY891

    Remove the [ ] from the around the parameter.

    Here are some examples. I use CURL to to send the commands to FRStack.

    curl "http://localhost:5025/Radio/BINAURAL?param=2"

    curl "http://localhost:5025/activeSlice/PAN?param=CENTER"

    curl "http://localhost:5025/activeSlice/AGCMODE/?param=DOWN"

    I hope this helps.
  • KE8ROY891
    KE8ROY891 Member ✭✭
    @gordonz - wow! thanks much. Away right now, but will try tomorrow.
  • KE8ROY891
    KE8ROY891 Member ✭✭
    @gordonz - thanks very much. I was able to make it work calling curl. I went back and looked at my directories (since I sounded so confident above...always a bad sign :) ). and sure enough, I had messed up the directory. I fixed it and restarted things and ran the CURL you suggested and it worked. Now I am trying to get Stream Deck to execute the commands, and I can't seem to make that happen. I am sure I am doing something goofy again but if you have any pointers, or if there is another string I should look at, point me there. Thanks so much for jumping in here.
    KE8ROY
  • gordonz
    gordonz Member ✭✭

    @KE8ROY891

    I don't send commands directly to FRStack using the Stream Deck. I use the Stream Deck to execute macros using an inexpensive and powerful programming application called Keyboard Maestro ($36).

    However, I was able to locate two Stream Deck plugins that let me do what you want. The plugins are "Web Requests" and "API Request". They both allow you to send an http message. You just put your http URL in the "URL" field and select "GET" in the "Method" field.



  • KE8ROY891
    KE8ROY891 Member ✭✭
    @gordonz - Thank you! I'll work on this and I'll checkout the app you mention. Really appreciate all the help here. 73!
    Britt (KE8ROY)
  • gordonz
    gordonz Member ✭✭

    @KE8ROY891

    Britt - The developer of FRStack has created a Stream Deck plugin that is very powerful. It is not located in the Stream Deck store. You will need to copy it from his GitHub webpage.

    It has four functions: Rest Call, FRStack Toggle, FRStack Level, & FRStack State.

    Gordon (KZ4IM)

  • KE8ROY891
    KE8ROY891 Member ✭✭

    @Gordonz

    Hi Gordon: I just saw this as I have been having some other issues with my Mac. I will give it a shot when things settle down. Thanks again for your help.

    Britt (KE8ROY)

  • m5kvk
    m5kvk Member ✭✭

    I'm late to this party, but I hope somebody can help me get FRStackWebAPI installed on my Mac..

    I've followed the instructions to install .Net and FRStackWebAPI as far as the instruction to execute Launchctl. Of course, there's no plistin \Library\LauncDaemons at this point. I found the instruction to copy the plist from /usr/local/frstack Unfortunately, it's not there.

    I redownloaded FRSTackWebAPI-osx-x64_3_8_12_77.zip but there is no plist in the zip file.

    Any ideas?

  • gordonz
    gordonz Member ✭✭

    @m5kvk

    I downloaded the same zip file. The file is named "com.mkcmsoftware.FRStackWebApi.plist"

    Gordon - KZ4IM

  • m5kvk
    m5kvk Member ✭✭

    Having also got frustrated with the sensitivity of the jog-wheel on the DJ2GO Touch, I've started to look at using Keyboard Maestro with FRStackWebAPI to control my remote 6400. However, I'm a total newbie to MIDI devices and can't find a reference to what codes the Touch sends when you press keys or vary sliders/jogwheels.

    I'm finding Keyboard Maestro a bit intimidating at the moment, so any guidance would be appreciated.

  • K3CDY
    K3CDY Member ✭✭

    Hello Gareth -

    To see what MIDI messages are being sent/received, you can download a free app called MIDI Monitor for the Mac. It’s available here:

    https://www.snoize.com/MIDIMonitor/

    Using this app, all you need to do is press a key, knob or slider, and the MIDI Monitor will show the values.

    Good luck!

  • K3CDY
    K3CDY Member ✭✭

    Gareth -

    One more thing. I’ve been attempting to get my Stream Deck+ to do more than issue MIDI commands to MacSSDR (since MacSSDR is quite limited in the number of possible radio commands). In exploring this thread, I came across what I believe are the best starting point resources to get the Stream Deck working with the broadest possible functionality to control my Flex.

    I haven’t set this up yet, but on my Mac I will:

    1. Install .NET and FRStack
    2. Get FRStack integrated with my Stream Deck+

    I’m optimistic this will give me the control I want.

    I know you’re not utilizing a Stream Deck, but they are a truly wonderful product, with applications going well beyond just Flex Radio control.

    73!

  • gordonz
    gordonz Member ✭✭

    Hi Gareth,

    The jog wheels on midi devices send a lot of messages very fast. What I did was create a sensitivity variable that ranges 0 to 50. If the jog wheel is setup to tune the VFO frequency and the sensitivity is set to 25, I only change the frequency every 25th jog wheel midi message. Increase or decrease the sensitivity variable to change tuning speed. It works quite well.

    I am enclosing all of my FlexRadio related Keyboard Maestro macros for you to look at. The "Midi_" macros are for sending and receiving midi messages. The "FRStack_" macros are for sending commands to the FRStack Web API. The "SmartSDR_" macros setup everything necessary for the other macros to work. The "StreamDeck_" macros handle commands from a StreamDeck to control the radio.

    Unzip the file and double-click on .kmmacros files and the macros will load into Keyboard Maestro. You are welcome to use/edit these macros in any way.

    This website is a great place to get help from other Keyboard Maestro users. https://forum.keyboardmaestro.com

    I am also including a photo of my midi device so you can relate the macros to it.

    I am always happy to answer questions.

    Good luck,

    Gordon Zimmerman

    KZ4IM

  • K3CDY
    K3CDY Member ✭✭
    edited January 2

    Hello Gordon -

    Are you running macOS? If so, was there anything special you had to do to get the FRStack WebAPI Service running?

    I've followed the latest (3.8.12.78) installation instructions to the letter for both .NET and the WebAPI. .NET appears to be installed fine (the terminal command "./dotnet --info" returns version info, etc.). However, no frstack.log files appear in the Console app, so apparently nothing is running.

    When I issue the terminal command "sudo launchctl load /Library/LaunchDaemons/com.mkcmsoftware.FRStackWebApi.plist" I get "Load failed: 5: Input/output error"

    Thanks

    Bill K3CDY

  • K3CDY
    K3CDY Member ✭✭
    edited January 3

    Just a follow up.  I managed to get the WebAPI working on my Mac.

    First, I added /User/username/.dotnet to my .zshrc file so it could find the "dotnet" command. The line I added was "export PATH=$PATH:/User/username/.dotnet" then relaunched Terminal.

    Then I executed the Terminal commands:

    cd /usr/local/frstack
    dotnet FRStackWebApi.dll --urls "http://*:5025"
    

    In the Stream Deck button or dial setup, I also had to make certain I was using "Global: URL 2" which is http://127.0.0.1:5025. Once I got these set up, my button and knob started to work!


    These Terminal commands were kind of buried in the WebAPI instructions.  Also I learned that other macOS users have been having problems with “launchctl” so running it manually was the way to go. Consequently, you'll have to either manually launch the FRStackWebApi, or write a script to do so.


    Additionally, even after running this manually, "frstack" Console messages still don’t appear, however I do see “dotnet” running in the Activity Monitor (and it’s a bit of a CPU resource hog at 5-10%).

    One more thing: you need to start MacSSDR FIRST before launching the WebAPI, otherwise MacSSDR freaks out.