TSE3PLAY(1)

NAME
tse3play - play/convert music files (MIDI or TSE3MDL) using the TSE3 sequencer engine library

SYNOPSIS
tse3play [-h] [-ver] [-v] [-list] [-nv] [-np] [-l] [-omidi output-midi-file ] [-omidi0] [-omidicomp] [-otse3mdl output-tse3mdl-file ] [-map from-midi-channel to-midi-channel ] [-m] [-r] [-gmr] [-gsr] [-xgr] [-unix] [-oss] [-alsa] [-arts] [-stream] [-s start-time ] [-solo track ] [-sl usecs ] [ -stop ] [ -e ] [ -mute channel ] [ -pd dir ] file ] [ -port port ] [ -fast ]

DESCRIPTION
tse3play plays TSE3MDL files and MIDI files using the TSE3 sequencer engine. It was originally developed as a test application for the TSE3 engine, but is now a fully featured playback application.

tse3play can also convert files between the two supported formats. Whilst playing it provides text based visual feedback, or can stream an English representation of the contents of the file to standard output.

MIDI files are a standard file format for the storage of musical (song) data that can be found in abundance on the internet. They don't contain the actual sounds played, but instructions on how to recreate the song (i.e. start note/stop note commands). MIDI files are most often created by a sequencer application (akin to a word processor for music). MIDI files often have the extension .mid or .midi

TSE3MDL ( TSE3 Music Description Language ) files are a similar form of music file. They are created by sequencer applications based on the TSE3 sequencer engine library. The file format contains a great deal more information and harnesses the full power of the TSE3 library. TSE3MDL files often have the extension .tse3

The type of the input file is automatically detected by tse3play . tse3play can also load legacy TSE2MDL files from sequencers based on the older TSE2 sequencer library.

OPTIONS

-h, --help
    Provide help on the tse3play command line parameters.

-ver, --version
    Print version number and exit.

-v, --verbose
    Give verbose output on what tse3play is trying to do.

-list, --list-ports
    Lists the port numbers available on your platform.

-nv, --novisual
    Don't produce visual feedback (text-based output-level indicator).

-np, --noplay
    Don't play the input file (only perform a conversion - if one is specified).

-l, --loop
    Loop playback of the input file.

-omidi, --out-midi <filename>
    Convert the loaded file to MIDI. File type will be MIDI type 1 unless -omidi0 is specified. The filename of the output follows this option. You can specify '-' to output on stdandard out.

-omidi0, --out-midi-format-0
    If performing a MIDI conversion, produce an output file in MIDI type 0 format. For most cases the default (type 1) is recommended.

-omidicomp, --out-midi-compact
    Compact the converted MIDI file output. This removes any redundant information in the MIDI file that could be removed by using MIDI running status.

-otse3mdl, --out-tse3mdl FILENAME
    Convert the file to tse3mdl format. The filename of the output follows this option. You can specify '-' to output on stdandard out.

-map, --map-channel F T
    During playback, map MIDI channel F to MIDI channel T. Channel numbers start at zero.

-m, --metronome
    During playback, produce a metronome tick.

-r, --reset
    Send a basic MIDI reset message at playback start and end. This will send a reset message even if -np is specified.

-gmr, --gmreset
    Send a General MIDI reset message at playback start and end. This will send a reset message even if -np is specified.

-gsr, --gsreset
    Send a GS reset message at playback start and end. This will send a reset message even if -np is specified.

-xgr, --xgreset
    Send an XG reset message at playback start and end. This will send a reset message even if -np is specified.

-unix, --unix-scheduler
    Selects the best Unix scheduler device (either OSS or ALSA) as the MIDI output method. This is the default behaviour.

-oss, --oss-scheduler
    Selects the Open Sound System interface as the MIDI output method.

-alsa, --alsa-scheduler
    Selects the ALSA interface as the MIDI output method. This will only work if you have ALSA installed on your computer.

-arts, --arts-scheduler
    Selects the aRts interface as the MIDI output method. This will only work if you have aRts installed on your computer.

-stream, --stream-scheduler
    Selects the standard output stream as the MIDI output method. An English interpretation of each MIDI command generated will appear on standard out.

-s, --start
    Begin playback at the specified clock pulse. The pulses are divisions of quarter notes. tse3play works to a resolution of 96 PPQN.

-solo, --solo-track
    Play with the specified input track 'soloed'. This will mute all the other tracks. Note that this option will mute the input track from the file, not the specified MIDI channel. Track numbers start at zero.

-sl, --sleep
    Sets the time period that tse3play returns control back to the operating system between updates. The parameter is a number of u-seconds. The default value is 100. Specifying a shorter time will make the real time vu bars update more responsively. A value of 0 disables the sleep.

-stop, --no-stop
    Prevents tse3play from exiting once playback has finished. This can be used in conjunction with --echo and no specified filename to make the computer act as a MIDI Thru box.

-e, --echo
    Enable the MIDI echo facility, which is a soft MIDI Thru port. Anything received on the MIDI in connection will be immediately echoed on the MIDI out.

-mute, --mute-track
    Mutes the specified track in the input file. The first track is track zero.

-pd, --patches-dir
    Specifies the path to the directory in which FM or GUS patch files are to be found. This is used by the OSS driver to load sounds into the soundcard.

-port, --force-port
    Forces all output to the specified port.

-fast, --fast-midi
    Tells tse3play to use a faster MIDI file import routine. This will make the MIDI file playback start almost instantaneously (especially noticeable for very large MIDI files). You can only use this if you are not converting a file.

    It has a number of possible side effects; (i) The MIDI file's last time stamp is trusted to be correct (it might not be) (ii) Stopping playback half way through may produce 'hanging notes'

BUGS
Naturally, tse3play is completely bug free. The TSE3 library upon which it is based is also completely bug free. However, if you do find something goes wrong then contact the author. The program can only be improved with your feedback.

COPYRIGHT
Copyright (c) 2000,2001 Pete Goodliffe. See the license file in the TSE3 doc diirectory for a complete license statement.

AUTHOR
Pete Goodliffe <pete@cthree.org>

Trax Software 2001

SEE ALSO
playmidi(1), TSE3(3)