Volume OSD for system volume (1 Viewer)

Nazgulled

Portal Pro
January 1, 2009
83
0
Home Country
Portugal Portugal
Hi,

I can't remove the volume buttons actions on my remote to change the volume in MediaPortal only nor I want to cause if I did that and closed MediaPortal, I couldn't use the volume buttons anymore.

So, basically, I only use the system volume to control the general volume of my HTPC. The buttons on the remote and also the volume knob on the case control the general system volume, this is the behavior I want.

However, I'm wondering if I could see the volume OSD for the system volume... Currently, only MediaPortal volume is displayed on the OSD but I don't use that one, I use the system volume, which is not displayed.

Is this possible?

P.S: I wondered because Vista Media Center works like this and it's nice to see the volume OSD when I press the remote buttons so I can see how low/high the volume is.
 

Marcusb

Retired Team Member
  • Premium Supporter
  • February 16, 2005
    1,995
    29
    Melbourne
    I think this is an option in the configuration. In the general section (may need to switch to advanced mode) you can set what volume is controlled by the volume controls.
    I don't use it, so not sure if that is what you want eactly, but worth checking it out.

    Marcus.
     

    Nazgulled

    Portal Pro
    January 1, 2009
    83
    0
    Home Country
    Portugal Portugal
    I have that already set to "System Volume" (or something like that, can't remember the name) and the buttons on the remote do work for the system volume, but there's no OSD about it...
     

    bogser

    Portal Member
    January 26, 2012
    5
    0
    Home Country
    Russian Federation Russian Federation
    Hi,

    Has something changed? Is it possible to display volume OSD in last mediaportal when master volume is changed outside (e.g. from remote) as windows 7 media center does?
     

    powermarcel10

    Retired Team Member
  • Premium Supporter
  • November 30, 2010
    2,839
    898
    35
    Groningen
    Home Country
    Netherlands Netherlands
    Hi Bogser, it's not possible yet, but there is a great solution for it.. Use the free program "3RVX" this is a iphone look a like volume OSD ( there are a lot of different skins included) and this will also showup inside Mediaportal.. It's working great! You only have to set that the osd also showup when other fullscreen programs are active.

    Good luck!


    ---
    I am here: http://maps.google.com/maps?ll=53.234317,6.611481
     

    bogser

    Portal Member
    January 26, 2012
    5
    0
    Home Country
    Russian Federation Russian Federation
    Thanks for reply,
    I've tested 3RVX a year ago and had some problems with it. OSD was too small on my TV, setting volume change step did not work, maybe something else. Also, seems like 3RVX is not developed now, there is only 2.5 version as a year ago.

    For now, I'm using my own script for AutoHotkey_L for displaying OSD:

    volumeosd.png

    Code:
    #Include VA.ahk  ; Required for VA_GetMasterVolume and VA_GetMasterMute functions, download from http://www.autohotkey.com/forum/topic23792.html
     
    nVolumeIndicatorDisplayTime := 1000 ; Number of ms that should elapse before hiding volume indicator
    nVolumeIndicatorWidth := 500
    nVolumeIndicatorX := Round( (A_ScreenWidth - nVolumeIndicatorWidth) / 2 )
    nVolumeIndicatorY := A_ScreenHeight - 200
     
    ; The $ prefix is needed so that a hotkey can "send itself" without entering into infinite loop
     
    $Volume_Up::
        Send {Volume_Up}
        Sleep, 50 ; Give some time to Windows to process message
        Gosub, ShowVolumeIndicator
        return
     
    $Volume_Down::
        Send {Volume_Down}
        Sleep, 50 ; Give some time to Windows to process message
        Gosub, ShowVolumeIndicator
        return
     
    $Volume_Mute::
        Send {Volume_Mute}
        Sleep, 50 ; Give some time to Windows to process message
        Gosub, ShowVolumeIndicator
        return
     
    ShowVolumeIndicator:
        nVolume := Round(VA_GetMasterVolume())
        bMute := VA_GetMasterMute()
     
        if (!bMute)
          strVolumeText := nVolume
        else
          strVolumeText := "Mute"
     
        ; To prevent the "flashing" effect, only create the progress window if it doesn't already exist
        IfWinNotExist, HTPCVolumeOSDWindowTitle
        {
            Progress, 1:B1 W%nVolumeIndicatorWidth% X%nVolumeIndicatorX% Y%nVolumeIndicatorY% CWWhite CBGreen CTGreen, , %strVolumeText%, HTPCVolumeOSDWindowTitle
            WinSet, Transparent, 225, HTPCVolumeOSDWindowTitle
        }
        Progress, 1:%nVolume%, , %strVolumeText%
        SetTimer, HideVolumeIndicator, %nVolumeIndicatorDisplayTime%
        return
     
    HideVolumeIndicator:
        SetTimer, HideVolumeIndicator, Off
        Progress, 1:Off
        return

    It works, but it would be better if mediaportal displayed volume OSD natively according to its current skin as windows media center does.
     

    Attachments

    • OSD.png
      OSD.png
      1.1 KB

    bogser

    Portal Member
    January 26, 2012
    5
    0
    Home Country
    Russian Federation Russian Federation
    Have updated my previous script that displays master volume OSD in Vista/Windows 7. Previous version does not work if 'Use Microsoft MCE remote or keyboard' option is enabled in MediaPortal configuration. Bug is fixed, new script successfully changes master volume and displays volume OSD when pressing volume control keys on MCE remote or any media keyboard.

    To run the script save it to VolumeOSD.ahk file (you can use any other file name for it), install AutoHotKey_L, download the latest VA.ahk and place it next to the VolumeOSD.ahk, double click the VolumeOSD.ahk.

    volumeosd.png

    Code:
    #Include VA.ahk
     
    nVolumeIndicatorDisplayTime := 1000 ; Number of ms that should elapse before hiding volume indicator
    nVolumeChangeStep := 2 ; Volume change step in percentage
    nVolumeIndicatorWidth := 500
    nVolumeIndicatorX := Round( (A_ScreenWidth - nVolumeIndicatorWidth) / 2 )
    nVolumeIndicatorY := A_ScreenHeight - 200
     
    Volume_Up::
        VA_SetMasterVolume(Round(VA_GetMasterVolume() + nVolumeChangeStep))
        Gosub, ShowVolumeIndicator
        return
     
    Volume_Down::
        VA_SetMasterVolume(Round(VA_GetMasterVolume() - nVolumeChangeStep))
        Gosub, ShowVolumeIndicator
        return
     
    Volume_Mute::
        VA_SetMasterMute(NOT VA_GetMasterMute())
        Gosub, ShowVolumeIndicator
        return
     
    ShowVolumeIndicator:
        nVolume := Round(VA_GetMasterVolume())
        bMute := VA_GetMasterMute()
     
        strVolumeText := bMute ? "Mute" : nVolume
     
        ; To prevent the "flashing" effect, only create the progress window if it doesn't already exist
        IfWinNotExist, HTPCVolumeOSDWindowTitle
        {
            Progress, 1:B1 W%nVolumeIndicatorWidth% X%nVolumeIndicatorX% Y%nVolumeIndicatorY% CWWhite CBGreen CTGreen, , %strVolumeText%, HTPCVolumeOSDWindowTitle
            WinSet, Transparent, 225, HTPCVolumeOSDWindowTitle
        }
        Progress, 1:%nVolume%, , %strVolumeText%
        SetTimer, HideVolumeIndicator, %nVolumeIndicatorDisplayTime%
        return
     
    HideVolumeIndicator:
        SetTimer, HideVolumeIndicator, Off
        Progress, 1:Off
        return
     

    Users who are viewing this thread

    Top Bottom