there aren't. :[
there is only one sample-asoundrc called asoundrc.txt in
alsa-lib/doc. this is only provided by the cvs version, in the tarred
packages this file isn't in. i attache it to this mail.
it took a long time for me too get this file and figure out how it
works. now i think i understand some basic settings, i also get a native
scope to work :), but there are still some settings i dont understand for
example routings and mixer-settings. there is another file called
alsa.conf, wich alsa installs in /usr/share/alsa/, this is somehow similar
to asoundrc but more complex. i think alsa calls this files in this order:

$HOME/.asoundrc
/usr/share/alsa/alsa.conf

there are some more users who complains about no-docs for this
basic-configuration settings but it seems that the developers refuses to
share their wisdom.

r.

z.

On Wed, 3 Oct 2001, toby wrote:

> Thanks.
> 
> _______________________________________________
> Alsa-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/alsa-user
> 
# Configuration file syntax

# Include a new configuration file
<filename>

# Simple assign
name [=] value [,|;]

# Compound assign (first style)
name [=] {
        name1 [=] value [,|;]
        ...
}

# Compound assign (second style)
name.name1 [=] value [,|;]

# Array assign (first style)
name [
        value0 [,|;]
        value1 [,|;]
        ...
]

# Array assign (second style)
name.0 [=] value0 [,|;]
name.1 [=] value1 [,|;]

# ******************************************************************************

# Server definition
server.NAME {
  host STR              # host where the server is located (if map to local address 
                        # server is local, and then it may be started automatically)
  [socket STR]          # PF_LOCAL socket name to listen/connect
  [port INT]            # PF_INET port number to listen/connect
}

# PCM type definition
pcm_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [open STR]            # Open function (default _snd_pcm_NAME_open)
  [redirect {           # Redirect this PCM to an another
     [filename STR]     # Configuration file specification
     name STR           # PCM name specification
  }]
}

# PCM scope type definition
pcm_scope_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [open STR]            # Open function (default _snd_pcm_scope_NAME_open)
}

# PCM scope definition
pcm_scope.NAME {
  type STR              # Scope type
  ...
}

# Slave PCM definition
pcm_slave.NAME {
  pcm STR               # PCM name
  # or
  pcm { }               # PCM definition
  format STR            # Format
  channels INT          # Channels
  rate INT              # Rate
  period_time INT       # Period time
  buffer_time INT       # Buffer time
  etc.
}

# Hook arguments definition
hook_args.NAME {
  ...                   # Arbitrary arguments
}

# PCM hook type
pcm_hook_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [install STR]         # Install function (default _snd_pcm_hook_NAME_install)
}

# PCM hook definition
pcm_hook.NAME {
  type STR              # PCM Hook type (see pcm_hook_type)
  [args STR]            # Arguments for install function (see hook_args)
  # or
  [args { }]            # Arguments for install function
}

