You are not logged in.
@stultumanto, spot the deliberate error in your 01:49:25 code block posting
Offline
I'll be honest, I don't even remember where I got that snippet. It made the EQ controls appear in greenjeans' app, but I didn't do listening tests. I'm guessing the second block should read type equal, not type plug. Why would someone put a deliberate error in there? Wait... did I get tricked into copying AI slop?!
Offline
@stultumanto
I'm guessing the second block should read type equal, not type plug
I couldn't identify which one was wrong, I have not played with 'equal' and order is important with ALSA or unwanted side-effects occur.
plug->equal->hw
or
equal->plug->hw
Offline
^^^Just for reference with the above posts, here's the new .asoundrc i'm shipping with Vuu-do and in AlsaTune, it's a bit more complex than the old one I used to use as it allows multi-sources to play at the same time.
I actually have version 2.0 of AT packaged and have been testing, but i'm agonizing today over making the soundswitch script more robust and capable to extend it's useability and try to avoid hand-editing of .asoundrc.
# Default: route through dmix > plug > equalizer > hardware
pcm.!default {
type plug
slave.pcm "dmixed_equal"
}
ctl.!default {
type hw
card 0
}
# Equalizer control (for mxeq GUI)
ctl.equal {
type equal
}
# Final EQ stage: applies to mixed output
pcm.dmixed_equal {
type equal
slave.pcm "dmixed_plug"
}
# Plug wrapper for format/rate conversion after dmix
pcm.dmixed_plug {
type plug
slave.pcm "dmixed"
}
# dmix: allows multiple playback streams > direct to hardware
pcm.dmixed {
type dmix
ipc_key 1024
ipc_key_add_uid false # safer than 0
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100 # optional: lock rate if needed
}
bindings {
0 0
1 1
}
}
# Optional: dsnoop for multiple capture (mic) apps
pcm.dsnooped {
type dsnoop
ipc_key 1025
slave.pcm "hw:0,0"
}
# Optional: full duplex (for simultaneous play+capture)
pcm.duplex {
type asym
playback.pcm "dmixed_plug"
capture.pcm "dsnooped"
}
# Legacy: old names for compatibility/scripts
pcm.plugequal {
type equal
slave.pcm "plughw:0,0"
}
pcm.equal {
type plug
slave.pcm "plugequal"
}https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
@greenjeans, I notice your new pcm.dmixed_equal section (equal->plug) is in the reverse order to your legacy name pcm.equal (plug->equal).
Is that intentional ?
NB Just checked my config, order is plug->equal
Last edited by g4sra (2025-11-25 17:53:06)
Offline
Good eye g4sra, I need to drop that section anyway, had to go over my notes to even remember why it's there, it was a holdover from some early testing I was doing on music player prototypes using aplay.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
New 2.0 version uploaded : https://sourceforge.net/projects/vuu-do … /AlsaTune/
This has all the upgrades listed above and next version of the soundswitch script, includes the test tone .wav and a generic .asoundrc and updated notes about alsa and this system.

