About the project
We plan to build a program that will accept ASCII text as input and generate
International Morse Code as output. The output formats can be:
- . -..- - (text) on the console
Raw audio on /dev/audio (8bit PCM data)
.wav files
.ogg or (proprietary format) compressed audio
International Morse Code
Supported character set includes [A-Za-z] (all downcased as Morse is not case
sensitive), [0-9], ",-.?/" plus a few procedural characters (SK, AR, BT etc).
The snow package provides support for simple parallel computing on a
network of workstations using R. A master R process calls makeCluster
to start a cluster of worker processes; the master process then uses
functions such as clusterCall and clusterApply to execute R code on
the worker processes and collect and return the results on the master.
This framework supports many forms of "embarrassingly parallel"
computations.
Snow can use one of four communications mechanisms: sockets, PVM, MPI,
or NetWorkSpaces (NWS). NWS support was provided by Steve Weston.
PVM clusters use the rpvm package; MPI clusters use package Rmpi; NWS
clusters use package nws. If pvm is used, then pvm must be started,
either using a pvm console (e.g the pvm text console or the graphical
xpvm console, both available with pvm) or from R using functions
provided by rpvm. Similarly, LAM-MPI must be started, e.g. using
lamboot, for MPI clusters that use Rmpi and LAM-MPI. If NWS is used,
the NetWorkSpaces server must be running. SOCK clusters are the
easiest approach for using snow on a single multi-core computer as
they require no additional software.
Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback,
recording and format conversions, as well as for multitrack effect
processing, mixing, recording and signal recycling. Ecasound supports
a wide range of audio inputs, outputs and effect algorithms.
Effects and audio objects can be combined in various ways, and their
parameters can be controlled by operator objects like oscillators
and MIDI-CCs. As most functionality is located in shared libraries,
creating alternative user-interfaces is easy. A versatile console mode
interface is included in the package.
MikMod is a portable modules player originally written by
of Jean-Paul Mikkers (MikMak) for DOS.
Current MikMod'Unix maintainer (since version 3.0.4) is
Miodrag Vallat <miodrag@mygale.org>
It uses the OSS /dev/dsp driver including in all recent
kernels for output, and will also write wav files.
Supported file formats include mod, stm, s3m, mtm, xm,
and it. The player uses ncurses for console output and
supports transparent loading from gzip/pkzip/zoo archives
and the loading/saving of playlists.
Full source included, use of this library for music/sound
effects in your own programs is encouraged!
Bennu is a high level open source game development suite which
focuses on modularity and portability, making it a perfect choice
for cross-platform game development.
Although officialy it is only supported on Windows, Linux and GP2X
Wiz (on the right), Bennu can run on multiple other platforms,
including *BSD, MacOSX and other consoles such as the Wii, Dingoo
A320, GP2X, or the classic Xbox.
This makes it really fun to code in Bennu: the game can be played
on you computer AND your console!
Bennu is a high level open source game development suite which
focuses on modularity and portability, making it a perfect choice
for cross-platform game development.
Although officialy it is only supported on Windows, Linux and GP2X
Wiz (on the right), Bennu can run on multiple other platforms,
including *BSD, MacOSX and other consoles such as the Wii, Dingoo
A320, GP2X, or the classic Xbox.
This makes it really fun to code in Bennu: the game can be played
on you computer AND your console!
CUnit is a lightweight system for writing, administering, and running unit tests
in C. It provides C programmers a basic testing functionality with a flexible
variety of user interfaces.
CUnit is built as a static library which is linked with the user's testing code.
It uses a simple framework for building test structures, and provides a rich set
of assertions for testing common data types. In addition, several different
interfaces are provided for running tests and reporting results. These
interfaces currently include: Automated, Basic, Console and Curses.
Termbox is a library that provides a minimalistic API which allows the
programmer to write text-based user interfaces. The library is
crossplatform and has both terminal-based implementations on *nix
operating systems and a winapi console based implementation for
Windows operating systems. The basic idea is an abstraction of the
greatest common subset of features available on all major terminals
and other terminal-like APIs in a minimalistic fashion. Small API
means it is easy to implement, test, maintain and learn it, that's
what makes the termbox a distinct library in its area.
The VT102 class provides emulation of most of the functions of a DEC
VT102 terminal. Once initialised, data passed to a VT102 object is
processed and the in-memory "screen" modified accordingly. This
"screen" can be interrogated by the external program in a variety of
ways.
This allows your program to interface with full-screen console
programs by running them in a subprocess and passing their output to a
VT102 class. You can then see what the application has written on the
screen by querying the class appropriately.
The pip ("Perl Installation Program") console application is used
to install Perl distributions in a wide variety of formats, both
from CPAN and from external third-party locations, while supporting
module dependencies that go across the boundary from third-party
to CPAN.
Using pip you can install CPAN modules, arbitrary tarballs from
both the local file-system or across the internet from arbitrary
URIs.
You can use pip to ensure that specific versions of CPAN modules
are installed instead of the most current version.