1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
|
Version 3.1 -- now supports awedrv
Mon Sep 2 13:29:29 1997 Andrew Robinson <ajr@bellatlantic.net>
* VoiceGUS.C: New module to handle GUS-specific code. Mostly
ripped from Voice.C.
* VoiceAWE.C: New module to handle AWE-specific code. It still
uses some GUS_* commands; these will eventually be eliminated.
Mon Sep 1 13:25:15 1997 Claudio Matsuoka <anonymous>
* Envelope.C (getY): consider loopEndX outside the loop instead of
inside.
* load_xm.C (loadXmPattern): Multipy tone portamento value by 16.
-------------------------------------------------------------------------------
Version 3.0.6 (back to old format ChangeLog for this release)
All changes by Andrew J. Robinson
Once again, thanks to Marc Merlin for his testing efforts. Gmod would not be
as good as it is now without him.
!!! You must resave the xgmod options when using this release. The .xgmodrc
file has changed slightly. !!!
It's normal for the "GUS: Midi Busy" message to appear in the system log when
(x)gmod starts. Check the README for (very slightly) more information.
Too many internal changes to mention. Most are not user-visible anyway.
Addition of "check magic number" to options. See the man page.
Changed comment window so it now has scrollbars.
Misc bug fixes.
-------------------------------------------------------------------------------
Version 3.0.5:
Sun Feb 23 17:22:39 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* Makefile (OFILES): use patsubst, as suggested by Erwin Andreasen
* load_xm.c (load_xm_pattern): [and others] Implement remaining xm
effects and xm pan envelopes
Mon Feb 10 00:17:29 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* load_xm.c, play_voice.c, effects.c: Added support for note-linear
slides in XM modules
* Voice.h (class Voice): Added mainVolume [a global volume]
Sat Feb 8 15:46:22 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* Six69.c, mod.c (load): Changed tuning of looped samples slightly
Wed Feb 5 00:57:30 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* s3m.c (load): Copy at most 28 characters for the name of the
s3m sample
Mon Feb 3 18:31:48 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* Sequencer2.c, load_mod.c, load_s3m.c, load_xm.c: added code for
shortening samples if memory is exhaused while loading samples
Sun Feb 2 19:11:41 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* load_mod.c (load_module): Use magic instead of the filename to
determine whether or not a file needs to be decompressed
* load_s3m.c (load_s3m_pattern): calculate where a pattern ends
using the pattern length, and don't go beyond that position when
loading
----- Released version 3.0.4 -----
Important changes:
PAL sample timing is the default when playing MOD files (the default
was previously NTSC timing).
The up and down arrow keys don't control the mixer volume
anymore; they are used to scroll through the samples.
The '-e' option has been removed from the ncurses version -- all
samples are always shown (since they can now be scrolled through).
Mon Jan 27 19:52:10 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* Sequencer.c (open): Don't use GUS PnP workaround if a newer
sequencer driver is being used
* Voice.c, Voice.h: new class to handle voices
* signals.c (timer_handler): scroll samples when using up arrow
and down arrow
* parse.c (parse_args): Disable '-e' option when using ncurses
* Sequencer2.c: Move patch_load here to prevent clash between
ncurses and deque
* CursesScr.c, CursesScr.h: new class to handle non-X interface
Sun Jan 12 16:51:13 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* TrackShell.c (updateTracker): Moved updateTracker here from
proc_input.c [update_tracker]
Sat Jan 11 01:58:58 1997 Andrew J. Robinson <ajr@bellatlantic.net>
* play_note.c (do_command): Check whether or not a sample is valid
before calling set_slideto
* load_xm.c (load_xm_module): Create an empty pattern if a pattern
is in the playlist but doesn't exist
----- Released version 3.0.3 -----
Mon Dec 2 18:54:50 1996 Andrew J. Robinson <ajr@bellatlantic.net>
* Sequencer.c (open): Do not return an error code if no GUS MIDI
device is found
Thu Nov 28 00:15:23 1996 Andrew J. Robinson <ajr@bellatlantic.net>
* play_mod.c (play_next_position): Skip a pattern if it does not
exist [has not been loaded]
* load_s3m.c (load_s3m_module): Take FILE** instead of FILE*,
since this function may change mod_fd
----- Released version 3.0.2 -----
Sun Nov 24 16:27:17 1996 Andrew J. Robinson <ajr@bellatlantic.net>
* gmod.c (main): gmod only: skip a module if load fails
* TopShell.c (doNext): Unqueue modules that don't load properly,
but only if currently "autoplaying" [no user interaction caused
the bad module to be loaded]
Fri Nov 22 19:42:53 1996 Andrew J. Robinson <ajr@bellatlantic.net>
* load_s3m.c (load_s3m_module): Corrected check of whether or not
load_list is empty.
* Sequencer.c (open): open /dev/midiXX for write only before
opening /dev/sequencer for read and write. This is a workaround
for a bug with the GUS PnP card.
Fri Nov 22 19:42:53 1996 Peter Federighi <federigp@elwha.evergreen.edu>
* load_mod.c (load_mod_module): Load modules with an xxCH
signature
Mon Sep 23 18:52:51 1996 Andrew J. Robinson <robinson@eclipse.net>
* Envelope.c: Added support for volume fadeout [experimental]
----- Released version 3.0.1 -----
Sun Sep 22 17:12:13 1996 Andrew J. Robinson <robinson@eclipse.net>
* Envelope.c: New file. Support for XM volume envelopes
[experimental].
* TopShell.c (playClicked): If no module is currently playing, set
current_mod before calling pick_random.
Mon Sep 16 01:37:46 1996 Andrew J. Robinson <robinson@eclipse.net>
* play_mod.c (play_next_position): Fixed a bug in the bugfix for
the "pattern delay" command [in version 2.2]
* play_mod.c (play_module): Added a 1 second delay before module
playback begins to prevent modules from "running together". The
time needed to load the module is included in the calculation of
the delay.
* QueueShell.h (class XQFileDialog): Don't close the QFileDialog
after a module has been selected
-------------------------------------------------------------------------------
Version 3.0 (Additions/changes by Andrew J. Robinson):
Many, many thanks to Marc Merlin for his suggestions and helping me with
testing.
Changed from FWF widget set to QT.
Change user id/group id back to real user id/real group id after opening
the sequencer and mixer. This makes it safe to make gmod and xgmod
SUID root or SGID root.
The PATH and IFS environment variables are not reset anymore. This means
that the decompression programs can be located anywhere in the user's
path. This is now safe due to the previous change.
-------------------------------------------------------------------------------
Version 2.3 (Additions/changes by Andrew J. Robinson):
Thanks to Marc Merlin for his many suggestions/bug reports. Some (but not
all...yet) have been included in this release.
Convert 16 bit samples to 8 bits if they are too long.
Changed the way the sequencer is "fed".
Doesn't try to load 0 byte XM samples.
Added play button to top-level window. Previous and next buttons now work
differently.
TASD drivers version 3.0 or greater are now REQUIRED.
-------------------------------------------------------------------------------
Version 2.2.3 (Additions/changes by Andrew J. Robinson):
Fixed bug in 669 pitch slides, caused by the "pattern delay" fix in 2.2.
-------------------------------------------------------------------------------
Version 2.2.2 (Additions/changes by Andrew J. Robinson):
Modifications to compile with gcc 2.7.2
Modifications to use newer ncurses library.
-------------------------------------------------------------------------------
Version 2.2.1 (Additions/changes by Andrew J. Robinson):
Handle XM patterns with no data without giving a segmentation fault.
-------------------------------------------------------------------------------
Version 2.2 (Additions/changes by Andrew J. Robinson):
Fixed bug in "pattern delay" command.
Beginning of transition to C++.
Initial XM support (incomplete).
-------------------------------------------------------------------------------
Version 2.1 (Additions/changes by Andrew J. Robinson):
Changed "extended octaves" toggle to a spin label with 3 options:
limited octaves, extended octaves, or automatic octaves.
-------------------------------------------------------------------------------
Version 2.0.2
Additions/changes by Andrew J. Robinson:
Tracking window.
Use XtPopup/XtPopdown instead of XtMapWidget/XtUnmapWidget.
Remove colors from fallback resources, and put them in an app-defaults
file instead.
Handle WM_DELETE_WINDOW - closing a window using the window manager will
now close only the individual window, not the entire application.
Lists don't show their name when they are empty
Automatic detection of VoxKit driver version at run time. The
OLD_DRIVER compile option is no longer needed -- the binary will work
with both driver versions (2.90-2 and 3.0+).
Additions/changes by Alex Mohr:
Patch for missing initialization of some variables.
Patch to fix module lengths (currently in contrib/fix_length.patch)
-------------------------------------------------------------------------------
Version 2.0.1 (Additions/changes by Andrew J. Robinson)
Error popups on the info screen no longer interfere with playback.
Module name is displayed in the main window's title bar.
The previous and next buttons now act as though the queue is circular. See
the man page for more info.
The file queue can be saved and loaded.
The "Shuffle" button randomizes the play queue.
"Random play" option plays modules in a random order.
------------------------------------------------------------------------------
Version 2.0 (Additions/changes by Andrew J. Robinson)
Addition of X interface
Support of non-blocking sequencer drivers
Too many other changes to mention
-------------------------------------------------------------------------------
Version 1.4 (Additions/changes by Andrew J. Robinson)
*** Thanks to Lodewijk Voge for help in debugging ***
Applied another fix for out-of-tune S3M notes.
Fixed volume change when a portamento command is specified.
Volume slides occur on tick 0 in S3M version 3.00 modules.
Added S3M panning.
-------------------------------------------------------------------------------
Version 1.3g (Additions/changes by Andrew J. Robinson)
Fixed volume slides in S3M modules when the value is 0x0f or 0xf0.
Fixed out-of-tune notes in S3M modules.
Check to be sure loop endings don't go beyond the sample length.
-------------------------------------------------------------------------------
Version 1.3f (Additions/changes by Andrew J. Robinson)
When a volume slide up and volume slide down are specified at the same
time in a S3M, the slide down now wins.
Fixed sequencer buffer dump timing (again) :-)
Pitch slides in S3M modules are affected by the base note of the sample.
Temporarily disabled ULT tuning, since it is not handled correctly.
-------------------------------------------------------------------------------
Version 1.3e (Additions/changes by Andrew J. Robinson)
Fixed handling of pattern break and jump when both are present in the same
note position.
Fixed S3M out-of-range slide ups/downs (again :-) )
Added "-5" option to use 50 Hz clock frequency with MOD files.
Added support for arrow keys, page up, page down.
Added a "gmodrc" file to allow configuration by filename.
-------------------------------------------------------------------------------
Version 1.3d (Additions/changes by Andrew J. Robinson)
Fixed timing of sequencer buffer dumps.
-------------------------------------------------------------------------------
Version 1.3c (Additions/changes by Andrew J. Robinson)
Fixed loading of S3M modules that require multiple passes.
Fixed handling of situation when slide up/down hits the note range limits
in S3M modules.
Changed valid note range for S3M modules.
Shifted all MTM notes up one position (as they should be :-) ).
Fixed a bug which sometimes caused notes to be dropped (introduced when
adding forward/backward keys).
Added "-P" option to specify panning factor.
Added support for UltraTracker 1.6 files (ULT format version 4).
-------------------------------------------------------------------------------
Version 1.3b
Additions/changes by Andrew J. Robinson:
Small fixes to lha/zip loading code (see below).
Pathnames for decompression programs are no longer absolute.
Support the the linear volume mode in VoxWare 2.5 +
Added 'b' and 'f' keys to move forward/backward within a module.
Changed the way numeric keys are used (now used for numeric argument).
Additions/changes by Peter Federighi:
Added ability to load lha'd or zip'd modules.
Added code to make module filename safe for shell parsing.
-------------------------------------------------------------------------------
Version 1.3a (Additions/changes by Andrew J. Robinson)
Fixed bugs in S3M effects.
Added in-memory compression for S3M modules.
Fixed loading of FLT8 modules (maybe?)
Added "-q" option for quiet mode.
Added "-R" option to randomize play order.
-------------------------------------------------------------------------------
Version 1.3 (Additions/changes by Andrew J. Robinson)
Added support for "Set Finetune" command
Modified effects slightly.
Added "-r" option to infinitely repeat modules. (suggested by Wayne Hodgen)
Added "-p" option to use PAL timing for playing samples. (PAL timing
suggested by Wayne Hodgen)
Added "-m" option to select alternate mixer.
Fixed bug in tone portamento.
Added 'p' key to go to previous module. (suggested by Nan Zou)
Added "-z" option for running in background. (Background mode suggested by
Nan Zou)
Added recognition of SIGTERM, SIGUSR1, and SIGUSR2.
Changed (NTSC) sample playing frequency from 8448 Hz to 8363 Hz.
Initial S3M support. There is currently VERY LITTLE error checking in
the S3M loader, so it may crash.
Added "-x" option to extend octaves for MOD files.
Display of current position number and pattern number.
-------------------------------------------------------------------------------
Version 1.2b (Additions/changes by Andrew J. Robinson)
Fixed loading of 15 sample MOD's, which I broke when adding the ability
to load compressed modules. :-(
Fixed a bug when there was tone portamento with a sample specified.
Samples which do not completely load will no longer cause "short file"
error (padded with last byte loaded). Some ripped modules are missing
the last few bytes.
Added "-s" option to ignore "speed 0" commands.
-------------------------------------------------------------------------------
Version 1.2a (Additions/changes by Andrew J. Robinson)
Added quit, next module, and volume keys. (suggested by Steven Wahlberg)
Fixed a bug in pattern breaks.
-------------------------------------------------------------------------------
Version 1.2 (Additions/changes by Andrew J. Robinson)
-b option to not use BPM changes in MOD files. This is for
compatability with older trackers/mods.
Recognition of "M&K!" signature. (Suggested by Zygo Blaxell)
Recognition of "M!K!" signature.
Different exit codes. (also suggested by Zygo Blaxell)
If all samples in a MOD file are empty, then gmod no longer tries to play
it. This will prevent gmod from trying to play some non-music files.
Changed format in which modules are stored in memory.
Added "compression" of modules in memory.
Fixed a problem with the proper patch sometimes not being selected.
Support for all standard 669 commands.
Fixed initial panning for 669 modules.
Recognition of "Extended 669" format, although extended commands
are not yet supported.
Modules compressed with 'compress' or 'gzip' can now be played.
-------------------------------------------------------------------------------
Version 1.1a (bug fix by Andrew J. Robinson)
Fixed a bug with volume when notes were delayed or retriggered.
-------------------------------------------------------------------------------
Version 1.1
Many thanks to Robert Sanders for his excellent MTM & ULT loaders, and his
numerous great suggestions!
Additions/changes by Andrew J. Robinson:
8 channel module support.
Period table extended to cover more octaves.
Reduction in the number of global variables.
Fixed 669 sample loading to load ALL samples.
Changed read to fread, lseek to fseek, etc.
Added support for log volume in UltraTracker version 1 files.
Added support for the panning command.
"Set Speed" command now converted to either "Set Ticks" or "Set BPM".
Each note can now have two commands.
Volume now ranges from 0 to 255.
Additions/changes by Robert Sanders:
GUS memory checks/memory reporting.
MultiTracker (MTM) & UltraTracker (ULT) loaders.
"Show empty samples" option.
-------------------------------------------------------------------------------
First numbered version! (V1.0) (Additions/bug fixes by Andrew J. Robinson)
Made seqbuf_dump more persistent -- if the entire buffer isn't written to
the queue, it will keep trying.
Improved pitch slides -- they are now linear with respect to period
rather than pitch.
Added "FLT4" module support.
Added the rest of MOD commands except "set finetune" and "invert loop".
Added support for tuned samples.
Fixed 669 playing -- 669 modules should now play correctly, but 669
effects are not yet supported.
Changed calculation of speed. I hope it's right this time :-)
Added a small calculation to attempt to minimize loop clicking.
-------------------------------------------------------------------------------
Release date: 23 Dec 1993 (Additions/bug fixes by Andrew J. Robinson)
Added sync_time after initial set-up. This may help cure a problem with
pitch slides sometimes not working.
Changed the way bad samples are handled. Now, the channel is turned off
if a note is played on that channel using a bad sample.
-------------------------------------------------------------------------------
Release date: 22 Dec 1993 (Additions/bug fixes by Andrew J. Robinson)
Fixed a misplaced 'if' statement.
-------------------------------------------------------------------------------
Release date: 21 Dec 1993 (Additions/bug fixes by Andrew J. Robinson)
Added support for arpeggio, tone portamento with vol slide, pattern loops,
pattern delays, note cuts, note delays, and the "fine" commands.
Corrected (hopefully) volume slides, pitch slides, and speed command.
Added code to use "closest note" when period in MOD file does not match
a period in the table.
Added checks to reduce the number of MIDI events put in the queue.
Miscellaneous other small fixes.
Notes:
The pitch of a note cannot be slid beyond two octaves of its original
position. This is a limitation of the Linux sequencer drivers.
|