https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Hi . I have only ALSA installed.
$ aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 1/1
...
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [VA3456-WQHD]
Subdevices: 1/1
Subdevice #0: subdevice #0
...
When i do a test :
$ aplay /usr/share/sounds/alsa/Front_Center.wav
i hear the sound from my headphones connected to my pc cases 3.5mm jack.
My monitor has speakers and i would like to make my programs use that as 'audio sink'.
How do i do that ?
Changing the card (with F6) in alsamixer i see a list of s/pdif rectangles but i dont know what they represent and also the display only 00.
Devuan(Chimaera)(Daedalus) DS+WM: XorgX11server+StumpVM
Offline
Some modern motherboards detect when headphones are plugged in and require different handling.
Without making alsamixer changes, can you hear sound from the speakers when the headphones are unplugged ?
i see a list of s/pdif
Most likely the HDMI audio output of your graphics card (but one could be optical if your motherboard supports it).
'00' means active, they have no volume setting, when you need to you can toggle to muted 'MM' by tapping 'm'.
Last edited by g4sra (2025-11-29 13:22:47)
Offline
Just FYI- I get no "Mic" control when using your mixer, because my system has no mixer element actually named "Mic." I have a "Headset Mic," a "Headphone Mic," and an "Internal Mic," but no "Mic." I also get no controls of any kind with my UMC202HD USB interface, because it uses non-standard element names. I know from experience it would add a lot of complexity to scan the mixer for the actual elements present on the device, but the alternative is going to be a certain number of users like me being unable to use the app with at least some devices.
Some modern motherboards detect when headphones are plugged in and require different handling.
This capability can be toggled on and off with the "Auto-Mute Mode" on many cards. alsamixer should expose this control. If it's "enabled," the speakers should be muted when headphones are plugged in. If you have more than one headphone output, there may be more than one option besides "disabled." It may take some experimentation to figure out which option you need.
Offline
Just FYI- I get no "Mic" control when using your mixer, because my system has no mixer element actually named "Mic." I have a "Headset Mic," a "Headphone Mic," and an "Internal Mic," but no "Mic."
Yeah that's an issue, I do have a second machine for testing down at the library and it has a mic but no internal mic. I'm marking this down in my notes as one of the first things to explore/work-on for the next version, figuring out various mic setups.
It will never work for 100% of cases out there, but by the time it's complete it will work for most, high time for a good Alsa GUI, it's just going to be slow going as i'm still learning here. So i'm just trying to knock it out with careful baby steps.
Really appreciate the feedback, it helps more than you know!
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
ask the name(s) of 'mic's when first run then remember it forever.
easy to implement cause not much complexity.
Last edited by wert (2025-11-30 06:00:09)
Offline
Yeah the library machine (2013 E-machine) has no "mic boost" on it's card, so that field simply doesn't show up which is good behavior, but going forward I will need to poll the mixer backend at startup for the proper fields I guess. My skinny little app keeps growing.
Just saving it in an outboard file would be fine for regular use, but if the user cloned/snapshotted their system and wanted to install on another machine, then that file might no longer be correct for the new machine. These are the kinds of things I have to think about, especially in Vuu-do since from the get-go it's intended to be a "builder" system for folks to customize and then roll-their-own. For Vuu-do I could set an exclude in the Refracta configs for that file so it gets excluded and then re-built on first run in a new install, but for the standalone app that's not gonna fly.
Last edited by greenjeans (2025-11-30 17:36:25)
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
i means ask to REAL user when first run. (possibly with sane default)
sorry for being cryptics.
edit: or just ask when your default is wrong and failed.
Last edited by wert (2025-12-01 06:06:13)
Offline
i means ask to REAL user when first run.
Oh it wasn't cryptic, I understood what you were saying. Please re-read my first reply to you, there are reasons why I need to do things a certain way. As I see it, if i'm going to create apps, then part of my job is to try and deal with any possible edge-case scenarios. Not always possible, but I have to try and I have to keep trying all the way through the process.
This mic thing is part of that though it's not quite edge-case but in fact fairly common. A user snapshotting a system, same thing.
New code needs to handle both, and it shouldn't be difficult, just need to poll the backend on startup to verify mixer names, no need for an outboard file or DB I think, and that will preserve it's utility post-snapshotting. But I need to think on it some more, thanks for the input!
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
ok. FYI: there is tinyalsa project which is a cut down version of original alsa-lib for embedded.
it consist a few .c files. you can borrow them a few .c files if you deems it make sense.
Offline
Cool, thanks! Yep, plenty more to be done on this thing, but version 2 is a nice step forward down that road.
If anybody reading has any more ideas on further mods/features please let me know!
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
"Headset Mic," a "Headphone Mic,"
@stultumanto; wouldn't that be the same thing? Headphones with a mic is a headset unless i'm missing something here. Also:
I also get no controls of any kind with my UMC202HD USB interface, because it uses non-standard element names.
When you get a chance would you mind listing some?
Working on detection last 2 days, been way more of a pain than I thought it would be but I have a rough working prototype, but it added quite a bit of code the way I did it, trying to figure out a simpler solution.
Another small issue that rears it's head on some machines like my cheap laptop is that alsamixer controls on the backend are not infinitely adjustable, they go up in increments depending on your sound card, like main volume in the terminal goes from 0 to 7 then 15 then 23 when you adjust it, and I have two controls which are worse on mine, the beep and mic boost go up in increments of 33, so it goes 0-33-67-100 and if you set it say at 45 in AT it will revert to 33 automatically when you open it again.
Re: Having AlsaTune and the terminal version of alsamixer open at the same time:
Forehead slapper, I only tested one direction, if you have both open and make changes in AlsaTune they immediately happen in alsamixer in realtime, just not vice versa.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Wow that took a long time, but version 2.0-1 is almost ready.
I tried various methods for detecting a given soundcard's controls and got it working mostly, but it literally doubled the size of the binary, 100% increase in size, not acceptable for just a small addition to a tiny utility. But had a thought yesterday while working at the library. The current app has slider names hardcoded, some 7 in all, and behavior is good in that if you don't have that particular slider name on your system, it simply won't add it to the GUI. So my low cost solution to that is that I added greatly to the number of potential slider names in the script, taken from my testing of various machines, suggestions made here (thanks!) and some internet searching, so now the app supports some 54 different controls and it's super easy to add more in the future, but as-is it ought to work for 90+% of most laptops and desktops. Had to add a scrollbar obviously. Only a 10% increase in code to do it that way, main binary is still under 50k.
I also added a mute/unmute function for the volume sliders that have a mute function, rather than take up extra space in the GUI with checkboxes or whatnot, I simply made it a right-click function, so now you can right-click on volume sliders and it will toggle mute/unmute and if the channel is muted now it has a big red box over it that shows very clearly that it's muted. Certainly there's a cleaner prettier way and at some point i'll work on the visual, but for now the function is up and running and that was the main point for this update.
Please feel free to post any channel names not on my list, here's the relevant code snippet so you can see what I have now:
*snip* deprecated
Here's a screenie of the working proto (re-sized to be smaller for the forum):
Last edited by greenjeans (2025-12-10 01:32:50)
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Man this stuff is hard for an old guy with no formal education. And it's kinda amazing, most of the time it's like "arrrgh...arrrgh...arrrgh" but then that one time it's like "OMFG BUAIDH MOFO" and that one time kinda makes up for all the "arrrghs"... does that make sense?
Started off today just wanting to tweak, that red color was obnoxious so I intended just to deal with that, ended up changing quite a bit and fixing a couple bugs along the way.
No more big list of channel names, finally figured out a simple way to detect that didn't drag in other depends, it's working great, pulling everything that's needed but also skipping simple toggles (i.e. auto-mute-mode, loopback etc., i'll add a function for those in a future update), soooo much less code. Fixed a bug where "Beep" was controlling the "Capture" slider. Added logic to remember what channels are muted as before the highlighting wouldn't survive re-starts.
Still only a 44.2k binary, tiny little powerhouse! Only going to get better, it's addicting I tell ya, lol. ![]()
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Mo bettah I think, what do y'all think? I like the barber pole thing, not near as obnoxious as previous version, nice and clean and simple but still easy to identify what channels are muted. This took a LOT of "stepwise refinement" today, it's embarassing really that it takes so long, I really don't like CSS.

