Contribute
Register

Controlling Your Monitor with OSX: DDC Panel

Status
Not open for further replies.
Joined
Dec 3, 2010
Messages
460
Motherboard
Gigabyte GA-H55M-S2V
CPU
Intel i3-530
Graphics
HIS HD 6570
Mac
  1. iMac
Mobile Phone
  1. Android
dy7tpFW.png
I've been trying to find a decent solution for DP/HDMI audio volume control in OSX, and while I understand Apple's reluctance to add another volume level to the "chain", my monitor has awful controls, and the difference between 0.8% and 0% is pretty high. To this end, I looked for and found a rough DDC/CI implementation for OSX, and supplemented it with the VESA specification. Working to clean it up, I made a small app to play with the values, and "unmute" now works in the newest version. My eventual goal is a system daemon `ddcd` which loads at boot, traps the volume keystrokes from my Apple keyboard and sends the appropriate DDC/CI command to my monitor.
The app is no longer "severe": failures will disable the current controller; if you think the failure is wrong, try pressing the refresh button to reset the state of the controller. The X button will factory reset the monitor. The smaller attachment is the source.

WARNING: Experimental NVidia support

Version 1.6
 

Attachments

  • DDC Panel.zip
    191.2 KB · Views: 6,288
  • DDC Panel.zip
    171.3 KB · Views: 2,147
moved to Graphics
 
I've been trying to find a decent solution for DP/HDMI audio volume control in OSX, and while I understand Apple's reluctance to add another volume level to the "chain", my monitor has awful controls, and the difference between 0.8% and 0% is pretty high. To this end, I looked for and found a rough DDC/CI implementation for OSX, and supplemented it with the VESA specification. Working to clean it up, I made a small app to play with the values, and while I can't "unmute" my monitor with the current controls, it's something. My eventual goal is a system daemon `ddcd` which loads at boot, traps the volume keystrokes from my Apple keyboard and sends the appropriate DDC/CI command to my monitor.
Be aware that the app is "severe", in that it will throw an exception if there is any trouble talking to the monitor. The smaller attachment is the source.
ajJYKhn.png

:thumbup:
 
Updated to v1.2
  • EDID parsing, fetches monitor name and serial #
  • Basic protections added to EDID test
  • App positioned for EDID v1.3 only, 1.4 (DisplayPort) to be added later
  • Better detection of request failure
  • App icon based on VESA logo
 
This looks great! I noticed that you mention DP/HDMI but will this work with DVI? I don't know if its possible but I would love to be able to control the brightness (read backlight control) of my monitor through software. However, if I can't do that through the controls of my monitor then I probably can't do it with this. Sorry, /ramble
 
Totally cool!
Really wanted something just like this!

Great work & thank you!
 
Hey seems great, but could you make it targeted to OS X Lion or Snow Leopard and later for those of use whom have not bought Mountain Lion yet? :D
 
DVI is 1.3, so it should be fine, but the only real test is to try it.
The app compiles for Lion, but has not been tested, the source is available above.
Do not attempt to run it on a Mac, especially portables.
 
the existing implementation I realized only works well with v1.3, so I added the safeguard. You could remove it and get most of the controls, but reading a changed value back in throws an error, and the monitor will likely stop responding to DDC/CI requests until restarted. Being version-aware was the easiest way of making the app safe for now, though I put additional specification links in the source. I haven't gotten around to reading them yet to make the necessary changes.
 
Status
Not open for further replies.
Back
Top