@startuml title "UCM volume" start if (Card state (/var/lib/alsa/asound.state)) then (not present) :UCM: BootSequence; else (present) :alsactl: Restore state (from asound.state); endif :UCM application:set device volume; note right The application uses (Playback|Capture)MixerElem or (Playback/Capture)(Volume/Switch) values to get the controls. end note :alsactl: Store state (to asound.state); stop @enduml