Commit Graph

105 Commits

Author SHA1 Message Date
Randy Heit b95e4b971e Update DUMB to revision 5b53815e1f271746627bde0bfce7140109b88f14
- Made the new MOD pattern counting system optional



SVN r4106 (trunk)
2013-02-08 01:04:38 +00:00
Randy Heit a0bc90bbc8 Update DUMB to revision 30b178af5674b8604306885a693c2a8aa422472f
- Fixed ADPCM sample support



SVN r4105 (trunk)
2013-02-08 01:00:53 +00:00
Randy Heit 5c65f7188e Update DUMB to revision 02190e007b4967b8a546f64a3934724817ff5c3a
- Fixed MOD pattern count calculation in weird cases where the last sample is missing four bytes



SVN r4104 (trunk)
2013-02-08 00:58:50 +00:00
Randy Heit 2b2a86a13e Update DUMB to revision 756ecf2ac0a2b70639193aca55627b64dac8d8d5
- Added interface for inserting extra DUH signals, and fixed searching for IT sigdata when more than one signal is present



SVN r4103 (trunk)
2013-02-08 00:57:40 +00:00
Randy Heit b3af94c2a7 Update DUMB to revision d2575fcc80abf2f04e702adb60a6265cef0fcabb
- Implemented final solution for MOD pattern count calculation
    - Fixed possible memory leak which only would have occurred with rare MOD files
    - Fixed a possible memory allocation error or crash with FLT8 MOD files



SVN r4102 (trunk)
2013-02-08 00:55:22 +00:00
Randy Heit fb98650e4d Update DUMB to revision b17c5254eeac1bff7e4b613c151e0232c2cba646
- Remove trailing whitespace from all song, instrument, and sample names



SVN r4101 (trunk)
2013-02-08 00:51:39 +00:00
Randy Heit 1e422f8921 Update DUMB to revision 32c9bb420240cac2120e7e01c2683df88d1dc1ac
- Corrected MOD reader to only check the known number of orders when calculating the pattern count



SVN r4100 (trunk)
2013-02-08 00:50:44 +00:00
Randy Heit 7cd543c554 - Warning fixes for DUMB.
SVN r4099 (trunk)
2013-02-08 00:49:27 +00:00
Randy Heit e66024fcbc Update DUMB to revision 9e3012a7ce5fb52383f51c99061bc45921699f63
- Fixed pitch slides on non-playing channels



SVN r4098 (trunk)
2013-02-08 00:46:27 +00:00
Randy Heit 36157271fc Update DUMB to revision e84e1824fbd0b2b690bd9beb2e25fd308e661982
- Fixed envelopes so they only carry from the same channel



SVN r4097 (trunk)
2013-02-08 00:45:50 +00:00
Randy Heit 61def2eb16 Update DUMB to revision 22e82be0a7b0a915a2669e8f4ff889a938a7bfcb
- Fixed IT tone portamento so it can continue without a destination note on every row



SVN r4096 (trunk)
2013-02-08 00:45:07 +00:00
Randy Heit e1ec8df32d Update DUMB to revision 15b780d08f2ee6f50a9843dc7479349f4deee5a7
- Fixed most effects applying to background voices



SVN r4095 (trunk)
2013-02-08 00:43:08 +00:00
Randy Heit 25542b11bd Update DUMB to revision 8d87ab8b9ec398cf3831b87dc969a28e278f3105
- Fixed XM sample header size handling to always assume a size of 0x28



SVN r4094 (trunk)
2013-02-08 00:42:07 +00:00
Randy Heit b7f4f498ff Update DUMB to revision 7ad496ecf2fd658a51de55df0e7f0257025038cc
- Added sanity checking to XM reader instrument and sample header sizes
    - Added footer tag checking to prevent tags from reaching the module reader



