#!/bin/zsh # # mur.sat # # Somewhen in the year 2011, mur.at will have a nano satellite launched # into a low earth orbit (310 km above the surface of our planet). The # satellite itself is a TubeSat personal satellite kit, developed and # launched by interorbital systems. mur.sat is a joint venture of mur.at, # ESC im Labor and realraum. # # Please visit the project hompage at sat.mur.at for further information. # # # Copyright (C) 2011 Bernhard Tittelbach # # This file is part of mur.sat. # # mur.sat is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # mur.sat is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with mur.sat. If not, see . # setopt extendedglob function killchilds { for childspec (${jobstates}) print kill ${${childspec[(s/:/w)5]}%%\=*}; } typeset -i DURATION=${1:-10} CMD="play -n synth $DURATION" while true; do read -k 1 DIGIT case $DIGIT in 1) ${=CMD} sin 697 sin 1209 & ;; 2) ${=CMD} sin 697 sin 1336 & ;; 3) ${=CMD} sin 697 sin 1477 & ;; 4) ${=CMD} sin 770 sin 1209 & ;; 5) ${=CMD} sin 770 sin 1336 & ;; 6) ${=CMD} sin 770 sin 1477 & ;; 7) ${=CMD} sin 852 sin 1209 & ;; 8) ${=CMD} sin 852 sin 1336 & ;; 9) ${=CMD} sin 852 sin 1477 & ;; 0) ${=CMD} sin 941 sin 1336 & ;; '*') ${=CMD} sin 941 sin 1209 & ;; '#') ${=CMD} sin 941 sin 1477 & ;; a) ${=CMD} sin 697 sin 1633 & ;; b) ${=CMD} sin 770 sin 1633 & ;; c) ${=CMD} sin 852 sin 1633 & ;; d) ${=CMD} sin 941 sin 1633 & ;; s) killchilds ;; ' ') killchilds ;; q) killchilds; exit 0 ;; esac done