[Feature] Orbiter [Finder) - volume control sensitivity/granularity

Comments

6 comments

  • Official comment
    Avatar
    Shipping & Sales

    Hey Todd, great request. I've logged this with our team as a feature request but have a pretty effective workaround for you in the meantime:

    Long story short, there are two ways of addressing macOS volume. One is by emulating HID media keys. As you've noticed, this produces larger incrementation but is the most reliable method of control—recognition for these HID keycodes are built right into macOS and every major media player.

    The other way is by calling a macOS API for volume. There are a small number of cases where this doesn't work, so we rely on the more reliable but slightly less elegant HID keycode method by default. By calling the macOS API, though, we can send nearly any arbitrary value for a volume increase/decrease rather than being restricted to the larger HID increments.

    I've put together some module settings that use the macOS API to send much more finely-incremented messages. Please try these steps below to use the custom module settings:

    1. Enable Manual Entry

    • Go to Creator > Preferences > Advanced
    • Locate the preference "Enable debugging of module settings via Manual Entry" and enable it

    2. Paste in the custom module settings:

    • Select a dial or Orbiter module
    • Select "Manual Entry" from the left-hand side
    • Delete all existing code
    • Copy and paste in one of the below code snippets
    • Select "Check and Save" — if you do not receive a confirmation, please double-check for errors in your pasted code. I use a JSON validator for this.
    • Select "Done"

    Orbiter settings:

    {
    "info":"Adjusts the System Volume using Operating System API",
    "label":"System Volume",
    "name":"system.volume",
    "tiltSensitivity":2,
    "tiltY":{
    "input":"system.volume",
    "step":0.5
    },
    "turn":{
    "input":"system.volume",
    "step":0.25
    },
    "turnSensitivity":9
    }

    Dial settings:

    {
    "info":"Adjusts the System Volume using Operating System API",
    "label":"System Volume",
    "name":"system.volume",
    "press":{
    "input":"audio_mute"
    },
    "turn":{
    "input":"system.volume",
    "step":0.25
    },
    "turnSensitivity":9
    }

    Known issues:

    As noted above, you may run into the odd case where this doesn't work as expected. The only two issues I've noticed consistently are:

    1. It may not work with certain virtual audio outputs like iShowU Audio Capture (used to loop back system audio to a stream output)

    2. It doesn't display the volume change graphic.

    Both are likely inherent limitations of the macOS API being used.

    Comment actions Permalink
  • Avatar
    Todd Chandler

    thanks for this andy-- very cool solution, and glad to hear that this will one day be a feature built into creator (with sensitivity slider to determine increase/decrease value amount, hopefully!).

    in the meantime i used better touch tool  (which for me has been a great companion to Monogram CC for mapping complex custom system and mouse actions to key commands that can then be mapped to the console) to map the key commands for +/-  .25 volume change (shift-option-fn-f11 / f12) and it works well, and as a bonus, includes the volume change graphic.

    0
    Comment actions Permalink
  • Avatar
    Shipping & Sales

    Hey Todd, I was able to get the HID implementation working, at least on my MacBook Pro w/touchbar, running Big Sur. Haven't verified it on other systems. 

    The code below is for a dial module, but if you remove the press assignment it'll work equally well on an Orbiter, at least for the outer ring. Maybe this will help too?

    Either way, BetterTouchTool is a great suggestion... glad it worked for you!

    {
    "label":"Audio Volume",
    "leftTurn":{
    "key":"f11",
    "localCharacter":"f11",
    "modifiers":[
    "alt",
    "shift"
    ],
    "virtual":false
    },
    "press":{
    "input":"audio_mute"
    },
    "rightTurn":{
    "key":"f12",
    "localCharacter":"f12",
    "modifiers":[
    "alt",
    "shift"
    ],
    "virtual":false
    },
    "sensitivity":8
    }
    0
    Comment actions Permalink
  • Avatar
    Todd Chandler

    Hey Andy,

    This is cool-- and totally works, but not if one has FN keys enabled in system prefs (which I do)! It doesn't seem that it works to add an 'fn' modifier to that code in addition to 'alt' and 'shift'.

    0
    Comment actions Permalink
  • Avatar
    Shipping & Sales

    I suspected there was a gotcha there!

    Okay so in summary it looks like we have a few valid workarounds (thanks again for the BTT one; I didn't even think of it), and I've logged a request internally to add the more precise volume slider control. Thanks again for the feedback on this one.

    0
    Comment actions Permalink
  • Avatar
    Todd Chandler

    Revisiting this as this change has not been implemented, and the workarounds you suggested above using manual entry seem not to work on my system. Can you check on this and let me know if there's an updated workaround?

    Running:

    Mac Studio
    MacOS 12.5
    Creator 5.4.2
    Firmware 2.0.18

    0
    Comment actions Permalink

Please sign in to leave a comment.

Powered by Zendesk