<commit_before># 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)<commit_msg>Added mmap_emulation for hw pcm<commit_after># 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)
  mmap_emulation BOOL	# enable mmap emulation for ro/wo devices


  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)
{'fraction_non_alphanumeric': 0.1248159057437408, 'fraction_numerical': 0.004050073637702504, 'mean_word_length': 3.2083656080557708, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4845147', 'n_tokens_mistral': 1973, 'n_tokens_neox': 1920, 'n_words': 617}