A Morse Code Training Application
C++ Objective-C QMake
Clone or download
Pull request Compare This branch is 85 commits ahead of hardaker:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
books
debian
dist
docs
icons
modes
src/icons
widgets
words/wordtraining
.gitignore
AUTHORS
AboutDialog.cpp
AboutDialog.h
AboutDialog.ui
Generator.cpp
Generator.h
GoalBar.cpp
GoalBar.h
KeyingReader.cpp
KeyingReader.h
LICENSE
MainWindow.cpp
MainWindow.h
MainWindow.ui
Morse.cpp
Morse.h
MorseStat.cpp
MorseStat.h
Prefs.cpp
Prefs.h
README.md
cutecw.cfg.sample
cutecw.desktop
cutecw.pro
cutecw.qrc
cutecw_en.ts
cutecw_fr.ts
inverse_code.h
main.cpp
morse_code.h
ui_MainWindow.h

README.md

Cute CW: train yourself

Build status

Debian build: Debian package AMD64: Debian package ARMHF: Windows Portable:

Introduction

I've had thoughts for a long time about how we train ourselves in CW ("Carrier Wave" otherwise known as Morse Code). After preparing for a presentation about learning CW I realized software could really help us out in ways not yet seen. This is my effort to help decrease the pain in training your brain to understand Morse Code.

History

Cute CW was developed by WS6Z. Then merged Qt5 branch to master and made a lot of modifications by Dashie.

Get it!

You can download the source code or pre-built binaries from:

Further Information

The growing list of CHANGES and the hopefully shrinking TODO List

Compiling It

CuteCW is a Qt5 based program. That means to compile it you'll need some distribution of Qt5. You can download any of the recent Qt SDK sets and open the cutecw.pro file using qtcreator, which will then be able to compile and edit the code. Or, if you want to compile it via a terminal you can try the following steps:

  1. edit cutecw.pro to enable portable build if needed (this will set config file to working dir of run app)
  2. qmake
  3. make
  4. lrelease cutecw.pro
  5. optionally: make install

You can make a "portable" build (It will, as now, only check for configuration in directory where software is launched) by Un-commenting the line starting with "#DEFINES" with some comment above it in cutecw.pro

Windows (copying with Qt Creator required libs to directory automatically"

In Qt Creator, Project part :

  • Execute -> Deployment; Add custom step:
  • Command: windeployqt.exe
  • Args: --release --dir %{buildDir}\CuteCW_1.1_portable_win32 cutecw.exe
  • Working dir: %{buildDir}\release

Build with or without the PORTABLE BUILD in cutecw.pro Then RUN the app from Qt Creator (it will call the deploy step) Then copy the following:

  • books to CuteCW_1.1_portable_win32
  • words to CuteCW_1.1_portable_win32
  • cutecw.cfg.sample to CuteCW_1.1_portable_win32\cutecw.cfg
  • Running "lrelease cutecw.pro" from Qt SDK to make .qm files
  • copying *.qm to CuteCW_1.1_portable_win32
  • from release dir : cutecw.exe to CuteCW_1.1_portable_win32

Done, you have a portable build for Cute CW for windows in CuteCW_1.1_portable_win32

Words List format

For some Modes (actually: Word Training) the words list is dynamic using "words/mode/*.lst.txt" files, the format is simple :

  • First line is the short (two, threes words) description
  • rest of file is one word per line
  • filename doesn't matters but you can use the same description to sort them easily, also sorting is done by name so you can do 001_xxx.lst.txt 002_yyy.lst.txt etc.

Word Training loads files from "words/wordtraining".