# Test code
# Just for debugging purposes

PRINT="Default CTL:\n"
PRINT="  CTL{numid}=\"$ctl{numid}\"\n"
PRINT="  CTL{iface}=\"$ctl{iface}\"\n"
PRINT="  CTL{device}=\"$ctl{device}\"\n"
PRINT="  CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="  CTL{name}=\"$ctl{name}\"\n"
PRINT="  CTL{index}=\"$ctl{index}\"\n"

CTL{reset}="mixer"

PRINT="After CTL{reset}=\"mixer\":\n"
PRINT="  CTL{numid}=\"$ctl{numid}\"\n"
PRINT="  CTL{iface}=\"$ctl{iface}\"\n"
PRINT="  CTL{device}=\"$ctl{device}\"\n"
PRINT="  CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="  CTL{name}=\"$ctl{name}\"\n"
PRINT="  CTL{index}=\"$ctl{index}\"\n"

CTL{numid}="987"
CTL{iface}="sequencer"
CTL{device}="10"
CTL{subdevice}="20"
CTL{name}="Just Test"
CTL{index}="999"

PRINT="After test sequence:\n"
PRINT="  CTL{numid}=\"$ctl{numid}\"\n"
PRINT="  CTL{iface}=\"$ctl{iface}\"\n"
PRINT="  CTL{device}=\"$ctl{device}\"\n"
PRINT="  CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="  CTL{name}=\"$ctl{name}\"\n"
PRINT="  CTL{index}=\"$ctl{index}\"\n"

ERROR="Ignore following error:\n  "
PROGRAM="__just_test"

PRINT="__ctl_count test:\n"
CTL{search}="mixer", CTL{name}="*Switch*", PROGRAM="__ctl_count", \
  PRINT="  *Switch* count result: $result\n"

PRINT="__ctl_search test:\n"
CTL{search}="mixer", CTL{name}="*Switch*", PROGRAM!="__ctl_search", GOTO="skip_switch_search"
PRINT="  *Switch 0* search result: $result\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
CTL{search}="mixer", CTL{name}="*Switch*", PROGRAM!="__ctl_search 1", GOTO="skip_switch_search"
PRINT="  *Switch 1* search result: $result\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"

PRINT="First ten elements:\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 0", GOTO="skip_first_ten_search"
PRINT="  Element #0:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 1", GOTO="skip_first_ten_search"
PRINT="  Element #1:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 2", GOTO="skip_first_ten_search"
PRINT="  Element #2:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 3", GOTO="skip_first_ten_search"
PRINT="  Element #3:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 4", GOTO="skip_first_ten_search"
PRINT="  Element #4:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 5", GOTO="skip_first_ten_search"
PRINT="  Element #5:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 6", GOTO="skip_first_ten_search"
PRINT="  Element #6:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 7", GOTO="skip_first_ten_search"
PRINT="  Element #7:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 8", GOTO="skip_first_ten_search"
PRINT="  Element #8:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
CTL{search}="mixer", CTL{name}="*", PROGRAM!="__ctl_search 9", GOTO="skip_first_ten_search"
PRINT="  Element #9:\n"
PRINT="    CTL{numid}=\"$ctl{numid}\"\n"
PRINT="    CTL{iface}=\"$ctl{iface}\"\n"
PRINT="    CTL{device}=\"$ctl{device}\"\n"
PRINT="    CTL{subdevice}=\"$ctl{subdevice}\"\n"
PRINT="    CTL{name}=\"$ctl{name}\"\n"
PRINT="    CTL{index}=\"$ctl{index}\"\n"
PRINT="    CTL{type}=\"$ctl{type}\"\n"
PRINT="    CTL{attr}=\"$ctl{attr}\"\n"
PRINT="    CTL{owner}=\"$ctl{owner}\"\n"
PRINT="    CTL{count}=\"$ctl{count}\"\n"
PRINT="    CTL{min}=\"$ctl{min}\"\n"
PRINT="    CTL{max}=\"$ctl{max}\"\n"
PRINT="    CTL{step}=\"$ctl{step}\"\n"
PRINT="    CTL{dBmin}=\"$ctl{dBmin}\"\n"
PRINT="    CTL{dBmax}=\"$ctl{dBmax}\"\n"
PRINT="    CTL{items}=\"$ctl{items}\"\n"
PRINT="    CTL{value}=\"$ctl{value}\"\n"
LABEL="skip_first_ten_search"

PRINT="Elements write test #1:\n", \
  CTL{search}="mixer", CTL{name}="Front Playback Switch", \
  PROGRAM="__ctl_search", CTL{value}="on,on", \
  PRINT="  result=$result\n"
PRINT="Elements write test #2:\n", \
  CTL{search}="mixer", CTL{name}="Front Playback Volume", \
  PROGRAM="__ctl_search", CTL{value}="32,32", \
  PRINT="  result=$result\n"
PRINT="Elements write test #3:\n", \
  CTL{search}="mixer", CTL{name}="Front Playback Volume Error", \
  PROGRAM="__ctl_search"
PRINT="  result=$result\n"

#CTL{reset}="mixer", CTL{name}="Input Source", PRINT="***$ctl{enums}\n"

PRINT="\nAll tests done..\n"