SVN r4093 (trunk)
2013-02-08 00:41:29 +00:00
Randy Heit 4163817eda Update DUMB to revision 5bee3e5ba3d57d1b16dda6d82c18fb417781625b
- Fixed XM reader for files with smaller than expected instrument or sample header sizes



SVN r4092 (trunk)
2013-02-08 00:40:36 +00:00
Randy Heit 3681a6673f Update DUMB to revision 0e95459562669335f7de543d063cfa57d25a8b77
- Fixed MOD vibrato depth
    - Fixed XM tremolo ramp and square waveform tracking



SVN r4091 (trunk)
2013-02-08 00:40:03 +00:00
Randy Heit ab801ffb76 Update DUMB to revision 8c3e510483ba1fdec19017dad4a5004d694177eb
- Corrected old style PSM note data



SVN r4090 (trunk)
2013-02-08 00:38:54 +00:00
Randy Heit 778bfd679b Update DUMB to revision 71ecdc7274a7fa33af0a0dea915eb3a294b0b04a
- Fixed IT stereo samples



SVN r4089 (trunk)
2013-02-08 00:38:07 +00:00
Randy Heit 86690be58b Update DUMB to revision 667b479457fd7c1e9aff4ea8301295c81762bdf5
- Fixed IT envelope reading for node counts over 25, which are invalid



SVN r4088 (trunk)
2013-02-08 00:37:17 +00:00
Randy Heit 4ce4a05518 Update DUMB to revision 4a268f95b7d2a116e3ea53d297c1d5a29f46bf07
- Added missing song restart position initialization to AM, AMFF, and DSM readers



SVN r4087 (trunk)
2013-02-08 00:36:35 +00:00
Randy Heit 1307079812 Update DUMB to revision 07f761e918e8a621f64242dd1a631ceba03cc920
- Fixed IT New Note Action duplicate check types for sample and instrument



SVN r4086 (trunk)
2013-02-08 00:35:42 +00:00
Randy Heit 5490b08c88 Update DUMB to revision 7def196332594817f94138dce2942007d232d407
- Corrected volume slide behavior for S3M playback, and also adjusted the slide volume level clipping range for S3M to 0-63
    - Updated S3M playback to share memory between DEFIJQRS effects
    - Adjusted S3M reader to a lower master volume level scale



SVN r4085 (trunk)
2013-02-08 00:34:58 +00:00
Randy Heit e66f50fb76 Update DUMB to revision f5f34570905e87f1933a0220d71d0d48c05b9b49
- Added a workaround for bad sample offsets in STM files
    - Disabled inserting note cut commands in STM files, as there is no such command in the format



SVN r4084 (trunk)
2013-02-08 00:33:10 +00:00
Randy Heit 277c233f5d Update DUMB to revision d78c28566689e3fca51f1fbb7208cde8b6e190a6
- Fixed STM sample reading



SVN r4083 (trunk)
2013-02-08 00:32:14 +00:00
Randy Heit 865a237b2c Update DUMB to revision c2cb42ff918b398ec8c305ddc6574f9f8f945ad9
- Implemented support for STM 1.x format
    - Flagged STM files as stereo, as they should be



SVN r4082 (trunk)
2013-02-08 00:29:50 +00:00
Randy Heit d1ada02edb Update DUMB to revision 33cd2c469ae9872dd0710297760bfb1dfe53a56d
- Made Oktalyzer reader more tolerant of truncated files



SVN r4080 (trunk)
2013-02-08 00:11:27 +00:00
Randy Heit 6d000a414a Update DUMB to revision e169b25f34ca140da8375a7085791447a5b8e8e8
- Implemented Oktalyzer format loader


SVN r4079 (trunk)
2013-02-08 00:09:49 +00:00
Randy Heit e978c7b059 - Udate DUMB to revision e34d68685d2e5e8b45f62acdaf8157872624620c
2011-01-13 23:11 UTC - kode54
    - Implemented ASYLUM instrument base semitone offset
    - Fixed ASYLUM effect number translation
    - Version is now 0.9.9.28
    
    2011-01-13 21:28 UTC - kode54
    - Quick fix for PT2 invert loop effect
    - Version is now 0.9.9.27
    
    2011-01-13 20:37 UTC - kode54
    - Implemented PT2 invert loop effect
    - Version is now 0.9.9.26



