index.html 3.29 KB
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>World Heritage Grimeton Morse Encoder</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="stylesheet" href="css/normalize.css">
        <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
        <link rel="stylesheet" href="css/main.css">
        <script src="js/vendor/modernizr-2.6.2.min.js"></script>
    </head>
    <body>
        <!--[if lt IE 7]>
            <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
        <![endif]-->


        <h1>World Heritage Grimeton Morse Encoder</h1>

        <p>Use Grimeton Radio Station’s encoder to translate a message into Morse code. Enter your message, then click either "Translate" or "Play". You can also vary the speed of words per minute (WPM).</p>
        <p><strong>Note that your computer's speakers must be turned on to listen to the code. </strong></p>

        <form onsubmit="return play()" class="pure-form pure-form-stacked">
            <fieldset>
                <label for="input">Enter a message</label>
                <textarea name="input" id="input"></textarea>
                <label for="input">Result shown here</label>
                <textarea name="output" id="output" readonly="true"></textarea>
                <label for="input">Speed (WPM)</label>
                <input name="wpm" id="wpm" type="number" value="13"/>

                <button type="button" onclick="translate();" class="pure-button">Translate</button>
                <button type="submit" class="pure-button pure-button-primary">Play</button>
                <button type="button" onclick="stop();" class="pure-button">Stop</button>
            </fieldset>
        </form>

        <script src="js/riffwave.js"></script>
        <script src="js/morse.js"></script>

        <script>
            var morseAudio;

            function play() {
                translate();

                var wpm = parseInt(document.getElementById("wpm").value);
                if (typeof wpm === 'number' && wpm % 1 == 0 && wpm > 0) {
                    morse.setWPM(wpm);
                }
                var sentence = document.getElementById("input").value;
                var data = morse.sentenceToMorseData(sentence);
                var morseWave = new RIFFWAVE(data);
                morseAudio = new Audio(morseWave.dataURI);
                morseAudio.play();
                return false;
            }

            function translate() {
                var sentence = document.getElementById("input").value;
                document.getElementById("output").value = morse.sentenceToMorseString(sentence);
            }

            function stop() {
                if (morseAudio) morseAudio.pause();
            }

        </script>
    </body>
</html>