Git [a6f9de] (original) (raw)

Menu ▾ ▴

Tree [a6f9de] master / History


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 AliaevYury 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 mutabormutabor [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 mutabormutabor [a35f8d] Initial commit, git repository for SountTracker...
ChangeLog-v0.3 2011-04-20 mutabormutabor [a35f8d] Initial commit, git repository for SountTracker...
ChangeLog-v0.5 2011-04-20 mutabormutabor [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 AliaevYury 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 AliaevYury 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 AliaevYury Aliaev [329b8b] Some important GBS files are now being tracked ...
config.sub 2023-07-02 Yury AliaevYury 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 AliaevYury 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 AliaevYury 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 mutabormutabor [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 mutabormutabor [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:

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:

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:

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.