~ubuntu-branches/ubuntu/breezy/soundtracker/breezy

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2005-04-18 07:19:14 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050418071914-b9m1ptfdnz8mqm7a
Tags: 0.6.7-5
* disable alsa (closes: #286350, #304711)
- it was doing double-free.
* update jack support, not enabled.
- 02_jack_output: Patch from Kai Vehmanen available as
  http://eca.cx/download/soundtracker-0.6.7-pre6-kv3.tar.gz
  applied.
- Build-Depend on libjack0.80.0-dev
- remove --disable-jack from configure line
* change soundtracker.1 section from 1x to 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2004-01-11  Michael Krause  <mk@soundtracker.org>
 
2
 
 
3
        * Released v0.6.7
 
4
 
 
5
        * app/sample-editor.c: When copying a sample and pasting into an
 
6
        empty one, the settings for volume, finetune, panning and relnote
 
7
        are transferred, too.
 
8
 
 
9
        * Added patch from Yury for a more general Cut/Copy/Paste
 
10
        handling. Now there's only one such set of functions in the Edit
 
11
        menu, the functionality of which depends on the currently active
 
12
        notebook page (tracker / instrument / sample editor).
 
13
 
 
14
        * app/xm.c (xm_load_xm_pattern): Handling non-standard pattern
 
15
        header sizes (yaliaev)
 
16
 
 
17
        * app/gui.c (gui_final): Default octave is now 3 instead of 5, so
 
18
        that freshly loaded samples can be triggered at their original
 
19
        speed with the Q key.
 
20
 
 
21
        * app/sample-editor.c: Cleaned up sndfile / audiofile code (a lot
 
22
        of stuff was previously duplicated via #if's), fixed saving of
 
23
        8-bit samples via libsndfile. When loading raw samples (when
 
24
        compiled with libsndfile), we ask the user for the sampling
 
25
        frequency now, just like in the case of libaudiofile. Also fixed
 
26
        loading of 8-bit samples (treat_as_8bit is now set correctly).
 
27
 
 
28
        * app/gui.c (gui_playlist_position_changed): Fixed handling of the
 
29
        "Lock edited pattern" button (problem reported by yaliaev).
 
30
        
 
31
2004-01-04  Michael Krause  <mk@soundtracker.org>
 
32
 
 
33
        * app/track-editor.c (track_editor_do_the_note_key): Added patch
 
34
        from yaliaev which removes cursor horizontal displacement when you
 
35
        try some tune at the keyboard in jazz mode (of course, only if ST
 
36
        not in the editing mode, jazz editing mode works just like
 
37
        before).
 
38
 
 
39
        * Added soundtracker-0.6.7pre6-patexpshrink.patch.bz2 from
 
40
        yaliaev, providing vertical pattern expansion / shrinking.
 
41
 
 
42
        * app/gui.c, app/keys.c, app/playlist.c: Fix some gcc-3.2
 
43
        warnings (yaliaev).
 
44
 
 
45
        * app/cheat-sheet.c, app/gui.c, app/instrument-editor.c: Add some
 
46
        #includes for non-GNOME version, fix for measure selection window
 
47
        (yaliaev).
 
48
 
 
49
        * configure.in, app/mixers/Makefile.am, app/mixers/kb-x86-asm.S:
 
50
        Added patch from yaliaev to remove dependency of soundtracker on
 
51
        gasp.
 
52
 
 
53
2003-10-27  Michael Krause  <mk@soundtracker.org>
 
54
 
 
55
        * po: Updated it, ja, pl, ru translations. Added sk (slovakian)
 
56
        translation.
 
57
 
 
58
2003-08-04  Michael Krause  <mk@soundtracker.org>
 
59
 
 
60
        * "Released" soundtracker-0.6.7pre6 (without official
 
61
        announcement).
 
62
 
 
63
        * app/gui.c, app/gui-settings.c, app/menubar.c, *.xpm: Added patch
 
64
        from yaliaev: Nice icons in the control panel, Direct access to
 
65
        accidentals and row highlighting configuration from the control
 
66
        panel, Option to allow/prevent edited pattern from changing when
 
67
        browsing in the playlist.
 
68
 
 
69
        * app/st-subs.c (st_sample_16bit_signed_unsigned): Fixed
 
70
        signed->unsigned conversion (tugruettmueller).
 
71
 
 
72
        * app/playlist.c (playlist_insert_pattern): Emitting
 
73
        SONG_LENGTH_CHANGED signal after inserting new pattern. Fixes
 
74
        incorrect XM playlist update handling when inserting
 
75
        patterns. (reported by yaliaev).
 
76
 
 
77
2003-07-05  Tomasz Maka  <pasp@ll.pl>
 
78
 
 
79
        * app/gui.c, app/file-operations.[ch]: Function for refresh
 
80
        (fileops_refresh_list) file/dir list in file requesters was added.
 
81
 
 
82
2003-06-29  Michael Krause  <mk@soundtracker.org>
 
83
 
 
84
        * app/gui.c (gui_final): Add tooltips to pitchbend and
 
85
        amplification sliders (yaliaev).
 
86
 
 
87
        * app/audio.c (audio_mix): Fix memset at the end of file
 
88
        rendering, clearing the unrendered part of the mixing buffer
 
89
        (yaliaev). This fix might contribute to stabilizing the WAV export
 
90
        which has been reported to be unstable by some people.
 
91
 
 
92
        * po: Updated fr, it, sv translations.
 
93
 
 
94
2003-05-24  Michael Krause  <mk@soundtracker.org>
 
95
 
 
96
        * "Released" soundtracker-0.6.7pre5 (without official
 
97
        announcement).
 
98
        
 
99
        * app/main.c (main): Calling gui_play_stop() before quitting, so
 
100
        that the audio driver is shut down correctly (for JACK).
 
101
 
 
102
        * app/keys.c, app/gui.c: Defined two new keys for "increase /
 
103
        decrease jump value" (yaliaev).
 
104
 
 
105
        * app/keys.c, app/track-editor.c: Defined quick-jump keys to jump
 
106
        to channels. Can also mute channels with keyboard when these keys
 
107
        are pressed together with SPACE (yaliaev).
 
108
 
 
109
        * app/midi-settings.h: Removed #ifdef ALSA_DRIVER_09x around
 
110
        gboolean auto_connect definition in struct midi_input_prefs. Now
 
111
        SoundTracker compiles with alsa 0.5.x again. I have no idea if it
 
112
        works, though.
 
113
 
 
114
        * configure.in: Changed GNOME detection code; new code taken from
 
115
        xchat-1.8.8. The old code broke at version detection on some
 
116
        systems.
 
117
 
 
118
        * app/st-subs.c (st_is_empty_track): Advance notes pointer in
 
119
        loop. Also, the loop end condition is length > 0 instead of length
 
120
        >= 0. Up to now, this function would only check if the very first
 
121
        row in the pattern is non-empty, leading to patterns left out
 
122
        during saving. Argh. Thanks to Henri Jylkk� <hj@bsdmail.org> for
 
123
        helping to reproduce the bug. Also, CTRL-F and CTRL-G (find / copy
 
124
        to unused pattern) work again now.
 
125
 
 
126
        * po: Updated ja.po, no.po, it.po.
 
127
 
 
128
        * configure.in: Under NetBSD, check if OSS driver needs -lossaudio
 
129
 
 
130
2003-05-18  Michael Krause  <mk@soundtracker.org>
 
131
 
 
132
        * app/drivers/sun-input.c, app/drivers/sun-output.c: Fixes
 
133
        (wcobb).
 
134
 
 
135
        * configure.in: Add -lossaudio to linker options for OpenBSD OSS
 
136
        emulation layer. (wcobb)
 
137
 
 
138
        * app/gui.c (file_selected), app/sample-editor.c,
 
139
        app/instrument-editor.c: Check if a file was actually
 
140
        selected. Previously, the gtk+ file selector could return with
 
141
        just a directory name as 'file name', and SoundTracker would treat
 
142
        that as a file to operate on, leading to strange behavior.
 
143
        
 
144
        * "Released" soundtracker-0.6.7pre4 (without official
 
145
        announcement).
 
146
        
 
147
        * app/playlist.c: User can now click on playlist entries to make
 
148
        them the current position (yaliaev).
 
149
 
 
150
        * flat.xpm, sharp.xpm: Made a bit larger (yaliaev).
 
151
 
 
152
        * po/POTFILES.in: Added some more source files.
 
153
 
 
154
        * app/Makefile.am (install-exec-local): On NetBSD and OpenBSD, the
 
155
        root group is called 'wheel' (wcobb, Henri Jylkka
 
156
        <henri.jylkka@mbnet.fi>). On Darwin (MacOS X), it is 'admin'
 
157
        (Mathias Meyer <mathmeye@users.sourceforge.net>).
 
158
 
 
159
        * configure.in, app/main.c, app/drivers/Makefile.am: Sun audio
 
160
        driver integration (wcobb)
 
161
 
 
162
2003-05-17  Michael Krause  <mk@soundtracker.org>
 
163
 
 
164
        * app/drivers/jack-output.c: Added patch for latest JACK CVS (by
 
165
        Anthony <avan@uwm.edu>).
 
166
 
 
167
        * po: Updated it.po
 
168
 
 
169
        * configure.in: Rewrote some parts of configure.in and several
 
170
        Makefile.am's to use AM_CONDITIONALs where they are guaranteed to
 
171
        be executed. Extended several Makefile.am's to make use of
 
172
        conditional compilation -- this way some '#if defined(XXX)' around
 
173
        complete source files can be removed and compilation is faster.
 
174
 
 
175
2003-04-27  Michael Krause  <mk@soundtracker.org>
 
176
 
 
177
        * app/track-editor.c (tracker_timeout): Removed
 
178
        g_assert(current_driver_object) and replaced it with a simple
 
179
        check, because the situation tested for can actually occur
 
180
        legally.
 
181
 
 
182
        * app/gui.c (gui_editpat_changed): gui_mixer_set_pattern() is
 
183
        called here only when we are in 'playing pattern' mode.
 
184
        (gui_set_current_pattern): Removed call to
 
185
        gui_mixer_set_pattern().
 
186
        (offset_current_pattern): Use gtk_spin_button_set_value() to set
 
187
        new pattern.
 
188
 
 
189
2003-04-12  Luc Tanguay  <lucus_at_sympatico.ca>
 
190
 
 
191
        * Updated MIDI code to support ALSA 0.9.x.
 
192
 
 
193
2003-04-03  Michael Krause  <mk@soundtracker.org>
 
194
 
 
195
        * app/drivers/oss-{in|out}put.c: Corrected soundcard.h
 
196
        inclusion. Now compiles under NetBSD (thanks Frank Knappe
 
197
        <knappe@tu-harburg.de> and Henri Jylkka <henri.jylkka@mbnet.fi>).
 
198
 
 
199
2003-03-29  Michael Krause  <mk@soundtracker.org>
 
200
 
 
201
        * po: Updated ja.po
 
202
 
 
203
        * configure.in: Correct detection of ALSA v0.9, v0.5 and <older>.
 
204
        (modified patch from ltanguay).
 
205
 
 
206
2003-03-09  Michael Krause  <mk@soundtracker.org>
 
207
 
 
208
        * app/gui.c (gui_save_wav_callback, play_song): Removed
 
209
        superfluous calls to gui_set_current_pattern().
 
210
 
 
211
        * app/drivers/file-output.c (sndfile_new): Initializing d->sndbuf
 
212
        and d->polltag to NULL. Fixes a crash when trying to save WAV via
 
213
        libsndfile on my machine.
 
214
 
 
215
        * Fixed libsndfile detection.
 
216
 
 
217
        * "Released" soundtracker-0.6.7pre3 (without official
 
218
        announcement).
 
219
        
 
220
        * Updated ja.po.
 
221
 
 
222
2003-03-08  Michael Krause  <mk@soundtracker.org>
 
223
 
 
224
        * app/gui.c (gui_playlist_position_changed): Start event waiter
 
225
        first, THEN send "set songpos" request to mixer. Fixes occasional
 
226
        hanging playlist display when changing playlist position manually
 
227
        during playback.
 
228
 
 
229
        * app/drivers/sun-input.c, app/drivers/sun-output.c: From Wilbern
 
230
        Cobb. Integration with configure.in is still missing.
 
231
 
 
232
        * app/drivers/oss-input.c, app/drivers/oss-output.c, configure.in:
 
233
        Including {sys/|machine/|<nothing>}/soundcard.h depending on which
 
234
        is present (wcobb).
 
235
 
 
236
        * app/menubar.c: Added toggleitem for disabling the splash screen
 
237
        (i.e., automatically closing it).
 
238
 
 
239
        * app/gui-subs.c (gui_hang_tooltip): Only allocate GtkTooltips
 
240
        once.
 
241
 
 
242
        * app/gui.c (gui_insert_free_pattern,
 
243
        gui_insert_free_pattern_and_copy): Cleaned up, checking for
 
244
        maximum playlist length.
 
245
 
 
246
        * app/gui-subs.c (gui_update_adjustment): Use gfloat for p instead
 
247
        of int. Fixes some weird position jumping in the new playlist
 
248
        editor when deleting or inserting items. Moved from gui-subs.c to
 
249
        playlist.c, because it is playlist-specific.
 
250
 
 
251
        * app/playlist.c: Merged playlist_insert_pattern() and
 
252
        playlist_insert_clicked().
 
253
 
 
254
        * app/playlist.[ch], app/gui.[ch]: New FastTracker-style playlist
 
255
        editor by Yury.
 
256
 
 
257
2003-03-02  Michael Krause  <mk@soundtracker.org>
 
258
 
 
259
        * "Released" soundtracker-0.6.7pre2 (without official
 
260
        announcement).
 
261
        
 
262
        * Added patch from Yury for correcting
 
263
        right-mouse-button-over-scopes semantics to agree with FT2.
 
264
 
 
265
        * Added patch from Yury for displaying a pixmap for a muted
 
266
        channel instead of a zero line only. Fixed this for the case when
 
267
        no actual PNG file is installed.
 
268
 
 
269
        * Added patch from Yury for B<->H note name switching and
 
270
        flat/sharp notation selection. I downscaled the provided icons to
 
271
        a height of 16 pixels to agree with the standard GNOME stockicon
 
272
        size.
 
273
 
 
274
        * Added patch from Yury for handling arbitary XM instrument header
 
275
        sizes in xm.c::xm_load_xm_instrument().
 
276
 
 
277
        * Added patch from Yury adding some gettext() calls here and there
 
278
        to actually translate strings.
 
279
 
 
280
        * Added patch from Yury for XP pattern import/export.
 
281
 
 
282
        * Added patch from Tomasz Maka <pasp@ll.pl>.
 
283
          + app/tracker.c: Channel numbers are more useful now
 
284
            (centered above track on a separate line)
 
285
          + app/tracker.[ch], app/gui.c: Different cursor color
 
286
            in edit mode.
 
287
 
 
288
        * Added norwegian translation by Petter Johan Olsen
 
289
        <petter.olsen@cc.uit.no>. Updated russian translation by Yury.
 
290
 
 
291
        * Added latest version of JACK output driver. Changes:
 
292
          + Multiple clients: soundtracker_0-9
 
293
          + Output ports renamed: out_1, out_2
 
294
          + Driver release now waits for declicking to finish
 
295
          + GUI issues fixed
 
296
          + no slave transport mode
 
297
          + master mode is not saved in the config by choice
 
298
          (by Anthony <avan@uwm.edu>)
 
299
        
 
300
2003-02-02  Michael Krause  <mk@soundtracker.org>
 
301
 
 
302
        * "Released" soundtracker-0.6.7pre1 (without official
 
303
        announcement).
 
304
        
 
305
        * New danish translation (da.po) by Keld Simonsen <keld@dkuug.dk>.
 
306
 
 
307
        * app/gui.c (gui_update_title): Rewritten using g_strdup_printf()
 
308
        and g_basename(), fixes a crash when starting ST with a module
 
309
        filename as command line argument.
 
310
 
 
311
        * Applied patch from Anthony Van Groningen <avan@uwm.edu> adding
 
312
        JACK support to SoundTracker. Some configure.in / Makefile fixes
 
313
        for this by Kai Vehmanen <kai.vehmanen@wakkanet.fi>.
 
314
        
 
315
        * Spent some hours getting the autoconf stuff to work with the
 
316
        latest autoconf-2.57 / automake-1.7.2. I hate this.
 
317
 
 
318
        * Applied patch from Erik de Castro Lopo <erikd-100@mega-nerd.com>
 
319
        implementing libsndfile support in addition to
 
320
        libaudiofile. libsndfile is now default, and if it is not found,
 
321
        libaudiofile is used.
 
322
 
 
323
2002-10-20  Michael Krause  <mk@soundtracker.org>
 
324
 
 
325
        * app/file-operations.c (fileops_filesel_pre_insertion /
 
326
        post_removal): Only hide confirm area (OK and Cancel buttons) if
 
327
        this is a single-click dialog. In the save dialogs, we need these
 
328
        buttons (reported by qmax).
 
329
 
 
330
        * app/playlist.c (playlist_delete_clicked): Was buggy when delete
 
331
        the very last playlist entry (garbled the last-but-one playlist
 
332
        entry).
 
333
 
 
334
2002-09-18  Michael Krause  <mk@soundtracker.org>
 
335
 
 
336
        * app/tracker.c (tracker_button_press): Now you can use your loved
 
337
        mouse wheel to scroll through the patterns, just like Up and Down
 
338
        arrows. But not only. Holding Left Shift and turning the wheel,
 
339
        you can scroll left and right throug the pattern, as if you use
 
340
        the scrollbar below the tracker window. (yaliaev)
 
341
 
 
342
        * app/sample-editor.c: When a raw sample is loaded, a combo box
 
343
        shows up and asks for the sampling rate. The default value is set
 
344
        to 8363, but you can also select another predefined value or enter
 
345
        one by hand. Also, the standard note is changed from C-6 to C-4,
 
346
        so a 8363 Hz sample will now result in realnote=0; finetune=0; and
 
347
        a 44100 Hz one in realnote=29; finetune=-28. (tugruettmueller)
 
348
 
 
349
        * app/gui.c: Write the name of the module being edited in the main
 
350
        window title. (yaliaev)
 
351
 
 
352
2002-08-17  Michael Krause  <mk@soundtracker.org>
 
353
 
 
354
        * In various files, added GPOINTER_TO_INT() and GINT_TO_POINTER()
 
355
        macro calls. In the assembler files, added _C_LABEL() macro to
 
356
        handle differing OS conventions for label prefixes. Makes ST work
 
357
        on OpenBSD/sparc64 and OpenBSD/i386 (by wcobb).
 
358
 
 
359
        * app/xm.c (xm_freq_note_to_relnote_finetune): Forcing finetune
 
360
        into interval [-63,+63], removed restriction for relnote in
 
361
        [-96,+96] (by tugruettmueller).
 
362
        
 
363
        * app/gui.c (gui_numchans_changed): Round down odd channel numbers
 
364
        when entered manually (by yaliaev).
 
365
        (gui_handle_standard_keys): Shift + Crsr Left / Right browses
 
366
        playlist (by yaliaev).
 
367
 
 
368
2002-07-20  Michael Krause  <mk@soundtracker.org>
 
369
 
 
370
        * app/playlist.c (playlist_insert_clicked): Fixed a bug that
 
371
        caused "Insert" to destroy the last playlist entry. Also, we're
 
372
        now inserting the current pattern instead of duplicating the
 
373
        playlist entry.
 
374
 
 
375
2002-07-18  Michael Krause  <mk@soundtracker.org>
 
376
 
 
377
        * app/gui-settings.[ch]: Removed option 'Save XM saves all
 
378
        non-empty patterns' and made this the default behaviour: all
 
379
        non-empty patterns are always saved; if the user wants to have a
 
380
        small, clean file, he can run 'Optimize Module'.
 
381
 
 
382
        * app/sample-display.c (sample_display_draw_data): Fixed 'sample
 
383
        was displayed reversed vertically' bug once and for all. Still
 
384
        wasn't working properly.
 
385
 
 
386
2002-06-28  Michael Krause  <mk@soundtracker.org>
 
387
 
 
388
        * app/sample-display.c (sample_display_draw_data): Yet another fix
 
389
        to the sample display (Mardy <mardy@users.sourceforge.net>).
 
390
 
 
391
        * soundtracker.desktop: Changed 'Type' from 'Multimedia' to
 
392
        'Application'. Now SoundTracker appears in the GNOME menu again.
 
393
        Reported by Bastien Nocera <hadess@hadess.net>.
 
394
        
 
395
        * app/mixers/kbfloat-mix.c (CUBICMIXER_LOOP_FORWARD): Moved s0
 
396
        initialization from LOOP_START macro to both LOOP_FORWARD and
 
397
        LOOP_BACKWARD, adding a missing minus sign before positionf in
 
398
        LOOP_BACKWARD. Now backwards mixing is done correctly, without
 
399
        noise (reported by Yury Aliaev <mutabor@catholic.org>).
 
400
 
 
401
2002-06-17  Michael Krause  <mk@soundtracker.org>
 
402
 
 
403
        * app/gui.c (gui_splash): Calling gdk_rgb_init() after
 
404
        gnome_init(), which is officially required, but the splash screen
 
405
        happened to work on my installation nevertheless, just not on some
 
406
        others..
 
407
 
 
408
        * po: Updated fr, ja, sv, ru, it. New croation translation (hr.po)
 
409
        by Denis Lackovic <delacko@fly.srk.fer.hr>.
 
410
 
 
411
        * app/transposition.c (transposition_transpose_notes_sub):
 
412
        "Current Instrument" and "All Instruments" modes were swapped
 
413
        (reported by Michal Seta <mis@creazone.com>)
 
414
 
 
415
        * app/tips-dialog.c: Actually feeding the tips through _() now
 
416
        (reported by Yuri Bongiorno <yuri.bongiorno@logika.com>)
 
417
 
 
418
2002-05-20  Michael Krause  <mk@soundtracker.org>
 
419
 
 
420
        * Released v0.6.6
 
421
 
 
422
        * Oh, yeah. NLS was completely b0rken. Updated to gettext-0.10.37.
 
423
 
 
424
        * Released v0.6.5
 
425
 
 
426
        * app/tracker.c (tracker_set_font): Test if font width and height
 
427
        have sane values. Fixes crash with the 'clearlyu' font reported by
 
428
        Trevor Nunes <lutes159@home.com>.
 
429
 
 
430
        * app/playlist.c: Hack to set page increment to 5.0 for the
 
431
        current pos and restart pos spinbuttons.
 
432
 
 
433
        * app/sample-display.c: Flipped display vertically; now the
 
434
        positive sample values are at the top, and the negative ones at
 
435
        the bottom (patch by Mardy <mardy@users.sourceforge.net>).
 
436
        
 
437
2002-05-17  Michael Krause  <mk@soundtracker.org>
 
438
 
 
439
        * app/menubar.c: For non-GNOME SoundTracker, wrote some code that
 
440
        converts the GNOME menu tree structure into GtkItemFactoryEntry's
 
441
        at run-time, so we can finally get rid of the extra GTK+-only menu
 
442
        tree and its associated translation-induced problems (maintenance
 
443
        nightmare).
 
444
 
 
445
        * app/track-editor.c (track_editor_copy_selection): When marking a
 
446
        block with CTRL-B, CTRL-C and CTRL-V (copy and cut) stop marking
 
447
        automatically. This should always have been the case, but somehow
 
448
        in v0.6.4 an extra CTRL-B was necessary.
 
449
 
 
450
        * app/menubar.c: Added selection transposition stuff.
 
451
 
 
452
        * app/transposition.c (transposition_transpose_selection):
 
453
        Backported from CVS.
 
454
 
 
455
        * app/track-editor.c (track_editor_editmode_status_idle_function):
 
456
        Using idle function here as well in order to workaround
 
457
        gtk_label_set_text() slowness.
 
458
 
 
459
2002-05-16  Michael Krause  <mk@soundtracker.org>
 
460
 
 
461
        * app/sample-editor.c (sample_editor_set_selection_label): Moved
 
462
        the actual gtk_label_set_text() to an idle function, because it
 
463
        has become incredibly slow somewhere on the way to gtk+-1.2.10.
 
464
        Fixes sample range selection slowness (see comment).
 
465
 
 
466
        * app/menubar.c: Renamed "use backing store" to "flicker-free
 
467
        scrolling", which can actually be understood by non-coders.
 
468
 
 
469
        * app/tracker-settings.c (trackersettings_new): Button relayout.
 
470
 
 
471
        * app/gui-settings.c: Removed AA canvas option. Removed channel
 
472
        numbering option (hey, removing superfluous preferences is a good
 
473
        thing). Renamed some other options.
 
474
 
 
475
        * app/envelope-box.c (envelope_box_new): Always using standard
 
476
        non-antialiased canvas. With GNOME 1.0 and GNOME 1.2, AA canvas is
 
477
        buggy; with GNOME 1.4, it doesn't even work.
 
478
        
 
479
        * po: Updated fr.po.
 
480
 
 
481
2002-02-17  Michael Krause  <rawstyle@soundtracker.org>
 
482
 
 
483
        * configure.in: Check for gdk-pixbuf >= 0.8.0 (in fact, I don't
 
484
        know which is the minimum version required). Needed for splash
 
485
        screen.
 
486
 
 
487
        * app/tips-dialog.c (tips_dialog_get_vbox): Function to create the
 
488
        vbox without a window, for the splash screen.
 
489
 
 
490
        * app/gui.c (gui_init): Separated into gui_splash() and
 
491
        gui_final().  The former displays a splash screen, and integrates
 
492
        the tips.
 
493
 
 
494
2002-02-09  Michael Krause  <rawstyle@soundtracker.org>
 
495
 
 
496
        * app/gui-settings.c (gui_settings_save_config): Moved geometry
 
497
        saving from save_always() to this function.
 
498
 
 
499
        * app/file-operations.c (fileops_tmpclean): Removed error checks,
 
500
        especially the ungraceful exit(-1) :-)
 
501
        
 
502
        * po: Updated fr.po (new translation by Michel Robitaille
 
503
        <robitail@IRO.UMontreal.CA>), added sv.po (by Christian Rose
 
504
        <menthos@menthos.com>).
 
505
 
 
506
2002-01-15  Tomasz Maka  <pasp@ll.pl>
 
507
 
 
508
        * app/file-operations.[ch]: Added fileops_tmpclean function to
 
509
        remove ~/.soundtracker/tmp contents.
 
510
 
 
511
        * app/xm.c (xm_check_envelope): Set first envelope point offset to
 
512
        0.
 
513
 
 
514
2002-01-13  Michael Krause  <rawstyle@soundtracker.org>
 
515
 
 
516
        * Actually putting config.guess and config.sub into the .tar.gz
 
517
        distribution. Last time they were missing, strange.
 
518
 
 
519
        * app/gui.[ch]: Moved WELCOME_MESSAGE define to gui.c so that it
 
520
        is internationalized (reported by Yuri Bongiorno
 
521
        <yuri.bongiorno@logika.com>).
 
522
 
 
523
        * app/gui-settings.c (gui_settings_save_config): Don't forget to
 
524
        save scopes_buffer_size (reported by Chauk-Mean Proum
 
525
        <chauk-mean.proum@fr.thalesgroup.com>).
 
526
 
 
527
        * po: Updated ru.po and it.po.
 
528
 
 
529
2001-12-22  Tomasz Maka  <pasp@ll.pl>
 
530
 
 
531
        * app/errors.c, sample-display.c, scope-group.c: Added missing
 
532
        'string.h' headers.
 
533
 
 
534
        * app/xm.c: Added new st specific tmpnam function (called
 
535
        'st_tmpnam') to avoid gcc warrning. Generates temporary files in
 
536
        ~/.soundtracker/tmp/ instead of in /tmp/.
 
537
 
 
538
        * app/gui.c (gui_handle_standard_keys): If we are in instrument or
 
539
        sample editor notebook page 'Space' key stops playing without edit
 
540
        mode switching.
 
541
 
 
542
2001-12-08  Tomasz Maka  <pasp@ll.pl>
 
543
 
 
544
        * app/gui.c, gui-settings.[ch], menubar.c: Added option to save
 
545
        tracker's window geometry.
 
546
 
 
547
        * app/module-info.c (modinfo_optimize_module): Module optimize
 
548
        function has small info requester now.
 
549
 
 
550
2001-12-07  Tomasz Maka  <pasp@ll.pl>
 
551
 
 
552
        * app/sample-editor.c (sample_editor_set_selection_label): When
 
553
        selection exist length label show size of selected block instead
 
554
        of entire sample size.
 
555
 
 
556
        * app/sample-editor.c: Ask user for action if saving file
 
557
        (sample or region) already exist.
 
558
 
 
559
2001-08-25  Michael Krause  <m.krause@tu-harburg.de>
 
560
 
 
561
        * po: Updated de.po and es.po.
 
562
 
1
563
2001-08-12  Michael Krause  <m.krause@tu-harburg.de>
2
564
 
3
565
        * Released v0.6.4
142
704
 
143
705
        * app/midi-settings.c (midi_load_config): Yet another compilation
144
706
        fix :)
