More reformatting.
[ahxm.git] / RELEASE_NOTES
blob6531bf75eddc390a134f8c4b0432dba7e6f734ae
1 Ann Hell Ex Machina Release Notes
2 =================================
4 1.0.13
5 ------
7  * Start of win32 support.
9 1.0.12
10 ------
12  * Added support for SoundFont 2.0 (.sf2) files.
13  * New `L' command, to add directories to the library path (analogous
14    to the -L switch).
15  * New `master_volume' command, to set the software syntesizer master
16    volume (analogous to the -v switch).
18 1.0.11
19 ------
21  * Uses `ffmpeg' as a fallback converter in case all others fail.
22  * New PulseAudio output driver.
23  * Very big internal changes; instead of having many different event
24    lists (raw song, softsynth or midi), all events are the same (still kept
25    in different lists, though). This simplify the internal storage greatly.
26    This is not a user-visible change.
27  * Other minor changes to the C API were done, as using const wherever
28    possible; as above, no user-visible changes.
29  * Random volumes are no longer architecture-dependent (Bug #1146).
31 1.0.10
32 ------
34  * The volume (`v') command can now have two arguments; next volumes will
35    be set as a random value from that range.
36  * New softsynth directive `attack', to set the attack time for notes,
37    analogous to `sustain' (this directive was introduced in 1.0.9, but
38    was left undocumented here).
39  * The `wav' command now accepts a file name starting with a pipe
40    symbol (|), interpreting the string as a command to be executed, that
41    will end up creating the .wav file that will be used as a sound source.
42    The command must include a %s where the command wants the output file
43    (it will be filled with a unique, temporary name).
45 1.0.9
46 -----
48  * The wobble effect now accepts a 'gain' argument, to control the amount
49    of effect applied to the signal. If not set, it uses a default of 0.8
50    (previous versions acted as if a 1.0 value was set).
51  * The way of ending a softsynth song has changed; instead of waiting for
52    the end of events and then abruptly ending (which led to adding fake
53    silences and notes until all sound is off), now the instruments are
54    monitored and only exits when no more sound is generated.
55  * Three new distortion effects, `atan', `distort' and `overdrive' have
56    been added.
57  * A new special mark is supported, START, that can be defined anywhere
58    and used as the starting point for the following new tracks.
59  * A new special mark is support, END, that will be automatically set
60    to the longest time seen on a track. So, combining the START and END
61    marks, it's possible to mix different songs to play one after the other,
62    as in
64         /* first song */
65         `song1.ahs`
66         
67         /* move to the furthest point */
68         @END
69         
70         /* set start of new tracks there */
71         ^START
72         
73         \
74         /* second song */
75         `song2.ahs`
77 1.0.8
78 -----
80  * Big rename; main executable has been changed from 'annhell' to 'ahxm',
81    the personal sample library changed from $HOME/annhell to $HOME/ahxmlib,
82    and the temporary cache moved to /tmp/ahxm-$PID.
83  * Paged wave loading now include an adaptive algorithm that sequentially
84    increases the memory block assigned to that wave if it pages frequently.
85    This way it's much less possible to be bitten by bug #1108.
86  * New command 'A' to set the key signature as a list of alterations
87    to natural notes.
88  * New effect 'half_wobble'; same as 'wobble', but letting pass only the
89    first pass of a period.
90  * New directive 'portamento', allowing notes to slide up or down.
91  * New distortion effect 'foldback'.
93 1.0.7
94 -----
96  * Number of channels no longer default to 2, but to all the channels used
97    in the song (this way, WAV files are automatically generated with all the
98    defined channels and not clipped to 2). Other output devices are still
99    silently clipped to 2 and the rest of channels dropped.
100  * The arpeggiator subcommand @ (track) has been changed to /, as it was
101    confusing the parser. Also, the track is relative instead of absolute
102    (now it means a track offset), so it can be reused.
103  * Midiin has been fixed, as it was severely broken (no initializations).
104  * OSS's fragment changed so that real-time applications (as midiin) work
105    again. This seems to be necessary when using ALSA's OSS emulation.
106  * A new midi2ahs.pl script, to crudely convert MIDI files to .ahs scripts.
108 1.0.6
109 -----
111  * Minor internal changes.
112  * First public version.
114 1.0.5
115 -----
117  * Channel spreading of wave files into instruments can now be partially
118    controlled with the optional "first channel" and "skip channels"
119    parameters. This allow using samples where the left and right channel
120    are in different wave files.
121  * New randomized blocks.
123 1.0.4
124 -----
126  * A new directive, 'song_info', to add author and name metadata to a song.
127  * A new command line option, -C, to generate a .cue file.
128  * Fixed a critical bug when loading .wav files directly (instead of
129    converted from other formats as .flac).
131 1.0.3
132 -----
134  * This release allows working with huge wave files, as they are
135    loaded page by page instead of full in memory (but beware of
136    bug #1108).
138 1.0.2b
139 ------
141  * This release includes no new features, but just some internal
142    refactoring (towards supporting paged instruments).
144 1.0.2
145 -----
147  * Tempo changes has been fixed.
148  * New '-P' command line switch to show time progress.
150 1.0.1
151 -----
153  * The performance of the 'skip seconds' option has been dramatically
154    improved; but take note that output will sound differently, as notes
155    that started playing before the time boundary will no longer sound
156    (this will also happen with a real MIDI synthesizer, where note on
157    events will never be sent).
159 1.0.0
160 -----
162  * First stable version.