GXanim CHANGES as of April 9, 1999

====================================================

Version 0.01 - Released 3/15/99 ("At Least It Works")

- Initial release of GXanim, version 0.01.  It cranks up Xanim as an
  independent job and then manually kills the process to stop it.  The
  equivalent of hand-cranking a car.

====================================================

Version 0.02 - Release 3/21/99 ("Boy, That Last Version Sucked")

- Eliminated some structure redundancy and streamlined stuff.
- Stabilized and cleaned up code.  Basically rewrote half the thing.

- Rather than exec Xanim and then do a fork/kill job bit to start and stop it 
  (a real crude way to do it), we're now creating a "movie screen" window and 
  mapping Xanim's output onto it.  A lot of problems get solved this way, and 
  it opens up the ability to do remote features from the main interface.

- Populate the title with the current movie filename.
- Prepare code structure for massive interface implementation.

(3/19/99 - 3/21/99)

====================================================

Version 0.02a - Release later on 3/21/99 ("Whoops.")

- 0.02 wasn't ready for prime time.  Hell, it wasn't ready for cable access.
  It feels much better now, though still slightly neurotic.

====================================================

Version 0.10 - Released 3/27/99 ("It Almost Looks Like An App!")

- Seriously cleaned up and stabilized code.  The whole thing runs much 
  more solid now; 0.02 barely functioned and 0.02a has messy code.  0.10
  is the first serious release.

- Restructured the play_event routine in gxanim.c to be a bit smarter and
  to pause the playback if the user presses Play while a movie is up.  I think
  this actually made it into 0.02a; it may get taken out of the next version.
  (3/21/99)

- Added file valxanim.c - functions to query Xanim (without actually loading a
  movie file) to get Xanim version info, movie file type and native size info.
  Uses filetype info to verify that the file is a movie file, and native size info to
  adjust size settings if SIZEX and SIZEY are both set to zero.  Revised this
  routine to take into account the output of multiple vid codec lines.
  (3/21/99)

- Added a new struct to the control struct - stats.  This is where the info
  obtained by valxanim.c ends up and is used.
  (3/21/99)

- The real-time monitor routine now does a wait() to make sure we don't end
  up with zombies left behind in the case of an abend.
  (3/22/99)

- Verified zero memory leakage!  Yay!  (A minor miracle considering now much
  the DM allocator is being used.)
  (3/22/99)

- Added the file_only function to trim off the path from the movie filename showing
  up in the movie screen title.
  (3/23/99)

- Made modifications to the dm allocator to act as a reallocation driver.
  (3/23/99)

- Added a #DEFINE to activate test mode.  Remind me at some point to output
  test mode to STDERR.
  (3/24/99)

- Rearranged the main interface, rewrote most of it, added a real control set and
  killed the remote control.  
  (3/27/99)

- Reinstalled the statusbar widget that was in 0.01 but was taken out of 0.02.  It's
  a much better behaved statusbar than 0.01's.  I think I'll keep it around awhile
  this time.  
  (3/27/99)


===================================================

Version 0.20 - Released 4/9/99  ("On The Road Again..")

- Installed interface volume control.
  (3/29/99)

- Offloaded window building operations into windows.c, and the windows themselves
into structs; this will help keep the internal structure organized as more windows get
implemented.  It also reduces the clutter of main().
  (3/30/99)

- Implemented preferences screen.  This will be expanded as time goes on; for now it
just covers size, scaling and basic playback options.
  (4/1/99-4/3/99)

- Attached restart button to stop_event for now.  Having a bit of trouble getting movie
restart just right; there doesn't seem to be internal XAnim support for it.
  (4/3/99)

- Changed around #DEFINEs, added a few new ones.
  (4/3/99)

- Added little visual enhancements, like narrowing the statusbar and displaying the
playing filename during play.
  (4/5/99)

- Hammered the hell out of it to make sure it's stable.
  (4/6/99-4/9/99)
 
- Released two days ahead of schedule.
  (4/9/99)

===================================================

Version 0.20a - Released 4/10/99	(Service Release)

- Fixed bug in valxanim.c which caused crashes on some AVI's.  Thanks to Scott
Conway for bringing this to my attention.
  (4/10/99)

- Set default XANIMPROG in config.h to "xanim".  This should have gone out this way
and didn't.
  (4/10/99)


===================================================

Version 0.30 - Released 4/30/99

- Rewrote valxanim.c.  Most of the segfault problems with certain Quicktimes and AVI's
should be resolved now.  If not, please let me know.
	(4/20/99)

- Fixed signal connects on the windows so that deleting a window doesn't break GXAnim.
	(4/21/99)

- Rewrote extr_string in util.c to clear up a few bugs.
	(4/21/99)

- Minor cosmetic changes (such as changing "Find" to "Open" on main window).
	(4/22/99)

- Added config.c; GXAnim now allows for the use of a configuration .rc file as well as compiled-in defaults.
	(4/23/99)

- eliminated the xanconfig typedef and all references to it; this operation has been replaced with the
defaults_type typedef and the default/configuration subsystem.  I feel happier about the data arrangement now.
	(4/23/99)

- implemented IDLE and AUTOPLAY play states.
	(4/22/99)

- expanded the done_check() function and reduced the timeout internal from 50 ms to 20 ms.
	(4/23/99)

- "Restart" and Play-On-Start both work, though restart is still a bit glitchy at times.
	(4/23/99)

- Redesigned the movie screen window so that the XAnim mapping is projected on a subwindow rather
than the window itself.  MOVIE now refers to the XAnim mapping subwindow.  In theory this should allow
other objects (such as slidebars or labels) to be packed into the movie screen window.
	(4/25/99)

- Added portability defines into header.h.
	(4/25/99)

- Got Restart fixed by expanding the shared memory segment to include a command channel
(playset) as well as a state channel (playing).  (see source)
	(4/27/99)

===================================================

Version 0.35 - Released 5/27/99

- Fixed MPEG problem.
(5/2/99)

- Fixed minor problem in done_check() which might have broken compile with Redhat 6.0.
(5/8/99)

- Fixed the shared memory problem, finally.  User can now run up to 255 simultaneous clips
without control overlap or interference.
(5/26/99)

====================================================




  









