Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Sound für wine: Skripte für OSS und ALSA gleichzeitig auf einem System

  1. #1
    murphy's lawyer Avatar von shellfish
    Registriert seit
    Jul 2002
    Beiträge
    234

    Sound für wine: Skripte für OSS und ALSA gleichzeitig auf einem System

    Hallo, Forum.
    Da wine ja anscheinend momentan ALSA nicht wirklich unterstützt (bei mir jedenfalls und nach meinen Recherchen auch bei vielen anderen Leuten), hab ich zwei Skripte geschrieben, die es mir ermöglichen, beide Soundsysteme auf einem System zu benutzen - ALSA für den Hausgebrauch und OSS für wine.
    Das Ganze bezieht sich auf kernel-2.6.4.

    Vorgehensweise:
    • Kompiliert die sowohl die OSS- als auch die ALSA-Module für den Kernel.
    • Dieses Skript muß beim Booten ausgeführt werden (bei Gentoo: in /etc/conf.d/local.start eintragen), um das OSS-Modul wieder zu entfernen, das automatisch geladen wurde (es sei denn ihr laßt beim Konfigurieren des Kernels die Option "Loadable Modul Support | Automatic kernel module loading" aus.
      Code:
      #!/bin/bash
      #remove-oss
      
      status=`/etc/init.d/alsasound status | cut -d " " -f 5`
      module="i810_audio"
      
      
      if  [ $status = "started" ];
              then
                      lsmod | grep $module
                      if [ $? -eq 0 ] ;
                      then
                              echo "Alsasound Status: $status"
                              echo "Entferne $module"
                              rmmod $module
                              echo $!
                      else
                              echo "Alsasoud Status: $status"
                              echo "$module ist nicht geladen"
                      fi
      fi
    • Dieses Skript kann dazu benutzt werden, um vom einen zum anderen Soundsystem zu wechseln:
      Code:
      #! /bin/bash 
      
                      #---------------#
                      # Beschreibung: #
      #---------------#---------------#-------------------#
      # switchsound:                                                  #
      # Dieses Skript dient zum Wechseln von OSS zu ALSA. #
      #---------------------------------------------------#
      
      #-------------------------------------#
      # Author: reyneke_at_web_dot_de #
      #-------------------------------------#
      
      #------------#
      # Variablen: #
      #------------#
      alsastatus=`/etc/init.d/alsasound status | cut -d " " -f 5`
      oss_mod="i810_audio"
      version="0.9"
      script="`basename $0`-$version"
      #-------------#
      # Funktionen: #
      #-------------#
      
      show_help() {
      cat << FOO
      $script: Dient zum sicheren Wechseln von OSS zu ALSA und zurück.
      
      Optionen:
      < show >   - zeigt momentan benutztes Soundsystem an.
      < oss  >   - wechselt von ALSA zu OSS oder startet OSS.
      < alsa >  - wechselt von OSS zu ALSA oder startet ALSA.
      <      >  - das haben Sie ja schon rausgefunden.
      
      Der Author reyneke_at_web_dot_de übernimmt keinerlei Haftung für Schäden, 
      die mittelbar, unmittelbar oder adäquat-kausal aus dem Gebrauch 
      des Skripts entstehen.
      
      This software comes as is and without any warranty.
      Licensed under the GPL
      FOO
      }
      
      sound_check() {
      ( lsmod | grep $oss_mod ) > /dev/null
      if [ $? -eq 0 ];
              then 
                      soundsys="oss"
      elif [ $? -eq 1 ];
              then 
                      if [ $alsastatus = "started" ];
                      then
                             soundsys="alsa"
                      else
                              soundsys="none"
              fi
      fi
      }
      
      start_oss() {
      case $soundsys in
              "oss") echo "OSS läuft bereits" 
                    ;;
              "alsa") /etc/init.d/alsasound stop
                      echo "Lade $oss_mod ..."
                      modprobe $oss_mod
                      if [ $? -eq 0 ]; 
                              then 
                                      echo "OK." 
                              else
                                      echo "Fehlgeschlagen."
                      fi
                     ;;
              "none") echo "Lade $oss_mod ..."
                      modprobe $oss_mod
                      if [ $? -eq 0 ]; 
                              then 
                                      echo "OK." 
                              else
                                      echo "Fehlgeschlagen."
                      fi
                     ;;
      esac
      }
      
      start_alsa() {
      case $soundsys in
              "alsa") echo "ALSA läuft bereits" 
                    ;;
              "oss") /etc/init.d/alsasound start
                      echo "Entferne $oss_mod ..."
                      rmmod $oss_mod
                   if [ $? -eq 0 ]; 
                              then 
                                      echo "OK." 
                              else
                                      echo "Fehlgeschlagen."
                      fi
                     ;;
              "none") /etc/init.d/alsasound start
      esac
      }
      #-------#
      # Main: #
      #-------#
      sound_check
      case $1 in
              alsa) start_alsa
              ;;
              oss) start_oss
              ;;
              show) echo "Momentanes Sound-System: $soundsys."
            ;;
              * | help) show_help
      esac


    Den Namen des OSS-Moduls müßt ihr natürlich an eure Hardware anpassen.
    BUGS: Kann sein, daß nach dem Start von KDE alsasound nochmal "restarted" werden muß, um /dev/dsp zu erzeugen.

    Wie gesagt, keine Garantie, daß es euer System nicht zerschießt oder ähnliches. Bei mir funktioniert's jedenfalls. Für Verbesserungsvorschläge bin ich jederzeit offen.
    lectricblu: Toshiba 5200-903|{gentoo-dev-2.6.5-r1}
    tesla: AMD 1600+XP|ECS K7S5A|512MB DDR 266 Apacer|GFti4200/64MB|SB 128 PCI|{gentoo-dev-2.6.5-r1}
    heart: PII266Mhz|i440mx-Board|192 MB SD-RAM|Asus 3800|{gentoo-2.4.25}

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Beiträge
    187
    Du kannst doch auch einfach snd-pcm-oss und snd-seq-oss laden, oder wine mit aoss starten.

  3. #3
    murphy's lawyer Avatar von shellfish
    Registriert seit
    Jul 2002
    Beiträge
    234
    Zitat Zitat von analyzer
    Du kannst doch auch einfach snd-pcm-oss und snd-seq-oss laden, oder wine mit aoss starten.
    Naja, snd-pcm|seq-oss scheint bei mir nicht zu klappen, denn geladen sind sie.
    aoss ist mir jetzt neu, wie und wo stell ich das denn ein?
    lectricblu: Toshiba 5200-903|{gentoo-dev-2.6.5-r1}
    tesla: AMD 1600+XP|ECS K7S5A|512MB DDR 266 Apacer|GFti4200/64MB|SB 128 PCI|{gentoo-dev-2.6.5-r1}
    heart: PII266Mhz|i440mx-Board|192 MB SD-RAM|Asus 3800|{gentoo-2.4.25}

Ähnliche Themen

  1. Fehler beim starten von Counter Strike Steam mit wine
    Von LeXx im Forum Emulatoren für Spiele
    Antworten: 4
    Letzter Beitrag: 19.02.04, 21:49
  2. Antworten: 2
    Letzter Beitrag: 25.08.03, 06:11
  3. kein sound mit ALSA
    Von sparc im Forum Musik
    Antworten: 35
    Letzter Beitrag: 29.05.03, 17:59
  4. sound - oss oder alsa???
    Von drummermonkey im Forum Musik
    Antworten: 10
    Letzter Beitrag: 22.01.03, 15:47
  5. DEBUG/BETA Wie richte ich einen ISDN Router/Gatewayunter SUSE 7.0 ein? [txt]
    Von 403 im Forum Hier Suchen und Finden, Links, Tutorials
    Antworten: 0
    Letzter Beitrag: 03.12.01, 17:46

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •