This revision fixes several bugs. Now the program is now barely usable if is compiled against Qt 4.
Added the Ctrl+D (Select 16 notes) keystroke to the
Pattern Editor (F2), filling in another missing
Impulse Tracker key binding.
Fixed some bugs that caused CheeseTracker to crash
when copying a selection.
This version adds support for the Audio File Library (libaudiofile), allowing it to load several new sample formats, including AIFF, .au, CARL Sound, .voc, and others.
In addition, through libaudiofile, CheeseTracker gains the ability to load ADPCM compressed and IEEE floating-point WAV samples (previous versions could only load uncompressed integer WAVs).
There are several more bugfixes as well. Version 0.9.14.3 is somewhat unstable.
Another bugfix release. Fixed another bug from 0.9.13 (selections
didn't work correctly in the Pattern Editor).
Also fixed a very old bug: The live keyboard can now be played
while a song is playing without the former getting cut off.
Fixed several bugs that horribly impaired CheeseTracker 0.9.13,
and should have been detected earlier. These bugs affected the
way the program sounded, as well as the visualization of samples
in the Sample Editor.
Implemented the ability to load and save multi-channel samples
in WAV format, or within CheeseTracker (*.ct) modules. In addition,
stereo samples play back in stereo. Previous versions of CheeseTracker
discarded all but the first channel of any sample loaded.
Since the code that handles the sound card is still stereo-only,
correct playback of more-than-two-channel samples is still
impossible, even if you have a multi-channel sound card. Such samples
are instead mixed down to 2 channels.
|Unofficial Release 0.9.12
Changed a few keys:
|Function||Old key||New key|
|Mute Channel Occupied by Cursor||F9||Shift+F11|
|Solo Channel Occupied by Cursor||F10||Shift+F12|
The original keybindings from Impulse Tracker would be in
conflict with the popular XFWM window manager. The original
author realized this.
I tried using Shift+F9 and Shift+F10, but Qt seems to ignore
the state of the Shift key when detecting a menu accelerator
keystroke (Shift+F9 would do the same thing as F9).
- Fixed the bug where stereo samples are simply discarded while
loading IT files. CheeseTracker still doesn't support stereo
samples, so the samples are loaded as mono.
- Wrote an
mmap-based file reader. On systems that
support it, maximum file-reading performance has been acheived.
- The GTK+ UI remnants have been deleted. They were previously unused
by the build, and therefore a waste of bandwidth.
Releases before this one were lost in the transfer from GeoCities.
The tarballs I downloaded from their web server ended up being
truncated, and I didn't notice until after GeoCities deleted the
|Unofficial Release 0.9.11
- Removed a couple of stupid, arbitrary size limitations. Unofficial
Release 0.9.11 can handle full, song-length samples, and the larger
song files that go with this new territory. It is therefore now possible
to mix recorded music elements with elements synthesized in
CheeseTracker without using an external program.
Wrote a faster file-reading algorithm. Large samples and modules will
load much faster in Unofficial Release 0.9.11 than in previous versions.
- Stuffed the code with
asserts. These will catch conditions
that can lead to a segmentation fault (there are many such conditions
in this program, and much effort has been expended in preventing the
code from setting off these
- Replaced all calls to
sprintf with the safer function
snprintf, except the vast number of
calls that can be found in
rtaudio.cpp is for Mac OS X and I run Linux, I cannot
test any changes made to that file.
- Merged a couple of duplicate functions. More remain.
- Started paying attention to the
within the package.
|Unofficial Release 0.9.10||
The following Impulse Tracker keys that are missing or poorly implemented in the official version are implemented correctly here:
|F7||Play from cursor (now works correctly)||Order list|
|F9 ||Load file||Global|
|Enter||Load sample/instrument||Sample and Instrument editors|
|Ctrl+I||Make Instrument||Sample Editor|
- Unrecognized sample types are treated as raw, 8-bit data, instead of giving an error message
- Playback loops to the beginning of the song when an empty order is encountered, instead of skipping over gaps in the order list.
- Newly-loaded samples will be named with just the filename instead of the full path.
- The build tree now includes a script that removes all the files generated by the build process.
Internally, the following changes have been made:
- The Debian patch fixing a buffer overrun in the XM loader has been applied.
- The memory leak created by the Debian patch has been fixed.
- The duplicate functions that I am aware of have been merged. I haven't seen all the code, so there may be more duplicate functions lurking in there.
- The typedefs for Uint8, Uint16, etc, are now defined to be equivalent
to the appropriate types in
<stdint.h>. If SCons doesn't find
<stdint.h>, then Microsoft-style exact-width ints are sought, and if those aren't found, the old definitions from CT 0.9.9 are used.
- A new member,
vector<QAction*> hidden_actions has been added to the class
MDI_Main_Window. This stores the
QActions used to implement the new key bindings, which would otherwise require additional menu items.
QAction pointers are deleted in
- All the code is compiled with the
- Since CheeseTracker has been found to contain code that only works on two's complement hardware, a compile-time assertion has been put in that will prevent the software from compiling on one's complement hardware.