Last edited by greenjeans (2025-12-13 00:04:26)
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Looks way more polished then the big red rectangle, good job. Did you have any luck with the auto detect? There is some code in the jack-bridge mxeq version that could help if you're interested. But it's generated from chat bots and I know this doesn't sit well with most people but if could give you some ideas.
You will own nothing and be depressed
Offline
Looks way more polished then the big red rectangle, good job. Did you have any luck with the auto detect?
Thanks!! Yeah I did finally work out the auto-detect, first round I way over thought and added a mountain of code but it kinda worked, woke up next day and threw all that out, went for stupid simple and that worked pretty good but it wasn't really the right way to do it. Finally I figured it out and it was so simple and elegant and right under my nose that i'm again kinda embarrassed but I did finally get it...just wish my first instinct in these things was the correct one a little more often, lol.
I'm going to package the new version today and get it up then take a small breather before working on the next phase.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline
Any chance this could be made as an architecture-independent package? I just tried to install it on i386 system and it refused.
Offline
Any chance this could be made as an architecture-independent package? I just tried to install it on i386 system and it refused.
Well I tagged it in the control file as amd64 because that's what I was building on and I don't have have a 32 bit machine or system installed to test it, but i'm pretty sure you'd have to re-compile the main script using the 32 bit libraries. Different versions should be fairly easy, but making it arch-agnostic would be tough, especially for me.
But it's worth a try to just re-compile the binary on your machine using 32 libs, i'd sure be curious, the rest of it is just a dash script and yad so that should work fine.
Let me know if you want to try and i'll send or post the lastest source code for the binary, it's way improved over the last version so you should definitely try it.
https://sourceforge.net/projects/vuu-do/ New Vuu-do isos uploaded October 2025!
Vuu-do GNU/Linux, minimal Devuan-based Openbox and Mate systems to build on. Also a max version for OB.
Devuan 5 mate-mini iso, pure Devuan, 100% no-vuu-do.
Devuan 6 version also available for testing.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
Offline