SVN r4078 (trunk)
2013-02-07 23:34:03 +00:00
Randy Heit 8807330649 - Update DUMB to revision c0fc19ef2e756ef25aa44ca3775b4afed3f02c9c
- Changed aliased resampler loop conditions a bit to fix some bugs
    - Removed resampler loop unrolling, as it actually made things slightly slower
    - Fixed a bug with songs triggering notes on the first order with instrument changes before any note commands have been triggered


SVN r4077 (trunk)
2013-02-07 23:30:20 +00:00
Randy Heit 401ee8fafb Update DUMB to revision 9ac6cf69758fe0db6d6e654f298cd36efdb73366
- Replaced old aliased resampling mode with a 65536x oversampling sinc resampler


SVN r4076 (trunk)
2013-02-07 23:21:36 +00:00
Randy Heit 13ffa8a1b8 Update DUMB to revision a9176165a2ccc56410b2004d2f5dd40b2052453a
- Changed a break to row behavior in DUMB, hopefully it doesn't break anything



SVN r4075 (trunk)
2013-02-07 22:25:58 +00:00
Randy Heit aad103c8d5 Update DUMB to revision 1a9e0d4fd889dc9d17a5ebe97825be0cb2b7a273
- Added range checking for XM global volume command



SVN r4074 (trunk)
2013-02-07 22:24:45 +00:00
Randy Heit 492caf6ceb Update DUMB to revision ca554279a235b23c7f5f6ff9ce478a7aa7250dfe
- Fixed channel muting when switching or restarting songs, or when seeking



SVN r4073 (trunk)
2013-02-07 22:23:55 +00:00
Randy Heit 1e04a8821a Update DUMB to 6e159ab89b5df27acf8a182a1ea5bf307ba8ff95
- Fixed two bugs with pattern loops causing songs to loop forever



SVN r4072 (trunk)
2013-02-07 22:22:07 +00:00
Randy Heit 5459c2497a - Fixed one line erroneously removed from readmod.c in r3589.
SVN r3591 (trunk)
2012-04-25 01:46:49 +00:00
Randy Heit a660eea116 - Patch to allow compilation by clang.
SVN r3589 (trunk)
2012-04-23 02:46:25 +00:00
Randy Heit e6de6fed3c - Revert r3214, which added some completely useless warnings for GCC.
I'm sure there are good reasons even GCC doesn't enable them by default when you use -Wall.



SVN r3225 (trunk)
2011-06-12 19:17:21 +00:00
Christoph Oelckers 81ae38c072 - added submission for disabling some new and rather pointless GCC warnings.
SVN r3214 (trunk)
2011-05-26 23:19:20 +00:00
Randy Heit 4963f5d35a - Meh. Linux does not have itoa.
SVN r2211 (trunk)
2010-03-14 17:24:08 +00:00
Randy Heit 5a72e8d20e - Some minor changes to DUMB to match http://kode54.foobar2000.org/foo_dumb-dumb-lib_source.rar
dated 2009-10-18. This version also added DSMI AMF support, but since I can't find a single
  song in this format, I'll hold off on including that unless somebody specifically requests it.

SVN r2201 (trunk)
2010-03-07 04:38:02 +00:00
Randy Heit 465d52b766 - Fixed: PROFILE was incorrectly declared in the top-level CMakeLists.txt, so GCC always
generating profiling information for Debug and RelWithDebInfo builds. This happened to
  also bring up that game-music-emu and DUMB are always built as RelWithDebInfo. If we're
  doing a normal Release build, we can just leave them as Release as well.

