Menu

Tree [a6f9de] master /
 History

HTTPS access


File Date Author Commit
 app 2024-03-17 Yury Aliaev Yury Aliaev [60dfa1] Configurable shortcuts for next prev song poition
 doc 2024-03-17 Yury Aliaev Yury Aliaev [60dfa1] Configurable shortcuts for next prev song poition
 extensions 2024-01-03 Yury Aliaev Yury Aliaev [32e2c3] Version check for new stereo-related Sample Edi...
 icons 2023-01-03 Yury Aliaev Yury Aliaev [4e8aa2] Envelope editor fix / improvements
 po 2024-03-17 Yury Aliaev Yury Aliaev [60dfa1] Configurable shortcuts for next prev song poition
 .gitignore 2024-01-03 Yury Aliaev Yury Aliaev [839fa9] config.h.in is no more being tracked by git sin...
 ABOUT-NLS 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 AUTHORS 2022-11-25 Yury Aliaev Yury Aliaev [d8ec13] Applied fix from Olivier Humbert
 COPYING 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 ChangeLog 2024-06-25 Yury Aliaev Yury Aliaev [a6f9de] I've forgotten to commit release related change...
 ChangeLog-v0.1 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 ChangeLog-v0.3 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 ChangeLog-v0.5 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 ChangeLog-v0.6 2019-05-20 Yury Aliaev Yury Aliaev [25bca0] Changes made from gtk+-1 version are splitted i...
 FAQ 2020-09-06 Yury Aliaev Yury Aliaev [c6cf63] Sound output subsystem redevelopment
 INSTALL 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 Makefile.am 2023-03-31 Yury Aliaev Yury Aliaev [e5594d] GtkBuilder files are renamed to *.ui
 NEWS 2024-06-25 Yury Aliaev Yury Aliaev [a6f9de] I've forgotten to commit release related change...
 README 2024-01-03 Yury Aliaev Yury Aliaev [8b3325] Documentation updated
 ROADMAP 2023-11-03 Yury Aliaev Yury Aliaev [f15579] Keybindings are updated
 TODO 2020-01-10 Yury Aliaev Yury Aliaev [c18c43] Live recording improvement
 TODO.extra 2024-01-03 Yury Aliaev Yury Aliaev [8b3325] Documentation updated
 cheat-sheet.C.txt 2022-11-25 Yury Aliaev Yury Aliaev [4bcb15] XM FX reference is updated
 cheat-sheet.ru.txt 2022-11-25 Yury Aliaev Yury Aliaev [4bcb15] XM FX reference is updated
 compile 2018-09-25 Michael Krause Michael Krause [008d33] updated build scripts
 config.guess 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 config.h.in 2024-01-03 Yury Aliaev Yury Aliaev [548bce] Stereo samples balance adjusting (together with...
 config.rpath 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 config.sub 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 configure.ac 2024-06-25 Yury Aliaev Yury Aliaev [a6f9de] I've forgotten to commit release related change...
 depcomp 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 envelope-box.ui 2023-03-31 Yury Aliaev Yury Aliaev [e5594d] GtkBuilder files are renamed to *.ui
 format.sh 2018-09-30 Michael Krause Michael Krause [4a624f] run all sources through clang-format (Webkit st...
 install-sh 2023-07-02 Yury Aliaev Yury Aliaev [329b8b] Some important GBS files are now being tracked ...
 missing 2018-09-25 Michael Krause Michael Krause [008d33] updated build scripts
 muted.png 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 sample-editor.ui 2024-01-25 Yury Aliaev Yury Aliaev [be39d7] Messages are improved
 soundtracker-icon.png 2013-01-26 Yury Aliaev Yury Aliaev [33b82e] Asterisk is drawn detween file name in the wind...
 soundtracker.1 2013-01-26 Yury Aliaev Yury Aliaev [a05169] Manual page is added.
 soundtracker.appdata.xml 2019-11-22 Yury Aliaev Yury Aliaev [af3589] Desktop stuff is reenabled
 soundtracker.desktop 2022-11-25 Yury Aliaev Yury Aliaev [d8ec13] Applied fix from Olivier Humbert
 soundtracker.spec 2011-04-20 mutabor mutabor [a35f8d] Initial commit, git repository for SountTracker...
 soundtracker.ui 2023-11-03 Yury Aliaev Yury Aliaev [f15579] Keybindings are updated
 soundtracker_convert_config 2013-03-13 Yury Aliaev Yury Aliaev [b6cd28] Preferences are ported to Glib stuff. Fixed lon...
 soundtracker_splash.png 2019-07-18 Yury Aliaev Yury Aliaev [92b32c] Splash screen image is updated (to be of v1.0)
 unmuted.png 2019-08-03 Yury Aliaev Yury Aliaev [69bd1d] Channel numbers are being drawn inside the scopes

Read Me

	      Back to the roots -- this is the Real SoundTracker
	--------------------------------------------------------------
			http://www.soundtracker.org/
	--------------------------------------------------------------

	Originally written and (C) 1998-2006
	by Michael Krause [ raw style ^ farbrausch & lego ]


How to build from SourceForge GIT repository:

- Clone repository:

        git clone https://git.code.sf.net/p/soundtracker/git soundtracker-git

- Create build scripts (not necessary when building from a release archive):

        autoreconf -vfi

	(I used Linux Mint 19.1 Tessa with autoconf 2.69, automake 1.15.1, autopoint 0.19.8.1. This (among
	others) requires macro definitions AM_PATH_ALSA and AM_PATH_SDL, which are defined by files in
	/usr/share/aclocal, which in turn are provided by packages libasound2-dev and libsdl1.2-dev.)

- Then run the usual configure / make / make install procedure

        (Requires GTK+ 2.0, which on Linux Mint 19.1 is available through libgtk2.0-dev. Suggest to use
        libsndfile, which requires package libsndfile1-dev.)


WHAT IS IT?
============

short answer:
-------------

SoundTracker is a pattern-oriented music editor (similar to the DOS
program 'FastTracker'). Samples are lined up on tracks and patterns
which are then arranged to a song. Supported module formats are XM and
MOD; the player code is the one from OpenCP. A basic sample recorder
and editor is also included.

long answer:
------------

If you've heard of ProTracker or FastTracker before, you will be
familiar with the concept of 'SoundTracker'. The name of my program
has been taken from the very first program of this type, which was
written by Karsten Obarski for the Amiga in 1987.

The basic concept is simple: you have a number of "sound samples", and
you can arrange them on so-called "tracks". A track (or channel) can
not play more than one sample at the same time. While the original
Amiga trackers only provided four tracks (this was the hardware
limit), trackers for PC's can mix a theoretically unlimited number of
channels (typically up to 32) into one sound stream.

A set of tracks which are played at the same time is called a
"pattern".  A pattern typically has 64 entries per track; these
entries are cycled through at equidistant time intervals. A basic drum
set could thus be arranged by putting a bass drum at entries 0, 4, 8,
12 etc.  of one track and putting some hihat at entries 2, 6, 10, 14
etc. of a second track. Of course you can also interleave bass and
hats on the same track, if the samples are short enough -- they can't
overlap, otherwise the previous sample is stopped when the next one
sets in.

And to make this introduction complete: A "module" is a compact file
containing various patterns and samples, including a "position list"
which specifies playback order of the patterns, forming a "song". A
word about file names: Original ProTracker modules are /prefixed/ with
"mod." when they come from an Amiga -- ignorant PC users, however,
shamelessly save PT-compatible modules with a ".MOD"
/suffix/. FastTracker modules have the ".XM" suffix.  These both are
the most important module types out there and SoundTracker loads them
both.


USING
======

Note that some functions are only accessible using the keyboard. These
are all important key combinations, mostly inspired by the great Amiga
ProTracker (most alphanumeric keys are mapped to a piano keyboard).
More actuali info about the keybindings can be found in the
doc/keybingings.odt file.

	TRACK EDITOR
	------------

Right Ctrl		Play Song
Right Alt		Play Pattern
Right Super Key	Play Song from the current pattern position
Shift + the three above mentioned keys additionaly switch recoding mode on.

Right WinMenu Key	Just play current pattern row
Shift + WinMeny key	Play selected block

These are the default keybindings; all these keys are configurable through
Settings->Keyboard->Other keys.

Song/Pattern/Selection playing can be either looped or not depending on the
state of the looping toggle button which is to the right of the Play/Stop
buttons.

Space			Stop Playing; edit mode on/off
Ctrl + Space	Stop playing without edir mode switching
Escape			Edit mode on/off without stopping playing
Shift - Space           Toggle "jazz edit" mode

F1 ... F7		Change editing octave
Left Ctrl-1 ... -8	Change jump value
Two configurable keys	Increase/decrease jump value (see Settings->Keyboard->
(` and ~ (Shift + `)	other keys)
by default)

CrsrUp / Down		Walk around in current pattern
PgUp / Down		Walk around in current pattern, quickly
F9			Jump to position 0
F10			Jump to position L / 4
F11			Jump to position L / 2
F12			Jump to position 3 * L / 4

Ctrl + 1 ... 8		Change "jump" value

CrsrLeft / Right	Change pattern column and/or channel
Tab			Skip to same column in next channel

Left Shift + first 8	Fast jump to channels 1..8
keys in the first
alphabetical row
(UC-0 ... UC-1)

Left Shift + Alt +	Fast jump to channels 17..24
above mentioned keys

Left Shift + first 8	Fast jump to channels 9..16
keys in the second
alphabetical row

Left Shift + Alt +	Fast jump to channels 25..32
above mentioned keys

Left Ctrl - CrsrLeft	Previous Instrument (faster with Left Shift)
Left Ctrl - CrsrRight	Next Instrument (faster with Left Shift)

Also current instrument can be quickly seleted by one of the following
ways:
- Pressing and releasing Left Control, when the respective option is
enabed in the GUI configuration. The Instrument Selection window shows
up where the current instrument can be chosen using either GUI or typing
its number on the main keyboard or keypad. Then press Enter to confirm
selection or Escape to cancel.
- Starting typing a number on the keypad. The Instrument Selection
window shows up, then do just as mentioned above.
- Pressing Left Control, then typing a number on the keypad holding
Control. The instrument will be selected when Control is released.
Escape also can be used to discard selection.

Left Ctrl - CrsrDown	Previous Sample (faster with Left Shift)
Left Ctrl - CrsrUp	Next Sample (faster with Left Shift)

Left Alt - CrsrDown	Move a note down in the track
Left Alt - CrsrUp	Move a note up in the track

Left Alt - CrsrLeft	Previous Pattern (faster with Left Shift)
Left Alt - CrsrRight	Next Pattern (faster with Left Shift)

Left Ctrl - PgUp	Previous Position in the pattern order table
			(faster with Left Shift)
Left Ctrl - PgDown	Next Position in the pattern order table
			(faster with Left Shift)
Left Ctrl - Home	First Position in the pattern order table
Left Ctrl - End	Last Position in the pattern order table

Left Ctrl - B		Start/stop marking a block (all selection modes)
Left Ctrl - C		Copy block
Left Ctrl - X		Cut block
Left Ctrl - V		Paste block and advance to end

"FT2" and "Mixed" selection mode: Left Shift + CrsrLeft/Right/Up/Down/
Home/End/PgUp/PgDown/F9-F12 to start marking a block. Stop marking:
releasing Shift in the "FT2" mode, Ctrl + B in the "Mixed" mode.

Left Alt - =		Transpose block by one half-tone up
Left Alt - -		Transpose block by one half-tone down
Left Alt + Shift - =	Transpose block by one octave up
Left Alt + Shift - -	Transpose block by one octave down

Left Shift - F3		Cut track
Left Shift - F4		Copy track
Left Shift - F5		Paste track

Left Alt - F3		Cut pattern
Left Alt - F4		Copy pattern
Left Alt - F5		Paste pattern

Delete			Clear part of the channel the cursor is over
Shift - Delete		Clear all of current track row
Backspace		Delete current position and pull rest of track upwards
Backspace + Shift	Delete the current track and shift the rest of the
			tracks to the left
Backspace + Ctrl	Delete current pattern line and pull rest of the
			pattern upwards
Insert			Shift rest of track downwards and insert a row
Insert + Shift		Shift tracks right to the current to the right and
			insert a new track
Insert + Ctrl		Shift rest of the pattern downwards and insert a line

Left Shift + Esc        Move cusror to Note column (from any other column:
                        instrument, volume, effect) in current track

Any other keys		Play notes on the keyboard.

Mouse Wheel		Scroll up and down through pattern (just like Crsr Up /
			Down)
Left Shift + M. Weel	Scroll left and right through pattern (like a scrollbar
			under the tracker window)
Left Alt + M. Weel	If the editing mode is on and the mouse pointer is above
			either volume or FX column, the volume/FX parameter will be
			increased or decreased. For FXes having two parameters, both
			nibbes can be changed independently.
Left Ctrl + M. Weel	Scroll position in the pattern order table (faster with
			Left Shift).

If SoundTracker is unable to configure the notes on your keyboard on
its own, you must use the "Keyboard Configuration" dialog to set up
your keyboard. In any case, there you will also have to configure the
key that inserts the "key off" note into a pattrern.

Most of the short cuts can be changed in the usual GTK+ way - go to
the relevant menu entry, put the mouse over it, and just before
releasing the mouse button, hit the desired key combination! The new
key combinations will be automatically saved when quitting
SoundTracker and reloaded the next time you start it.

	effects interpolation
	---------------------

Suppose you want to do a volume slide from C00 to C40 within 16
steps. What you do is, you enter the C00 effect at row 0, the C40
effect at row 15, mark the track from row 0 to 15, put the cursor into
the effects column, and hit Ctrl-I. This key combo interpolates every
implemented effect (see cheat sheet for effects list) between block
start and block end. If an effect line is empty, it will be filled with
C effect with the appropriate value, as well as the value of every
found C effect will be adjusted according to the interpolation law.
Other effects within the block remain untouched.

A similar job is done by the "increment / decrement cmd value"
functions found in the Edit / Track menu. Enter C40, go one row down
(stay in the effects column) and hit Ctrl-minus ("decrement cmd
value") to automatically insert a 3f there.

Another option is the interpolation of matching effects only (also
available as Ctrl-Shift-I). This will adjust parameters only of
existing C effects inside the marked block in the above example.
No new effects will be inserted to the empty entries.

For some effects (for example, volume) it's preferable to have
exponential interpolation law instead of linear. In order to do this
two options are implemented, activated by Ctrl-Alt-I and
Ctrl-Alt-Shift-I for simply and matched interpolation respectively.
Note that for the exponential interpolation both initial and final
parameter values should be > 0.

	volume column
	_____________

By default SoundTracker displays the volume colums as it is stored in
the XM file format, with the volume shifted + 0x10 from its effective
value (so that the volume value 0x10 corresponds to zero) and effects
coded by hexadecimal numbers. But the format of the volume column can
be switched to that resembling FastTracker ("FT2-like volume column"
GUI setting), where the effective volume value is displayed and
effects are coded either by ASCII or UNICODE mnemonic symbols (Set the
"Use symbols in the volume column" if you want to use mnemonics,
provided that your tracker font has necessary symbols). In the FT2
mode the alternative keybindings for the volume column effects are
used, they given in the parentheses in the XM effects' cheat sheet.
These keybindings are mosltly the same as the effects' symbols when
not in the mnemonic mode (except that for panning slide left/right
either "</>" or "l/r" keys can be used). It is also possible to input
hexadecimal symbols corresponding to effects like in ST mode, the
correct effect mnemonics will be displayed (that is, typing "e" yields
to the ">" symbol). The only exception is "d" which is mapped to the
Fine volume slide down FX coded by digit "8".

There is also an option "Decimal volume representation" in FT2 volume
colomn mode causing the volume value be represented by decimal number
from 0 to 64. This doesn't affect the effects representation, except
that the digit "6" cannot be used to code the Volume slide down FX,
only "-" sign.


	INSTRUMENT EDITOR
	-----------------

In the Envelope editor, use Shift + middle mouse button or Ctrl + mouse
wheel in order to zoom in and out of the envelope. Use middle mouse
button alone to pan the display. Use mouse wheel to pan the display
horizontally and Shift + mouse wheel to pan the display vertically. Use
left mouse button to move and add points. With Ctrl pressed point
movement is restricted to either horizontal or vertical direction.

At the piano keyboard use left and middle mouse buttons to play sounds,
right mouse button assigns the current sample to the clicked key. By
moving the mouse while keeping the right key pressed it is possible to
assign a sample to a range of keys.

	SAMPLE EDITOR
	-------------

Hold Shift and use left / right mouse buttons to set the loop points
in the sample display. Use middle mouse button or mouse wheel to pan
the display. Use Ctrl + mouse wheel to zoom in and out the display.

Keybindings:
Ctrl + A		Select All
Ctrl + Shift + A	Select None
Shift + Z		Zoom to Selection
Ctrl + =		Zoom In
Ctrl + -		Zoom Out
Ctrl + 1		1 : 1 Scale
Del			Delete Selected range
Enter			Toggle Sampling (when the sampling window is active),
			this keybnding is a configurable one


REPORTING BUGS
===============

If you want to report a bug, please check first if you are running the
latest version of SoundTracker. If the bug is still present there,
send a bug report to the soundtracker-discuss mailing list (see below)
if you want feedback from other users, or send it to me directly
(m.krause@tu-harburg.de).


MORE DOCUMENTATION
===================

SoundTracker has JACK support. Instructions on how to connect ST with
JACK can be found at the URL
http://www3.sympatico.ca/lucus/Soundtracker_and_JACK.html

I know that there's no documentation available as of yet.  If you just
want to know more about tracking in general,
http://www.united-trackers.org/ has a lot of resources. There are some
general tracking tutorials on that site that apply to a variety of
trackers.

SoundTracker still needs a detailed documentation. If you want to help
out with this, you should become familiar with DocBook or similar SGML
tools first. I'd like to have the documentation in a format that makes
it easy to generate both printed output (read: "TeX") and online
documentation.

You may of course ask for help in the mailing list (see below)!


MAILING LISTS
=============

There are currently two mailing lists:

* soundtracker-announce:
  -> http://lists.sourceforge.net/lists/listinfo/soundtracker-announce

  This is a read-only, low-volume mailing-list in which I post
  announcements of new versions.

* soundtracker-discuss:
  -> http://lists.sourceforge.net/lists/listinfo/soundtracker-discuss

  A non-moderated list open for ST-related discussions of any kind, for
  both users and developers.

Note that if you have joined `soundtracker-discuss', there's no need
to join `soundtracker-announce', as I crosspost all the announcements
to both lists.

Once you have joined `soundtracker-discuss', you can send mails to the
list by writing to `soundtracker-discuss@soundtracker.org'.

A searchable archive of the list, starting from 06-Jul-2000, is
available at
http://sourceforge.net/mailarchive/forum.php?forum=soundtracker-discuss


CVS REPOSITORY
==============

The CVS tree has been updated last in mid-2001; not much development
is going on right now! In particular, the version in CVS is absolutely
unusable right now.

So, if you want to give it a try (from SourceForge CVS howto):

	cvs -d:pserver:anonymous@cvs.soundtracker.sourceforge.net:/cvsroot/soundtracker login 

After anonymously logging in:

	cvs -z8 -d:pserver:anonymous@cvs.soundtracker.sourceforge.net:/cvsroot/soundtracker co soundtracker

After the initial checkout, you can change into this directory and
execute cvs commands without the -d option. For example:

	cvs update

Watch the ChangeLog for detailed information about what has changed.


GIT REPOSITORY
==============

The freshest (but sometimes buggy) sources are available using git.

So, if you want to give it a try (from SourceForge git howto):

	git clone https://git.code.sf.net/p/soundtracker/git soundtracker-git

After the initial checkout, you can change into this directory and
execute git commands. For example, if you want to update the source tree:

	git fetch

Watch the ChangeLog and the git history for detailed information about
what has changed.