A java library to generate audible morse code.
jMorse is designed to make it easy to generate morse code in the following contexts:
| [top] |
Here is a sample java file:
import net.sf.jmorse.AudioMorseWriter;
public class SampleMorse {
public void foo() {
AudioMorseWriter morse = new AudioMorseWriter();
morse.setWpm(15);
morse.setVolume(5);
morse.setTone(450);
morse.write("cq de jMorse");
}
}
| [top] |
You must define the morse task via the taskdef tag. Here is a sample ant build file:
<?xml version="1.0"?>
<project name="jMorse sample usage of ant task" default="morse:test" basedir=".">
<taskdef name="morse" classname="net.sf.jmorse.ant.MorseTask" />
<target name="morse:test">
<morse message="CQ DE JMORSE" wpm="15" tone="450" volume="5" />
</target>
</project>
| [top] |
You must add the morse appender to your log4j configuration:
log4j.appender.morse = net.sf.jmorse.log4j.AudioMorseAppender log4j.appender.morse.wpm = 15 log4j.appender.morse.tone = 450 log4j.appender.morse.volume = 5 log4j.appender.morse.layout = org.apache.log4j.PatternLayout log4j.appender.morse.layout.conversionPattern=%mThen, tie the morse appender, with the "SampleMorse" class:
log4j.logger.SampleMorse=INFO, morseHere is a sample java file to log a message:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class SampleMorse {
private static final Log s_log = LogFactory.getLog(SampleMorse.class);
public void foo() {
s_log.info("cq de jMorse");
}
}
| [top] |
Here is a sample java file to add an AudioMorseHandler to a Logger instance:
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jmorse.logging.AudioMorseHandler;
public class SampleMorse {
public void foo() {
Logger logger = Logger.getLogger(SampleMorse.class);
AudioMorseHandler handler = new AudioMorseHandler();
handler.setWpm(15);
handler.setVolume(5);
handler.setTone(450);
logger.addHandler(handler);
logger.log(Level.FINER, "cq de jMorse");
}
}
Warning: The AudioMorseHandler should not be added to the list of global Handlers. jMorse uses java logging internally and this may result in an infinite loop.
| [top] |
Examples don't include jar version info:
%java -jar jmorse.jar -v5 Hello World %echo Hello World | java -jar jmorse.jar %cat hello_world.txt | java -jar jmorse.jar -o=hello_world.wav
Usage:
%java -jar target/jmorse.jar --help
Usage: java -jar jmorse.jar [OPTION] {string} [FILE]
Use string, file, or standard input, to generate morse code on the default
audio output device.
-t tone
-w word speed
-v volume [0-10]
-i text file to use as message text
-o output file to store morse code as wave
--help display this help and exit
--version output version information and exit
--version output version information and exit
If no input file or string is specified, then the standard input is read.
| [top] |