diff options
author | Stefan Knoblich <stkn@gentoo.org> | 2004-12-04 22:59:20 +0000 |
---|---|---|
committer | Stefan Knoblich <stkn@gentoo.org> | 2004-12-04 22:59:20 +0000 |
commit | 0796bf4e295d6d041e481dbc2762a2eabcc8b797 (patch) | |
tree | 0beff28e48593ee8153183d278f9e1b62251c7d3 /dev-libs | |
parent | Unmasked net-irc/xchatosd as bug #72481 has been fixed. (diff) | |
download | gentoo-2-0796bf4e295d6d041e481dbc2762a2eabcc8b797.tar.gz gentoo-2-0796bf4e295d6d041e481dbc2762a2eabcc8b797.tar.bz2 gentoo-2-0796bf4e295d6d041e481dbc2762a2eabcc8b797.zip |
cvs b0rked the patch, re-adding with -kb
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/pwlib/files/pwlib-1.6.6-alsa_dmix.diff | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/dev-libs/pwlib/files/pwlib-1.6.6-alsa_dmix.diff b/dev-libs/pwlib/files/pwlib-1.6.6-alsa_dmix.diff deleted file mode 100644 index 2d1ded99770d..000000000000 --- a/dev-libs/pwlib/files/pwlib-1.6.6-alsa_dmix.diff +++ /dev/null @@ -1,259 +0,0 @@ -diff -ru pwlib-orig/plugins/sound_alsa/sound_alsa.cxx pwlib/plugins/sound_alsa/sound_alsa.cxx ---- pwlib-orig/plugins/sound_alsa/sound_alsa.cxx 2004-03-13 13:36:14.000000000 +0100 -+++ pwlib/plugins/sound_alsa/sound_alsa.cxx 2004-10-21 18:33:38.562610536 +0200 -@@ -28,6 +28,21 @@ - * Contributor(s): / - * - * $Log: sound_alsa.cxx,v $ -+ * Revision 1.21 2004/10/18 11:43:39 dsandras -+ * Use Capture instead of Mic when changing the volume. Use the correct mixer when using the Default device. -+ * -+ * Revision 1.20 2004/10/14 19:30:16 dsandras -+ * Removed DMIX and DSNOOP plugins and added support for DEFAULT as it is the correcti way to do things. -+ * -+ * Revision 1.19 2004/08/30 21:09:41 dsandras -+ * Added DSNOOP plugin support. -+ * -+ * Revision 1.18 2004/05/14 10:15:26 dominance -+ * Fixes direct opening of sound output devices. The list of devices does no longer return NULL in that case. Patch provided by Julien Puydt <julien.puydt@laposte.net>. -+ * -+ * Revision 1.17 2004/04/03 10:33:45 dsandras -+ * Use PStringToOrdinal to store the detected devices, that fixes problems if there is a discontinuity in the succession of soundcard ID's. For example the user has card ID 1 and 3, but not 2. -+ * - * Revision 1.16 2004/03/13 12:36:14 dsandras - * Added support for DMIX plugin output. - * -@@ -81,8 +96,8 @@ - PCREATE_SOUND_PLUGIN(ALSA, PSoundChannelALSA) - - --static PStringArray playback_devices; --static PStringArray capture_devices; -+static PStringToOrdinal playback_devices; -+static PStringToOrdinal capture_devices; - - /////////////////////////////////////////////////////////////////////////////// - -@@ -119,8 +134,9 @@ - } - - --PStringArray PSoundChannelALSA::GetDeviceNames (Directions dir) -+void PSoundChannelALSA::UpdateDictionary (Directions dir) - { -+ - int card = -1, dev = -1; - - snd_ctl_t *handle = NULL; -@@ -134,12 +150,12 @@ - if (dir == Recorder) { - - stream = SND_PCM_STREAM_CAPTURE; -- capture_devices = PStringArray (); -+ capture_devices = PStringToOrdinal (); - } - else { - - stream = SND_PCM_STREAM_PLAYBACK; -- playback_devices = PStringArray (); -+ playback_devices = PStringToOrdinal (); - } - - snd_ctl_card_info_alloca (&info); -@@ -148,7 +164,7 @@ - /* No sound card found */ - if (snd_card_next (&card) < 0 || card < 0) { - -- return PStringArray (); -+ return; - } - - -@@ -176,13 +192,11 @@ - snd_card_get_name (card, &name); - if (dir == Recorder) { - -- if (capture_devices.GetStringsIndex (name) == P_MAX_INDEX) -- capture_devices.AppendString (name); -+ capture_devices.SetAt (name, card); - } - else { - -- if (playback_devices.GetStringsIndex (name) == P_MAX_INDEX) -- playback_devices.AppendString (name); -+ playback_devices.SetAt (name, card); - } - - free (name); -@@ -193,17 +207,27 @@ - snd_ctl_close(handle); - snd_card_next (&card); - } -+} - -- -- if (dir == Recorder) -- return capture_devices; -- else { -+PStringArray PSoundChannelALSA::GetDeviceNames (Directions dir) -+{ -+ PStringArray devices; -+ PStringToOrdinal devices_dict; - -- if (playback_devices.GetSize () > 0) -- playback_devices += "DMIX Plugin"; -+ if (dir == Recorder) -+ devices_dict = capture_devices; -+ else -+ devices_dict = playback_devices; -+ -+ UpdateDictionary (dir); -+ -+ if (devices_dict.GetSize () > 0) -+ devices += "Default"; -+ -+ for (PINDEX j = 0 ; j < devices_dict.GetSize () ; j++) -+ devices += devices_dict.GetKeyAt (j); - -- return playback_devices; -- } -+ return devices; - } - - -@@ -223,7 +247,7 @@ - unsigned _bitsPerSample) - { - PString real_device_name; -- PINDEX i = 0; -+ POrdinalKey *i = NULL; - snd_pcm_stream_t stream; - - Close(); -@@ -236,21 +260,31 @@ - stream = SND_PCM_STREAM_PLAYBACK; - - /* Open in NONBLOCK mode */ -- if (_dir != Recorder && _device == "DMIX Plugin") { -+ if (_device == "Default") { - -- real_device_name = "plug:dmix"; -+ real_device_name = "default"; -+ card_nr = -2; - } -- else if ((i = (_dir == Recorder) ? capture_devices.GetStringsIndex (_device) : playback_devices.GetStringsIndex (_device)) != P_MAX_INDEX) { -+ else { -+ -+ if ((_dir == Recorder && capture_devices.IsEmpty ()) -+ || (_dir == Player && playback_devices.IsEmpty ())) -+ UpdateDictionary (_dir); -+ -+ i = (_dir == Recorder) ? capture_devices.GetAt (_device) : playback_devices.GetAt (_device); - -- real_device_name = "plughw:" + PString (i); -- card_nr = i; -+ if (i) { -+ -+ real_device_name = "plughw:" + PString (*i); -+ card_nr = *i; -+ } -+ else { -+ -+ PTRACE (1, "ALSA\tDevice not found"); -+ return FALSE; -+ } - } -- else { - -- PTRACE (1, "ALSA\tDevice unavailable"); -- return FALSE; -- } -- - if (snd_pcm_open (&os_handle, real_device_name, stream, SND_PCM_NONBLOCK) < 0) { - - PTRACE (1, "ALSA\tOpen Failed"); -@@ -735,7 +769,7 @@ - snd_mixer_elem_t *elem; - snd_mixer_selem_id_t *sid; - -- const char *play_mix_name = (direction == Player) ? "PCM": "Mic"; -+ const char *play_mix_name = (direction == Player) ? "PCM": "Capture"; - PString card_name; - - long pmin = 0, pmax = 0; -@@ -744,7 +778,10 @@ - if (!os_handle) - return FALSE; - -- card_name = "hw:" + PString (card_nr); -+ if (card_nr == -2) -+ card_name = "default"; -+ else -+ card_name = "hw:" + PString (card_nr); - - //allocate simple id - snd_mixer_selem_id_alloca (&sid); -@@ -796,23 +833,39 @@ - return FALSE; - } - -- snd_mixer_selem_get_playback_volume_range (elem, &pmin, &pmax); - - if (set) { -- -- vol = (set_vol * (pmax?pmax:31)) / 100; -- snd_mixer_selem_set_playback_volume (elem, -- SND_MIXER_SCHN_FRONT_LEFT, vol); -- snd_mixer_selem_set_playback_volume (elem, -- SND_MIXER_SCHN_FRONT_RIGHT, vol); - -+ if (direction == Player) { -+ -+ snd_mixer_selem_get_playback_volume_range (elem, &pmin, &pmax); -+ vol = (set_vol * (pmax?pmax:31)) / 100; -+ snd_mixer_selem_set_playback_volume_all (elem, vol); -+ } -+ else { -+ -+ snd_mixer_selem_get_capture_volume_range (elem, &pmin, &pmax); -+ vol = (set_vol * (pmax?pmax:31)) / 100; -+ snd_mixer_selem_set_capture_volume_all (elem, vol); -+ } - PTRACE (4, "Set volume to " << vol); - } - else { - -- snd_mixer_selem_get_playback_volume (elem, -- SND_MIXER_SCHN_FRONT_LEFT, &vol); -+ if (direction == Player) { -+ -+ snd_mixer_selem_get_playback_volume_range (elem, &pmin, &pmax); -+ snd_mixer_selem_get_playback_volume (elem, SND_MIXER_SCHN_FRONT_LEFT, -+ &vol); -+ } -+ else { -+ -+ snd_mixer_selem_get_capture_volume_range (elem, &pmin, &pmax); -+ snd_mixer_selem_get_capture_volume (elem, SND_MIXER_SCHN_FRONT_LEFT, -+ &vol); -+ } - get_vol = (vol * 100) / (pmax?pmax:31); -+ - PTRACE (4, "Got volume " << vol); - } - -Only in pwlib/plugins/sound_alsa: .sound_alsa.cxx-patch.swp -diff -ru pwlib-orig/plugins/sound_alsa/sound_alsa.h pwlib/plugins/sound_alsa/sound_alsa.h ---- pwlib-orig/plugins/sound_alsa/sound_alsa.h 2003-12-28 16:10:35.000000000 +0100 -+++ pwlib/plugins/sound_alsa/sound_alsa.h 2004-10-21 18:35:51.559391952 +0200 -@@ -89,7 +89,8 @@ - BOOL IsOpen() const; - - private: -- -+ -+ static void UpdateDictionary(PSoundChannel::Directions); - BOOL Volume (BOOL, unsigned, unsigned &); - PSoundChannel::Directions direction; - PString device; - |