Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

Show OSD on both monitors at same time?

If you have a question or need help, this is the place to be.
Post Reply
molitar
Experienced User
Posts: 209
Joined: Fri Sep 11, 2009 6:44 am

Show OSD on both monitors at same time?

Post by molitar »

I am using the code for volume control to show OSD volume. But right now it's either monitor 1 or monitor 2. Since this is my primary volume control I wish to show the OSD on both monitors at the same time. How can I accomplish this?

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1568">
    <Folder Name="Volume Control" Expanded="True">
        <Macro Name="Volume Mute">
            <Event Name="DXusbPCR.Mute" />
            <Action>
                System.ToggleMute(0)
            </Action>
            <Action>
                EventGhost.ShowOSD(u'Mute {("Off", "On")[eg.result]}', u'0;-64;0;0;0;700;0;0;0;0;3;2;1;34;Arial', (255, 255, 255), (0, 0, 0), 6, (0, 60), 1, 3.0, True)
            </Action>
        </Macro>
        <Macro Name="Volume Up">
            <Event Name="DXusbPCR.Volume+" />
            <Action>
                System.ChangeMasterVolumeBy(1.0, 0)
            </Action>
            <Action>
                EventGhost.ShowOSD(u'Master Volume {int(round(eg.result))}%', u'0;-64;0;0;0;700;0;0;0;0;3;2;1;34;Arial', (255, 255, 255), (0, 0, 0), 6, (0, 60), 0, 3.0, True)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
            </Action>
        </Macro>
        <Macro Name="Volume Down">
            <Event Name="DXusbPCR.Volume-" />
            <Action>
                System.ChangeMasterVolumeBy(-1.0, 0)
            </Action>
            <Action>
                EventGhost.ShowOSD(u'Master Volume {int(round(eg.result))}%', u'0;-64;0;0;0;700;0;0;0;0;3;2;1;34;Arial', (255, 255, 255), (0, 0, 0), 6, (0, 60), 0, 3.0, True)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
molitar
Experienced User
Posts: 209
Joined: Fri Sep 11, 2009 6:44 am

Re: Show OSD on both monitors at same time?

Post by molitar »

Nobody knows if this is possible? Show OSD on both monitors or all monitors?
User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Show OSD on both monitors at same time?

Post by Pako »

Unfortunately, it is impossible with OSD plugin.
There is one possible workaround, but it depends on what text you want displayed.
If the text is still the same and does not change based on a variable, then the solution is quite simple:
1) Create an image with the desired text using a graphical editor (eg GIMP is a good choice)
2) Display the created image using the System-Display-Display image action

Pako
Post Reply