khanhas / AppVolumePlugin

Plugin for Rainmeter: Get and control apps volume, peak.
GNU General Public License v3.0
33 stars 3 forks source link

AppVolume Plugin for Rainmeter

GitHub release Github All Releases
A plugin that extend Rainmeter functionality: Get apps volume and peak level, control apps volume and mute.

Parent measure

Options:

Measure value:
Number: Total number of apps. You can use this value to generate enough child measures and prevent out of range error.
String: Current device name.

Example:

[AppVolumeParent]
Measure = Plugin
Plugin = AppVolume
IgnoreSystemSound = 1

Child measure

Options:

Measure value:
Number: Depend on what you set in NumberType, it return current app volume or peak level.
String: Depend on what you set in StringType, it return current app only file name or full path.

Example:

[AppIndex2]
Measure = Plugin
Plugin = AppVolume
Parent = AppVolumeParent
Index = 2
NumType = Peak
StringType = Filename
[FoobarVolume]
Measure = Plugin
Plugin = AppVolume
Parent = AppVolumeParent
AppName = Foobar.exe
NumType = Volume
StringType = Filepath

Bangs

Both parent and child:

Only child:

Section variable

Only available in Rainmeter version >= 4.1
An additional way to get app volume and peak by index or app name. DynamicVariables = 1 is required in where you use these variables.

[ParentMeasureName:GetVolumeFromIndex(x)]
[ParentMeasureName:GetPeakFromIndex(x)]
[ParentMeasureName:GetFileNameFromIndex(x)]
[ParentMeasureName:GetFilePathFromIndex(x)]
x is from 1 to number value of Parent measure.

[ParentMeasureName:GetVolumeFromAppName(name)]
[ParentMeasureName:GetPeakFromAppName(name)]
name is name of app you want to get. You need to include app name and its extension.

Example:

[AppVolumeParent]
Measure = Plugin
Plugin = AppVolume
IgnoreSoundSystem = 0

[Calc_SpotifyVolume]
Measure = Calc
Formula = [AppVolumeParent:GetVolumeFromAppName(spotify.exe)] * 100
DynamicVariables = 1

[Meter_SpotifyVolume]
Meter = String
MeasureName = Calc_SpotifyVolume
Text = Spotify: %1%
FontSize = 40
FontColor = 1FD662
AntiAlias = 1

AppVolume example skin

In release page, I included an example skin pack, you can download, examine and then make your own skin.
ExampleSkinDemo

Credit:

Big thanks to theAzack9 and tjhrulz who helped me get through some C++ stuff that I'm too noob to understand. I can't finish this one without them.