12000-01-26  Michael Krause  <m.krause@tu-harburg.de>
2
3	* Released v0.3.10
4
52000-01-22  Michael Krause  <m.krause@tu-harburg.de>
6
7	* app/gui.c: "Escape" can be used to toggle editing on even if
8	we're in playing mode (patch by Conrad Parker).
9
10	* app/clavier.c, app/playlist.c: Also replace custom marshallers
11	by gtk-provided ones.
12
13	* app/sample-display.c: Replace my_2ints_marshal() by
14	gtk_marshal_NONE__INT_INT (patch by Conrad Parker).
15
162000-01-21  Michael Krause  <m.krause@tu-harburg.de>
17
18	* app/sample-editor.c (sample_editor_page_create): Rename "Clear"
19	to "Clear Sample".
20
21	* app/track-editor.c: "Insert" and "Backspace" key bindings (shift
22	down / pull up track). (patch by Tomasz Maka)
23	(track_editor_find_next_jazz_channel): Jazz edit logic extracted
24	into a new function. Made more intelligent (takes care of channels
25	that are still busy playing a sample).
26
27	* app/sample-editor.c: Added "Save Region" button, which saves
28	only the selected region as a WAV. (Tomasz Maka)
29
302000-01-19  Michael Krause  <m.krause@tu-harburg.de>
31
32	* app/xm.c (XM_Load): setting restart position to song_length - 1
33	if out of range (FT2 does this).
34
352000-01-18  Michael Krause  <m.krause@tu-harburg.de>
36
37	* app/track-editor.c (track_editor_set_num_channels): For the jazz
38	edit mode, only display those buttons for channels that are
39	actually available.
40
41	* app/xm.c (XM_Load): Checking if restart_position is <
42	song_length (setting rp to 0 otherwise).  Encountered a funny XM
43	from my favourite label "Rohformat" that has a bug here and
44	subsequently crashed the tracker due to a failed assertion in the
45	playlist widget. Which shows us that assertions are your
46	friend. Shame on you, Ronny :-)
47
48	* app/menubar.c: Even more menu bar translation hacking code. This
49	really sucks. Thanks to Yuuki Ninomiya for discussing this with
50	me.
51
52	* po: Updated ja.po.
53
542000-01-15  Michael Krause  <m.krause@tu-harburg.de>
55
56	* app/menubar.c (menubar_create): all_translated calculated
57	correctly now (patch by Yuuki NINOMIYA).
58
59	* app/sample-editor.c (sample_editor_copy_cut_common): Adjust loop
60	data after cutting parts of the sample (patch by Conrad Parker).
61
622000-01-12  Michael Krause  <m.krause@tu-harburg.de>
63
64	* Released v0.3.9
65
662000-01-12  Kai Vehmanen  <kaiv@wakkanet.fi>
67
68	* Added ALSA pcm2 input and output plugins (ALSA 0.5.0 and newer)
69
702000-01-08  Michael Krause  <m.krause@tu-harburg.de>
71
72	* po: Updated ja.po.
73
74	* app/playlist.c (playlist_insert_clicked):
75	(playlist_delete_clicked): Force emission of "song_length_changed"
76	signal. Fixes crashes due to not updated XM structures (bug
77	reported by globber).
78
79	* app/sample-editor.c: Adds "Sel All" button, renames other
80	buttons, clears up _update_sample() (patch by Conrad Parker).
81
82	* app/keys.c (keys_fixup_xkeymap): Fix strange keymaps. Fixes
83	problem a Polish user was having.
84
851999-12-26  Michael Krause  <m.krause@tu-harburg.de>
86
87	* Released v0.3.8
88
89	* app/track-editor.c (track_editor_handle_keys): Delete key:
90	delete note only if in note column. Otherwise delete corresponding
91	effect column.
92
93	* app/gui.c (current_instrument_changed): Don't set gui_cur*_name
94	here at all.
95
96	* app/sample-editor.c (sample_editor_update): Set gui_cursmpl_name
97	correctly.
98
99	* app/instrument-editor.c (instrument_editor_update): Set
100	gui_curins_name correctly.
101
102	* app/sample-editor.c: Can handle stereo samples now (extracts one
103	channel or mixes left and right). Based on a patch sent in by
104	Stefan Hager on 1999-08-22. Also remember last saved and loaded
105	path.
106
107	* app/gui-subs.c (file_selection_create): Add selection entry to
108	list of text entry widgets to be captured.
109
110	* app/menubar.c (menubar_create):
111	(menubar_init_prefs): If not all menu bar strings could be
112	translated, disable translation of the other menu bar strings
113	completely and issue a warning (all this only for the non-GNOME
114	version).
115
116	* po: Updated ja.po.
117
1181999-12-24  Michael Krause  <m.krause@tu-harburg.de>
119
120	* app/file-operations.c (fileops_page_create): Disable certain
121	dialogs in NO_AUDIOFILE case.
122
123	* app/gui-settings.c: Save path for DIALOG_SAVE_MOD_AS_WAV.
124
125	* app/playlist.c (playlist_restartpos_changed,
126	playlist_songpat_changed): Only emit signal if value really
127	changed.
128
129	* app/playlist.[ch]: New functions _freeze_signals() and
130	_thaw_signals().
131
132	* app/playlist.c (playlist_set_nth_pattern): If pos ==
133	current_position, set pattern spinbutton value as well.
134	(playlist_set_restart_position): Set spinbutton value.
135	(playlist_songlength_changed): Adjust limits of restart pos spin.
136
137	* app/audioconfig.c (audioconfig_close_requested): Deinitialize
138	cw_currentobject when closing window. (Conrad Parker striked back
139	again)
140
1411999-12-23  Michael Krause  <m.krause@tu-harburg.de>
142
143	* app/sample-editor.c: "Reverse" function (patch by Conrad
144	Parker).
145
1461999-12-22  Michael Krause  <m.krause@tu-harburg.de>
147
148	* Released v0.3.7
149
150	* app/gui-settings.[ch]: Added upper/lower case hex number
151	selection.
152
153	* app/tracker.c (note2string): Rewritten. Supports upper/lower
154	case selection now.
155
156	* app/keys.c (keys_load_config): Recognize EOF condition
157	correctly. Fixes the bug magog@mnf.nu reported (keymap loading
158	wouldn't work for people where the automatic key recognition
159	fails).
160
161	* app/gui.c (gui_init): Initialize notebook_current_page variable
162	so that keyboard works again.
163
1641999-12-20  Michael Krause  <m.krause@tu-harburg.de>
165
166	* app/playlist.[ch]: First attempt at creating a Playlist widget.
167	At the moment it looks just like the old stuff in the upper left
168	corner of the main window, but it's easier to modify this way.
169
170	* app/instrument-editor.c (instrument_page_create): "Load XI" and
171	"Save XI" buttons working again instead of crashing.
172	(instrument_editor_clear_current_instrument): Stop playing before
173	clearing the instrument.
174
1751999-12-19  Michael Krause  <m.krause@tu-harburg.de>
176
177	* app/file-operations.c: Handy single-click directory browsing and
178	loading of modules, samples and instruments. Also handles the
179	corresponding menu items in a clever way.
180
181	* app/file-operations.[ch]: New notebook page; embeds the various
182	file requesters we have.
183
1841999-12-10  Michael Krause  <m.krause@tu-harburg.de>
185
186	* po: Updated ja.po. Added ru.po from Michael Shigorin
187	<mike@lic145.kiev.ua>.
188
1891999-11-20  Michael Krause  <m.krause@tu-harburg.de>
190
191	* app/menubar.c: "Clear Current" instrument function.
192
193	* app/sample-editor.c (sample_editor_clear_clicked): update
194	modinfo page.
195
196	* app/instrument-editor.c (instrument_editor_save_instrument),
197	app/menubar.c: "Save XI" function.
198
199	* app/xm.h: Use guint16 instead of short for STEnvelopePoint
200	elements.
201
202	* app/xm.c (xm_load_xi): Endianness conversion for some XI header
203	fields. Don't cut first four letters of instrument name.
204	(xm_save_xm_instrument): Save endian-converted volfade. Urgs.
205	(xm_save_xi): New function to save instrument in XI format.
206
2071999-11-14  Michael Krause  <m.krause@tu-harburg.de>
208
209	* Released v0.3.6
210
211	* app/xm-player.c: Added "player_looped" variable which indicates
212	to the audio renderer that the song has either looped, the "Bxx"
213	command has been used to jump to another pattern or the "F00"
214	command has been issued in order to stop the song. Should prevent
215	endless saving loops.
216
2171999-11-13  Michael Krause  <m.krause@tu-harburg.de>
218
219	* app/audio.c (audio_ctlpipe_render_song_to_file): This is a
220	special version of audio_ctlpipe_play_song(), which always uses
221	the file driver, hacks in the desired filename and does the
222	priority juggling (we don't want to run the rendering at nice
223	-14).
224
225	* app/drivers/file-output.c: This driver uses libaudiofile to
226	render a WAV file. It's not directly accessible from the audio
227	config, use the special menu item in the "File" menu instead.
228
229	* app/scope-group.c (scope_group_timeout): Return immediately if
230	current_driver is NULL. Fixes a crash.
231
2321999-10-30  Michael Krause  <m.krause@tu-harburg.de>
233
234	* app/audio.c: Begun work on code to render modules into a WAV
235	file.
236
237	* app/main.c: Initialize effective group ID as well.
238
239	* configure.in: Moved poll()/select() check in front of the
240	library checks.
241
242	* po: Updated it.po and ja.po.
243
244	* app/track-editor.c (track_editor_paste_pattern): Fix pasting of
245	short patterns into long ones (reported by Martin Andersson); also
246	update pattern length spinbutton in that case.
247
248	* app/transposition.c (transposition_transpose_notes_sub): Don't
249	transpose KEYOFF note (reported by Martin Andersson).
250
2511999-10-16  Kai Vehmanen  <kaiv@wakkanet.fi>
252
253	* app/drivers/alsa-output.c: Changed default soundcard id to 0.
254
2551999-10-09  Michael Krause  <m.krause@tu-harburg.de>
256
257	* app/drivers/esd-output.c: Quick and dirty implementation of an
258	ESD driver. Note that this will not be supported because of its
259	latency.
260
261	* configure.in: Added ESD check, updated ALSA check to handle
262	--disable-alsa correctly.
263
2641999-10-08  Michael Krause  <m.krause@tu-harburg.de>
265
266	* Released v0.3.5
267
268	* app/track-editor.c: Selection handling rewritten for multi-track
269	selections.
270
271	* app/st-subs.c: Several new functions for dealing with parts of a
272	track (duplicating, clearing, pasting).
273
274	* app/xm-player.c: Replaced sintab[] by sin().
275
276	* app/drivers/oss-output.c: Added code to make use of the
277	high-accuracy SNDCTL_DSP_GETOPTR call when available. Gets rid of
278	all the gettimeofday() calls. The old code is available as a
279	fallback, though.
280
2811999-10-07  Michael Krause  <m.krause@tu-harburg.de>
282
283	* doc/hacking.texi: Old `HACKING' file extended to talk a little
284	bit about ST's internals.
285
2861999-10-06  Michael Krause  <m.krause@tu-harburg.de>
287
288	* app/st-subs.c, app/menubar.c, app/track-editor.c: Insert track /
289	Delete track.
290
291	* app/track-editor.c: Saving jazz edit settings on exit.
292
293	* app/gui-settings.c, app/gui.c, app/sample-editor.c,
294	app/instrument-editor.c: Remember last used paths and store them
295	in a configuration file.
296
297	* configure.in: Continue if sys/poll.h is found, but poll() isn't.
298
299	* po: Updated it.po and ja.po; added es.po from German Jose Gomez
300	Garcia
301
3021999-09-26  Michael Krause  <m.krause@tu-harburg.de>
303
304	* app/mixers/integer32-asm.[sh]: i386 Assembly mixing routines for
305	16bit samples. These are only marginally faster than the original
306	C code, though.
307
308	* app/mixers/integer32.c: lqmono renamed; cleaned up reverb code
309	to use arrays.
310
3111999-09-25  Michael Krause  <m.krause@tu-harburg.de>
312
313	* Released v0.3.4
314
315	* app/gui-settings.c, app/tracker.c: Added tracker row
316	highlighting.
317
3181999-09-24  Michael Krause  <m.krause@tu-harburg.de>
319
320	* app/keys.c: Replace some empty strings by NULL pointers
321	(fixes localization bugs in the keys dialog).
322
3231999-09-23  Michael Krause  <m.krause@tu-harburg.de>
324
325	* soundtracker.desktop: Added pl and de entries.
326
327	* Added de.po from Colin Marquardt, updated ja.po.
328
3291999-09-10  Michael Krause  <m.krause@tu-harburg.de>
330
331	* Released v0.3.3
332
333	* app/audioconfig.c, app/audio.c: Editing and Playback drivers can
334	be selected independently now.
335
336	* app/gui.c (gui_handle_standard_keys): Removed "Shift+Space"
337	special-casing.
338
339	* app/track-editor.c (track_editor_handle_column_input): Returning
340	flag if key was handled.
341
342	* app/menubar.c: Added cut'n'paste functions to the Edit menu,
343	with configurable shortcuts; this should be useful to those using
344	a window manager that maps Alt-F4 to "exit" :-)
345
346	* app/track-editor.c: Split block / pattern / track cut'n'paste
347	handling into simple functions.
348
3491999-09-09  Michael Krause  <m.krause@tu-harburg.de>
350
351	* app/tracker.c (tracker_realize): Attach style, just to be sure.
352
353	* app/sample-display.c (sample_display_realize): Attach style to
354	widget, fixes a strange crash when playing with the #chans
355	spinbutton.
356
357	* app/keys.c, app/module-info.c (modinfo_page_create): Call
358	gettext() on some the strings only marked with N_().
359
360	* app/time-buffer.c (time_buffer_get): After g_list_remove_link(),
361	call g_list_free() on the freed node. Fixes the memory leak people
362	were seeing. *sigh*
363
3641999-09-08  Michael Krause  <m.krause@tu-harburg.de>
365
366	* app/mixers/lqmono.c (lqmono_mix): Fix mixbufsize setting. Arghl.
367
3681999-09-07  Michael Krause  <m.krause@tu-harburg.de>
369
370	* app/mixers/lqmono.c (lqmono_mix): Update mixbufsize after
371	allocating new mixbuf. Use g_new() and g_free().
372
3731999-09-07  Yuuki NINOMIYA  <gm@smn.enjoy.ne.jp>
374
375	* app/main.c: Use gtk_set_locale() instead of setlocale().
376
377	* app/menubar.c: The bug is fixed that i18n is invalid in the menu
378	bar when build without GNOME.
379
3801999-09-06  Kai Vehmanen  <kaiv@wakkanet.fi>
381
382	* app/drivers/alsa-*.[ch]: Fixed some timing bugs and made a few
383 	improvements to the config widgets.
384
3851999-09-06  Michael Krause  <m.krause@tu-harburg.de>
386
387	* soundtracker.desktop: Added GNOME menu entry.
388
389	* Updated ja.po, added it.po from Yuri Bongiorno, added pl.po from
390	Zbigniew Chyla.
391
3921999-09-04  Michael Krause  <m.krause@tu-harburg.de>
393
394	* Released v0.3.2
395
396	* app/cheat-sheet.[ch]: Added an overview of all XM effects.
397
398	* app/gui-settings.c: Added "Use anti-aliased envelope editor"
399	option.
400
401	* app/envelope-box.c (envelope_box_canvas_paint_grid): Reduced
402	left X coordinate of long lines from 30000 to 16384 (non-aa canvas
403	would bug here).
404
405	* HACKING: Contains some `rules' for developers.
406
407	* README: Added soundtracker.org homepage and information about
408	the mailing lists.
409
410	* app/tips-dialog.c: The tips are stored in an array inside this
411	file now -- translation is easier this way.
412
413	* app/preferences.c (prefs_get_line): Remove trailing newlines
414	from returned strings.
415
416	* app/audioconfig.c (audioconfig_clist_select): Fix driver
417	selection.
418
4191999-09-03  Michael Krause  <m.krause@tu-harburg.de>
420
421	* FAQ: Removed ALSA-related question.
422
423	* Added ALSA patch from Kai Vehmanen.
424
4251999-09-02  Giles Constant  <gilesc@ftech.net>
426
427	* Playback effects menu added
428
429 	* "Master Reverb" added to playback effects (code ripped and
430	regurgitated from libmikmod)
431
4321999-08-31  Michael Krause  <m.krause@tu-harburg.de>
433
434	* po/ja.po: updated by Atsushi Yamagata.
435
4361999-08-29  Michael Krause  <m.krause@tu-harburg.de>
437
438	* Released v0.3.1
439
440	* soundtracker.spec (%build): Initalize LINGUAS variable before
441	building, so that all catalogs get installed.
442
443	* INSTALL, FAQ: Some words about the gtk+ update.
444
445	* app/sample-editor.c: Added horizontal scroll bar under the
446	sample display.
447
448	* app/sample-display.c: Added "window_changed" signal which is
449	triggered whenever win_start / win_length are changed.
450
451	* app/sample-editor.c (sample_editor_perform_ramp): change
452	ABS(*p++) into q=*p++;q=ABS(q); macros suck :-)
453
454	* app/sample-display.c: Middle mouse button pans the display
455	window.
456
457	* configure.in (CFLAGS): Require gtk+-1.2.2. Fixes the popular
458	"GUI freezes if you click the menu bar" bug.
459
4601999-08-25  Michael Krause  <m.krause@tu-harburg.de>
461
462	* app/sample-editor.c (sample_editor_ok_clicked): Don't call
463	sampler_page_enable_widgets() (the widgets have already been
464	destroyed).
465
466	* app/gui.c (gui_handle_standard_keys): Handle Shift+Space
467	manually even though it's in the menu; works around a (so I think)
468	gtk+ menu bug.
469
4701999-08-23  Michael Krause  <m.krause@tu-harburg.de>
471
472	* app/sample-editor.c: Added "Volume Ramp" dialog, including a
473	normalizing function.
474
4751999-08-22  Michael Krause  <m.krause@tu-harburg.de>
476
477	* app/menubar.c: Rewrote non-GNOME menubar code to use
478	GtkItemFactory, because we can handle user-defined accelerators
479	this way. Added underscores to all the menu texts. Added "Edit"
480	menu, with "Jazz Mode Edit" toggle and "Transpositions" dialog
481	launcher.
482
483	* app/gui.c (keyevent): All the key handlers return a flag
484	indicating if the key has been handled or not. If it has not been
485	handled, don't stop the signal, but let gtk+ continue to handle
486	it. We need this to support the menubar correctly.
487
488	* app/track-editor.c (track_editor_handle_keys): Binding "Home"
489	and "End" keys to start and end of current pattern, respectively.
490
491	* app/transposition.[ch]: Added new "Transposition Tools" dialog
492	with a lot of transposition and instrument number related
493	functions.
494
4951999-08-21  Michael Krause  <m.krause@tu-harburg.de>
496
497	* app/instrument-editor.c: Capturing clavierkey_enter and _leave
498	signals to display the note the mouse is over in a framed label.
499	Also added the "Initialize" button which fills the whole samplemap
500	with the current sample value.
501
502	* app/clavier.c: Added _enter and _leave signals which are called
503	when the mouse is over a key or when it leaves one.
504
5051999-08-19  Michael Krause  <m.krause@tu-harburg.de>
506
507	* app/sample-editor.c (sample_editor_save_wav): Use libaudiofile
508	to save WAVs. If compiling without libaudiofile, disable "Save
509	WAV" widget.
510
511	* po/ja.po: Added japanese translation from Atsushi Yamagata.
512
5131999-08-13  Michael Krause  <m.krause@tu-harburg.de>
514
515	* Released v0.3.0
516
517	* app/track-editor.c (track_editor_handle_keys): Shift + Tab goes
518	one channel to the left.
519
520	* app/keys.c (keys_is_key_pressed): New function which finds out
521	if a key is actually physically pressed. We need this hack to deal
522	with X's auto-repeat.
523
524	* app/gui.c (handle_standard_keys): Toggle jazz edit mode with
525	shift-space.
526
527	* app/track-editor.c: Jazz edit stuff -- core handling is in
528	track_editor_do_the_note_key.
529
530	* app/track-editor.c (track_editor_handle_keys): Send keyoff note
531	if a key is released.
532	(track_editor_do_the_note_key): Encapsulated the relevant code for
533	the other notebook pages.
534
535	* app/gui.c (keyevent): Handle key-release events as well. Also,
536	rename some handle_keys() functions all over the source and add
537	the `pressed' argument.
538
539	* app/gui-subs.c (gui_update_range_adjustment): Moved this from
540	track-editor.c
541
5421999-08-12  Michael Krause  <m.krause@tu-harburg.de>
543
544	* app/st-subs.c (st_num_save_patterns): Return value based on the
545	recently introduced save_all_patterns setting.
546
547	* app/gui-settings.c: "Save XM saves all non-empty patterns" (as
548	opposed to only the used patterns) option.
549
550	* soundtracker_tips.ja.txt: Added japanese translation of
551	soundtracker_tips.txt from Atsushi Yamagata
552	<yamagata@plathome.co.jp>.
553
554	* app/mixers/lqmono.c (lqmono_updatesample): We don't stop the
555	sample if only the loop has changed. In that case, we bend the
556	current pointer to the loop start!
557
558	* app/sample-editor.c (sampler_page_handle_keys): If a key is
559	pressed, the currently displayed sample is played, not the one
560	from the sample map (using gui_play_note_full /
561	xmplayer_play_note_full).
562
563	* app/gui.c (gui_play_note_full): The same for the GUI thread.
564
565	* app/xm-player.c (xmplayer_play_note_full): Permits more control
566	over what sample gets played and at which position it starts. Man,
567	xm-player.c really is a mess...
568
569	* INSTALL: some more explanations for the binary packages.
570
571	* Bumped version number to v0.3.0
572
573	* soundtracker.spec: Added RPM specfile from Arthibus Gissehel,
574	updated to distribute the NLS stuff as well.
575
576	* Made the whole application NLS-aware.
577
578