SVN r1808 (trunk)
2009-09-08 03:01:55 +00:00
Randy Heit 48d78730f3 - Mac version now links. Updaterevision refuses to give me a version number.
Zipdir is not doing byte swapping like it should. zdoom.ini is stored
  in ~/Preferences, but all other file accesses are probably going to be
  like Windows and look in the same directory as the executable.



SVN r1786 (trunk)
2009-09-03 03:51:41 +00:00
Randy Heit 33a397c04b - Basic Mac support: Everything compiles but does not yet link.
SVN r1780 (trunk)
2009-09-01 02:08:53 +00:00
Christoph Oelckers 6d1cee3398 - fixed DUMB-compile problem with gcc.
SVN r1679 (trunk)
2009-06-24 22:16:51 +00:00
Christoph Oelckers a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Randy Heit 88e32146b9 - Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
Changed it to a word.


SVN r1461 (trunk)
2009-03-04 22:18:46 +00:00
Christoph Oelckers f4929133d7 - Fixed a crash in DUMB when loading invalid files.
SVN r1457 (trunk)
2009-03-01 16:12:44 +00:00
Randy Heit 120233eebd - OggMod improperly decodes the right channel of stereo samples when sending
them to OggEnc, so I have no choice but to convert them to mono by chopping
  off the right channel and only using the left channel information.


SVN r1327 (trunk)
2008-12-21 04:14:16 +00:00
Randy Heit 97de7897de - Fixed: OggMod passes the raw sample data to OggEnc for stereo samples, so
the resultant Vorbis stream is not actually stereo but mono with the right
  channel after the left. The two need to be interleaved just like
  uncompressed samples are.
- Removed the pattern length limit in the XM reader.


SVN r1326 (trunk)
2008-12-20 04:17:10 +00:00
Randy Heit f435576f1d - Increased maximum number of per-pattern rows for the XM loader from
256 to 1024 to deal with a module that otherwise would not load.
- Removed the artificial restriction on not supporting Vorbis-compressed
  samples in XMs if they are stereo, since it turns out that OggMod does
  support them.


SVN r1316 (trunk)
2008-12-16 00:59:20 +00:00
Randy Heit de5d4715c2 - Added Linux support for the CMakeLists. This meant downgrading them for
CMake 2.4, since the distros don't seem to consider 2.6 stable yet.
  As a bonus, GTK+ is no longer a required dependency; now it's optional.
- Made dehsupp ignore CR characters, so it doesn't spew warnings on Linux.



SVN r1092 (trunk)
2008-07-25 01:37:44 +00:00
Randy Heit fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00
Randy Heit 3839ef14d5 - Disabled DUMB's mono destination mixers. It's not like I'm ever going to
target an original SoundBlaster, so they're a waste of space to have around.
  This trims resample.obj down to ~60k now.


SVN r1002 (trunk)
2008-05-30 22:52:58 +00:00
Randy Heit ee1039f04e - Fixed building with libdumb on Linux.
SVN r997 (trunk)
2008-05-30 01:02:35 +00:00
Randy Heit 01f59fa85f - Added an alternate module replay engine that uses foo_dumb's replayer, a
heavily customized version of DUMB (Dynamic Universal Music Bibliotheque).
  It has been slightly modified by me:
  * Added support for Ogg Vorbis-compressed samples in XM files ala FMOD.
  * Removed excessive mallocs from the replay core.
  * Rerolled the loops in resample.c. Unrolling them made the object file
    ~250k large while providing little benefit. Even at ~100k, I think it's
    still larger than it ought to be, but I'll live with it for now.
  Other than that, it's essentially the same thing you'd hear in foobar2000,
  minus some subsong detection features. Release builds of the library look
  like they might even be slightly faster than FMOD, which is a plus.
- Fixed: Timidity::font_add() did not release the file reader it created.
- Fixed: The SF2 loader did not free the sample headers in its destructor.


SVN r995 (trunk)
2008-05-29 23:33:07 +00:00