Hello community,
here is the log from the commit of package alsa-tools for openSUSE:Factory
checked in at Wed May 6 18:34:26 CEST 2009.
--------
--- alsa-tools/alsa-tools.changes 2009-03-05 15:35:47.000000000 +0100
+++ /mounts/work_src_done/STABLE/alsa-tools/alsa-tools.changes 2009-05-06 18:17:58.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May 6 18:13:12 CEST 2009 - tiwai@suse.de
+
+- updated to version 1.0.20:
+ * just a version bump
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
alsa-tools-1.0.19.tar.bz2
New:
----
alsa-tools-1.0.20.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-tools.spec ++++++
--- /var/tmp/diff_new_pack.Bu6023/_old 2009-05-06 18:32:45.000000000 +0200
+++ /var/tmp/diff_new_pack.Bu6023/_new 2009-05-06 18:32:45.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package alsa-tools (Version 1.0.19)
+# spec file for package alsa-tools (Version 1.0.20)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -20,11 +20,11 @@
Name: alsa-tools
BuildRequires: alsa-devel fdupes fltk-devel gcc-c++ gtk2-devel update-desktop-files
-%define package_version 1.0.19
+%define package_version 1.0.20
Url: http://www.alsa-project.org/
Summary: Various ALSA Tools
-Version: 1.0.19
-Release: 3
+Version: 1.0.20
+Release: 1
License: GPL v2 or later
Group: Productivity/Multimedia/Sound/Utilities
AutoReqProv: on
@@ -212,6 +212,9 @@
%{_datadir}/aclocal/*.m4
%changelog
+* Wed May 06 2009 tiwai@suse.de
+- updated to version 1.0.20:
+ * just a version bump
* Thu Mar 05 2009 ro@suse.de
- fix build
* Thu Jan 22 2009 tiwai@suse.de
@@ -369,7 +372,7 @@
- updated to 0.9.0rc6.
- including the required header files from alsa-kernel.
- renamed a patch file to avoid the confliction of file names.
-* Mon Nov 11 2002 ro@suse.de
+* Tue Nov 12 2002 ro@suse.de
- changed neededforbuild <xshared> to <x-devel-packages>
- changed neededforbuild <xdevel> to <>
* Fri Sep 06 2002 tiwai@suse.de
++++++ alsa-tools-1.0.19.tar.bz2 -> alsa-tools-1.0.20.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-tools-1.0.19/echomixer/echomixer.c new/alsa-tools-1.0.20/echomixer/echomixer.c
--- old/alsa-tools-1.0.19/echomixer/echomixer.c 2009-01-19 12:17:21.000000000 +0100
+++ new/alsa-tools-1.0.20/echomixer/echomixer.c 2009-05-06 09:07:25.000000000 +0200
@@ -129,38 +129,8 @@
snd_ctl_t *ctlhandle;
-#if __GNUC__ == 3 // gcc 2.x doesn't like unnamed unions inside structures
-
-struct mixerControl_s {
- union { // Currently selected channels
- int vchannel;
- int input;
- };
- union { // Number of channels
- int vchannels;
- int inputs;
- };
- int output, outputs;
- int id;
- GtkWidget *window;
- GtkWidget *volume[ECHO_MAXAUDIOOUTPUTS];
- GtkWidget *label[ECHO_MAXAUDIOOUTPUTS];
- GtkObject *adj[ECHO_MAXAUDIOOUTPUTS];
- GtkWidget *outsel[ECHO_MAXAUDIOOUTPUTS];
- union {
- GtkWidget *inpsel[ECHO_MAXAUDIOINPUTS];
- GtkWidget *vchsel[ECHO_MAXAUDIOOUTPUTS];
- };
- struct mixel mixer[ECHO_MAXAUDIOOUTPUTS][ECHO_MAXAUDIOOUTPUTS];
-} mixerControl, vmixerControl;
-
-#else
-
struct mixerControl_s {
- int vchannel;
- int input;
- int vchannels;
- int inputs;
+ int input, inputs;
int output, outputs;
int id;
GtkWidget *window;
@@ -173,9 +143,6 @@
struct mixel mixer[ECHO_MAXAUDIOOUTPUTS][ECHO_MAXAUDIOOUTPUTS];
} mixerControl, vmixerControl;
-#endif
-
-
struct VolumeControl_s {
int input, output; // Currently selected channels
int inputs, outputs;
@@ -677,8 +644,8 @@
gdk_draw_rectangle(Mixpixmap, gc, TRUE, XCELLTOT*(mixerControl.output+1), YCELLTOT*mixerControl.input, XCELLTOT, Mixheight);
if (vmixerId) {
gdk_gc_set_foreground(gc, &Hilight2);
- gdk_draw_rectangle(Mixpixmap, gc, TRUE, 0, YCELLTOT*(GMixerSection.VmixerFirst+vmixerControl.vchannel), XCELLTOT*(vmixerControl.output+1), YCELLTOT);
- gdk_draw_rectangle(Mixpixmap, gc, TRUE, XCELLTOT*(vmixerControl.output+1), YCELLTOT*(GMixerSection.VmixerFirst+vmixerControl.vchannel), XCELLTOT, Mixheight);
+ gdk_draw_rectangle(Mixpixmap, gc, TRUE, 0, YCELLTOT*(GMixerSection.VmixerFirst+vmixerControl.input), XCELLTOT*(vmixerControl.output+1), YCELLTOT);
+ gdk_draw_rectangle(Mixpixmap, gc, TRUE, XCELLTOT*(vmixerControl.output+1), YCELLTOT*(GMixerSection.VmixerFirst+vmixerControl.input), XCELLTOT, Mixheight);
}
// Draw the grid
@@ -720,7 +687,7 @@
// Draw vchannels levels and peaks (Vmixer cards only)
if (vmixerId) {
- for (i=0; i=GMixerSection.VmixerFirst && GMixerRow<=GMixerSection.VmixerLast) {
if (GMixerColumn!=vmixerControl.output)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vmixerControl.outsel[GMixerColumn]), TRUE);
- if (GMixerRow!=vmixerControl.vchannel)
+ if (GMixerRow!=vmixerControl.input)
gtk_widget_grab_focus(GTK_WIDGET(vmixerControl.volume[GMixerRow-GMixerSection.VmixerFirst]));
}
@@ -967,13 +934,13 @@
return TRUE;
// See the note above
- if (GMixerRow=GMixerSection.VmixerFirst && GMixerRow<=GMixerSection.VmixerLast) {
- if (GMixerRow!=vmixerControl.vchannel)
+ if (GMixerRow!=vmixerControl.input+GMixerSection.VmixerFirst)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vmixerControl.vchsel[GMixerRow-GMixerSection.VmixerFirst]), TRUE);
if (GMixerColumn!=vmixerControl.output)
gtk_widget_grab_focus(GTK_WIDGET(vmixerControl.volume[GMixerColumn]));
@@ -1035,11 +1002,11 @@
gtk_adjustment_set_value(GTK_ADJUSTMENT(mixerControl.adj[mixerControl.output]), (gfloat)val);
#endif
} else if (GMixerRow>=GMixerSection.VmixerFirst && GMixerRow<=GMixerSection.VmixerLast) {
- val=INVERT(vmixerControl.mixer[vmixerControl.output][vmixerControl.vchannel].Gain);
+ val=INVERT(vmixerControl.mixer[vmixerControl.output][vmixerControl.input].Gain);
val+=y-mouseY;
mouseY=y;
#ifdef REVERSE
- gtk_adjustment_set_value(GTK_ADJUSTMENT(vmixerControl.adj[vmixerControl.vchannel]), (gfloat)val);
+ gtk_adjustment_set_value(GTK_ADJUSTMENT(vmixerControl.adj[vmixerControl.input]), (gfloat)val);
#else
gtk_adjustment_set_value(GTK_ADJUSTMENT(vmixerControl.adj[vmixerControl.output]), (gfloat)val);
#endif
@@ -1211,6 +1178,29 @@
+// Changes the vmixer volume according to the current Line-out volume for vmixer cards.
+void UpdateVMixerVolume(int outchannel) {
+ snd_ctl_elem_id_t *id;
+ snd_ctl_elem_value_t *control;
+ int err, val, ch;
+
+ snd_ctl_elem_id_alloca(&id);
+ snd_ctl_elem_value_alloca(&control);
+ snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
+
+ for (ch=0; chvalue);
#ifdef REVERSE
v=channel;
o=vmixerControl.output;
#else
- v=vmixerControl.vchannel;
+ v=vmixerControl.input;
o=channel;
#endif
- val=INVERT((int)GTK_ADJUSTMENT(widget)->value);
+ // Emulate the line-out volume if this card can't do it in hw.
+ if (!lineoutId) {
+ rval=Add_dB(val, lineoutControl.Gain[o]);
+ ClampOutputVolume(&rval);
+ }
- SetMixerGain(&vmixerControl.mixer[o][v], val);
+ SetMixerGain(&vmixerControl.mixer[o][v], rval);
vmixerControl.mixer[o][v].Gain=val;
if (Gang) {
- SetMixerGain(&vmixerControl.mixer[o^1][v^1], val);
+ SetMixerGain(&vmixerControl.mixer[o^1][v^1], rval);
vmixerControl.mixer[o^1][v^1].Gain=val;
}
@@ -1281,8 +1279,8 @@
void Vmixer_volume_clicked(GtkWidget *widget, gpointer ch) {
#ifdef REVERSE
- vmixerControl.vchannel=(int)(long)ch;
- UI_DEBUG(("Vmixer_volume_clicked vch=%d\n",vmixerControl.vchannel));
+ vmixerControl.input=(int)(long)ch;
+ UI_DEBUG(("Vmixer_volume_clicked vch=%d\n",vmixerControl.input));
#else
vmixerControl.output=(int)(long)ch;
UI_DEBUG(("Vmixer_volume_clicked out=%d\n",vmixerControl.output));
@@ -1306,7 +1304,7 @@
snd_ctl_elem_id_alloca(&id);
snd_ctl_elem_value_alloca(&control);
snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
- for (c=vmixerControl.vchannels-1; c>=0; c--) {
+ for (c=vmixerControl.inputs-1; c>=0; c--) {
val=INVERT(vmixerControl.mixer[vmixerControl.output][c].Gain);
gtk_adjustment_set_value(GTK_ADJUSTMENT(vmixerControl.adj[c]), (gfloat)val);
}
@@ -1319,16 +1317,16 @@
snd_ctl_elem_id_t *id;
snd_ctl_elem_value_t *control;
- if (vmixerControl.vchannel==(int)(long)ch)
+ if (vmixerControl.input==(int)(long)ch)
return;
- vmixerControl.vchannel=(int)(long)ch;
+ vmixerControl.input=(int)(long)ch;
- UI_DEBUG(("Vmixer_selector_clicked vch=%d\n",vmixerControl.vchannel));
+ UI_DEBUG(("Vmixer_selector_clicked vch=%d\n",vmixerControl.input));
snd_ctl_elem_id_alloca(&id);
snd_ctl_elem_value_alloca(&control);
snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
for (c=vmixerControl.outputs-1; c>=0; c--) {
- val=INVERT(vmixerControl.mixer[c][vmixerControl.vchannel].Gain);
+ val=INVERT(vmixerControl.mixer[c][vmixerControl.input].Gain);
gtk_adjustment_set_value(GTK_ADJUSTMENT(vmixerControl.adj[c]), (gfloat)val);
}
}
@@ -1722,7 +1720,7 @@
vmixerId=vmixerControl.id=numid;
CTLID_DEBUG(("First Vmixer id=%d\n", vmixerId));
vmixerControl.outputs=snd_ctl_elem_info_get_dimension(info, 0);
- vmixerControl.vchannels=snd_ctl_elem_info_get_dimension(info, 1);
+ vmixerControl.inputs=snd_ctl_elem_info_get_dimension(info, 1);
}
} else if (!strcmp("PCM Playback Volume", snd_ctl_elem_id_get_name(id))) {
pcmoutId=pcmoutControl.id=numid;
@@ -1808,7 +1806,7 @@
#ifndef REAL
vmixerId=1000;
-vmixerControl.vchannels=12;
+vmixerControl.inputs=12;
vmixerControl.outputs=mixerControl.outputs=nLOut=10;
metersStreams=3;
metersNumber=16;
@@ -1828,8 +1826,8 @@
printf("** Warning - Vmixer cards without LineOut volume control are not supported !\n");
if (vmixerId) {
- if (vmixerControl.vchannels!=nPOut || vmixerControl.outputs!=nLOut) {
- printf("** Error - vmixer/channels mismatch: vmp=%d npo=%d vmo=%d nlo=%d !!\n", vmixerControl.vchannels, nPOut, vmixerControl.outputs, nLOut);
+ if (vmixerControl.inputs!=nPOut || vmixerControl.outputs!=nLOut) {
+ printf("** Error - vmixer/channels mismatch: vmp=%d npo=%d vmo=%d nlo=%d !!\n", vmixerControl.inputs, nPOut, vmixerControl.outputs, nLOut);
return(1);
}
}
@@ -1850,7 +1848,7 @@
if (vmixerId)
for (o=0, numid=vmixerId; o1) || (clocksrcId && nclocksrc>1) || (spdifmodeId && nspdifmodes>1)) {
+ button=gtk_toggle_button_new_with_label("Misc");
+ gtk_widget_show(button);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 1);
+ gtk_signal_connect(GTK_OBJECT(button), "toggled", ToggleWindow, (gpointer)Miscwindow);
+ Miscw_geom.toggler=button;
+ if (Miscw_geom.st==1)
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
+ }
if (mixerId) {
// Graphical mixer button
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/alsa-tools-1.0.19/Makefile new/alsa-tools-1.0.20/Makefile
--- old/alsa-tools-1.0.19/Makefile 2009-01-19 12:26:33.000000000 +0100
+++ new/alsa-tools-1.0.20/Makefile 2009-05-06 09:19:06.000000000 +0200
@@ -1,4 +1,4 @@
-VERSION = 1.0.19
+VERSION = 1.0.20
TOP = .
SUBDIRS = ac3dec as10k1 envy24control hdsploader hdspconf hdspmixer \
mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org