145
 
 
146
 
2000-09-25  Michael Krause  <m.krause@tu-harburg.de>
147
 
 
148
 
        * Released v0.5.9
149
 
 
150
 
        * app/tracker.c: Rewrote expose/draw/update handling.
151
 
 
152
 
        * app/sample-display.c: Rewrote expose/draw/update handling a
153
 
        little bit (using an idle function).  Now switching notebook pages
154
 
        works without problems.
155
 
 
156
 
        * app/sample-editor.c (sample_editor_handle_keys): If we have a
157
 
        selection, play only the selected part of the sample.
158
 
 
159
 
        * app/mixer.h: XM Player and mixers can now play part of the
160
 
        sample only. Added new method 'setsmplend' to mixer structure for
161
 
        this.
162
 
 
163
 
        * app/sample-editor.c (sample_editor_load_wav_main): Init relnote
164
 
        and finetune such that samples are played at C-6 in original
165
 
        speed.
166
 
        (sample_editor_ok_clicked): Here as well.
167
 
 
168
 
        * app/xm.c (xm_freq_note_to_relnote_finetune): If a specified FT
169
 
        note is to be played at a specific frequency, return the needed
170
 
        relnote and finetune settings.
171
 
 
172
 
2000-09-24  Michael Krause  <m.krause@tu-harburg.de>
173
 
 
174
 
        * app/audio.h: Remove #include <pthread.h> -- fixes compiler
175
 
        warnings on IRIX.
176
 
 
177
 
        * app/midi-settings.c: Use new prefs_() functions.
178
 
 
179
 
        * app/main.c (main): Add dummy drivers if no actual drivers for
180
 
        the architecture are available.
181
 
 
182
 
        * app/mixers/kb-x86.c: Cleanups. Changed name appearing to the
183
 
        user to "kbfloat", since it's no longer x86-specific.
184
 
 
185
 
        * app/mixers/kb-x86-asm.S (kbasm_mix): val*vl+val*vr =
186
 
        val*(vl+vr). Using basic ring properties can help make your code
187
 
        shorter :)
188
 
 
189
 
        * app/mixers/kbfloat-mix.c: Portable C version of the cubically
190
 
        interpolating mixer.
191
 
 
192
 
        * configure.in (sgi_support): Added checks for IRIX dmedia
193
 
        library. Cleanups. Added '--disable-asm' option.
194
 
 
195
 
        * app/xm.c (xm_load_xm_instrument): Endianness-convert envelope
196
 
        points to host order.
197
 
        (xm_save_xm_instrument): Here as well.
198
 
 
199
 
        * app/drivers/irix-output.c: Added IRIX 5.x output driver.
200
 
 
201
 
2000-09-19  Michael Krause  <m.krause@tu-harburg.de>
202
 
 
203
 
        * Released v0.5.8
204
 
        
205
 
        * Preliminary Win32 port by Fabian Giesen. Does not compile
206
 
        out-of-the-box, since I integrated his 0.5.4 work into 0.5.7
207
 
        without being able to test anything. In particular, Makefiles are
208
 
        missing. The easiest way should be to build it with Cygwin. Some
209
 
        notes for the brave:
210
 
 
211
 
          - app/drivers/dsound-output.c (working as is)
212
 
 
213
 
          - app/preferences.c (needs some work done, see comments)
214
 
 
215
 
          - app/poll.c: added Win32 pipe emulation code. Need to replace
216
 
            all pipe write's and read's in the main program with calls
217
 
            to these functions.
218
 
 
219
 
          - app/keys.c: This is the only part that actually requires
220
 
            hard work for a fully functional Tracker. The current
221
 
            version does not permit pattern editing ;-(
222
 
 
223
 
          - The kb-x86 mixer requires some work if you want to use
224
 
            an assembler other than gas. A manually translated version
225
 
            of the assembler source comes with this archive, though
226
 
            (kb-x86-asmIntel.a).
227
 
 
228
 
          - Non-gcc compilers probably require that some gcc'isms be
229
 
            removed, such as void* arithmetic and interval case statements.
230
 
 
231
 
          - Look at how the GIMP Win32 port is built up; since GIMP also
232
 
            uses the gtk+ toolkit, the building process will be similar.
233
 
        
234
 
        * app/preferences.h: Directory structure is now hidden from the
235
 
        caller; access through opaque prefs_node* handle.
236
 
 
237
 
        * app/module-info.c: Update XM's 'modified' flag after various
238
 
        operations.
239
 
 
240
 
        * app/midi-settings.c: Disable if GNOME is not installed.
241
 
 
242
 
        * app/envelope-box.c (envelope_box_canvas_event): Stop point
243
 
        dragging when we receive a button release event on the canvas
244
 
        (sometimes the appropriate event for the respective point does not
245
 
        come - bug in canvas?).
246
 
 
247
 
2000-09-18  Michael Krause  <m.krause@tu-harburg.de>
248
 
 
249
 
        * app/track-editor.c (track_editor_handle_column_input):
250
 
        Instrument column uses decimal values always.
251
 
 
252
 
        * app/gui.c: Get rid of 'songpos' variable; use
253
 
        playlist_get_position() instead.
254
 
        (gui_update_player_pos): Some slight reorganization here.
255
 
 
256
 
        * app/gui-subs.c (statusbar_update): Run messages through
257
 
        gettext().
258
 
 
259
 
        * app/gui.c (playlist_position_changed): Don't update current
260
 
        pattern if we're in playing mode (that will be done at proper time
261
 
        in gui_update_player_pos()).
262
 
        (gui_update_player_pos): Freeze playlist signals while updating
263
 
        song position.
264
 
 
265
 
2000-09-17  Michael Krause  <m.krause@tu-harburg.de>
266
 
 
267
 
        * app/tracker.c (note2string): Always use decimal numbers for
268
 
        instrument numbers.
269
 
 
270
 
        * app/gui-settings.c: Automatical Tempo / BPM button update when
271
 
        running through Fxx effect is default now.
272
 
 
273
 
        * app/event-waiter.[ch]: New more abstract interface for dealing
274
 
        with the GUI / audio event syncing issue (this is different from
275
 
        time-buffer!). songpos, tempo and bpm updates are handled through
276
 
        this interface now. Code is a lot cleaner now.
277
 
 
278
 
        * app/gui.c, app/audio.c: In "tempo / bpm update" mode: If the
279
 
        user changes tempo / bpm using the interface during playing, we
280
 
        use a protective mechanism similar to that used by the "song
281
 
        position changed" function.
282
 
        
283
 
        * po: Updated it.po
284
 
 
285
 
2000-08-25  Michael Krause  <m.krause@tu-harburg.de>
286
 
 
287
 
        * app/envelope-box.c (envelope_box_canvas_event): Insert new point
288
 
        only if insert_after != -1 and y in range.
289
 
 
290
 
        * app/tracker.c (print_notes_line): Corrected bounds check.
291
 
 
292
 
        * app/sample-editor.c (sample_editor_paste_clicked): Only convert
293
 
        source data to 8bits if destination sample is in treat_as_8bit
294
 
        mode.
295
 
        (sample_editor_perform_ramp): If we are in 8bit mode, call cutoff
296
 
        function after performing the ramp.
297
 
 
298
 
2000-08-17  Tomasz Maka  <pasp@members.com.pl>
299
 
 
300
 
        * app/track-editor.[ch]: command and volume parameter generator
301
 
        (inc/dec) added.
302
 
 
303
 
        * app/track-editor.c: delete key behaviours like FT2 now.
304
 
 
305
 
        * app/track-editor.c: set cursor row-step to
306
 
        gui_get_current_jump_value() in command and volume column.
307
 
 
308
 
        * app/gui.c: spin_jump max value changed to 16.
309
 
 
310
 
2000-08-16  Michael Krause  <m.krause@tu-harburg.de>
311
 
 
312
 
        * app/xm-player.c (xmpPlayTick, xmpCmdEnvPos): Check if ch->curins
313
 
        is initialized before accessing it. Fixes another player crash.
314
 
 
315
 
2000-08-15  Michael Krause  <m.krause@tu-harburg.de>
316
 
 
317
 
        * Released v0.5.7
318
 
 
319
 
        * app/xm.c (XM_Free): Ehhhh... let's free the sample data as well.
320
 
        Helps a lot if you don't want a full swap after loading some
