# 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{do_count} test:\n"
CTL{search}="mixer", CTL{name}="*Switch*", \
  PRINT="  *Switch* count result: $ctl{do_count}\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}="*", CTL{do_search 0}!="1", 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}="*", CTL{do_search 1}!="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}="*", CTL{do_search 2}!="1", 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}="*", CTL{do_search 3}!="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}="*", CTL{do_search 4}!="1", 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}="*", CTL{do_search 5}!="1", 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}="*", CTL{do_search 6}!="1", 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}="*", CTL{do_search 7}!="1", 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}="*", CTL{do_search 8}!="1", 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}="*", CTL{do_search 9}!="1", 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", \
  CTL{do_search}=="1", CTL{value}="on,on", \
  PRINT="  result=$result\n"
PRINT="Elements write test #2:\n", \
  CTL{search}="mixer", CTL{name}="Front Playback Volume", \
  CTL{do_search}=="1", CTL{value}="32,32", \
  PRINT="  result=$result\n"
PRINT="Elements write test #3:\n", \
  CTL{search}="mixer", CTL{name}="Front Playback Volume Error", \
  CTL{do_search}=="1", \
PRINT="  result=$result\n"

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

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