Hi all, If you get a chance, try rebuilding a new target, or at least
upgrade to 0.13 moblin-applets. I've added a mixer control which uses
ALSA to populate a list of the most useful tracks on simple sound cards.
It's a single dialog that uses notebook pages for each track instead of
just displaying them all messily from left to right. I've also added
HUGE buttons because I'm tired of scrounging for my pen to tap the
little volume buttons in the status bar. I want the user to be able to
just smack away at this with their fingers and have no issues. Also, all
of the tracks have independent left and right controls for volume and
mute, so I added a sync button for each to allow the user to control
left/right in unison (just like in the ubuntu version but in a different
style).

The code uses ALSA to populate a list of all the tracks that have
playback volume or switch controls, then scans for 4 key tracks which I
think will make the most sense to provide to the user: Master (PCM),
Speakers (Front), Microphone (Mic), and Headphones (Headphone):

To see a full list of the tracks the system supports just install
alsa-utils, and run amixer, it will show all the tracks which fall into
three primary types: playback, capture, and input source. For now I've
just included the playback tracks because the devices we currently have
aren't that complex, but we can easily add on other tracks in the
future.

The Samsung has the following:

PCM: 
I call this "Master" because it has the widest range and no mute
switches, it seems designed to control the underlying volume that gets
channeled to the other tracks like spearkers and headphones.

Front: 
This guy I call "Speakers" because it just controls the two front
speakers on the Samsung, and it has both volume and mute controls

Microphone: 
I included the Micrphone playback track which includes both volume and
mute capability, it seems to work ok as the input to the mic gets sent
out over the speakers and headphones just fine, however I still haven't
gotten arecord to function yet. 

Headphones: 
The included a headphone track which has no volume slider (the Fron
volume slider seems to also affect headphones, but it does have
independent mute switches. Ideally I'd like to get PPM to control the
Front and Headphone Mute buttons manually whenever the "Headphone
plugged" ACPI event is received. That way it will react as a normal
devidce does when using headphones.

I have compiled all the basic functions I use for controlling the sound
via ALSA into a library called libvolumecontrol.so and it's placed in
/usr/share/moblin-applets. So if the PPM guys want to try to load it in
and do some tests, have at it. The header file is in the moblin-applets
source tree at libvolumecontrol/volume.h. If anyone makes the request I
can turn this library into a standard runtime library with a dev version
with header files for easy programming and use since ALSA is a pain in
the butt to understand with so little documentation.

I still have to make some small glade cosmetic improvements like
disabling the volume controls if ALSA determines that the track doesn't
have them. For instance the Headphones tab has volume controls but they
just don't do anything at the moment.

-----------------------------------------
|      Todd Brandt - Intel Oregon       |
|Linux for Mobile Internet Devices (MID)|
|         2111 W NE 25th Ave            |
|    Hillsboro, OR 97124 JF1-235        |
|---------------------------------------|
| "Of all the things I've lost, I miss  |
|    my mind the most" - Mark Twain     |
-----------------------------------------

_______________________________________________
dev mailing list
[EMAIL PROTECTED]
https://www.moblin.org/mailman/listinfo/dev

-- 
Ubuntu-mobile mailing list
Ubuntu-mobile@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile

Reply via email to