Probably not going to bother with different devices - I'm not actually sure the loopback interface is available on anything except the default render device. I'll take a quick look but don't hold your breath.
I will add some debug logging though, maybe we can figure out why it doesn't work on some sound cards. I'm guessing the WAVEFORMATEX comes back with an unusual # channels or bit depth or something.
Edit: also I haven't tried the 32b versions at all, so if it doesn't work, make sure to let me know if you're running Win32 or x64.
Probably not going to bother with different devices - I'm not actually sure the loopback interface is available on anything except the default render device. I'll take a quick look but don't hold your breath.
I will add some debug logging though, maybe we can figure out why it doesn't work on some sound cards. I'm guessing the WAVEFORMATEX comes back with an unusual # channels or bit depth or something.
Edit: also I haven't tried the 32b versions at all, so if it doesn't work, make sure to let me know if you're running Win32 or x64.
Cheers,
dave
Thanks for your work creating this it works perfect now. Your comment above regarding # channels was the clue I needed to resolve my problem. I was in the process of trying to figure this out and ended up in the Realtek Audio Manager. I'm not really sure why but my speaker configuration was set to 4.1. My speaker setup is 2.1. I changed it to 2.1 and it started working.
Really brings back some fond memories of the several Teac and Ampex reel to reels I used many years ago and it's useful for my current recording efforts... And they are just plain fun to have.
Cool! Glad to hear it worked out. I actually had an old TEAC 1/4" 4-track reel-to-reel machine until a couple of years ago, but hadn't used it in a long time so donated it to a vintage gear shop when I moved. Still have my Marshall JCM900 though - for some things tubes are essential.
I love you. I've been wanting this for a long time. Any chance you could expose volume level for a range of frequencies like this Windows gadget which likely uses the same API? And any chance of making the source available?
FFT's are going to be a fair bit more expensive but I was curious as well. I'll kick out the source but want to get it a bit more stable and cleaned-up first.
Cheers, looking forward to seeing what you do with it!
Yeah, FFTs would be nice so users can stop installing Samurize alongside Rainmeter. I hope this gets rolled into Rainmeter's base package some day.
If Type=RMS is not included, it throws error "AudioLevel.dll: Invalid Type=", even child measures. It should have a default value. Is there another type?
Overall volume gives a peak value of ~1.05, and L and R channels peak at ~0.7. These are really odd values, shouldn't they range from 0 to 1?
Nice internal fade out algorithm.
Last edited by killall-q on July 23rd, 2014, 8:57 pm, edited 6 times in total.
Yup - fixed the bug with the overall volume and the type specifier last night. I also rolled in some more improvements but was going to see if I could get it to dynamically detect devices on the fly before I posted a new one. (i.e. on my system, I've got an external USB audio interface, and it'd be nice if I could power it on/off without having to manually refresh the Rainmeter widget)
Didn't get too far on FFT's yet other than researching algorithms/libraries. (probably will use this: http://sourceforge.net/projects/kissfft/) FFT stuff will definitely be optional and default off. Guessing that will be a release 2.0 kinda thing.
Well haven't got the dynamic device polling working yet, but there's a bunch of stuff in here to play with. You can now query device names and IDs from the parent measure (as well as the device list), and get device status. Peak levels are now tracked, and you can specify envelope settings in ms for attack and decay for both RMS and peak levels.
My example skin now monitors both input and output, and has limited ability to detect device status. (it goes dark when you power off, but doesn't properly refresh when you power back on)
Plus some programmer attempts at art, which are always good for a chuckle. (needle shadows, clear glossy cover over the meter)