RFC: KDE4, KMix and a public Mixer API (possibly freedesktop.org)

Christian Esken esken at kde.org
Sun Oct 8 19:03:05 BST 2006


Hello,

I am currently working on a Mixer Service API for KDE4. 
The API is targeted at mixer services (like kmixd), a Mixer (like kmix) and several MM apps. It can be used for changing volumes, retrieving volume changes, querying for mixers, detecting hot-plugged soundcards/mixers and some more services.

I am cross-posting this to kde-core-devel, because i am quite certain that many affected developers are not subscribed to the kde-multimedia ML.

Rationale:
1) Have a well defined interface for as many applicatons as possible (KMix, KMilo, Screensavers (might want to "dim Sound"), Phonon, VOIP-Apps, and more)
2) Have a "Cross-Desktop" API: Users like a coherent experience. Why should Audacity or Realplayer behave "differently" from native KDE appplications? So after all this might be eligible for freedesktop.org.
3) Have a "Cross-Platform" API: Applications, even if they do only a tiny bit of MM like changing volumes, can often only be compiled under Linux. In any case it will for example ease the pain to port to Mac OS X.

The API is noted in DBUS style (fully conversion of the signals open yet), and meant as a RFC. It will be changed and extended as comments flow in (for example I would like to add keyboard shortcut management, as currently 3-n applications fight e.g. for the XF86AudioRaiseVolume shortcut).

Comments are always welcome,
  Christian

PS: People normally expect to see a lot of UDI stuff in the API But the UDI is used as little as possible. This is because it is "unstable" in the sense that it might change when unplugging and hotplugging again. For the same reason the UDI cannot be used in finding an appropriate configuration for a device, and so on.
So the mixer server hides the UDI, and is responsible for creating a more "stable" ID. Today I am using the card name + instance number (e.g. "Sound_Fusion_CS46xx:0").
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Mixer Service API.xml
Type: text/xml
Size: 8267 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20061008/dd2cdd44/attachment.xml>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


More information about the kde-core-devel mailing list