alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Elimar Riesebieter <riesebie@lxtec.de>
To: Frank Heckenbach <f.heckenbach@fh-soft.de>, 450805@bugs.debian.org
Cc: alsa-devel@alsa-project.org, control@bugs.debian.org
Subject: Re: [Pkg-alsa-devel] Bug#450805: alsa-tools-gui: hdspmixer	initializes only first Hammerfall DSP card
Date: Tue, 13 Nov 2007 19:56:00 +0100	[thread overview]
Message-ID: <20071113185600.GA3572@frodo.home.lxtec.de> (raw)
In-Reply-To: <1194740278.31914.387158@goedel.fjf.gnu.de>

forwarded 450805 alsa-devel@alsa-project.org
tags 450805 pending patch

Thanks

Hi ALSA developers,

does it make sense to apply the patch to HEAD? I don't have a
Hammerfall handy and can not test it.

Thanks for cooperation.

Elimar


On Sun, 11 Nov 2007 the mental interface of
Frank Heckenbach told:

Package: alsa-tools-gui
Version: 1.0.13-1
Severity: normal
Tags: patch


We are using Hammerfall DSP cards. After booting, their audio output
remains silent until hdspmixer is started. No interaction in the GUI
of hdspmixer is necessary to unmute the first HDSP card; however,
further cards are only unmuted when activating the respective GUI
page ("2", "3"). Apparently, hdspmixer does some automatic
initialization of the card when activating the page.

Since we'd like to have a fully automatic startup, the following
patch activates the page for each existing card on startup, thereby
initializing them. There are surely more elegant solutions, but this
patch is tested and solves the problem for us.

--- alsa-tools-1.0.13/hdspmixer/src/HDSPMixerCardSelector.h.orig	2007-04-16 19:49:22.000000000 +0200
+++ alsa-tools-1.0.13/hdspmixer/src/HDSPMixerCardSelector.h	2007-04-16 19:50:51.000000000 +0200
@@ -37,6 +37,7 @@
     int card;
     HDSPMixerWindow *basew;
     HDSPMixerCardSelector(int x, int y, int w, int h, int card);
+    void ActivateCard (int i);
     void draw();
     int handle(int e);
 };
--- alsa-tools-1.0.13/hdspmixer/src/HDSPMixerCardSelector.cxx.orig	2007-04-16 19:49:23.000000000 +0200
+++ alsa-tools-1.0.13/hdspmixer/src/HDSPMixerCardSelector.cxx	2007-04-16 19:53:45.000000000 +0200
@@ -45,27 +45,25 @@
     }    
 }
 
+void HDSPMixerCardSelector::ActivateCard (int i)
+{
+  card = i + 1;
+  basew->current_card = i;
+  basew->cards[i]->setMode (basew->cards[i]->getSpeed ());
+  redraw ();
+}
+
 int HDSPMixerCardSelector::handle(int e)
 {
     int xpos = Fl::event_x()-x();
     switch (e) {
 	case FL_PUSH:
-	    if (xpos < 13 && card != 1) {
-		    card = 1;
-		    basew->current_card = 0;
-		    basew->cards[0]->setMode(basew->cards[0]->getSpeed());
-		    redraw();
-	    } else if (xpos >= 24 && xpos < 37 && card != 2 && basew->cards[1] != NULL) {
-		    card = 2;
-		    basew->current_card = 1;
-		    basew->cards[1]->setMode(basew->cards[1]->getSpeed());
-		    redraw();
-	    } else if (xpos >= 48 && card != 3 && basew->cards[2] != NULL) {
-		    card = 3;
-		    basew->current_card = 2;
-		    basew->cards[2]->setMode(basew->cards[2]->getSpeed());
-		    redraw();
-	    }
+	    if (xpos < 13 && card != 1)
+	      ActivateCard (0);
+	    else if (xpos >= 24 && xpos < 37 && card != 2 && basew->cards[1] != NULL)
+	      ActivateCard (1);
+	    else if (xpos >= 48 && card != 3 && basew->cards[2] != NULL)
+	      ActivateCard (2);
 	    return 1;
 	default:
 	    return Fl_Widget::handle(e);
--- alsa-tools-1.0.13/hdspmixer/src/HDSPMixerWindow.cxx.orig	2007-04-16 19:41:21.000000000 +0200
+++ alsa-tools-1.0.13/hdspmixer/src/HDSPMixerWindow.cxx	2007-04-16 19:55:13.000000000 +0200
@@ -700,6 +701,9 @@
     Fl::atclose = atclose_cb;
     Fl::add_handler(handler_cb);
     Fl::add_timeout(0.030, readregisters_cb, this);
+    i = 0;
+    while (cards[i] != NULL)
+      inputs->buttons->cardselector->ActivateCard (i++);
 }
 
 int HDSPMixerWindow::handle(int e) 

-- 
  Experience is something you don't get until 
  just after you need it!

       reply	other threads:[~2007-11-13 18:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1194740278.31914.387158@goedel.fjf.gnu.de>
2007-11-13 18:56 ` Elimar Riesebieter [this message]
2007-11-14  8:12   ` [Pkg-alsa-devel] Bug#450805: alsa-tools-gui: hdspmixer initializes only first Hammerfall DSP card Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071113185600.GA3572@frodo.home.lxtec.de \
    --to=riesebie@lxtec.de \
    --cc=450805@bugs.debian.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=control@bugs.debian.org \
    --cc=f.heckenbach@fh-soft.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).