321
 
        mods. :) (pointed out by (Rikard Bosnjakovic <bos@hack.org>)
322
 
 
323
 
        * app/xm.c (xm_load_mod): Close file before returning. (Rikard
324
 
        Bosnjakovic <bos@hack.org>)
325
 
        (XM_Load): dito
326
 
        
327
 
        * app/track-editor.c (track_editor_interpolate_fx): Added effect
328
 
        interpolator. At the moment only for volume and panning
329
 
        effects. Support for other effects is easily added. See README for
330
 
        instructions.
331
 
        
332
 
        * app/gui.c, app/playlist.c: After using spin buttons with mouse,
333
 
        the main window focus is immediately reset in order to enable menu
334
 
        shortcuts again. Rather hacky, but very useful for keyboard-only
335
 
        tracking.
336
 
 
337
 
        * app/xm-player.c (xm_player_playnote_fasttracker): If ch->cursamp
338
 
        is unitialized, do nothing. Fixes edX crash bug.
339
 
 
340
 
        * app/sample-display.c (XPOS_TO_OFFSET): Use temporary guint64
341
 
        calcs to prevent overflow in case of large samples. Large samples
342
 
        are now edited without problems in SoundTracker.
343
 
        (sample_display_startoffset_to_xpos):
344
 
        (sample_display_endoffset_to_xpos): dito
345
 
        (sample_display_set_mixer_position): Move code that decides which
346
 
        parts of the widget to redraw to sample_display_draw().
347
 
 
348
 
        * app/gui.c (playlist_position_changed): Choice of current song
349
 
        position changes currently edited pattern as well.
350
 
        (keyevent): Stop GDK_Tab and GDK_Return key press event signal
351
 
        from propagating to the entry widgets.
352
 
 
353
 
        * app/sample-display.c (sample_display_set_mixer_position): area.x
354
 
        + area.width must not exceed width of widget.
355
 
 
356
 
        * app/sample-editor.c: We load raw samples now (8/16 bits,
357
 
        signed/unsigned, little-endian/big-endian, mono/stereo).
358
 
 
359
 
        * app/xm.c (xm_save_xm_samples): Endianness conversion on saving.
360
 
 
361
 
        * INSTALL: Some words about the dangers of suid root installation.
362
 
 
363
 
        * app/Makefile.am (install-exec-local): Added warning due to suid
364
 
        root installation.
365
 
 
366
 
        * app/gui.c: Call statusbar functions while loading/saving
367
 
        modules.
368
 
 
369
 
        * app/xm.c: Don't call statusbar functions from this file. That's
370
 
        the job of app/gui.c.
371
 
 
372
 
        * app/xm.c (xm_load_xm_pattern): Accept length 0 patterns (create
373
 
        a dummy 1-length pattern for it).
374
 
 
375
 
2000-08-14  Michael Krause  <m.krause@tu-harburg.de>
376
 
 
377
 
        * app/gui-settings.c: "Save unused patterns" is default now.
378
 
 
379
 
        * app/gui.c (gui_free_xm): Clear xm pointer after freeing.
380
 
 
381
 
2000-08-12  Michael Krause  <m.krause@tu-harburg.de>
382
 
 
383
 
        * app/tracker.c (print_notes_line): Added color for selection
384
 
        background to colors array.
385
 
        (tracker_draw): Reordered drawing calls; less flickering during
386
 
        scrolling.
387
 
        (tracker_init): Added baselineskip variable, 0 for now.
388
 
 
389
 
2000-08-11  Michael Krause  <m.krause@tu-harburg.de>
390
 
 
391
 
        * Released v0.5.6
392
 
 
393
 
        * app/menubar.c (menubar_block_mode_set): Disable menu bar
394
 
        callback when setting this in the program.
395
 
 
396
 
2000-08-08  Michael Krause  <m.krause@tu-harburg.de>
397
 
 
398
 
        * app/menubar.c: Renamed "Save Song" to "Save without samples".
399
 
 
400
 
2000-08-07  Michael Krause  <m.krause@tu-harburg.de>
401
 
 
402
 
        * app/gui-settings.c: Removed "show zeroes" option.
403
 
 
404
 
2000-08-02  Olivier Glorieux <sglorzlinux@netcourrier.com>
405
 
 
406
 
        * Context menu in track editor (only Gnome)
407
 
 
408
 
        * Track line format in Config/GUI
409
 
 
410
 
        * Track editor: shift + del clears entire line (note + ins + vol +
411
 
        effect)
412
 
 
413
 
2000-07-30  Michael Krause  <m.krause@tu-harburg.de>
414
 
 
415
 
        * po: Updated it.po
416
 
        
417
 
2000-07-29  Olivier Glorieux <sglorzlinux@netcourrier.com>
418
 
        
419
 
        * Block selection enhanced and mouse support.
420
 
        
421
 
2000-06-12  Michael Krause  <m.krause@tu-harburg.de>
422
 
 
423
 
        * po: Updated ja.po
424
 
 
425
 
2000-06-04  Tomasz Maka  <pasp@members.com.pl>
426
 
 
427
 
        * app/sample-editor.c: added "set as loop" function.
428
 
 
429
 
        * app/sample-editor.c: added "half" and "double" buttons in volume
430
 
        ramp dialog to set 50% or 200% for left and right spinbuttons.
431
 
 
432
 
        * app/track-editor.[ch]: added track_editor_kill_notes_track
433
 
        function which kill all notes from cursor position to the end of
434
 
        pattern.
435
 
 
436
 
2000-05-27  Michael Krause  <m.krause@tu-harburg.de>
437
 
 
438
 
        * Released v0.5.5
439
 
 
440
 
        * app/sample-editor.c (sample_editor_close_volume_ramp_dialog):
441
 
        Remember last used values.
442
 
        (sample_editor_open_volume_ramp_dialog): Allow negative values as
443
 
        well.
444
 
 
445
 
2000-05-20  Michael Krause  <m.krause@tu-harburg.de>
446
 
 
447
 
        * app/xm.c (xm_load_xm_instrument): Handling instrument header
448
 
        size correctly. ST loads a few more XMs where it complained about
449
 
        "instrument header size != 40" before.
450
 
 
451
 
2000-05-13  Michael Krause  <m.krause@tu-harburg.de>
452
 
 
453
 
        * app/sample-display.c (sample_display_set_mixer_position):
454
 
        Correct expose/draw behaviour now; calculating widget areas are
455
 
        redrawn in this function rather than in _draw() now. This was what
456
 
        I thought to be a bug in gtk+, but it wasn't :)
457
 
 
458
 
2000-05-08  Luc Tanguay  <luc.tanguay@bell.ca>
459
 
 
460
 
        * app/xm.h: added constant for XM min/max note volume.
461
 
 
462
 
        * app/midi.c: fixed problem when MIDI velocity is out of the range
463
 
        of the volume of a XM note.
464
 
 
465
 
2000-05-03  Luc Tanguay  <luc.tanguay@bell.ca>
466
 
 
467
 
        * app/midi-settings.[ch]: MIDI settings dialog box and load/save
468
 
        functions.
469
 
 
470
 
        * app/menubar.c: updated to add MIDI settings item in Settings
471
 
        menu.  Save MIDI settings when "Save settings now" is clicked.
472
 
 
473
 
        * app/midi.c: updated to use new MIDI settings.  The volume and/or
474
 
        channel info from the MIDI event can be turned on and off.  The
475
 
        input client number or port can be changed.
476
 
 
477
 
        * app/main.c: load/save MIDI configuration settings.
478
 
 
479
 
2000-05-05  Tijs van Bakel  <smoke@casema.net>
480
 
 
481
 
        * Added minor row highlighting feature.
482
 
 
483
 
2000-05-02  Tomasz Maka  <pasp@members.com.pl>
484
 
 
485
 
        * Added option to update tempo/bpm spin buttons upon appearance of
486
 
        the Fxx command.
487
 
 
488
 
        * Added option to switch back to tracker page after loading /
489
 
        saving.
490
 
        
491
 
2000-05-01  Michael Krause  <m.krause@tu-harburg.de>
492
 
 
493
 
        * app/drivers/*-output.c (prefs_update_estimate): Use
494
 
        "milliseconds" instead of "microseconds", that's nearer to the
495
 
        truth (Rob Adamson).
496
 
 
497
 
        * po: Updated ja.po
498
 
 
499
 
2000-04-29  Michael Krause  <m.krause@tu-harburg.de>
500
 
 
501
 
        * Released v0.5.4
502
 
 
503
 
        * Applied patch from Tomasz Maka ("save song" option).
504
 
 
505
 
2000-04-15  Michael Krause  <m.krause@tu-harburg.de>
506
 
 
507
 
        * app/scope-group.c (scope_group_new): Initialize update frequency
508
 
        from gui_settings structure.
509
 
 
510
 
        * app/track-editor.c (tracker_page_create): Initialize update
511
 
        frequency from gui_settings structure.
512
 
 
513
 
        * app/audio.c (mixer_mix_and_handle_scopes): Clipflag handling
514
 
        improved; keeps the flag on for a moment before switching it off
515
 
        again, so that clippings get visible, even if they are short.
516
 
 
517
 
        * app/sample-editor.c: Has its own timeout function to display
518
 
        current mixer position.
519
 
 
520
 
        * app/audio.c (mixer_mix_and_handle_scopes): Get mixer_position
521
 
        dumps at regular, configurable intervals. Defaulting to 50 updates
522
 
        per second for now.
523
 
 
524
 
        * app/file-operations.c (file_selection_dir_button): Check if
525
 
        something has been selected actually. Fixes occasional segfault
526
 
        when doing double-clicks in the directory list (reported by
527
 
        Giles).
528
 
 
529
 
2000-04-09  Michael Krause  <m.krause@tu-harburg.de>
530
 
 
531
 
        * app/mixers/kb-x86-asm.S: Added non-volramping version of mixer
532
 
        (gives another 15% speedup).
533
 
 
534
 
        * app/module-info.c (modinfo_pack_patterns): Reinitialize playlist
535
 
        widget after changing the pattern order table.
536
 
 
537
 
        * app/main.c (main): Print error message if no output driver is
538
 
        available and exit.
539
 
        (sigsegv_handler): Capture segmentation faults and try to rescue
540
 
        currently edited XM.
541
 
 
542
 
        * app/sample-editor.c (sample_editor_monitor_clicked): Return if
543
 
        no input driver available.
544
 
 
545
 
        * app/audioconfig.c (audioconfig_load_config): Works without input
546
 
        drivers.
547
 
 
548
 
        * app/main.c (main): Don't require input drivers.
549
 
 
550
 
2000-04-08  Michael Krause  <m.krause@tu-harburg.de>
551
 
 
552
 
        * app/xm-player.c (xmplayer_play_note):
553
 
        (xmplayer_play_note_full): Stop old sample before starting new one
554
 
        (prevents clicks when playing live on the keyboard).
555
 
 
556
 
        * app/mixers/kb-x86.c (kb_x86_setsmplpos): Declick this situation
557
 
        as well.
558
 
        
559
 
2000-04-01  Luc Tanguay  <tanguay@asterix>
560
 
 
561
 
        * app/midi.c: MIDI input recorded only if track editor visible and
562
 
        edit mode enabled.
563
 
 
564
 
2000-03-30  Michael Krause  <m.krause@tu-harburg.de>
565
 
 
566
 
        * app/mixers/kb-x86*: removed unused code.
567
 
 
568
 
2000-03-29  Michael Krause  <m.krause@tu-harburg.de>
569
 
 
570
 
        * Released v0.5.3
571
 
 
572
 
        * app/mixers/kb-x86.c (kb_x86_stopnote): Rewrote sample-change
573
 
        declicking to use a virtual second channel for each logical
574
 
        channel. See comments in the source code.
575
 
        (kb_x86_mix_sub): Disabled sample-end exponential declicking,
576
 
        because it sounds like shit on white-noise samples
577
 
        (i.e. hi-hats). See comments in kb-x86.c for why.
578
 
 
579
 
        * configure.in: Changed the autoconf stuff in order to check for
580
 
        gasp and disable build of the kb_x86 mixer if it's not available.
581
 
        We should now build on non-i386 platforms again.
582
 
 
583
 
        * app/mixers/kb-x86-asm.S: Fix for newer gasp (remove \(.data) and
584
 
        use .section .data instead). (kbasm_declick_postproc): Fix an
585
 
        assembler warning only issued by newer binutils than mine (there
586
 
        is no faddp %st(1),%st; only faddp %st,%st(1)).
587
 
        (kbasm_mix): Fixed the other related warning (changed call %ebp to
588
 
        call *%ebp, whatever sense that has).
589
 
 
590
 
2000-03-28  Michael Krause  <m.krause@tu-harburg.de>
591
 
 
592
 
        * app/mixers/kb-x86.c: Added linear ramp declicking upon sample
593
 
        change on channel (not only when the sample ends, but also when a
594
 
        new one is started immediately). Also making use of the asm
595
 
        routines' volume ramping functions to smoothen volume changes.
596
 
        Using 1ms ramps. Seems to be okay for all the mods I've listened
597
 
        to so far.
598
 
 
599
 
        * app/mixers/kb-x86.c (kb_x86_mix_sub): Reordered some 64bit
600
 
        calculations to optimize gcc output. Also fixed a typo bug in
601
 
        pingpong handling.
602
 
 
603
 
        * po: Updated ja.po
604
 
 
605
 
2000-03-27  Michael Krause  <m.krause@tu-harburg.de>
606
 
 
607
 
        * app/mixers/integer32.c: Fix non-i386 code (declare some
608
 
        variables properly).
609
 
 
610
 
        * app/sample-editor.c: Removed #include <sys/soundcard.h> (hint by
611
 
        Nicolas Leveille)
612
 
 
613
 
        * Released v0.5.2
614
 
 
615
 
        * po: Updated ja.po
616
 
 
617
 
2000-03-27  Luc Tanguay  <luc.tanguay@bell.ca>
618
 
        
619
 
        * app/midi.[ch], app/midi-utils.[ch]: code to add MIDI input.
620
 
 
621
 
2000-03-26  Michael Krause  <m.krause@tu-harburg.de>
622
 
 
623
 
        * app/gui.c (gui_init): Status bar is in a GNOME dock item now and
624
 
        can be moved around. Non-GNOME bar is at the bottom of the window
625
 
        by default.
626
 
 
627
 
        * app/gui-subs.c (statusbar_update): Added new argument
628
 
        "force_update" which forces a GUI update in order to make the
629
 
        "Loading XXX..."  messages actually visible.
630
 
 
631
 
        * app/envelope-box.c (envelope_box_point_event): If a point is
632
 
        dragged out of sight, the canvas scrolls to the new location as
633
 
        soon as the button has been released.
634
 
 
635
 
2000-03-25  Michael Krause  <m.krause@tu-harburg.de>
636
 
 
637
 
        * app/envelope-box.c (envelope_box_canvas_event): Middle mouse
638
 
        button scrolls the canvas (just like the sample display widget).
639
 
        (envelope_box_canvas_event): Middle mouse button plus Shift zooms
640
 
        in and out.
641
 
        (spin_offset_changed):
642
 
        (envelope_box_delete_point): Adjust canvas max x.
643
 
 
644
 
        * Released v0.5.1
645
 
 
646
 
        * po: Updated it.po. Added fr.po from Sa�d Bougribate
647
 
        <Linus4@caramail.com>.
648
 
 
649
 
        * app/instrument-editor.c (instrument_editor_update): Disable
650
 
        "Save XI" button if no instrument loaded.
651
 
 
652
 
        * app/sample-editor.c: Remove all references to
653
 
        mixer_sample_word_length(). Assume 16bit.
654
 
 
655
 
        * app/sample-editor.c (sample_editor_reverse_clicked): Don't
656
 
        access sample pointed to by sample end, only the one before.
657
 
 
658
 
        * app/menubar.c: Added "Tracker" submenu to "Settings" menu,
659
 
        containing the 'cycle font' functions.
660
 
 
661
 
        * app/tracker-settings.[ch]: Tracker font selection - you can fill
662
 
        a list with your favourite fonts and then cycle through them with
663
 
        Keypad-Plus/Minus from within the tracker. You should use only
664
 
        fixed-width fonts for now..
665
 
 
666
 
2000-03-22  Michael Krause  <m.krause@tu-harburg.de>
667
 
 
668
 
        * Applied patch from Tomasz Maka <pasp@look.com.pl> for status
669
 
        bar, timer, "show zeroes" and "channel numbering" options.
670
 
 
671
 
2000-03-19  Michael Krause  <m.krause@tu-harburg.de>
672
 
 
673
 
        * app/mixers/kb-x86.c (kb_x86_mix_sub): Optimizing for the
674
 
        non-filtered case. Gives a speed-up of roughly 15% on plain XMs.
675
 
        I expected more, though :)
676
 
 
677
 
        * app/mixers/kb-x86-asm.S: Created a big 'gasp' macro which can
678
 
        generate various versions of the mixer core routine without having
679
 
        to c'n'p eight different versions.
680
 
 
681
 
2000-03-14  Michael Krause  <m.krause@tu-harburg.de>
682
 
 
683
 
        * po: Updated ja.po.
684
 
 
685
 
2000-03-13  Michael Krause  <m.krause@tu-harburg.de>
686
 
 
687
 
        * Released v0.5.0
688
 
 
689
 
        * app/audio.c (mixer_mix): Stereo to mono conversion works now.
690
 
 
691
 
        * app/xm.h: Added "treat_as_8bit" variable so that 8bit sample
692
 
        handling can still be faked to the user by the GUI.
693
 
 
694
 
        * app/mixer.h: Removed "type" field from st_mixer_sample_info. All
695
 
        samples are stored in 16bit format internally now. Removes a lot
696
 
        of duplicate code in sample-editor.c and in the mixers.
697
 
 
698
 
2000-03-12  Michael Krause  <m.krause@tu-harburg.de>
699
 
 
700
 
        * app/mixers/integer32.c: Adjusted for 16bit scope buffers.
701
 
 
702
 
        * app/audio.c: Using 16bit scope buffers now. Makes the mixer
703
 
        routines faster.
704
 
 
705
 
        * app/mixers/kb-x86.c, app/mixers/kb-x86-asm.S: Added scopes
706
 
        handling.
707
 
 
708
 
        * app/xm.c: Load XM's with odd number of channels as well
709
 
        (generate empty channel in that case).
710
 
 
711
 
        * app/mixers/kb-x86.c (kb_x86_updatesample): Can handle updates of
712
 
        loop limits while playing.
713
 
 
714
 
        * app/audio.c (driver_startnote): Don't call mixer if sample is
715
 
        empty.
716
 
 
717
 
        * app/audioconfig.c, app/audio.c, app/main.c: You can choose a
718
 
        mixer module now.
719
 
 
720
 
2000-03-10  Michael Krause  <m.krause@tu-harburg.de>
721
 
 
722
 
        * app/mixers/kb-x86.c (kb_x86_mix_sub): Added pingpong loop
723
 
        handling. Been listening to some of my favourite modules for quite
724
 
        some time now and I haven't discovered any more mixing bugs. And
725
 
        it sounds just great :-)
726
 
 
727
 
        * app/mixers/kb-x86-asm.S: Added backwards mixing function.
728
 
 
729
 
2000-03-09  Michael Krause  <m.krause@tu-harburg.de>
730
 
 
731
 
        * app/cheat-sheet.c: Added new effects.
732
 
 
733
 
        * app/mixers/kb-x86-asm.S (kbasm_mix): Enabled IT filter
734
 
        code. Sounds crappy. No wonder, this is a one-tap IIR filter.  But
735
 
        IT just sounds like that.
736
 
 
737
 
        * app/audio.c (driver_set_ch_filter_*), app/mixer.h: Added player
738
 
        interface for filter commands.
739
 
 
740
 
        * app/xm-player.c (xm_player_playnote_fasttracker, xmpPlayTick):
741
 
        Don't set procins = 0 when procnot==97
742
 
        (xmpPlayTick): Added filter commands.
743
 
        (xmpPlayTick): Some Mxx fixes. (all these changes taken from
744
 
        latest OpenCP CVS).
745
 
 
746
 
        * app/mixers/kb-x86.c: Looping code and no-loop code unified. Now
747
 
        bullet-proof with regards to extremely short loop lengths. Added
748
 
        declicking logic for sample ends. Still no ping-pong loop support.
749
 
 
750
 
2000-03-08  Michael Krause  <m.krause@tu-harburg.de>
751
 
 
752
 
        * app/mixers/kb-x86.c: Rewrote complete loop handling code in C
753
 
        and corrected it so as to deal with unmodified samples (the
754
 
        interpolation code would read three invalid sample values after
755
 
        the loop end otherwise). Actually, this required loop prediction
756
 
        logic to be written similar to integer32.c. This thing sounds
757
 
        great :-)
758
 
 
759
 
2000-03-06  Jason Nunn  <jsno@downunder.net.au>
760
 
 
761
 
        * app/xm.c: Soundtracker can now load compressed zip lzh gz bz2
762
 
        modules.
763
 
 
764
 
2000-03-05  Michael Krause  <m.krause@tu-harburg.de>
765
 
 
766
 
        * app/mixers/kb-x86.c, app/mixers/kb-x86-asm.S: First try at
767
 
        incorporating Tammo Hinrich's brandnew FPU mixer code into
768
 
        SoundTracker. I have ported two versions, one with linear
769
 
        interpolation and one with cubic interpolation (both have code for
770
 
        the IT filters). Support for Ping-Pong loops, 8 bit samples and
771
 
        oscilloscopes is missing, though.
772
 
 
773
 
2000-03-03  Michael Krause  <m.krause@tu-harburg.de>
774
 
 
775
 
        * app/scope-group.c (scope_group_timeout): Add some hackery to
776
 
        deal with too short latencies and the scopes dropping out.
777
 
 
778
 
        * app/gui.c: The Win95 Menu key now plays all channels of the
779
 
        current row only. Nice ProTracker feature.
780
 
 
781
 
        * app/audio.c (audio_ctlpipe_play_pattern): Support "only1row"
782
 
        argument. Use edit-mode driver for the single row play feature.
783
 
 
784
 
        * app/xm-player.c: Hacked support for playing only one row of the
785
 
        current pattern and then stopping.
786
 
 
787
 
        * app/gui-settings.c (gui_settings_dialog): Renamed
788
 
        advance_cursor_in_fx_columns to "Advance cursor horizontally in
789
 
        effect columns".
790
 
 
791
 
        * app/gui.c, app/track-editor.c, app/gui-settings.[ch]: Added
792
 
        asynchronous IT-style editing where you can still edit patterns
793
 
        while playing them and the patterns don't scroll. Use "Escape"
794
 
        after starting playing the song or pattern to enable editing
795
 
        mode. "Space" still stops the song.
796
 
 
797
 
        * po: Updated ru.po.
798
 
 
799
 
2000-02-19  Michael Krause  <m.krause@tu-harburg.de>
800
 
 
801
 
        * app/mixers/integer32.c (integer32_setfreq): If freq is set too
802
 
        low, c->speed can become 0. Force it to be 1 in this case.
803
 
 
804
 
        * app/keys.c (keys_dialog): Initializing capturing variables.
805
 
 
806
 
        * app/audioconfig.c, app/gui-settings.c, app/transposition.c:
807
 
        Added Close button.
808
 
 
809
 
        * app/mixers/integer32.c: Removed ugly reverb effect.
810
 
 
811
 
        * app/keys.c: Added standard OK / Cancel / Apply buttons.
812
 
 
813
 
2000-02-13  Michael Krause  <m.krause@tu-harburg.de>
814
 
 
815
 
        * app/sample-editor.c (sample_editor_update): Reordered some
816
 
        initialization functions to avoid some triggered assert's.
817
 
        (sample_editor_page_create): Cleaned up selection widget mess.
818
 
 
819
 
2000-02-11  Michael Krause  <m.krause@tu-harburg.de>
820
 
 
821
 
        * po: Updated ja.po.
822
 
 
823
 
2000-02-09  Michael Krause  <m.krause@tu-harburg.de>
824
 
 
825
 
        * app/drivers/alsa2-input.c, app/drivers/alsa2-output.c:
826
 
        s/_plugin_/_channel_/ (as requested by Kai Vehmanen).
827
 
 
828
 
2000-02-07  Nicolas Leveille  <nicolas.leveille@free.fr>
829
 
 
830
 
        * app/track-editor.c: fixed handling of the advance_in_fx_column.
831
 
 
832
 
        * doc/hacking.texi: some fixes to make it a well-formed texinfo file.
833
 
        
834
 
2000-01-26  Michael Krause  <m.krause@tu-harburg.de>
835
 
 
836
 
        * Released v0.3.10
837
 
 
838
 
2000-01-22  Michael Krause  <m.krause@tu-harburg.de>
839
 
 
840
 
        * app/gui.c: "Escape" can be used to toggle editing on even if
841
 
        we're in playing mode (patch by Conrad Parker).
842
 
 
843
 
        * app/clavier.c, app/playlist.c: Also replace custom marshallers
844
 
        by gtk-provided ones.
845
 
 
846
 
        * app/sample-display.c: Replace my_2ints_marshal() by
847
 
        gtk_marshal_NONE__INT_INT (patch by Conrad Parker).
848
 
 
849
 
2000-01-21  Michael Krause  <m.krause@tu-harburg.de>
850
 
 
851
 
        * app/sample-editor.c (sample_editor_page_create): Rename "Clear"
852
 
        to "Clear Sample".
853
 
 
854
 
        * app/track-editor.c: "Insert" and "Backspace" key bindings (shift
855
 
        down / pull up track). (patch by Tomasz Maka)
856
 
        (track_editor_find_next_jazz_channel): Jazz edit logic extracted
857
 
        into a new function. Made more intelligent (takes care of channels
858
 
        that are still busy playing a sample).
859
 
 
860
 
        * app/sample-editor.c: Added "Save Region" button, which saves
861
 
        only the selected region as a WAV. (Tomasz Maka)
862
 
 
863
 
2000-01-19  Michael Krause  <m.krause@tu-harburg.de>
864
 
 
865
 
        * app/xm.c (XM_Load): setting restart position to song_length - 1
866
 
        if out of range (FT2 does this).
867
 
 
868
 
2000-01-18  Michael Krause  <m.krause@tu-harburg.de>
869
 
 
870
 
        * app/track-editor.c (track_editor_set_num_channels): For the jazz
871
 
        edit mode, only display those buttons for channels that are
872
 
        actually available.
873
 
 
874
 
        * app/xm.c (XM_Load): Checking if restart_position is <
875
 
        song_length (setting rp to 0 otherwise).  Encountered a funny XM
876
 
        from my favourite label "Rohformat" that has a bug here and
877
 
        subsequently crashed the tracker due to a failed assertion in the
878
 
        playlist widget. Which shows us that assertions are your
879
 
        friend. Shame on you, Ronny :-)
880
 
 
881
 
        * app/menubar.c: Even more menu bar translation hacking code. This
882
 
        really sucks. Thanks to Yuuki Ninomiya for discussing this with
883
 
        me.
884
 
 
885
 
        * po: Updated ja.po.
886
 
 
887
 
2000-01-15  Michael Krause  <m.krause@tu-harburg.de>
888
 
 
889
 
        * app/menubar.c (menubar_create): all_translated calculated
890
 
        correctly now (patch by Yuuki NINOMIYA).
891
 
 
892
 
        * app/sample-editor.c (sample_editor_copy_cut_common): Adjust loop
893
 
        data after cutting parts of the sample (patch by Conrad Parker).
894
 
 
895
 
2000-01-12  Michael Krause  <m.krause@tu-harburg.de>
896
 
 
897
 
        * Released v0.3.9
898
 
 
899
 
2000-01-12  Kai Vehmanen  <kaiv@wakkanet.fi>
900
 
 
901
 
        * Added ALSA pcm2 input and output plugins (ALSA 0.5.0 and newer)
902
 
 
903
 
2000-01-08  Michael Krause  <m.krause@tu-harburg.de>
904
 
 
905
 
        * po: Updated ja.po.
906
 
 
907
 
        * app/playlist.c (playlist_insert_clicked):
908
 
        (playlist_delete_clicked): Force emission of "song_length_changed"
909
 
        signal. Fixes crashes due to not updated XM structures (bug
910
 
        reported by globber).
911
 
 
912
 
        * app/sample-editor.c: Adds "Sel All" button, renames other
913
 
        buttons, clears up _update_sample() (patch by Conrad Parker).
914
 
 
915
 
        * app/keys.c (keys_fixup_xkeymap): Fix strange keymaps. Fixes
916
 
        problem a Polish user was having.
917
 
 
918
 
1999-12-26  Michael Krause  <m.krause@tu-harburg.de>
919
 
 
920
 
        * Released v0.3.8
921
 
 
922
 
        * app/track-editor.c (track_editor_handle_keys): Delete key:
923
 
        delete note only if in note column. Otherwise delete corresponding
924
 
        effect column.
925
 
 
926
 
        * app/gui.c (current_instrument_changed): Don't set gui_cur*_name
927
 
        here at all.
928
 
 
929
 
        * app/sample-editor.c (sample_editor_update): Set gui_cursmpl_name
930
 
        correctly.
931
 
 
932
 
        * app/instrument-editor.c (instrument_editor_update): Set
933
 
        gui_curins_name correctly.
934
 
 
935
 
        * app/sample-editor.c: Can handle stereo samples now (extracts one
936
 
        channel or mixes left and right). Based on a patch sent in by
937
 
        Stefan Hager on 1999-08-22. Also remember last saved and loaded
938
 
        path.
939
 
 
940
 
        * app/gui-subs.c (file_selection_create): Add selection entry to
941
 
        list of text entry widgets to be captured.
942
 
 
943
 
        * app/menubar.c (menubar_create):
944
 
        (menubar_init_prefs): If not all menu bar strings could be
945
 
        translated, disable translation of the other menu bar strings
946
 
        completely and issue a warning (all this only for the non-GNOME
947
 
        version).
948
 
 
949
 
        * po: Updated ja.po.
950
 
 
951
 
1999-12-24  Michael Krause  <m.krause@tu-harburg.de>
952
 
 
953
 
        * app/file-operations.c (fileops_page_create): Disable certain
954
 
        dialogs in NO_AUDIOFILE case.
955
 
 
956
 
        * app/gui-settings.c: Save path for DIALOG_SAVE_MOD_AS_WAV.
957
 
 
958
 
        * app/playlist.c (playlist_restartpos_changed,
959
 
        playlist_songpat_changed): Only emit signal if value really
960
 
        changed.
961
 
 
962
 
        * app/playlist.[ch]: New functions _freeze_signals() and
963
 
        _thaw_signals().
964
 
 
965
 
        * app/playlist.c (playlist_set_nth_pattern): If pos ==
966
 
        current_position, set pattern spinbutton value as well.
967
 
        (playlist_set_restart_position): Set spinbutton value.
968
 
        (playlist_songlength_changed): Adjust limits of restart pos spin.
969
 
 
970
 
        * app/audioconfig.c (audioconfig_close_requested): Deinitialize
971
 
        cw_currentobject when closing window. (Conrad Parker striked back
972
 
        again)
973
 
 
974
 
1999-12-23  Michael Krause  <m.krause@tu-harburg.de>
975
 
 
976
 
        * app/sample-editor.c: "Reverse" function (patch by Conrad
977
 
        Parker).
978
 
 
979
 
1999-12-22  Michael Krause  <m.krause@tu-harburg.de>
980
 
 
981
 
        * Released v0.3.7
982
 
 
983
 
        * app/gui-settings.[ch]: Added upper/lower case hex number
984
 
        selection.
985
 
 
986
 
        * app/tracker.c (note2string): Rewritten. Supports upper/lower
987
 
        case selection now.
988
 
 
989
 
        * app/keys.c (keys_load_config): Recognize EOF condition
990
 
        correctly. Fixes the bug magog@mnf.nu reported (keymap loading
991
 
        wouldn't work for people where the automatic key recognition
992
 
        fails).
993
 
        
994
 
        * app/gui.c (gui_init): Initialize notebook_current_page variable
995
 
        so that keyboard works again.
996
 
 
997
 
1999-12-20  Michael Krause  <m.krause@tu-harburg.de>
998
 
 
999
 
        * app/playlist.[ch]: First attempt at creating a Playlist widget.
1000
 
        At the moment it looks just like the old stuff in the upper left
1001
 
        corner of the main window, but it's easier to modify this way.
1002
 
 
1003
 
        * app/instrument-editor.c (instrument_page_create): "Load XI" and
1004
 
        "Save XI" buttons working again instead of crashing.
1005
 
        (instrument_editor_clear_current_instrument): Stop playing before
1006
 
        clearing the instrument.
1007
 
 
1008
 
1999-12-19  Michael Krause  <m.krause@tu-harburg.de>
1009
 
 
1010
 
        * app/file-operations.c: Handy single-click directory browsing and
1011
 
        loading of modules, samples and instruments. Also handles the
1012
 
        corresponding menu items in a clever way.
1013
 
        
1014
 
        * app/file-operations.[ch]: New notebook page; embeds the various
1015
 
        file requesters we have.
1016
 
 
1017
 
1999-12-10  Michael Krause  <m.krause@tu-harburg.de>
1018
 
 
1019
 
        * po: Updated ja.po. Added ru.po from Michael Shigorin
1020
 
        <mike@lic145.kiev.ua>.
1021
 
 
1022
 
1999-11-20  Michael Krause  <m.krause@tu-harburg.de>
1023
 
 
1024
 
        * app/menubar.c: "Clear Current" instrument function.
1025
 
 
1026
 
        * app/sample-editor.c (sample_editor_clear_clicked): update
1027
 
        modinfo page.
1028
 
 
1029
 
        * app/instrument-editor.c (instrument_editor_save_instrument),
1030
 
        app/menubar.c: "Save XI" function.
1031
 
 
1032
 
        * app/xm.h: Use guint16 instead of short for STEnvelopePoint
1033
 
        elements.
1034
 
 
1035
 
        * app/xm.c (xm_load_xi): Endianness conversion for some XI header
1036
 
        fields. Don't cut first four letters of instrument name.
1037
 
        (xm_save_xm_instrument): Save endian-converted volfade. Urgs.
1038
 
        (xm_save_xi): New function to save instrument in XI format.
1039
 
 
1040
 
1999-11-14  Michael Krause  <m.krause@tu-harburg.de>
1041
 
 
1042
 
        * Released v0.3.6
1043
 
 
1044
 
        * app/xm-player.c: Added "player_looped" variable which indicates
1045
 
        to the audio renderer that the song has either looped, the "Bxx"
1046
 
        command has been used to jump to another pattern or the "F00"
1047
 
        command has been issued in order to stop the song. Should prevent
1048
 
        endless saving loops.
1049
 
 
1050
 
1999-11-13  Michael Krause  <m.krause@tu-harburg.de>
1051
 
 
1052
 
        * app/audio.c (audio_ctlpipe_render_song_to_file): This is a
1053
 
        special version of audio_ctlpipe_play_song(), which always uses
1054
 
        the file driver, hacks in the desired filename and does the
1055
 
        priority juggling (we don't want to run the rendering at nice
1056
 
        -14).
1057
 
 
1058
 
        * app/drivers/file-output.c: This driver uses libaudiofile to
1059
 
        render a WAV file. It's not directly accessible from the audio
1060
 
        config, use the special menu item in the "File" menu instead.
1061
 
 
1062
 
        * app/scope-group.c (scope_group_timeout): Return immediately if
1063
 
        current_driver is NULL. Fixes a crash.
1064
 
 
1065
 
1999-10-30  Michael Krause  <m.krause@tu-harburg.de>
1066
 
 
1067
 
        * app/audio.c: Begun work on code to render modules into a WAV
1068
 
        file.
1069
 
 
1070
 
        * app/main.c: Initialize effective group ID as well.
1071
 
 
1072
 
        * configure.in: Moved poll()/select() check in front of the
1073
 
        library checks.
1074
 
 
1075
 
        * po: Updated it.po and ja.po.
1076
 
 
1077
 
        * app/track-editor.c (track_editor_paste_pattern): Fix pasting of
1078
 
        short patterns into long ones (reported by Martin Andersson); also
1079
 
        update pattern length spinbutton in that case.
1080
 
 
1081
 
        * app/transposition.c (transposition_transpose_notes_sub): Don't
1082
 
        transpose KEYOFF note (reported by Martin Andersson).
1083
 
 
1084
 
1999-10-16  Kai Vehmanen  <kaiv@wakkanet.fi>
1085
 
 
1086
 
        * app/drivers/alsa-output.c: Changed default soundcard id to 0.
1087
 
 
1088
 
1999-10-09  Michael Krause  <m.krause@tu-harburg.de>
1089
 
 
1090
 
        * app/drivers/esd-output.c: Quick and dirty implementation of an
1091
 
        ESD driver. Note that this will not be supported because of its
1092
 
        latency.
1093
 
 
1094
 
        * configure.in: Added ESD check, updated ALSA check to handle
1095
 
        --disable-alsa correctly.
1096
 
 
1097
 
1999-10-08  Michael Krause  <m.krause@tu-harburg.de>
1098
 
 
1099
 
        * Released v0.3.5
1100
 
 
1101
 
        * app/track-editor.c: Selection handling rewritten for multi-track
1102
 
        selections.
1103
 
 
1104
 
        * app/st-subs.c: Several new functions for dealing with parts of a
1105
 
        track (duplicating, clearing, pasting).
1106
 
        
1107
 
        * app/xm-player.c: Replaced sintab[] by sin().
1108
 
 
1109
 
        * app/drivers/oss-output.c: Added code to make use of the
1110
 
        high-accuracy SNDCTL_DSP_GETOPTR call when available. Gets rid of
1111
 
        all the gettimeofday() calls. The old code is available as a
1112
 
        fallback, though.
1113
 
 
1114
 
1999-10-07  Michael Krause  <m.krause@tu-harburg.de>
1115
 
 
1116
 
        * doc/hacking.texi: Old `HACKING' file extended to talk a little
1117
 
        bit about ST's internals.
1118
 
        
1119
 
1999-10-06  Michael Krause  <m.krause@tu-harburg.de>
1120
 
 
1121
 
        * app/st-subs.c, app/menubar.c, app/track-editor.c: Insert track /
1122
 
        Delete track.
1123
 
 
1124
 
        * app/track-editor.c: Saving jazz edit settings on exit.
1125
 
 
1126
 
        * app/gui-settings.c, app/gui.c, app/sample-editor.c,
1127
 
        app/instrument-editor.c: Remember last used paths and store them
1128
 
        in a configuration file.
1129
 
 
1130
 
        * configure.in: Continue if sys/poll.h is found, but poll() isn't.
1131
 
 
1132
 
        * po: Updated it.po and ja.po; added es.po from German Jose Gomez
1133
 
        Garcia
1134
 
 
1135
 
1999-09-26  Michael Krause  <m.krause@tu-harburg.de>
1136
 
 
1137
 
        * app/mixers/integer32-asm.[sh]: i386 Assembly mixing routines for
1138
 
        16bit samples. These are only marginally faster than the original
1139
 
        C code, though.
1140
 
 
1141
 
        * app/mixers/integer32.c: lqmono renamed; cleaned up reverb code
1142
 
        to use arrays.
1143
 
 
1144
 
1999-09-25  Michael Krause  <m.krause@tu-harburg.de>
1145
 
 
1146
 
        * Released v0.3.4
1147
 
 
1148
 
        * app/gui-settings.c, app/tracker.c: Added tracker row
1149
 
        highlighting.
1150
 
 
1151
 
1999-09-24  Michael Krause  <m.krause@tu-harburg.de>
1152
 
 
1153
 
        * app/keys.c: Replace some empty strings by NULL pointers
1154
 
        (fixes localization bugs in the keys dialog).
1155
 
 
1156
 
1999-09-23  Michael Krause  <m.krause@tu-harburg.de>
1157
 
 
1158
 
        * soundtracker.desktop: Added pl and de entries.
1159
 
        
1160
 
        * Added de.po from Colin Marquardt, updated ja.po.
1161
 
 
1162
 
1999-09-10  Michael Krause  <m.krause@tu-harburg.de>
1163
 
 
1164
 
        * Released v0.3.3
1165
 
 
1166
 
        * app/audioconfig.c, app/audio.c: Editing and Playback drivers can
1167
 
        be selected independently now.
1168
 
 
1169
 
        * app/gui.c (gui_handle_standard_keys): Removed "Shift+Space"
1170
 
        special-casing.
1171
 
 
1172
 
        * app/track-editor.c (track_editor_handle_column_input): Returning
1173
 
        flag if key was handled.
1174
 
 
1175
 
        * app/menubar.c: Added cut'n'paste functions to the Edit menu,
1176
 
        with configurable shortcuts; this should be useful to those using
1177
 
        a window manager that maps Alt-F4 to "exit" :-)
1178
 
 
1179
 
        * app/track-editor.c: Split block / pattern / track cut'n'paste
1180
 
        handling into simple functions.
1181
 
 
1182
 
1999-09-09  Michael Krause  <m.krause@tu-harburg.de>
1183
 
 
1184
 
        * app/tracker.c (tracker_realize): Attach style, just to be sure.
1185
 
 
1186
 
        * app/sample-display.c (sample_display_realize): Attach style to
1187
 
        widget, fixes a strange crash when playing with the #chans
1188
 
        spinbutton.
1189
 
 
1190
 
        * app/keys.c, app/module-info.c (modinfo_page_create): Call
1191
 
        gettext() on some the strings only marked with N_().
1192
 
 
1193
 
        * app/time-buffer.c (time_buffer_get): After g_list_remove_link(),
1194
 
        call g_list_free() on the freed node. Fixes the memory leak people
1195
 
        were seeing. *sigh*
1196
 
 
1197
 
1999-09-08  Michael Krause  <m.krause@tu-harburg.de>
1198
 
 
1199
 
        * app/mixers/lqmono.c (lqmono_mix): Fix mixbufsize setting. Arghl.
1200
 
 
1201
 
1999-09-07  Michael Krause  <m.krause@tu-harburg.de>
1202
 
 
1203
 
        * app/mixers/lqmono.c (lqmono_mix): Update mixbufsize after
1204
 
        allocating new mixbuf. Use g_new() and g_free().
1205
 
 
1206
 
1999-09-07  Yuuki NINOMIYA  <gm@smn.enjoy.ne.jp>
1207
 
 
1208
 
        * app/main.c: Use gtk_set_locale() instead of setlocale().
1209
 
 
1210
 
        * app/menubar.c: The bug is fixed that i18n is invalid in the menu
1211
 
        bar when build without GNOME.
1212
 
 
1213
 
1999-09-06  Kai Vehmanen  <kaiv@wakkanet.fi>
1214
 
 
1215
 
        * app/drivers/alsa-*.[ch]: Fixed some timing bugs and made a few
1216
 
        improvements to the config widgets.
1217
 
 
1218
 
1999-09-06  Michael Krause  <m.krause@tu-harburg.de>
1219
 
 
1220
 
        * soundtracker.desktop: Added GNOME menu entry.
1221
 
 
1222
 
        * Updated ja.po, added it.po from Yuri Bongiorno, added pl.po from
1223
 
        Zbigniew Chyla.
1224
 
 
1225
 
1999-09-04  Michael Krause  <m.krause@tu-harburg.de>
1226
 
 
1227
 
        * Released v0.3.2
1228
 
 
1229
 
        * app/cheat-sheet.[ch]: Added an overview of all XM effects.
1230
 
 
1231
 
        * app/gui-settings.c: Added "Use anti-aliased envelope editor"
1232
 
        option.
1233
 
 
1234
 
        * app/envelope-box.c (envelope_box_canvas_paint_grid): Reduced
1235
 
        left X coordinate of long lines from 30000 to 16384 (non-aa canvas
1236
 
        would bug here).
1237
 
 
1238
 
        * HACKING: Contains some `rules' for developers.
1239
 
 
1240
 
        * README: Added soundtracker.org homepage and information about
1241
 
        the mailing lists.
1242
 
 
1243
 
        * app/tips-dialog.c: The tips are stored in an array inside this
1244
 
        file now -- translation is easier this way.
1245
 
 
1246
 
        * app/preferences.c (prefs_get_line): Remove trailing newlines
1247
 
        from returned strings.
1248
 
 
1249
 
        * app/audioconfig.c (audioconfig_clist_select): Fix driver
1250
 
        selection.
1251
 
 
1252
 
1999-09-03  Michael Krause  <m.krause@tu-harburg.de>
1253
 
 
1254
 
        * FAQ: Removed ALSA-related question.
1255
 
 
1256
 
        * Added ALSA patch from Kai Vehmanen.
1257
 
 
1258
 
1999-09-02  Giles Constant  <gilesc@ftech.net>
1259
 
 
1260
 
        * Playback effects menu added
1261
 
 
1262
 
        * "Master Reverb" added to playback effects (code ripped and
1263
 
        regurgitated from libmikmod)
1264
 
 
1265
 
1999-08-31  Michael Krause  <m.krause@tu-harburg.de>
1266
 
 
1267
 
        * po/ja.po: updated by Atsushi Yamagata.
1268
 
 
1269
 
1999-08-29  Michael Krause  <m.krause@tu-harburg.de>
1270
 
 
1271
 
        * Released v0.3.1
1272
 
 
1273
 
        * soundtracker.spec (%build): Initalize LINGUAS variable before
1274
 
        building, so that all catalogs get installed.
1275
 
 
1276
 
        * INSTALL, FAQ: Some words about the gtk+ update.
1277
 
 
1278
 
        * app/sample-editor.c: Added horizontal scroll bar under the
1279
 
        sample display.
1280
 
 
1281
 
        * app/sample-display.c: Added "window_changed" signal which is
1282
 
        triggered whenever win_start / win_length are changed.
1283
 
 
1284
 
        * app/sample-editor.c (sample_editor_perform_ramp): change
1285
 
        ABS(*p++) into q=*p++;q=ABS(q); macros suck :-)
1286
 
 
1287
 
        * app/sample-display.c: Middle mouse button pans the display
1288
 
        window.
1289
 
 
1290
 
        * configure.in (CFLAGS): Require gtk+-1.2.2. Fixes the popular
1291
 
        "GUI freezes if you click the menu bar" bug.
1292
 
 
1293
 
1999-08-25  Michael Krause  <m.krause@tu-harburg.de>
1294
 
 
1295
 
        * app/sample-editor.c (sample_editor_ok_clicked): Don't call
1296
 
        sampler_page_enable_widgets() (the widgets have already been
1297
 
        destroyed).
1298
 
 
1299
 
        * app/gui.c (gui_handle_standard_keys): Handle Shift+Space
1300
 
        manually even though it's in the menu; works around a (so I think)
1301
 
        gtk+ menu bug.
1302
 
 
1303
 
1999-08-23  Michael Krause  <m.krause@tu-harburg.de>
1304
 
 
1305
 
        * app/sample-editor.c: Added "Volume Ramp" dialog, including a
1306
 
        normalizing function.
1307
 
 
1308
 
1999-08-22  Michael Krause  <m.krause@tu-harburg.de>
1309
 
 
1310
 
        * app/menubar.c: Rewrote non-GNOME menubar code to use
1311
 
        GtkItemFactory, because we can handle user-defined accelerators
1312
 
        this way. Added underscores to all the menu texts. Added "Edit"
1313
 
        menu, with "Jazz Mode Edit" toggle and "Transpositions" dialog
1314
 
        launcher.
1315
 
 
1316
 
        * app/gui.c (keyevent): All the key handlers return a flag
1317
 
        indicating if the key has been handled or not. If it has not been
1318
 
        handled, don't stop the signal, but let gtk+ continue to handle
1319
 
        it. We need this to support the menubar correctly.
1320
 
 
1321
 
        * app/track-editor.c (track_editor_handle_keys): Binding "Home"
1322
 
        and "End" keys to start and end of current pattern, respectively.
1323
 
 
1324
 
        * app/transposition.[ch]: Added new "Transposition Tools" dialog
1325
 
        with a lot of transposition and instrument number related
1326
 
        functions.
1327
 
 
1328
 
1999-08-21  Michael Krause  <m.krause@tu-harburg.de>
1329
 
 
1330
 
        * app/instrument-editor.c: Capturing clavierkey_enter and _leave
1331
 
        signals to display the note the mouse is over in a framed label.
1332
 
        Also added the "Initialize" button which fills the whole samplemap
1333
 
        with the current sample value.
1334
 
 
1335
 
        * app/clavier.c: Added _enter and _leave signals which are called
1336
 
        when the mouse is over a key or when it leaves one.
1337
 
 
1338
 
1999-08-19  Michael Krause  <m.krause@tu-harburg.de>
1339
 
 
1340
 
        * app/sample-editor.c (sample_editor_save_wav): Use libaudiofile
1341
 
        to save WAVs. If compiling without libaudiofile, disable "Save
1342
 
        WAV" widget.
1343
 
 
1344
 
        * po/ja.po: Added japanese translation from Atsushi Yamagata.
1345
 
 
1346
 
1999-08-13  Michael Krause  <m.krause@tu-harburg.de>
1347
 
 
1348
 
        * Released v0.3.0
1349
 
 
1350
 
        * app/track-editor.c (track_editor_handle_keys): Shift + Tab goes
1351
 
        one channel to the left.
1352
 
 
1353
 
        * app/keys.c (keys_is_key_pressed): New function which finds out
1354
 
        if a key is actually physically pressed. We need this hack to deal
1355
 
        with X's auto-repeat.
1356
 
 
1357
 
        * app/gui.c (handle_standard_keys): Toggle jazz edit mode with
1358
 
        shift-space.
1359
 
 
1360
 
        * app/track-editor.c: Jazz edit stuff -- core handling is in
1361
 
        track_editor_do_the_note_key.
1362
 
 
1363
 
        * app/track-editor.c (track_editor_handle_keys): Send keyoff note
1364
 
        if a key is released.
1365
 
        (track_editor_do_the_note_key): Encapsulated the relevant code for
1366
 
        the other notebook pages.
1367
 
 
1368
 
        * app/gui.c (keyevent): Handle key-release events as well. Also,
1369
 
        rename some handle_keys() functions all over the source and add
1370
 
        the `pressed' argument.
1371
 
 
1372
 
        * app/gui-subs.c (gui_update_range_adjustment): Moved this from
1373
 
        track-editor.c
1374
 
 
1375
 
1999-08-12  Michael Krause  <m.krause@tu-harburg.de>
1376
 
 
1377
 
        * app/st-subs.c (st_num_save_patterns): Return value based on the
1378
 
        recently introduced save_all_patterns setting.
1379
 
 
1380
 
        * app/gui-settings.c: "Save XM saves all non-empty patterns" (as
1381
 
        opposed to only the used patterns) option.
1382
 
 
1383
 
        * soundtracker_tips.ja.txt: Added japanese translation of
1384
 
        soundtracker_tips.txt from Atsushi Yamagata
1385
 
        <yamagata@plathome.co.jp>.
1386
 
 
1387
 
        * app/mixers/lqmono.c (lqmono_updatesample): We don't stop the
1388
 
        sample if only the loop has changed. In that case, we bend the
1389
 
        current pointer to the loop start!
1390
 
 
1391
 
        * app/sample-editor.c (sampler_page_handle_keys): If a key is
1392
 
        pressed, the currently displayed sample is played, not the one
1393
 
        from the sample map (using gui_play_note_full /
1394
 
        xmplayer_play_note_full).
1395
 
 
1396
 
        * app/gui.c (gui_play_note_full): The same for the GUI thread.
1397
 
 
1398
 
        * app/xm-player.c (xmplayer_play_note_full): Permits more control
1399
 
        over what sample gets played and at which position it starts. Man,
1400
 
        xm-player.c really is a mess...
1401
 
 
1402
 
        * INSTALL: some more explanations for the binary packages.
1403
 
 
1404
 
        * Bumped version number to v0.3.0
1405
 
 
1406
 
        * soundtracker.spec: Added RPM specfile from Arthibus Gissehel,
1407
 
        updated to distribute the NLS stuff as well.
1408
 
                
1409
 
        * Made the whole application NLS-aware.
1410
 
 
1411
 
1999-08-09  Michael Krause  <m.krause@tu-harburg.de>
1412
 
 
1413
 
        * Released v0.1.11
1414
 
 
1415
 
        * app/gui.c (gui_init): Menubar in non-GNOME version doesn't have
1416
 
        a 4 pixel gap around it any longer.
1417
 
 
1418
 
        * app/envelope-box.c (envelope_box_set_envelope): Install dummy
1419
 
        envelope if env pointer is NULL.
1420
 
 
1421
 
        * app/instrument-editor.c (instrument_editor_update): Initialize
1422
 
        empty envelope if instrument is null.
1423
 
 
1424
 
1999-08-08  Michael Krause  <m.krause@tu-harburg.de>
1425
 
 
1426
 
        * app/xm-player.c: Replace 1+!linearfreq by
1427
 
        1+(!linearfreq&&!ismod) in some commands to fix excessive vibrato
1428
 
        depth for ProTracker modules.
1429
 
 
1430
 
        * app/audio.c (audio_prepare_for_playing): Allocating scopebufs[]
1431
 
        according to that new GUI option.
1432
 
 
1433
 
        * app/gui-settings.c: Added "Scopes Buffer Size" option.
1434
 
 
1435
 
1999-08-07  Michael Krause  <m.krause@tu-harburg.de>
1436
 
 
1437
 
        * app/sample-editor.c (sample_editor_save_wav): Fix "bytes per
1438
 
        second" field in saved WAV header (Stefan Hager).
1439
 
 
1440
 
        * app/gui-settings.c: Load / save all settings, move "hexmode" and
1441
 
        "advance cursor" options from menubar into this window.
1442
 
 
1443
 
1999-08-06  Michael Krause  <m.krause@tu-harburg.de>
1444
 
 
1445
 
        * app/gui-settings.[ch]: New dialog which contains GUI parameters.
1446
 
 
1447
 
        * app/preferences.c: Removed "Preferences" notebook page.
1448
 
 
1449
 
        * app/instrument-editor.c (instrument_editor_set_instrument):
1450
 
        Doing most work in _update() instead of here; fixes bug where
1451
 
        loading sample into fresh instrument wouldn't initialize the
1452
 
        instrument editor page.
1453
 
        (instrument_editor_load_instrument): Initialize sample editor.
1454
 
 
1455
 
        * app/scope-group.c (scope_group_timeout): rewritten to use the
1456
 
        new scope buffer layout.
1457
 
 
1458
 
        * app/audio.c (audio_prepare_for_playing): renamed from
1459
 
        mixer_prepare().
1460
 
        (mixer_mix_and_handle_scopes): rewritten to use a different scope
1461
 
        buffer layout.
1462
 
 
1463
 
        * app/drivers/oss-output.c (oss_open): Find out number of
1464
 
        fragments used by sound driver and make corresponding corrections
1465
 
        to get_play_time(). Now the GUI is really synchronized to audio,
1466
 
        even with large fragment sizes.
1467
 
        
1468
 
1999-08-05  Michael Krause  <m.krause@tu-harburg.de>
1469
 
 
1470
 
        * app/gui.c (gui_init): Set minimum possible "Jump" value to 0.
1471
 
 
1472
 
        * app/keys.c (keys_dialog): Initialize cw_combostrings (multiple
1473
 
        window openings could leave the combo box empty)
1474
 
 
1475
 
        * app/xm.c (xm_load_xi): Bug fix: missing string termination
1476
 
        (erikyyy again).
1477
 
 
1478
 
        * app/instrument-editor.c (instrument_editor_load_instrument):
1479
 
        Close file after reading (thanks to erikyyy).
1480
 
 
1481
 
1999-08-02  Michael Krause  <m.krause@tu-harburg.de>
1482
 
 
1483
 
        * Released v0.1.10
1484
 
 
1485
 
        * configure.in, acconfig.h, app/sample-editor.c: ST can now build
1486
 
        without libaudiofile.  In that case, you will not be able to load
1487
 
        samples in the sample editor.
1488
 
 
1489
 
        * app/menubar.c: Added "Load XI" menu item to "Instrument" menu.
1490
 
 
1491
 
        * app/xm.c (xm_load_xm_instrument): Fix volfade loading.
1492
 
 
1493
 
        * app/instrument-editor.c: Add "Load Instrument" function.
1494
 
 
1495
 
        * app/xm.c (xm_load_xi): New function that loads an instrument in
1496
 
        XI format (funny that it isn't the same instrument format as found
1497
 
        in XM modules...)
1498
 
 
1499
 
1999-07-27  Michael Krause  <m.krause@tu-harburg.de>
1500
 
 
1501
 
        * app/keys.c (keys_init): Removed unnecessary "symspercode > 4"
1502
 
        check.
1503
 
 
1504
 
1999-07-26  Michael Krause  <m.krause@tu-harburg.de>
1505
 
 
1506
 
        * app/tips-dialog.c (read_tips_file): Correct "can't find tips
1507
 
        file" message.
1508
 
 
1509
 
1999-07-25  Michael Krause  <m.krause@tu-harburg.de>
1510
 
 
1511
 
        * app/drivers/oss-output.c (oss_make_config_widgets): Some layout
1512
 
        beautification. Added delay estimation.
1513
 
        
1514
 
1999-07-21  Michael Krause  <m.krause@tu-harburg.de>
1515
 
 
1516
 
        * Released v0.1.9
1517
 
 
1518
 
        * app/Makefile.am (soundtracker_SOURCES): Oh I hate it when that
1519
 
        happens. I left out a source file from the
1520
 
        distribution. Reinserted driver.h ... who said "brown paper bag"?
1521
 
 
1522
 
        * Released v0.1.8
1523
 
 
1524
 
        * app/tracker.c (tracker_expose): Fixed a long-standing bug that
1525
 
        an X expose wouldn't redraw the cursor line correctly.
1526
 
 
1527
 
        * soundtracker_tips.txt: Added some useful tips.
1528
 
 
1529
 
        * app/tips-dialog.c: I hope this helps reducing stupid questions.
1530
 
        People don't read the README or the FAQ anyway :( This was grabbed
1531
 
        from the GIMP source code.
1532
 
 
1533
 
        * app/drivers/oss-output.c: Added configuration widget / loader /
1534
 
        saver. Basically the same as the preferences.c code in previous
1535
 
        versions. This will need beautification!
1536
 
 
1537
 
        * app/audioconfig.[ch]: Audio configuration dialog.
1538
 
 
1539
 
        * app/preferences.c: Removed all audio-related preferences. These
1540
 
        are handled by the drivers themselves now.
1541
 
 
1542
 
1999-07-20  Michael Krause  <m.krause@tu-harburg.de>
1543
 
 
1544
 
        * app/sample-editor.c: Rewritten for the new sampling driver
1545
 
        interface. Cool feature: SoundTracker can sample while it's
1546
 
        playing a module, if your sound card supports full duplex.
1547
 
 
1548
 
        * app/driver.h: Split into driver-out.h and driver-in.h; Sampling
1549
 
        drivers are controlled by the main thread now instead of going
1550
 
        through the audio thread and a sampling buffer. The "base class"
1551
 
        of the driver classes is still in driver.h.
1552
 
 
1553
 
        * app/sample-editor.c (sample_editor_load_wav): Fixed 8 bit sample
1554
 
        loading.
1555
 
 
1556
 
1999-07-18  Michael Krause  <m.krause@tu-harburg.de>
1557
 
 
1558
 
        * app/scope-group.c (scope_group_timeout), app/track-editor.c
1559
 
        (tracker_timeout): Changed to use driver->get_play_time().
1560
 
 
1561
 
        * app/time-buffer.c (time_buffer_get): Return NULL if list is
1562
 
        empty.
1563
 
 
1564
 
        * app/drivers/oss-output.c (oss_poll_ready_playing): An OSS
1565
 
        playing driver for the new driver concept.
1566
 
 
1567
 
        * app/audio.c (mixer_mix_and_handle_scopes):
1568
 
        (mixer_mix): return pointer to end of mixed data.
1569
 
        (audio_mix): This routine contains the "main loop", as seen from
1570
 
        the driver's view, now. It calls the player and mixer modules.
1571
 
 
1572
 
        * Again some changes to the driver subsystem; this time not as
1573
 
        deep as in the 0.0.11 changes, and the resulting code is a bit
1574
 
        easier. The driver objects handle configuration on their own now,
1575
 
        including own GTK+ widgets. Besides, the driver has a
1576
 
        get_play_time(), which handles what audio_time() did before.
1577
 
        
1578
 
1999-07-15  Michael Krause  <m.krause@tu-harburg.de>
1579
 
 
1580
 
        * README, INSTALL, FAQ: Updated
1581
 
 
1582
 
1999-07-04  Michael Krause  <m.krause@tu-harburg.de>
1583
 
 
1584
 
        * Released v0.1.7
1585
 
 
1586
 
        * app/sample-editor.c (sample_editor_update_mixer_position):
1587
 
        Update sample display accordingly.
1588
 
 
1589
 
        * app/audio.c (mixer_mix_and_handle_scopes): Added mixer position
1590
 
        time buffer.
1591
 
 
1592
 
        * app/scope-group.c (scope_group_scope_event): Right mouse button
1593
 
        inverts global channel status.
1594
 
 
1595
 
        * app/xm.c (xm_load_mod): Call xm_init_locks().
1596
 
 
1597
 
        * app/gui.c: Finally added clipping indicator LED again
1598
 
 
1599
 
        * app/audio.c (mixer_mix_and_handle_scopes): Added clipping
1600
 
        indicator time buffer.
1601
 
 
1602
 
        * app/track-editor.c (tracker_timeout): Use time_buffer
1603
 
 
1604
 
        * app/audio.c (audio_play): Use time_buffer
1605
 
 
1606
 
        * app/time-buffer.c: New API to handle some audio->gui
1607
 
        synchronization (pattern play position, mixer position, clipping
1608
 
        indicator etc.) in a more generalized way.
1609
 
 
1610
 
        * Use gthread functions instead of pthread functions everywhere.
1611
 
 
1612
 
1999-06-29  Michael Krause  <m.krause@tu-harburg.de>
1613
 
 
1614
 
        * configure.in: Remove pthread check, add gthread module to gtk
1615
 
        check instead. Install some stupid workaround to get the gthread
1616
 
        stuff into the command line.
1617
 
 
1618
 
1999-06-28  Michael Krause  <m.krause@tu-harburg.de>
1619
 
 
1620
 
        * app/sample-display.c: Added "zero
1621
 
        line". (sample_display_do_marker_line): Make marker lines more
1622
 
        visible. Fix small bug that would cause the line at the rightmost
1623
 
        position not to be displayed.
1624
 
 
1625
 
        * app/gui.c: Added pitchbend reset button.
1626
 
 
1627
 
1999-06-22  Michael Krause  <m.krause@tu-harburg.de>
1628
 
 
1629
 
        * app/preferences.c, app/menubar.c, app/track-editor.c: Added
1630
 
        "Advance Cursor in FX Columns" toggle.
1631
 
 
1632
 
        * app/track-editor.c, app/gui.c: Some global variables clean-up.
1633
 
        
1634
 
        * app/tracker.c: Removed tracker_note_typed_advance(), added
1635
 
        tracker_redraw_row(), tracker_redraw_current_row(),
1636
 
        tracker_step_cursor_row() instead.
1637
 
 
1638
 
        * app/gui.c: Add a "Jump" spin button. Reduce default width of
1639
 
        Instrument / Sample entries.
1640
 
 
1641
 
1999-06-13  Michael Krause  <m.krause@tu-harburg.de>
1642
 
 
1643
 
        * Released v0.1.6
1644
 
 
1645
 
        * app/xm.c (xm_load_mod): Call st_clean_instrument() for each
1646
 
        instrument to initialize it.
1647
 
        (xm_check_envelope): Check envelope settings here..
1648
 
 
1649
 
        * app/st-subs.c (st_clean_instrument): Set panning envelope to
1650
 
        constant 32 (middle panning).
1651
 
 
1652
 
        * app/envelope-box.c: More work on the envelope editor. Not much
1653
 
        code is left from the old version.
1654
 
 
1655
 
1999-06-12  Michael Krause  <m.krause@tu-harburg.de>
1656
 
 
1657
 
        * app/envelope-box.c: Using the GNOME canvas widget for the
1658
 
        graphical envelope editor. Really easy to use. This is fun.  Now,
1659
 
        the very first real reason for a GNOME-only SoundTracker :)
1660
 
 
1661
 
        * app/sample-editor.c (sample_editor_load_wav): Checking for
1662
 
        maximum sample length.
1663
 
        (sample_editor_ok_clicked): Dito
1664
 
 
1665
 
        * app/xm.c (XM_Load): Add check for correct sample lengths (don't
1666
 
        need to add a similar check for MOD's, cause MOD samples are
1667
 
        generally limited to 1 << 17 bytes).
1668
 
 
1669
 
        * app/mixers/lqmono.c (lqmono_startnote): Check for maximum sample
1670
 
        length.
1671
 
 
1672
 
        * app/mixer.h, app/mixers/lqmono.c: New mixer structure field
1673
 
        "max_sample_length".
1674
 
 
1675
 
        * configure.in (gnome): Remove zvt from linker flags.
1676
 
 
1677
 
1999-06-08  Michael Krause  <m.krause@tu-harburg.de>
1678
 
 
1679
 
        * Released v0.1.5
1680
 
 
1681
 
        * Makefile.am (bindist): Added rules for automatic generation of
1682
 
        my binary distributions. This really saves me some work :)
1683
 
 
1684
 
        * app/xm-player.c: Some fixes from the current OpenCP CVS version:
1685
 
        (xm_player_playnote_fasttracker): Set procins to 0 if procnot ==
1686
 
        97. (xmpPlayTick): Set procins to 0 if procnot == 97. Vibrato
1687
 
        depth is twice as deep in non-linear frequencies mode (replace 1
1688
 
        by 1+!linearfreq in some commands). Retrigger command fixes.
1689
 
        
1690
 
        * app/menubar.c: Synchronized non-GNOME menu with the new version.
1691
 
        Optimized mymenu structure a bit.
1692
 
 
1693
 
1999-06-06  Michael Krause  <m.krause@tu-harburg.de>
1694
 
 
1695
 
        * app/sample-editor.c (sample_editor_load_wav): Display error if
1696
 
        file is unreadable (don't crash).
1697
 
 
1698
 
        * app/drivers/oss.c, app/xm.c, app/preferences.c,
1699
 
        app/sample-editor.c: Make use of new error handling functions.
1700
 
 
1701
 
        * app/gui.c (read_mixer_pipe): Handle new backpipe id for errors
1702
 
        and warnings
1703
 
        (display simple gnome requesters for now).
1704
 
 
1705
 
        * app/errors.[ch] (error_error_common):
1706
 
        (error_error):
1707
 
        (error_warning): New file, new functions to handle errors and
1708
 
        warnings more conveniently for the user.
1709
 
 
1710
 
        * app/gui-subs.c (gui_update_spin_adjustment): Moved here from
1711
 
        gui.c
1712
 
        (gnome_error_dialog): New function
1713
 
 
1714
 
        * app/drivers/oss.c (oss_open): Added workaround for Linux bug
1715
 
        (some sound drivers, when in use by another program, block when
1716
 
        opened instead of returning EBUSY). Wrote a mail to Thomas Sailer.
1717
 
 
1718
 
1999-06-04  Michael Krause  <m.krause@tu-harburg.de>
1719
 
 
1720
 
        * app/menubar.c (menubar_save_settings_on_exit_toggled):
1721
 
        (menubar_save_settings_now): Add "Save Settings now" and "Save
1722
 
        Settings on Exit" (default: on) menu items.
1723
 
 
1724
 
        * app/gui.c (gui_init): Remove initialization of scopes display
1725
 
        and backing store options. This is handled in
1726
 
        menubar.c:menubar_init_prefs() automatically.
1727
 
 
1728
 
        * app/menubar.c: Move "Display Scopes" and "Use Backing Store"
1729
 
        toggles from preferences page to the Settings menu. Add these
1730
 
        settings to the preferences structure. "Use Backing Store" is off
1731
 
        by default now, so that the tracker doesn't use too much CPU time
1732
 
        for first-time users.
1733
 
 
1734
 
        * app/track-editor.c (track_editor_handle_column_input):
1735
 
        (track_editor_handle_hex_column_input):
1736
 
        (track_editor_handle_semidec_column_input): Handling decimal
1737
 
        instrument column correctly.
1738
 
 
1739
 
        * app/tracker.c (init_display): 
1740
 
        (print_notes_line): Line numbers dec/hex display.
1741
 
 
1742
 
        * app/menubar.c (menubar_hexmode_toggled):
1743
 
        (menubar_init_prefs): Added hex/dec switch to menu bar.
1744
 
 
1745
 
        * app/preferences.c (prefs_get_line):
1746
 
        (prefs_get_int):
1747
 
        (prefs_put_int):
1748
 
        (prefs_load_config):
1749
 
        (prefs_save_config): Loading and saving preferences on startup and
1750
 
        exit now.
1751
 
 
1752
 
        * app/tracker.c (note2string): Instrument numbers can be displayed
1753
 
        in decimal or hexadecimal.
1754
 
 
1755
 
1999-05-28  Michael Krause  <m.krause@tu-harburg.de>
1756
 
 
1757
 
        * Released v0.1.4
1758
 
 
1759
 
        * app/keys.c (keys_init): Clear unused entries in xkeymap[] (Jon
1760
 
        Forsberg <zzed@cyberdude.com>).
1761
 
        
1762
 
1999-05-26  Michael Krause  <m.krause@tu-harburg.de>
1763
 
 
1764
 
        * Released v0.1.3
1765
 
 
1766
 
        * app/menubar.c (mymenu): Adjusted menus for non-GNOME version.
1767
 
 
1768
 
1999-05-16  Michael Krause  <m.krause@tu-harburg.de>
1769
 
 
1770
 
        * Installed glibc-2.1.1pre2 today, and... well, I had to recompile
1771
 
        some parts of my system, but the sound pause bug is gone now!
1772
 
        Seems like this was really a glibc-2.0.7pre3 bug. Life is fun
1773
 
        again, now that I've fixed one of the most disturbing bugs in my
1774
 
        system :-)
1775
 
 
1776
 
        * FAQ: Mentioning the problem here as well...
1777
 
 
1778
 
1999-05-11  Michael Krause  <m.krause@tu-harburg.de>
1779
 
 
1780
 
        * Got a new machine today, a 400MHz K6-2. The sound pause bug
1781
 
        introduced with kernel 2.2.3 is still present. I really start
1782
 
        believing this is not a soundtracker bug. Besides that, the new
1783
 
        computer rocks...
1784
 
 
1785
 
1999-05-02  Michael Krause  <m.krause@tu-harburg.de>
1786
 
 
1787
 
        * app/instrument-editor.c (instrument_page_create): Add the
1788
 
        clavier widget and necessary callback functions.
1789
 
        (instrument_editor_clavierkey_press_event): Modify samplemap
1790
 
        appropriately.
1791
 
 
1792
 
        * app/clavier.c (clavier_draw_label, clavier_set_key_labels):
1793
 
        Added these functions.
1794
 
        (clavier_expose): Clear before drawing.
1795
 
        (clavier_realize): Initializing color GC's.
1796
 
        (clavier_init): Initializing font.
1797
 
 
1798
 
        * app/clavier.[ch]: This is Simon K�gedal's Clavier widget, taken
1799
 
        from clavier-0.1.3.
1800
 
 
1801
 
        * app/st-subs.c (st_clear_pattern): Clear all the allocated track
1802
 
        space, not just the visible part.
1803
 
        (st_clear_track): optimized
1804
 
 
1805
 
        * app/menubar.c: Added "Delete unused instruments", "Find unused
1806
 
        pattern", "Copy current to unused pattern", "Clear unused
1807
 
        patterns", "Pack patterns" and "Optimize module" functions to the
1808
 
        menu. Menu structure changed. Some key shortcuts added.
1809
 
        (menubar_handle_keys): Handling key shortcuts here.
1810
 
        
1811
 
        * app/gui.c (change_current_pattern): Renamed to
1812
 
        gui_change_current_pattern() and made public.
1813
 
 
1814
 
        * app/st-subs.c (st_copy_pattern, st_is_empty_track,
1815
 
        st_is_empty_pattern, st_find_first_unused_and_empty_pattern,
1816
 
        st_is_pattern_used_in_song): New functions.
1817
 
        (st_dup_pattern): Using st_copy_pattern(). Initializing
1818
 
        alloc_length field.
1819
 
 
1820
 
        * app/module-info.c: Removed "Delete unused instruments" button.
1821
 
        (modinfo_copy_to_empty_pattern, modinfo_find_empty_pattern,
1822
 
        modinfo_clear_unused_patterns, modinfo_reorder_patterns,
1823
 
        modinfo_pack_patterns, modinfo_optimize_module): New functions.
1824
 
 
1825
 
        * Released v0.1.2
1826
 
 
1827
 
1999-05-01  Michael Krause  <m.krause@tu-harburg.de>
1828
 
 
1829
 
        * app/gui-subs.c (gnome_warning_dialog): Pure GTK+ implementation.
1830
 
 
1831
 
        * app/gui.c (gui_enable_sampler_mode): Fixes for the new GUI
1832
 
        layout in 0.1.1.
1833
 
 
1834
 
        * app/menubar.c: Added menubar_enable() and menubar_disable()
1835
 
 
1836
 
        * app/gui-subs.c (gnome_app_ok_cancel_modal): Moved from menubar.c
1837
 
        to this file.
1838
 
 
1839
 
        * app/gtkspinbutton.[ch]: Removed.
1840
 
 
1841
 
        * app/gui-subs.c (gui_subs_create_slider):
1842
 
        (gui_put_labelled_spin_button): Use extspinbutton_new() instead of
1843
 
        gtk_spin_button_new()
1844
 
 
1845
 
        * app/extspinbutton.[ch]: New widget which inherits from
1846
 
        GtkSpinButton. The old gtkspinbutton size adjustment hack has been
1847
 
        implemented in a clean object-oriented fashion now.
1848
 
 
1849
 
        * app/track-editor.c (tracker_page_handle_keys): Added support for
1850
 
        keyoff note.
1851
 
 
1852
 
        * app/keys.c: Added keyoff note key.
1853
 
 
1854
 
1999-04-30  Michael Krause  <m.krause@tu-harburg.de>
1855
 
 
1856
 
        * app/xm.c (XM_Load): Trap xm_load_xm_instruments errors
1857
 
        (xm_load_xm_instrument): Return error codes instead of doing
1858
 
        exit(1).
1859
 
 
1860
 
        * app/instrument-editor.c (instrument_page_handle_keys),
1861
 
        app/module-info.c (modinfo_page_handle_keys), app/sample-editor.c
1862
 
        (sampler_page_handle_keys): Adjusted for new keys handling
1863
 
 
1864
 
        * app/gui.c (gui_play_note): Signature changed; takes note number
1865
 
        instead of KeySym now.
1866
 
 
1867
 
        * app/track-editor.c (tracker_page_handle_keys): Adjusted for new
1868
 
        keys handling.
1869
 
        (track_editor_handle_column_input): Renamed from insert_note();
1870
 
        the note column is handled at the beginning of
1871
 
        tracker_page_handle_keys() directly.
1872
 
 
1873
 
        * app/keys.[ch]: New file name of notekeys.[ch]. Some fixes to
1874
 
        handle more key combinations.
1875
 
 
1876
 
1999-04-28  Michael Krause  <m.krause@tu-harburg.de>
1877
 
 
1878
 
        * app/st-subs.c (st_clean_song): Initialize xm->flags to zero.
1879
 
 
1880
 
1999-04-27  Michael Krause  <m.krause@tu-harburg.de>
1881
 
 
1882
 
        * app/notekeys.c: Nearly rewritten for the configuration
1883
 
        dialog. Still a little bit buggy, and it can't save the settings,
1884
 
        but better than nothing for now.
1885
 
 
1886
 
        * app/gui-subs.c (build_option_menu): Taken from testgtk.c
1887
 
        (get_clist_in_scrolled_window): Moved from module-info.c
1888
 
 
1889
 
1999-04-23  Michael Krause  <m.krause@tu-harburg.de>
1890
 
 
1891
 
        * app/notekeys.c: Start designing notekeys configuration dialog.
1892
 
 
1893
 
        * app/menubar.c: Added "Settings" / "Keyboard Configuration".
1894
 
 
1895
 
1999-04-22  Michael Krause  <m.krause@tu-harburg.de>
1896
 
 
1897
 
        * app/audio.c: Added #include <string.h> for glibc 2.1.1
1898
 
 
1899
 
1999-04-19  Michael Krause  <m.krause@tu-harburg.de>
1900
 
 
1901
 
        * app/track-editor.c (insert_note):
1902
 
        (tracker_page_handle_keys): accept capital letters as key
1903
 
        accelerators as well. Don't worry about additional modifiers.
1904
 
 
1905
 
        * app/sample-editor.c: Use mixer_sample_word_length instead of
1906
 
        accessing type field directly.
1907
 
        (sample_editor_copy_cut_common): remove_clicked() extended to
1908
 
        handle the copy'n'paste buffer. Cut, Remove and Copy call this
1909
 
        one.
1910
 
        (sample_editor_convert_sample): added
1911
 
        (sample_editor_resolution_changed): use convert_sample()
1912
 
        (sample_editor_paste_clicked): implemented
1913
 
        (sample_editor_page_create): enable cut, copy and paste buttons.
1914
 
        (sample_editor_resolution_changed),
1915
 
        (sample_editor_copy_cut_common),
1916
 
        (sample_editor_paste_clicked): remove set_sample(NULL) calls; fixes
1917
 
        crashes while unlock()ing (oops :D).
1918
 
        (sample_editor_init_sample): added
1919
 
 
1920
 
        * app/mixer.h (mixer_sample_word_length): New helper function.
1921
 
 
1922
 
1999-04-18  Michael Krause  <m.krause@tu-harburg.de>
1923
 
 
1924
 
        * app/gui.c (programlist_initialize): This function could destroy
1925
 
        the restart position value. Fixed.
1926
 
 
1927
 
1999-04-13  Michael Krause  <m.krause@tu-harburg.de>
1928
 
 
1929
 
        * app/audio.c (audio_raise_priority): Replace nice() call by
1930
 
        sched_setscheduler() call to get realtime priority. Now
1931
 
        soundtracker crashes the whole machine randomly while playing :(
1932
 
        Using nice() only for now. You can remove the "&& 0" condition to
1933
 
        test the realtime scheduler if you want.
1934
 
 
1935
 
        * app/audio.c: Added #include <errno.h>
1936
 
        
1937
 
1999-03-22  Michael Krause  <m.krause@tu-harburg.de>
1938
 
 
1939
 
        * configure.in, INSTALL: audiofile 0.1.5 is sufficient.
1940
 
 
1941
 
1999-03-21  Michael Krause  <m.krause@tu-harburg.de>
1942
 
 
1943
 
        * Released v0.1.1
1944
 
 
1945
 
        * INSTALL: Updated requirements.
1946
 
 
1947
 
        * app/module-info.c (get_clist_in_scrolled_window),
1948
 
        app/gtkspinbutton.c: Remove gtk+-1.0 special-casing.
1949
 
 
1950
 
        * configure.in: Require gtk+-1.2.0. I really need some new
1951
 
        functions like gtk_table_resize() and gtk_window_set_modal().
1952
 
 
1953
 
1999-03-20  Michael Krause  <m.krause@tu-harburg.de>
1954
 
 
1955
 
        * app/envelope-box.c (envelope_box_new): Removed
1956
 
        put_labelled_spin_button in favour of
1957
 
        gui-subs.c/gui_put_labelled_spin_button()
1958
 
 
1959
 
        * app/gui-subs.c (gui_put_labelled_spin_button): Additional
1960
 
        argument 'callbackdata'
1961
 
 
1962
 
        * app/menubar.c: Added non-GNOME implementations of the menu bar
1963
 
        and the dialog functions; this is based on Peter Zelezny's
1964
 
        xchat-0.9.2/menu.c.
1965
 
 
1966
 
        * app/scope-group.c: ScopeGroup is now a GTK+ widget and uses a
1967
 
        table to layout the scopes in two rows. Hmm, yes. Much better :-)
1968
 
 
1969
 
        * app/sample-display.c (sample_display_size_request): Reduced
1970
 
        minimum height to 32 pixels.
1971
 
 
1972
 
        * app/gui.c (gui_init): Reworked layout of the upper part of the
1973
 
        main window. Hmm, yes. Much better :-)
1974
 
 
1975
 
        * app/gui-subs.c (gui_subs_create_slider): Returns GtkWidget
1976
 
        instead of adding it to a destbox.
1977
 
 
1978
 
        * app/gui-subs.h: Added type field to gui_subs_slider through
1979
 
        which you can disable the hscale in addition to the spinbutton.
1980
 
 
1981
 
        * app/preferences.c (prefs_page_create), app/instrument-editor.c
1982
 
        (instrument_editor_update): Use gui_subs_set_slider().
1983
 
 
1984
 
        * app/gui-subs.c (gui_subs_set_slider_value):
1985
 
        (gui_subs_get_slider_value): Added new functions for opaque
1986
 
        handling of "gui_subs_slider"s.
1987
 
 
1988
 
        * app/preferences.c: Moved Doublebuffer and Scopes toggles to the
1989
 
        preferences page.
1990
 
 
1991
 
1999-03-19  Michael Krause  <m.krause@tu-harburg.de>
1992
 
 
1993
 
        * app/sample-editor.c (sample_editor_loopradio_changed): Only
1994
 
        update sample.looptype if it has really changed.
1995
 
 
1996
 
        * app/track-editor.c, app/sample-editor.c,
1997
 
        app/instrument-editor.c, app/envelope-box.c, app/gui.c,
1998
 
        app/module-info.c: Update xm->modified at all relevant places.
1999
 
 
2000
 
        * app/xm.h (xm_get_modified, xm_set_modified): Helper functions to
2001
 
        access the modified flag.
2002
 
 
2003
 
        * app/gui.c (file_selected), app/menubar.c
2004
 
        (menubar_clear_clicked): Implemented confirmation dialogs.
2005
 
 
2006
 
        * app/menubar.c: Added menu bar containing functions which don't
2007
 
        have to be available as buttons. Moved some stuff from gui.c here.
2008
 
        (menubar_quit_requested): This was gui_quit_requested(), and now
2009
 
        it asks the user before actually quitting (in case the module has
2010
 
        been modified).
2011
 
 
2012
 
        * app/gui.c (gui_init): Added GNOME code (some the above GNOME
2013
 
        stuff is also inspired by Greg S. Hayes' work).
2014
 
        
2015
 
        * configure.in: Added GNOME check; copied from xchat-0.9.2 because
2016
 
        it includes a --disable-gnome option which is essential for me.
2017
 
        
2018
 
        * app/xm.c (xm_load_mod): Add some more sanity checks to the loop
2019
 
        point initialization.
2020
 
 
2021
 
1999-03-16  Michael Krause  <m.krause@tu-harburg.de>
2022
 
 
2023
 
        * app/sample-editor.c (sample_editor_load_wav): Sample loader uses
2024
 
        the audiofile library now. Kinda works, but I didn't really
2025
 
        understand the audiofile API.
2026
 
 
2027
 
        * configure.in: Added check for audiofile library.
2028
 
 
2029
 
1999-03-07  Michael Krause  <m.krause@tu-harburg.de>
2030
 
 
2031
 
        * app/audio.c (mixer_mix_and_handle_scopes): Call mixer->mix with
2032
 
        scopebufs == NULL when scopes are disabled in the GUI.
2033
 
 
2034
 
        * app/mixers/lqmono.c (lqmono_mix): Only write scope data if
2035
 
        scopebufs != NULL.
2036
 
 
2037
 
        * app/scope-group.c: Made scopes_on variable global.
2038
 
 
2039
 
1999-03-02  Michael Krause  <m.krause@tu-harburg.de>
2040
 
 
2041
 
        * app/audio.c (audio_thread): Don't die if poll() returns EINTR.
2042
 
 
2043
 
        * app/Makefile.am: Added install-exec-local rule which sets the
2044
 
        setuid bit on the soundtracker executable.
2045
 
 
2046
 
        * app/main.c (main): Handle user ID's correctly. SoundTracker can
2047
 
        now safely run setuid root; the mixer thread will run at a high
2048
 
        priority then.
2049
 
 
2050
 
        * The audio subsystem is now automatically informed of loop
2051
 
        setting changes; you don't have to play the song to initialize the
2052
 
        sample settings any longer. You can also load, edit and save
2053
 
        samples without having to stop playing.
2054
 
 
2055
 
        * app/xm-player.c (xmplayer_play_note): Don't modify
2056
 
        channel->nextsamp (fixes segfault).
2057
 
 
2058
 
        * app/sample-editor.c: Lock the sample before changing it in any
2059
 
        way and tell the mixer about it.
2060
 
 
2061
 
        * app/mixers/lqmono.c (lqmono_mix): Lock the sample we are
2062
 
        currently mixing.
2063
 
 
2064
 
        * app/xm-player.c (channel): Removed nextsampid and cursampid
2065
 
 
2066
 
        * app/xm.c, app/sample-editor.c, app/xm-player.c: Update for new
2067
 
        sample structure
2068
 
 
2069
 
        * app/lqmono.c: Updated; removed the big sample info array.
2070
 
        
2071
 
        * app/audio.c (driver_startnote): Changed signature to use pointer
2072
 
        to st_mixer_sample_info
2073
 
 
2074
 
        * app/xm-player.c (xmplayer_init_playing): Removed sample
2075
 
        initialization, it's not needed any longer
2076
 
 
2077
 
        * app/audio.c: Removed driver_setsample
2078
 
 
2079
 
        * app/mixer.h, app/xm.h et al: Sample structure updated;
2080
 
        encapsulated mixer relevant data.  Added synchronization mutex.
2081
 
 
2082
 
        * app/audio.c (mixer_mix): Removed some stupid debugging code.
2083
 
 
2084
 
        * app/driver.h, app/drivers/oss.c: Removed some superfluous code
2085
 
        that I've prepared to handle self-mixing soundcards. I'm not going
2086
 
        to implement this feature in the near future, and it needs more
2087
 
        code changes anyway, so I'm removing it completely.
2088
 
 
2089
 
        * app/xm.c (xm_load_mod): Load more module formats (patch by Maik
2090
 
        Naeher)
2091
 
 
2092
 
1999-02-17  Michael Krause  <m.krause@tu-harburg.de>
2093
 
 
2094
 
        * Released v0.1.0
2095
 
 
2096
 
        * app/preferences.c: Added sliders adjusting the update frequency
2097
 
        of the scopes and the pattern scrolling.
2098
 
        * app/scope-group.c (scope_group_set_update_freq):
2099
 
        * app/track-editor.c (tracker_set_update_freq): New functions
2100
 
 
2101
 
        * app/xm-player.c: * app/audio.c: * app/scope-group.c: Channels
2102
 
        can be muted again by toggling its scope button.
2103
 
 
2104
 
        * app/module-info.c (modinfo_page_handle_keys): Added Linear/Amiga
2105
 
        frequency choices, and ProTracker mode toggle. Besides that, you
2106
 
        can play notes on the keyboard in the module info page now.
2107
 
 
2108
 
        * app/gui.c: Added Tempo and BPM sliders.
2109
 
 
2110
 
        * app/gui-subs.c (gui_subs_create_slider): Generic
2111
 
        slider/spinbutton combination.
2112
 
 
2113
 
        * app/gui.c: Moved general GUI helper functions to gui-subs.c
2114
 
 
2115
 
        * app/xm-player.c (xmplayer_init_play_song): When starting playing
2116
 
        at song position 0, reinitialize tempo and bpm.
2117
 
 
2118
 
        * app/audio.c (audio_play):
2119
 
        (audio_ctlpipe_set_songpos): * app/gui.c (gui_update_player_pos):
2120
 
        (read_mixer_pipe): Proper "set song position" synchronization.
2121
 
        (read_mixer_pipe): gui_enable(1) when playing has stopped.
2122
 
        (gui_enable): Handling some more widgets here.
2123
 
 
2124
 
1999-02-11  Michael Krause  <m.krause@tu-harburg.de>
2125
 
 
2126
 
        * app/gui.c (init_xm): Call tracker_set_num_channels().
2127
 
 
2128
 
        * app/tracker.c (tracker_set_num_channels): New
2129
 
        function. tracker.c is independent of the global xm pointer now.
2130
 
 
2131
 
1999-02-06  Michael Krause  <m.krause@tu-harburg.de>
2132
 
 
2133
 
        * app/xm-player.c (xmplayer_final_channel_ops): Don't handle
2134
 
        envelopes, vibrato and volfade in ProTracker mode.
2135
 
        (PlayNote): Split function into two, one for PT and one for FT, to
2136
 
        avoid excessive ismod checks.
2137
 
        (xm_player_playnote_protracker): Remove unnecessary statements,
2138
 
        dealing with keyoff, sustain and so on..
2139
 
 
2140
 
1999-02-05  Michael Krause  <m.krause@tu-harburg.de>
2141
 
 
2142
 
        * app/xm-player.c (PlayNote): Moved note initialization to
2143
 
        xm_player_start_note().
2144
 
        (xmpPlayTick): Moved glissando handling to
2145
 
        xm_player_handle_glissando().
2146
 
        (PlayNote): Moved frq initialization to xm_player_get_note_freq().
2147
 
        (channel): Renamed ArpNotes to ArpOffsets.
2148
 
        (xmpPlayTick): Arpeggios for ProTracker modules use curtick % 3 as
2149
 
        arpeggio index.
2150
 
        (xm_player_get_note_frq): For ProTracker modules we fetch the
2151
 
        correct period value from the new table 'protracker_periods',
2152
 
        which was taken from the original ProTracker replayer.
2153
 
        (xmplayer_final_channel_ops): For ProTracker modules we calculate
2154
 
        the frequency out of the period according to the Amiga
2155
 
        Manuals. All these changes result in a perfect mod replay: long
2156
 
        samples no longer get out of sync as they do in most
2157
 
        (all?) other PC module players.
2158
 
        (xmpPlayTick): E10 and E20 are no-ops in ProTracker (they don't
2159
 
        take the last-used value and slide around).
2160
 
        (freqrange): Fixed frequency range check for ProTracker modules.
2161
 
 
2162
 
1999-01-30  Michael Krause  <m.krause@tu-harburg.de>
2163
 
 
2164
 
        * app/envelope-box.c: Removed frame
2165
 
 
2166
 
1999-01-28  Michael Krause  <m.krause@tu-harburg.de>
2167
 
 
2168
 
        * app/instrument-editor.c: Added volfade and vibrato widgets
2169
 
 
2170
 
        * app/xm.c (xm_load_xm_instrument): vibtype sanity check
2171
 
 
2172
 
        * app/gui.c: Moved some GUI helper functions from preferences.c
2173
 
 
2174
 
1999-01-21  Michael Krause  <m.krause@tu-harburg.de>
2175
 
 
2176
 
        * Released v0.0.13
2177
 
 
2178
 
1999-01-20  Michael Krause  <m.krause@tu-harburg.de>
2179
 
 
2180
 
        * app/gui.c (gui_update_player_pos): Moved gdk_flush() call from
2181
 
        the beginning of read_mixer_pipe() to the end of this function.
2182
 
 
2183
 
1999-01-16  Michael Krause  <m.krause@tu-harburg.de>
2184
 
 
2185
 
        * app/gui.c: Disabled clipping LED.
2186
 
 
2187
 
1999-01-15  Michael Krause  <m.krause@tu-harburg.de>
2188
 
 
2189
 
        * app/preferences.c: Preferences page for main window
2190
 
        notebook. Playing parameters can be set independently for editing
2191
 
        and playing mode. Added necessary extensions to the audio
2192
 
        subsystem (driver->setprefs() function). We don't load & save the
2193
 
        preferences yet.
2194
 
 
2195
 
        * app/scope-group.c, app/track-editor.c, app/audio.c (audio_time),
2196
 
        app/gui.c (gui_audio_tick): Don't let audio subsystem issue ticks
2197
 
        into the backpipe; use time stamps in public variables
2198
 
        (audio_playerpos_*) instead.
2199
 
 
2200
 
        * app/gui.c (gui_update_player_pos): Return if set_songpos_count
2201
 
        != 0.
2202
 
 
2203
 
        * app/audio.c (audio_play): Using last_synctime_driver instead of
2204
 
        player time as time stamp.
2205
 
 
2206
 
1999-01-14  Michael Krause  <m.krause@tu-harburg.de>
2207
 
 
2208
 
        * app/drivers/oss.c (oss_open): fragsize is returned as a byte
2209
 
        count by OSS, but was used as a sample count in the code (this
2210
 
        resulted in oss_poll_ready_playing() blocking at the write()
2211
 
        call). Fixed. Playback should be smoother now.
2212
 
 
2213
 
1999-01-11  Michael Krause  <m.krause@tu-harburg.de>
2214
 
 
2215
 
        * app/track-editor.c (tracker_timeout):
2216
 
        (tracker_start_updating):
2217
 
        (tracker_stop_updating):
2218
 
        (tracker_set_time): New functions, mostly c'n'p from
2219
 
        scope-group.c.  Pattern and song position are updated independent
2220
 
        of audio player ticks now; this should give smoother and more
2221
 
        exact display updates when using large fragment sizes.
2222
 
 
2223
 
        * app/gui.c (gui_update_player_pos): This is not done from
2224
 
        track-editor.c since some of the variables should belong to gui.c
2225
 
        only.
2226
 
 
2227
 
        * app/audio.c (audio_play): Added ring buffer for player position.
2228
 
 
2229
 
1998-12-29  Michael Krause  <m.krause@tu-harburg.de>
2230
 
 
2231
 
        * app/xm-player.c (xmpPlayTick): Did the same change to the Fine
2232
 
        VolSlide effects.
2233
 
 
2234
 
1998-12-26  Michael Krause  <m.krause@tu-harburg.de>
2235
 
 
2236
 
        * app/xm-player.c (xmpPlayTick): Bug fix: The A00 effect (VolSlide
2237
 
        with argument 0) in ProTracker modules does nothing, in
2238
 
        FastTracker modules it uses the previously used argument
2239
 
        (mod.Stardust Memories by Jester).
2240
 
 
2241
 
1998-12-19  Michael Krause  <m.krause@tu-harburg.de>
2242
 
 
2243
 
        * app/xm.c (XM_Load): A failed header length checking doesn't
2244
 
        prevent loading the rest of the module. SoundTracker versions
2245
 
        earlier than 0.0.12 could save the wrong value in here and 0.0.12
2246
 
        couldn't load those modules.
2247
 
 
2248
 
        * app/xm-player.c: Ported KB's OpenCP fixes from 981126. This
2249
 
        mostly affects PlayNote(), vibrato and some strange envelope
2250
 
        sustain handling fix.
2251
 
 
2252
 
1998-12-13  Michael Krause  <m.krause@tu-harburg.de>
2253
 
 
2254
 
        * Released v0.0.12
2255
 
 
2256
 
        * app/sample-display.c (sample_display_draw_main): Removed
2257
 
        assertion check against s->width, which was frequently triggered
2258
 
        when changing the number of channels. We're just returning
2259
 
        immediately now.
2260
 
 
2261
 
        * app/gui.c (read_mixer_pipe): PLAYING_STOPPED case: enabling GUI
2262
 
        and setting pattern position only if GUI was disabled.
2263
 
 
2264
 
1998-12-12  Michael Krause  <m.krause@tu-harburg.de>
2265
 
 
2266
 
        * app/module-info.c (modinfo_delete_unused_instruments): This
2267
 
        function is triggered by the new button "Delete unused
2268
 
        instruments" and deletes all unused instrument in the current XM.
2269
 
 
2270
 
        * app/st-subs.c (st_instrument_used_in_song): New function, finds
2271
 
        out if an instrument is used in an XM.
2272
 
 
2273
 
        * app/gui.c (programlist_songpos_changed): Don't change editing
2274
 
        pattern when browsing in the playlist.
2275
 
 
2276
 
        * app/gtkspinbutton.c (gtk_spin_button_insert_text),
2277
 
        app/module-info.c: gtk+-1.1.7 compatibility fixes.
2278
 
 
2279
 
        * app/xm-player.c (xmplayer_play_note): Clear channel data before
2280
 
        initializing new note.
2281
 
 
2282
 
        * app/sample-editor.c (sample_editor_update): Check current_sample
2283
 
        against NULL and disable the editor if there's no sample.
2284
 
 
2285
 
        * app/xm.c (XM_Save): Saving amiga frequencies flag if set.
2286
 
 
2287
 
        * app/sample-editor.c: Sampling is working again. Enabled
2288
 
        'Monitor' button.
2289
 
 
2290
 
1998-12-11  Michael Krause  <m.krause@tu-harburg.de>
2291
 
 
2292
 
        * app/drivers/oss.c (oss_open): Added sampling support.
2293
 
 
2294
 
        * app/audio.c (audio_lock, audio_unlock): Added locking
2295
 
        primitives. (audio_sampled): Added basic support for sampling;
2296
 
        limited to 16bit 44.1kHz mono sampling currently.
2297
 
 
2298
 
1998-12-10  Michael Krause  <m.krause@tu-harburg.de>
2299
 
 
2300
 
        * app/xm-player.c (xmplayer_final_channel_ops): If ismod is set,
2301
 
        pan channels 0 and 3 to the left and channels 1 and 2 to the right
2302
 
        (Amiga stereo support is very digital: left or right :D)
2303
 
 
2304
 
        * app/mixers/lqmono.c: Support stereo mixing.
2305
 
 
2306
 
        * app/audio.c (mixer_mix): Fixed stereo-to-mono conversion.
2307
 
 
2308
 
        * app/xm-player.c (xmplayer_final_channel_ops): ch->chFinalPitch
2309
 
        == 0 is only wrong for Amiga frequencies.
2310
 
 
2311
 
        * app/gui.c (play_song, play_pattern): Moved GUI disabling calls
2312
 
        to read_mixer_pipe(). (gui_enable): renamed from
2313
 
        gui_enable_widgets_for_play_mode().
2314
 
 
2315
 
        * app/gui.h: New convenience macros (GUI_ENABLED, GUI_EDITING).
2316
 
        Renamed playing to gui_playing_mode and exported enum's.
2317
 
 
2318
 
        * app/gui.c (read_mixer_pipe), app/track-editor.c, app/audio.c:
2319
 
        Note playing and editing fixed.
2320
 
 
2321
 
1998-12-09  Michael Krause  <m.krause@tu-harburg.de>
2322
 
 
2323
 
        * app/scope-group.c (scope_group_create): Setting group spacing to
2324
 
        0. Making buttons insensitive.
2325
 
 
2326
 
        * app/xm-player.c (xmplayer_final_channel_ops): Test
2327
 
        ch->chFinalPitch against 0 before setting sample frequency.  Fixes
2328
 
        crashes on a lot of modules.
2329
 
 
2330
 
        * app/xm.c (xm_save_xm_pattern): Empty patterns are saved with
2331
 
        data length 0.
2332
 
 
2333
 
1998-12-08  Michael Krause  <m.krause@tu-harburg.de>
2334
 
 
2335
 
        * app/xm.c: Various bug fixes and note saving compression:
2336
 
        (xm_save_xm_instrument): Always use 40 as sample header size.
2337
 
        (xm_put_xm_note): xm_save_xm_note() renamed, renders into a buffer
2338
 
        now instead of into a file. Added note compression.
2339
 
        (xm_save_xm_pattern): Rewritten for xm_put_xm_note().
2340
 
        (XM_Save): put_le_32(xh + 60, ...) instead of put_le_16(). XM's
2341
 
        saved by ST can be loaded into MikIT and FastTracker now :)
2342
 
        (XM_Load): get_le_32(xh + 60, ...) instead of get_le_16().
2343
 
 
2344
 
1998-12-03  Michael Krause  <m.krause@tu-harburg.de>
2345
 
 
2346
 
        * Released v0.0.11-fixes patch
2347
 
        
2348
 
        * app/audio.c: #include <sys/time.h> needed for glibc2.
2349
 
 
2350
 
        * app/module-info.c: Replaced GTK_HAVE_FEATURES_1_1_5 check by
2351
 
        explicit check of gtk version.
2352
 
        
2353
 
1998-12-01  Michael Krause  <m.krause@tu-harburg.de>
2354
 
 
2355
 
        * Released v0.0.11
2356
 
        
2357
 
        * app/audio.c, app/gui.c: Clipping indicator working again.
2358
 
 
2359
 
        * app/audio.c (driver_sync): Pitchbend can now be changed while
2360
 
        playing without crashing.
2361
 
 
2362
 
        * app/gui.c (gui_init): Added pitchbend slider.
2363
 
 
2364
 
        * app/gui.c (gui_adj_amplification_changed): Updated for the new
2365
 
        audio.c.
2366
 
 
2367
 
        * app/audio.c, app/xm-player.c: Added keyboard note playing.
2368
 
        Entered notes are played on the channel the cursor is positioned
2369
 
        in, not in a hidden internal 33rd one as v0.0.10 and earlier did
2370
 
        it.
2371
 
 
2372
 
1998-11-30  Michael Krause  <m.krause@tu-harburg.de>
2373
 
 
2374
 
        * app/scope-group.c (scope_group_timeout): Fixed the remaining
2375
 
        bugs (rewritten).
2376
 
 
2377
 
        * app/sample-display.c (sample_display_set_data): These functions
2378
 
        can copy the provided sample into their own buffer now.
2379
 
 
2380
 
1998-11-29  Michael Krause  <m.krause@tu-harburg.de>
2381
 
 
2382
 
        * app/scope-group.c, app/audio.c, app/mixer.h: I finally have
2383
 
        working scopes again. The new code updates the scopes
2384
 
        independently of the audio thread, so the scopes are updated
2385
 
        frequently even if the audio fragment size is large.  There are
2386
 
        still some bugs in here, and the code needs cleanup, but that
2387
 
        doesn't matter at the moment.
2388
 
 
2389
 
        * app/sample-display.c (sample_display_new): Widget can be created
2390
 
        without the loop and selection editing properties; it is basically
2391
 
        the scope widget in that case.
2392
 
 
2393
 
        * Removed scope.c and scope.h; sample-display.c offers the same
2394
 
        functionality.
2395
 
 
2396
 
1998-11-28  Michael Krause  <m.krause@tu-harburg.de>
2397
 
 
2398
 
        * app/xm-player.c, app/audio.c, app/drivers/oss.c: Updated to use
2399
 
        the new polling scheme.
2400
 
 
2401
 
        * app/driver.h: Added general fd poll() functions for the driver
2402
 
        modules.
2403
 
 
2404
 
1998-11-25  Michael Krause  <m.krause@tu-harburg.de>
2405
 
 
2406
 
        * Whoo. I see that my just recently updated Emacs has a new date
2407
 
        style. And I always wondered who's interested in the exact day
2408
 
        time in a ChangeLog :)
2409
 
 
2410
 
        * app/module-info.c (get_clist_in_scrolled_window): New function
2411
 
        to accomodate to the new clist handling in gtk+-1.1.5
2412
 
 
2413
 
Mon Nov 23 16:59:20 1998  Michael Krause  <m.krause@tu-harburg.de>
2414
 
 
2415
 
        * app/drivers/oss.c (oss_open): Rewrote to use the new mixer
2416
 
        interface.  Tries more playback formats now (unsigned and signed
2417
 
        16 bits little endian / big endian as well as unsigned / signed 8
2418
 
        bit formats) and can also play stereo (there's just the mixer
2419
 
        which has to make use of this :D)
2420
 
 
2421
 
        * app/sample-display.c (sample_display_realize):
2422
 
        * app/scope.c (scope_realize):
2423
 
        * app/tracker.c (tracker_realize): Removed gtk_style_detach()
2424
 
        calls. They caused a crash on some people's machines and were
2425
 
        useless anyway.
2426
 
 
2427
 
        * app/audio.c: Added sound format conversion layer between driver
2428
 
        and mixer. Also added extra layer between XM player and the driver
2429
 
        so we can handle things like pitchbending and balancing
2430
 
        transparently. Pitchbending variable works perfectly.
2431
 
 
2432
 
Thu Nov 19 19:48:28 1998  Michael Krause  <m.krause@tu-harburg.de>
2433
 
 
2434
 
        * app/xm-player.c (xmpPlayTick): Added some last changes to make
2435
 
        amiga frequencies work.
2436
 
 
2437
 
        * app/xm.c (xm_load_mod): Set xm->flags to IS_MOD and AMIGA_FREQ.
2438
 
        (XM_Load): Set xm->flags to AMIGA_FREQ if necessary.
2439
 
 
2440
 
        * app/xm.h: Add flags field
2441
 
 
2442
 
Wed Nov 18 17:44:23 1998  Michael Krause  <m.krause@tu-harburg.de>
2443
 
 
2444
 
        * app/poll.c: poll() emulation via select(). Cleans up the #ifdef
2445
 
        mess in some of the other files.
2446
 
 
2447
 
        * app/sample-editor.c: Sampling temporarily disabled until support
2448
 
        for that is in the driver module layer.
2449
 
 
2450
 
        * app/endian-conv.h: Using direct memory access on i386 machines.
2451
 
 
2452
 
        * app/xm.c (xm_save_xm_instrument): Save vibrato and volfade
2453
 
        settings
2454
 
 
2455
 
Sat Nov 14 17:33:15 1998  Michael Krause  <m.krause@tu-harburg.de>
2456
 
 
2457
 
        * app/xm.c (xm_load_xm_instrument): Loading vibrato and volfade
2458
 
        settings.
2459
 
 
2460
 
        * app/xm.h: New fields for vibrato settings and volume fadeout.
2461
 
 
2462
 
        * I've just finished a first working version of the new player
2463
 
        system. Also I've decided to replace my own XM player by the one
2464
 
        from OpenCP. The following is a rough description of the changes:
2465
 
 
2466
 
        * app/audio.c: This file contains the audio handler thread (it
2467
 
        will also handle sampling). It controls the driver and player
2468
 
        (Note that the player is not (yet) modularized) and the mechanism
2469
 
        for communicating with the main thread.
2470
 
 
2471
 
        * app/driver.h: Contains driver module definitions. The driver is
2472
 
        the primary interface which audio.c deals with. I've written it
2473
 
        with auto-sequencer devices like GUS and AWE in mind, but this
2474
 
        might still need some tuning, as I don't own such a card.
2475
 
 
2476
 
        * app/drivers/: Contains available driver modules. A driver module
2477
 
        supplies functions for playing and sampling data.
2478
 
 
2479
 
        * app/mixer.h: Mixer module definitions. Mixer functions are
2480
 
        usually only called by the driver module which needs the
2481
 
        mixer. The rest of SoundTracker doesn't care whether a mixer is
2482
 
        needed or not.
2483
 
 
2484
 
        * app/mixers/: The available mixer modules. lqmono.c contains the
2485
 
        mixer routines as found in 0.0.10.
2486
 
        
2487
 
        * app/xm-player.c: XM player routines. xmplayer_play() calls the
2488
 
        driver functions directly and returns when driver->sync()
2489
 
        blocks. Alright, this is the new OpenCP player.  It's supposed to
2490
 
        be the most FastTracker compatible player out there, despite of
2491
 
        the chaotic source code :) Had to rewrite all the envelope
2492
 
        handling and note / effect retrieval.
2493
 
 
2494
 
        * app/main.c (main): The former mixer communication pipe is
2495
 
        allocated here; also we currently initialize the audio thread with
2496
 
        the OSS driver and the lqmono mixer.
2497
 
        
2498
 
        * app/mixer.c: Is now obsolete.
2499
 
        
2500
 
Sat Nov  7 14:19:40 1998  Michael Krause  <m.krause@tu-harburg.de>
2501
 
 
2502
 
        * Starting to think about a modular audio driver and mixer system.
2503
 
 
2504
 
Sun Nov  1 12:37:39 1998  Michael Krause  <m.krause@tu-harburg.de>
2505
 
 
2506
 
        * Released v0.0.10
2507
 
 
2508
 
        * app/xm.c: Doing charset conversion in the XM loader and saver.
2509
 
 
2510
 
        * app/recode.c: New file; converts characters between IBM PC and
2511
 
        ISO Latin1 encodings (derived from the recode source code).
2512
 
 
2513
 
        * app/mixer.c (mixer_fill_buffer): Changed some loop calculations.
2514
 
        I'm not yet completely happy with this piece of code.
2515
 
        
2516
 
        * app/gui.c: Added amplification slider and clipping indicator.
2517
 
 
2518
 
        * app/xm.c (xm_load_mod): Initialize sample only if length > 0.
2519
 
        Check for correct loop parameters.
2520
 
 
2521
 
        * app/track-editor.c (vscrollbar_changed): Block patpos signal
2522
 
        handler before tracker_set_patpos().
2523
 
 
2524
 
Fri Oct 30 20:13:58 1998  Michael Krause  <m.krause@tu-harburg.de>
2525
 
 
2526
 
        * app/sample-editor.c: WAV loader and saver do endianness
2527
 
        conversion and handle 8 and 16 bit samples. Added relnote spin
2528
 
        button, resolution display and sample length display. Telling the
2529
 
        mixer to stop playing before doing destructive sample operations.
2530
 
        (sample_editor_ok_clicked): Initialize sample type.
2531
 
 
2532
 
Thu Oct 29 18:30:29 1998  Michael Krause  <m.krause@tu-harburg.de>
2533
 
 
2534
 
        * app/mixer.c (mixer_fill_buffer): Added amplification and signal
2535
 
        clipping.
2536
 
 
2537
 
        * app/xm.c (xm_load_mod): Initialize s->panning to 128.
2538
 
 
2539
 
        * app/mixer.c (mixer_fill_buffer): Added support for 8 bit
2540
 
        samples.
2541
 
 
2542
 
        * app/xm.c: Added support for 8 bit samples in XM loader/saver and
2543
 
        MOD loader.
2544
 
 
2545
 
        * app/sample-display.c (sample_display_draw_data): Added support
2546
 
        for 8 bit sample data.
2547
 
 
2548
 
        * app/xm.h (struct STSample): renamed 'type' to 'loop' and added
2549
 
        new field 'type' which indicates 16 or 8 bit sample.
2550
 
 
2551
 
        * app/sample-display.c (handle_motion): Bug fixed: end points
2552
 
        could be equal to the starting points.
2553
 
 
2554
 
Wed Oct 28 15:11:43 1998  Michael Krause  <m.krause@tu-harburg.de>
2555
 
 
2556
 
        * app/sample-editor.c: Added some assertions to make sure that the
2557
 
        loop and selection ends are always to the right of the start
2558
 
        points.
2559
 
 
2560
 
        * app/sample-display.c: Made the whole source a lot more readable
2561
 
        and fixed a good number of bugs. Thanks to Darin Ohashi for
2562
 
        finding one of them.
2563
 
 
2564
 
        * configure.in: Check for select() only if poll() is not found.
2565
 
 
2566
 
        * app/gtkspinbutton.c (gtk_spin_button_configure): Fixed some
2567
 
        compatibility #ifdef's and compiler warnings.
2568
 
 
2569
 
        * app/mixer.c: Use poll() instead of select() when available.
2570
 
 
2571
 
        * gui.c, sample-editor.c, configure.in: Doesn't fail when poll()
2572
 
        is not available -- falling back to select().
2573
 
 
2574
 
Mon Oct 26 11:51:14 1998  Michael Krause  <m.krause@tu-harburg.de>
2575
 
 
2576
 
        * app/xm.c: Cleaned up and made all routines endianness- and
2577
 
        typesize-safe.
2578
 
 
2579
 
        * app/st-subs.c: New file; moved some of the more general
2580
 
        functions from xm.c to this place.
2581
 
 
2582
 
        * configure.in (CFLAGS): Added -Wall. And I always wondered why I
2583
 
        got so few compiler warnings in the last few days :)
2584
 
 
2585
 
        * app/xm.h: Got rid of the num_patterns and num_instruments
2586
 
        fields. These were only relevant to xm.c anyway.
2587
 
 
2588
 
Sun Oct 25 18:18:05 1998  Michael Krause  <m.krause@tu-harburg.de>
2589
 
 
2590
 
        * app/mixer.c (player_tick): Instrument without note retriggers
2591
 
        volume and envelope now.
2592
 
 
2593
 
        * Released v0.0.9
2594
 
 
2595
 
        * TODO: Added a lot of things.
2596
 
 
2597
 
        * README: Added a list of keyboard mappings.
2598
 
 
2599
 
        * app/mixer.c (player_tick): Added ea* and eb* effects.
2600
 
 
2601
 
        * app/xm.c (MOD_Load): Hacked together a ProTracker module
2602
 
        loader. The finetune conversion is not really okay I think.
2603
 
 
2604
 
        * app/endian-conv.h (get_be_16): Added.
2605
 
 
2606
 
        * app/tracker.c (tracker_draw): only draw when widget is visible.
2607
 
 
2608
 
        * app/gui.c (read_mixer_pipe): case STOPPED: tracker_set_pos().
2609
 
        (play_song): change_current_pattern().
2610
 
 
2611
 
        * app/mixer.c (stop_playing): Set player_songpos and
2612
 
        player_patpos.
2613
 
 
2614
 
Wed Oct 21 20:02:24 1998  Michael Krause  <m.krause@tu-harburg.de>
2615
 
 
2616
 
        * app/gtkspinbutton.c: Hacked in some #if's to make it compile
2617
 
        with gtk+ 1.0.x.
2618
 
 
2619
 
Sun Oct 18 12:40:01 1998  Michael Krause  <m.krause@tu-harburg.de>
2620
 
 
2621
 
        * app/xm.c (XM_load_pattern): Do endianness conversion (whoops,
2622
 
        forgot that yesterday :D) and clear allocated channels.
2623
 
        (XM_load_note): optimized.
2624
 
 
2625
 
Sat Oct 17 14:43:35 1998  Michael Krause  <m.krause@tu-harburg.de>
2626
 
 
2627
 
        * Released v0.0.8
2628
 
 
2629
 
        * app/mixer.c (mixer_main): PLAY_NOTE: reset globalvolume and
2630
 
        smplcount only if we aren't playing the module.
2631
 
 
2632
 
        * app/sample-editor.c: Added "Clear", "Show All", "Zoom in" and
2633
 
        "Zoom out" operations.
2634
 
        (remove_clicked): fix loop positions after cutting.
2635
 
 
2636
 
        * app/sample-display.c: Unified semantics of the loop, selection
2637
 
        and window end: The loop, selection and window end offsets point
2638
 
        to the first sample that is not to be played in the loop / that is
2639
 
        not victim of a forthcoming sample operation / that is not to be
2640
 
        displayed.
2641
 
 
2642
 
        * app/xm.h: Replaced STSample.looplen by loopend and changed the
2643
 
        rest of the source code accordingly.
2644
 
 
2645
 
        * app/mixer.c (init_note_freq): Don't reset sample when
2646
 
        initializing 3xx effect.
2647
 
 
2648
 
        * app/sample-editor.c (load_wav, save_wav): Do endianness
2649
 
        conversion.
2650
 
 
2651
 
        * app/endian-conv.h: Moved the endianness routines from xm.c to
2652
 
        this place.
2653
 
 
2654
 
        * configure.in: Remove checks for 'const' and 'inline'. We only
2655
 
        compile on gcc anyway.
2656
 
 
2657
 
        * app/xm.c (byteswap_le_16_array): Actually implemented this
2658
 
        routine. Untested.
2659
 
        (XM_Load): Amiga frequencies are ignored but loading continues.
2660
 
        Do endianness conversion.
2661
 
        (XM_save_samples): Clear sh[] before working.
2662
 
        (XM_load_instrument): Issueing a warning if vibrato or volume
2663
 
        fadeout are used. Do endianness conversion.
2664
 
 
2665
 
        * app/sample-editor.c: Displaying selection data; reset button
2666
 
        added.
2667
 
 
2668
 
Fri Oct 16 14:46:44 1998  Michael Krause  <m.krause@tu-harburg.de>
2669
 
 
2670
 
        * app/sample-display.c (handle_motion): Almost rewritten. Should
2671
 
        be working as expected now.
2672
 
 
2673
 
        * app/sample-editor.c (sample_editor_display_loop_changed):
2674
 
        Handling the 'loop_change' signal.
2675
 
 
2676
 
        * app/sample-display.c: The loop points can be set with
2677
 
        SHIFT-button1/3. Added signals 'selection_changed' and
2678
 
        'loop_changed'.
2679
 
 
2680
 
        * app/sample-editor.c: Added loop type/start/end controls.
2681
 
 
2682
 
        * app/gtkspinbutton.c: Modified version of the original GTK+
2683
 
        spinbutton widget which adjusts its width so that the number is
2684
 
        always displayed completely.
2685
 
 
2686
 
        * app/xm.c (XM_load_samples): Initialize loopstart/-end if the
2687
 
        loop flag is off.
2688
 
        (st_clean_sample): Initialize looplen to 1.
2689
 
 
2690
 
        * app/gui.c (gui_put_labelled_spin_button,
2691
 
        gui_update_spin_adjustment): made non-static.
2692
 
 
2693
 
        * app/sample-editor.c (sample_editor_update): After sampling into
2694
 
        an empty sample slot, all the editing widgets are enabled now.
2695
 
 
2696
 
Wed Oct 13 12:00:00 1998  Michael Krause  <m.krause@tu-harburg.de>
2697
 
 
2698
 
        * app/sample-display.c: Started to restructure this thing so that
2699
 
        the drawing speed is optimized. Still a bit buggy.
2700
 
 
2701
 
Mon Oct 12 12:36:37 1998  Michael Krause  <m.krause@tu-harburg.de>
2702
 
 
2703
 
        * app/xm.c (XM_Save): Save real module name instead of
2704
 
        "<untitled>".
2705
 
 
2706
 
        * app/module-info.c: Added "Module Info" page to the main window
2707
 
        notebook, containing a list of all the instruments and samples and
2708
 
        the song name.
2709
 
 
2710
 
        * app/xm.c (XM_new_pattern): Initialize p->alloc_length. Stupid
2711
 
        bug.
2712
 
 
2713
 
        * app/sample-editor.c (ok_clicked, load_wav): exchange calls to
2714
 
        st_clean_sample() and st_clean_instrument(); add extra call to
2715
 
        st_clean_sample() to set sample name.
2716
 
        (sample_editor_update): Set sample name text entry to new value.
2717
 
 
2718
 
        * app/gui.c (offset_current_sample, handle_standard_keys): Added
2719
 
        ctrl-GDK_Up and ctrl-GDK_Down for sample switching.
2720
 
 
2721
 
        * app/track-editor.c (tracker_page_handle_keys): Check modifier keys
2722
 
        in GDK_Up and GDK_Down.
2723
 
 
2724
 
        * app/gui.c (gui_init): Moved current_instrument_create() and
2725
 
        editing_status_create() into this function. Added sample selector.
2726
 
        (gui_get_text_entry): new function, automatically installs the
2727
 
        keyboard capture handling on a newly created text entry.
2728
 
 
2729
 
Sat Oct 10 11:22:25 1998  Michael Krause  <m.krause@tu-harburg.de>
2730
 
 
2731
 
        * app/gui.c (read_mixer_pipe): Checking startstop_fifo against 0
2732
 
        before decrementing. Prevents a crash when the mixer stops playing
2733
 
        via the F00 command.
2734
 
 
2735
 
        * Released v0.0.7
2736
 
 
2737
 
        * Using autoconf/automake for configuration now. Moved all the
2738
 
        sources into the 'app' subdirectory.
2739
 
 
2740
 
        * mixer.c: Using explicit gint32's instead of int's in some fields
2741
 
        of struct channel.
2742
 
 
2743
 
        * gui.c (play_song), (play_pattern): Call play_stop() first.
2744
 
 
2745
 
        * mixer.c (player_tick): Don't handle more than xm->num_channels
2746
 
        channels.
2747
 
 
2748
 
        * gui.c, xm.c (st_set_num_channels): Number of channels is
2749
 
        adjustable now.
2750
 
 
2751
 
        * gui.c (init_xm): Call change_current_pattern() instead of
2752
 
        tracker_set_pattern(). New parameter 'new_xm'.
2753
 
 
2754
 
        * gui.c, xm.c (st_set_pattern_length): Pattern length can be
2755
 
        changed now.
2756
 
 
2757
 
        * mixer.c: Replaced all occurences of the word 'period' by
2758
 
        'pitch'.  A period is inversely proportional to the frequency; the
2759
 
        value called period in the XM docs is not. 'Pitch' isn't exactly
2760
 
        the right word either, but 'period' is worse because it has
2761
 
        another meaning in the Amiga context.
2762
 
 
2763
 
        * gui.c (handle_standard_keys): Added GDK_Multi_key as a synonym
2764
 
        for GDK_Control_R.
2765
 
 
2766
 
Fri Oct  9 00:15:22 1998  Michael Krause  <m.krause@tu-harburg.de>
2767
 
 
2768
 
        * mixer.c (period_to_speed): Checking for integer overflow. Very
2769
 
        short periods (very high frequencies) can't be rendered
2770
 
        currently. The mixer code should be using long longs I guess. Some
2771
 
        crashes are prevented for now.
2772
 
 
2773
 
Thu Oct  8 22:22:50 1998  Michael Krause  <m.krause@tu-harburg.de>
2774
 
 
2775
 
        * gui.c (wait_for_player): Using new startstop_fifo variable to
2776
 
        synchronize with the mixer thread. Fixes crash when loading XM
2777
 
        after playing notes with the keyboard.
2778
 
 
2779
 
        * gui.c (free_xm): New routine which resets all subsystems of the
2780
 
        tracker before calling XM_Free(). Fixes crash when loading XM
2781
 
        while in sample editor with samples playing.
2782
 
 
2783
 
        * mixer.c (mixer_fill_buffer): Fixed loop handling again; first
2784
 
        sample is now loopstart << ACCURACY, last sample is loopend <<
2785
 
        ACCURACY - 1.
2786
 
 
2787
 
        * gui.c (change_current_pattern): Call mixer_set_pattern even when
2788
 
        we're not in playing_pattern mode. Can now change pattern while
2789
 
        playing a mod, just like in PT.
2790
 
 
2791
 
        * mixer.c (mixer_main), gui.c (read_mixer_pipe):
2792
 
        (programlist_songpos_changed): Added set_songpos_fifo variable to
2793
 
        avoid GUI feedbacks when fast-forwarding the song position.
2794
 
 
2795
 
Wed Oct  7 20:03:35 1998  Michael Krause  <m.krause@tu-harburg.de>
2796
 
 
2797
 
        * gui.c (programlist_songpos_changed): change_current_pattern()
2798
 
        called even if playing. (change_current_pattern): Change
2799
 
        editing_pat first, then call the other routines. Call
2800
 
        mixer_set_pattern() only if in playing pattern mode.
2801
 
 
2802
 
Tue Oct  6 17:37:14 1998  Michael Krause  <m.krause@tu-harburg.de>
2803
 
 
2804
 
        * gui.c (spin_editpat_changed): Call change_current_pattern() even
2805
 
        if playing.
2806
 
 
2807
 
        * gui.c, xm.c: Added "Clear Song" and "Clear All" operations.
2808
 
 
2809
 
        * gui.c: Added restart position widget to the program list.
2810
 
 
2811
 
        * gui.c: Instrument name changes are stored.
2812
 
 
2813
 
        * mixer.c, gui.c: Position updates are handled together with the
2814
 
        scopes in MSG2MAIN_TICK. Visual updates are a bit smoother on my
2815
 
        slow machine now. And the scope buffers are double-buffered, so
2816
 
        the scope is more in time with the sound.
2817
 
 
2818
 
        * mixer.c: Fixed period range checking to use OpenCP's values.
2819
 
 
2820
 
        * Makefile: Moved $(LDFLAGS) to the end of the line; some people's
2821
 
        compilers complain otherwise.
2822
 
 
2823
 
Mon Oct  5 17:10:03 1998  Michael Krause  <m.krause@tu-harburg.de>
2824
 
 
2825
 
        * mixer.c (player_tick): Handling playlist restart position now,
2826
 
        adding support for position jumps. Added dxx effect.
2827
 
 
2828
 
        * xm.c: Added the framework for endianness conversion. Rewrote
2829
 
        load_samples and save_samples to use the new "length" semantics.
2830
 
 
2831
 
        * xm.h: STSample.length / loopstart / looplen are measured in
2832
 
        samples now, not in bytes. This removes the necessity for a lot of
2833
 
        ">> 1" in the rest of the code.
2834
 
 
2835
 
Sun Oct  4 17:29:10 1998  Michael Krause  <m.krause@tu-harburg.de>
2836
 
 
2837
 
        * Released v0.0.6
2838
 
 
2839
 
        * sample-editor.c (daemon_thread): renamed daemon() to
2840
 
        daemon_thread() so that we can compile on glibc2 systems :)
2841
 
 
2842
 
        * xm.c (XM_load_samples): if an XM has samples with loop length 0,
2843
 
        disable the loop completely.
2844
 
 
2845
 
        * mixer.c (mixer_fill_buffer): fixed loop handling so that it
2846
 
        works on very short loops, too. New routine is not yet optimized.
2847
 
 
2848
 
        * Released v0.0.5 today (first public release)