It is currently June 30th, 2024, 7:30 am

[!Refreshapp] when skin loaded?

Get help with creating, editing & fixing problems with skins
User avatar
Yincognito
Rainmeter Sage
Posts: 7576
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [!Refreshapp] when skin loaded?

Post by Yincognito »

sl23 wrote: June 22nd, 2024, 1:08 pm So I'm looking for this: {0.0.1.00000000}.{7fb35683-1fea-4fa1-be4a-a3e49b15aeeb} for Microphone (USB Audio)?
Is it better to use a variable to specify?
Yes, this is the ID / DeviceID used by AudioLevel, and the item ID used by SoundVolumeView.exe / svcl.exe - they are the same since it comes from Windows itself, so it can be used as a common ground for potential comparisons (if you're thinking of it, that is). If you want to compare, it's better to use a measure and not a variable, since a measure's string value can be automatically escaped for regex tests, via the :EscapeRegExp parameter - I already said that one reply ago.

Also, quick question: why do you even use the NirSoft sound tools for getting the audio levels? That can be done by the AudioLevel plugin (except you'll need to refresh the skin when the audio input changes), the only thing not covered by the AudioLevel plugin is setting levels, switching the audio input, and possibly identifying which audio input is "active" / "connected" (this one is slightly tricky, at least for my devices), that's the only thing the NirSoft sound tools can truly contribute in such a case.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

I did think of using that ID originally, but I thought about keeping the skin from growing too large! I would've needed more measures to display the Friandly name. It's already got a ton of stuff in it! :rofl: Oh, actually, I could've just used a substitute of "ID":"Mic" duh!

Oh, are saying I don't even need the Nirsoft apps? I didn't think you could set that info using AudioLevel, hence why we ended up with Powershell to get it in the first place? I am using AudioLevel for getting the info already. Oh, no, I'm not! lol I thought it was required for both. So I only need NirSoft to change the volume settings/mute state?
I don't need to change devices.
Last edited by sl23 on June 22nd, 2024, 1:40 pm, edited 1 time in total.
- MuLab -
User avatar
Yincognito
Rainmeter Sage
Posts: 7576
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [!Refreshapp] when skin loaded?

Post by Yincognito »

sl23 wrote: June 22nd, 2024, 1:32 pmOh, are saying I don't even need the Nirsoft apps? I didn't think you could set that info using AudioLevel, hence why we ended up with Powershell to get it in the first place? I am using AudioLevel for getting the info already.
Yeah, that was my point: AudioLevel to GET stuff, NirSoft to SET stuff. But you're already getting stuff using NirSoft (e.g. /getpercent, /getmute), which can easily be done by AudioLevel. That's what I was trying to say. Just use NirSoft for manually setting the mic level or switching the audio input via mouse actions, and you escape half of the problems. You only have to deal with the other half, of course. :D
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

OMG! I didn't know that was possible. I mean, I know about getting the db level for a VU meter/FFT display obviously, though, I just checked and I can't believe I went down the complete wrong route with that one!

After checking the AudioLevel docs, I don't see how to get that info. How do you get the system input volume info or mute status using AudioLevel?

EG, everything in red is used for level meters, everything in blue is used for getting device info:
Type Required
Specifies the type of data to retrieve from the parent measure.

RMS : The current RMS level (0.0 to 1.0) corresponding to the specified Channel.
Peak : The current Peak level (0.0 to 1.0) corresponding to the specified Channel.
FFT : The current FFT level (0.0 to 1.0) corresponding to the specified FFTIdx option.
FFTFreq : The frequency in Hz corresponding to the specified FFTIdx option.
Band : The current FFT level (0.0 to 1.0) value corresponding to the specified BandIdx option.
BandFreq : The frequency in Hz corresponding to the specified BandIdx option.

Format : A string describing the audio format of the device connected to with the parent ID option.
DeviceStatus : Status (0 or 1) of the device connected to with the parent ID option.
DeviceName : A string with the name of the device connected to with the parent ID option.
DeviceID : A string with the Windows ID of the device connected to with the parent ID option.
DeviceList : A string with a list of all available device IDs for the specified Port This can be used to identify a desired device ID for use in the parent ID option.
I don't see anything on that page that allows getting volumepercent/mute data?
- MuLab -
User avatar
Yincognito
Rainmeter Sage
Posts: 7576
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [!Refreshapp] when skin loaded?

Post by Yincognito »

sl23 wrote: June 22nd, 2024, 1:45 pm OMG! I didn't know that was possible. I mean, I know about getting the db level for a VU meter/FFT display obviously, though, I just checked and I can't believe I went down the complete wrong route with that one!

After checking the AudioLevel docs, I don't see how to get that info. How do you get the system input volume info or mute status using AudioLevel?

EG, everything in red is used for level meters, everything in blue is used for getting device info:

I don't see anything on that page that allows getting volumepercent/mute data?
If you read what RMS, Peak, FFT, and Band mean on that page, you'll realize which one you need. It's all written there, if you make the logical connections. Hint: you already used it like a ton of times, obviously without even knowing what it was. ;-)
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

Swapped the LevelBar Meter to use AudioLevel now.
Um, nope, sorry, just don't see it! :oops:

What I see is that RMS and Peak are measuring fluctuating levels.
FFT is a way of splitting a signal into bands which are then used to show in meters.

There's notes on disabling RMS and Peak, but no idea why you would want to do that. Is that it?
- MuLab -
User avatar
Yincognito
Rainmeter Sage
Posts: 7576
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: [!Refreshapp] when skin loaded?

Post by Yincognito »

sl23 wrote: June 22nd, 2024, 1:45 pmI don't see anything on that page that allows getting volumepercent/mute data?
My bad, what I meant was the volume of the "signal", not the volume of the device. So basically RMS, but of course this doesn't represent the volume at which the mic device is set at, but how loud you yell into the mic. Sorry for the created confusion. :oops:
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

No way, you mean... you made a mistake? :rolmfao:
I thought you were infallable!!! :o
Got my hopes up then! :-(
- MuLab -
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

Also, I can't remove the original measures used for the bar meter as they're required for setting volume too.
- MuLab -
User avatar
sl23
Posts: 1233
Joined: February 17th, 2011, 7:45 pm
Location: a Galaxy S7 far far away

Re: [!Refreshapp] when skin loaded?

Post by sl23 »

Back to my problem... :D

Code: Select all

[mMicdbLevel]
Measure=Plugin
Plugin=AudioLevel
Port=Input
ID=[mDeviceID]
How to separate the two inputs so I can measure each from separate bar meters?
- MuLab -