Game_Music_Emu Change Log
-------------------------

Game_Music_Emu 0.3.0
--------------------
- Added more demos, including music player using the SDL multimedia library for
sound, and improved documentation

- All: Improved interface to emulators to allow simpler setup and loading.
Instead of various init() functions, all now support set_sample_rate( long rate
) and load( const char* file_path ).

- All: Removed error return from start_track() and play(), and added
error_count() to get the total number of emulation errors since the track was
last started. See demos for examples of new usage.

- All: Fixed mute_voices() muting to be preserved after loading files and
starting tracks, instead of being cleared as it was whenever a track was
started

- VGM: Rewrote Vgm_Emu to support Sega Genesis/Mega Drive FM sound at any
sample rate with optional FM oversampling, support for alternate YM2612 sound
cores, and support for optional YM2413

- VGM: Added tempo control, useful for slowing 60Hz NTSC Sega Genesis music to
50Hz PAL

- VGM: Removed Vgm_Emu::track_data(), since I realized that this information is
already present in the VGM header (oops!)

- GYM: Changed Gym_Emu::track_length() operation (see Gym_Emu.h)

- NSF: Added support for Sunsoft FME-7 sound chip used by Gimmick soundtrack

- NSF: Fixed Namco 106 problems with Final Lap and others

- Moved library sources to gme/ directory to reduce clutter, and merged boost/
functionality into blargg_common.h

- Added Gzip_File_Reader for transparently using gzipped files


Game_Music_Emu 0.2.4
--------------------
- Created a discussion forum for problems and feedback:
http://groups-beta.google.com/group/blargg-sound-libs

- Changed error return value of Blip_Buffer::sample_rate() (also for
Stereo_Buffer, Effects_Buffer, etc.) to blargg_err_t (defined in
blargg_common.h), to make error reporting consistent with other functions. This
means the "no error" return value is the opposite of what it was before, which
will break current code which checks the error return value:

	// current code (broken)
	if ( !buf.sample_rate( samples_per_sec ) )
		out_of_memory();
	
	// quick-and-dirty fix (just remove the ! operation)
	if ( buf.sample_rate( samples_per_sec ) )
		out_of_memory();
	
	// proper fix
	blargg_err_t error = buf.sample_rate( samples_per_sec );
	if ( error )
		report_error( error );

- Implemented workaround for MSVC++ 6 compiler limitations, allowing it to work
on that compiler again

- Added sample clamping to avoid wrap-around at high volumes, allowing higher
volume with little distortion

- Added to-do list and design notes

- Added Music_Emu::skip( long sample_count ) to skip ahead in current track

- Added Gym_Emu::track_length() and Vgm_Emu::track_length() for determining the
length of non-looped GYM and VGM files

- Partially implemented DMC non-linearity when its value is directly set using
$4011, which reduces previously over-emphasized "popping" of percussion on some
games (TMNT II in particular)

- Fixed Fir_Resampler, used for SPC and GYM playback (was incorrectly using
abs() instead of fabs()...argh)

- Fixed SPC emulation bugs: eliminated clicks in Plok! soundtrack and now stops
sample slightly earlier than the end, as the SNES does. Fixed a totally broken
CPU addressing mode.

- Fixed Konami VRC6 saw wave (was very broken before). Now VRC6 music sounds
decent

- Fixed a minor GBS emulation bug

- Fixed GYM loop point bug when track was restarted before loop point had been
reached

- Made default GBS frequency equalization less muffled

- Added pseudo-surround effect removal for SPC files

- Added Music_Emu::voice_names() which returns names for each voice.

- Added BLARGG_SOURCE_BEGIN which allows custom compiler options to be easily
set for library sources

- Changed assignment of expansion sound chips in Nsf_Emu to be spread more
evenly when using Effects_Buffer

- Changed 'size_t' values in Blip_Buffer interface to 'long'

- Changed demo to generate a WAVE sound file rather than an AIFF file


Game_Music_Emu 0.2.0
--------------------
- Redid framework and rewrote/cleaned up emulators

- Changed licensing to GNU Lesser General Public License (LGPL)

- Added Sega Genesis GYM and Super Nintendo SPC emulators

- Added Namco-106 and Konami VRC6 sound chip support to NSF emulator

- Eliminated use of static mutable data in emulators, allowing multi-instance
safety


Game_Music_Emu 0.1.0
--------------------
- First release