# PCM definition
pcm.NAME {
  type STR              # Type
  [comment ANY]         # Saved comments


# PCM types:
  type hw               # Kernel PCM
  card INT/STR          # Card name or number
  [device] INT          # Device number (default 0)     
  [subdevice] INT       # Subdevice number, -1 first available (default -1)


  type hooks            # PCM with hooks
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
  }
  hooks {
    ID STR              # Hook name (see pcm_hook)
    # or
    ID { }              # Hook definition (see pcm_hook)
  }

  type plug             # Format adjusted PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
    [format STR]        # Slave format (default nearest) or "unchanged"
    [channels INT]      # Slave channels (default nearest) or "unchanged"
    [rate INT]          # Slave rate (default nearest) or "unchanged"
  }
  route_policy STR      # route policy for automatic ttable generation
                        # STR can be 'default', 'average', 'copy', 'duplicate'
                        # average: result is average of input channels
                        # copy: only first channels are copied to destination
                        # duplicate: duplicate first set of channels
                        # default: copy policy, except for mono capture - sum
  ttable {              # Transfer table (bidimensional compound of 
                        # cchannels * schannels numbers)
    CCHANNEL {
      SCHANNEL REAL     # route value (0.0 ... 1.0)
    }
  }


  type copy             # Copy conversion PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
  }


  type linear           # Linear format conversion PCM
  type adpcm            # IMA-ADPCM format conversion PCM
  type alaw             # A-Law format conversion PCM
  type mulaw            # Mu-Law format conversion PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
    format STR          # Slave format
  }


  type rate             # Rate conversion PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
    [format STR]        # Slave format (default client format)
    rate INT            # Slave rate
  }


  type route            # Attenuated static route PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
    [format STR]        # Slave format (default client format)
    [channels INT]      # Slave channels (default client channels)
  }
  ttable {              # Transfer table (bidimensional compound of 
                        # cchannels * schannels numbers)
    CCHANNEL {
      SCHANNEL REAL     # route value (0.0 ... 1.0)
    }
  }


  type multi            # Linked PCMs (exclusive access to selected channels)
  slaves {              # Slaves definitions
    ID STR              # Slave name for slave N (see pcm_slave)
    # or
    ID {                # Slave definition for slave N
      pcm STR           # Slave PCM name
    # or
      pcm { }           # Slave PCM definition
      channels INT      # Slave channels
    }
  }
  bindings {            # Bindings table
    N {                 # Binding for client channel N
      slave STR         # Slave key
      channel INT       # Slave channel
    }
  }
  [master INT]          # Define the master slave


  type file             # File plugin
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
  }
  file STR              # File name
  # or
  file INT              # File descriptor
  [format STR]          # File format (NYI)


  type meter            # Meter PCM
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition or name
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
  }
  [frequency INT]       # Updates per second
  scopes {              # Scopes
    ID STR              # Scope name (see pcm_scope)
  # or
    ID { }              # Scope definition (see pcm_scope)
  }


  type droute           # Attenuated dynamic route PCM (NYI)
  slave STR             # Slave name (see pcm_slave)
  # or
  slave {               # Slave definition
    pcm STR             # Slave PCM name
    # or
    pcm { }             # Slave PCM definition
    [format STR]        # Slave format (default client format)
    [channels INT]      # Slave channels (default client channels)
  }
  ctl STR               # Ctl name
  bindings {            # Bindings table
    ID {                # Binding entry
      cchannels {       # Client channels
        C INT           # Client channel
      }
      schannel {        # Slave channels
        S INT           # Slave channel
      }
      control STR       # Control name of C * S (or C values: only if C == S)
    }
  }


  type null             # Null endpoint plugin
  [time INT]            # Time related or not (NYI)


  type shm              # Shared memory client PCM
  server STR            # Server name
  pcm STR               # PCM name on server


  type share            # Share PCM
  slave STR             # Slave name (see pcm_slave)
  bindings {            # Bindings table
    N INT               # Slave channel for client channel N
  }


  type mix              # Mix PCM
  slave STR             # Slave name (see pcm_slave)
  bindings {            # Bindings table
    N INT               # Slave channel for client channel N
  }


}

# CTL type definition
ctl_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [open STR]            # Open function (default _snd_ctl_NAME_open)
}

# CTL definition
ctl.NAME {
  type STR              # Type
  [comment ANY]         # Saved comments

# CTL types
  type hw
  card STR/INT          # Card name or number


  type shm              # Shared memory client CTL
  server STR            # Server name
  ctl STR               # CTL name on server


}


# RAWMIDI type definition
rawmidi_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [open STR]            # Open function (default _snd_rawmidi_NAME_open)
}

# RAWMIDI definition
rawmidi.NAME {
  type STR              # Type
  [comment ANY]         # Saved comments

# RAWMIDI types:
  type hw               # Kernel RAWMIDI
  card INT/STR          # Card name or number
  [device] INT          # Device number (default 0)     
  [subdevice] INT       # Subdevice number, -1 first available (default -1)


}

# SEQ type definition
seq_type.NAME {
  [lib STR]             # Library file (default libasound.so)
  [open STR]            # Open function (default _snd_seq_NAME_open)
}

# SEQ definition
seq.NAME {
  type STR              # Type
  [comment ANY]         # Saved comments

# SEQ types:
  type hw               # Kernel SEQ


}

# Aliases
DEF.NAME1 NAME2         # DEF.NAME1 is an alias for DEF.NAME2

Some examples:

pcm.trident {
        type hw
        card 0
        device 0
}

pcm.ice1712 {
        type hw
        card 1
        device 0
}

pcm.ice1712_spdif {
        type plug
        ttable.0.8 1
        ttable.1.9 1
        slave.pcm ice1712
}

pcm_slave.rs {
        pcm trident
        rate 44100
}

pcm.r {
        type rate
        slave rs
}

pcm.m {
        type meter
        slave.pcm plug:trident
        frequency 50
        scopes [
                {
                        type level
                }
        ]
}

pcm_scope_type.level {
        lib /home/abramo/scopes/liblevel.so
} 

Reply via email to