MultiAMP DOS change log by Rafał Szyja.

project started on 2nd July 2002
there are some comments not about MAMP itself,however :)

2-6 July 2002
Hmmm... 
I coded main system ,WAV/VOC player,MIDI player.

7 July
I uploaded very limited BETA to my website and posted it to ALLEGRO.CC
I though when allegro 4.0.2 will be released (huh!)
I went to ALLEGRO.CC and i've seen: allegro 4.0.2 :) was uploaded on 4 July (Cool! i must think about new computer - maybe I get one!)
so I have now Allegro v4.0.2 and recompiled MAMP

Yeah - I've added CDA support :)

VERSION: OFFICIAL BETA 1 RELEASED

8 July
I improved CDA support (tracks wont sux anymore when CD is changed)
Started adapting of AllegroMP3 example program be included as MP3 mod
for MAMP DOS

9 July
I've listened to MP3s with MAMP DOS :)
(SORRY but AllegroMP3 is complicated & I have used nearly ALL of
example program source to play MP3s :( ... Thanks to Peter Wang)

Evening: Now MP3 file lenght is mathed correctly so timing is also OK.

11 July
increased volume (Allegro lower it to prevent bad sound with more channels used together-don't care unless modules become played)

12 July
I tried to improve SEEK with MP3 (w/o success)
Multiamp can play MODULES!
Seeking/pause etc code for modules :) is done

13 July
I have written something but I forgot what! :]

15 July
help screen is now better
Allegro 4.1.0 WIP was released on 13th July. The guys at Allegro TEAM
are crazy! :) -> MAMP DOS is now Alleg4.1 based :)

16 July
MIDI Player now prints correct length so rest (seeking bar)is also OK!
I started programming config routines
I removed interrupt hook for F10 from system.c (due to redef errors
 with players when new config.c was included )

17 July
I removed all warnings :)
now MAMP DOS uses INI in WINDIR env var,like old delphi win32 version.

18 July
> main error codes added
> command line hints are better better.
> i removed aldumb.h include (was in main.c because i thinked it will be used)
> i removed CONFIG.C and all config routines! it was shitty!

19 July
> After problematic search I found newer JGMOD (v0.99) with native
Linux support :)

20 July
> MOD seek is based on track orders,not pattern number
> MODs code was a little optimized (unnecessary vars were kicked out)
> i added actions-symbols like on TAPE/CD/ETC player :)

25 July
> NOW CODE CLEANUP! :)  - preparing to release v0.9b

VERSION: v0.90 BETA RELEASED

18 August - MP3 stuff becomes better today evening.
> Back to coding after LONG pause :)
> MP3 buffers are smaller and seeking forward works enough good!
> and few minutes later also seeking backward seems to work :)
 -> However time isn't changing with seek... probably ALMP3's shit.
> Rewind is fixed now (I hope)

19 August
> I forgot what I've did :)

20 August - OGG is coming!
>>> I've got ... DUMBOGG so MAMP will probably play vorbis OGG sound!
> DUMB supports IT but the same (ie: not too good) way as DUMBOGG supports OGG... 
>more vars in INI due to OGG
>bigger size (due to *** DUMB)
>version #define in globals.h (why it was in main.c?!)
>OGG - nearly FULL success! plays... stops... SEEKS!
 a little better seeking is needed and pause/resume etc and go to work with MP3...
 Yea... I want to do something today but it's late and I want to sleep...
>Today's version is 0.92 beta (2 up because of OGG and seeking (at once!) in mp3)

21 August - OGG bugfixes
> now wont crash with F2
> now will play the same only once at a time.
> OGG lenghts etc aren't mathed correctly :( but enough to navigate them :|
> 11:32 AM - and NOW plays also IT :)
> I'm raising version to 0.93b!

25 August
> IT modules aren't now playing OK! before it was OK and now is fucked UP!
> AllegroMP3 is shitty! I want to finish support for MP3 but it's really HARD!
> I added strings while initialization to find out the bug causing MAMP
  SIGSEGV whe running from clean DOS (I completely don't know what's UP!)

1 September - Newer libraries comes!
> I know what's up with SIGSEGVs under clean DOS... I fix it as fast
	as possible!
> I'm going to school tomorrow ;)
> I've downloaded newest AllegroMP3 and ... AllegroOGG
	so maybe I finish v1.0 next week!
> I've GCC 3.1.1 ;)
> And i've kicked this GCC out :) it's big SHIT! I can't compile
  anything with it!
> I'm using newest Allegro 4.1.1 (this release is bad,however)

2 September 
> I was in my new school... it's cool :)
> Yea... New ALMP3 should be better than older one
> no more crash under clean dos... simply under clean DOS there isn't
  WINDIR env var causing SIGSEGV because of strcat with NULL pointer :)
> I rewritten a part of MP3 stuff ... notable changes:
  + now it loads whole file into memory (swap file with low RAM)
    using malloc (with Kamil I tried also 2 other which mainly caused
    MEGA_FUCK_UP_RESET of PC) and then plays it :)
  + AT ONCE -> seeking with this method is simply and powerful!
> version raised to 0.94b :)

3 September - School ... oh no!
> New ALMP3 is really: better & smaller & faster!
> new MP3 player is written completely by ME!- No code by P. Wang is
  used now!
> MAMP.INI file changed: mp3downsample / always mono doesn't exists
  in new ALMP3 :) - only buffer size!
> DOS's windir wasn't tested on 2nd Sep and I today discovered bugs...
  even after SET WINDIR=c:\WINDOWS it says no 'windir' :)
  now it assumes c:\mamp.ini when 'windir' isn't declared.
> new startup system for discovering bugs etc - with VERBOSE=2
> OGG is supported via AllegroOGG v1.0.2 :) (DUMB have probably 
  better sound quality but ALOGG creates smaller EXE. huh...)
> now OGG uses only buffer size in INI - like MP3s
> now MAMP can load MP2 and MPG for AllegroMP3.
> version raised to 0.95b ! and in fact it is first version which
  can be called 1.0 but i need to further test it - possibility of
  bugs somewhere!

5 September - Documentation rules
> I started creating docs from scratch (a lot of text reformatting)
  probably nobody will read it - but who knows :)

6 September
> I made little changes to OGG code
> I succesfully installed Slackware 8.0 Linux on my system :)
  so i'm preparing to compile Allegro under Linux - hehe!

7 September
> Version is now 1.00!
> LINUX:I succesfully compiled alleg4.0.1 but I can't compile v4.1.1 :(
> I finished documentation - 10k of HTML ;) 
> save default vars config to MAMP.ini when vars or file are missed
> I'm preparing to send MAMP to net today!

VERSION: v1.00 RELEASED

21 September
> Back to work after 2 weeks I spend in HOSPITAL ;(
> I finished first step of rewriting MAMP - now it uses makefile 
  (no more shitty .BATs which caused code to cross-complicate itself as
   shit!)
> next stable release will be probably released as v1.10 :)

25 September - go on ;)
> Allegro 4.1.2 was released on 22nd Sep

26 September - Code cleanup...
> Well... all prototypes goes to FUNCS.H for cleaner&smaller code
> No more signal handling (so no code from DOOM Legacy)
> Default IT_RESAMPLING is now 1 (not 4) as Ben Davis suggested
  (He is author of DUMB)
> screens update

1 October
> Allegro 4.1.3 was released yesterday... (30 Sep)

3 October

VERSION 1.01 IS READY!

4 October
> docs cleanup
> Sources are in fact CLEANED... so i can extend MAMP heavily now!
> Version is now 1.01 (stable)

> I started adapting code to CGUI (nice graphical user interface 
  similiar to window$95)
> Config is readed from c:\mampdos.ini,not $(WINDIR)\mamp.ini

5 October
> GUI really works but i must re-write nearly all the program to fit it!

6 October
> Well.. MP3s are playing but it's only a quick hack to hear any sound.
  (No progressbars etc)
  
8 October
> FUCK! I don't have time to develop MultiAMP... that's right.
  Maybe [?] 1st GUI version will show in late October 2002.
  
10 October
> Well.. I downloaded UCL (Ultimate Compression Library or so?)
  and I think how to use it with MAMP due to it's rate of compression.
> I downloaded new UPX - now it's v1.23

12 October
> I have written a little of code ;)

13 October
> Now - basic Config window is done,sliders are OK,an info-box added...
  
  I just know how rest will be done !!!
  I set up one timer which will tick 10 times per second and it will
  do rest :) easy but I needed one week to think about it ;)
  I must code also functions like 'mamp_get_pos_mp3' and so...
  
> added 10 different fun QUIT texts ;) (like in Wolfenstein or DOOM..)

16 October
> I notified that MAMPDOS GUI causes sigsegv under clean DOS...
  strange thing ... i must fix it
> Little changes to OGG code,because Javier Gonzales corrected docs about
  ALOGG (I suggested him that someting is wrong with code or docs)
  and now code is correct... (ie no more #define ALMP3_* in OGG code)
  (well... we're talking about OGG and in docs there were funcs/defs with 
  MP3 in name... (but really in sources all of them were with OGG!))
  
17 October
> I wrote TIMER but it still needs a lot of work...
> I downloaded ... DUMB v0.9 :) now it's smarter... and supports MOD...

18 October
> I installed DUMB v0.9 and ALOGG v1.0.3 ;)
> Volume control slighty changed to try not generate bad pointer reset :)

IT RUNS!!!!!!!!!!! but... there are some sound 'glithes' due to
interrupt context of MP3s polling :( ... code must be optimized...
  
  
19 October 
> well... sound still "scrathes" sometimes... 
  I suppose that the reason is simple: Polling is in interrupt and when
  something else (maybe CGUI itself... maybe something else) uses
  heavy stuff in another interrupt there is a slowdown that makes "scrath"
> I added GUI player for WAV & VOC :) - no scrathes or something else 
  that is BAD
> About tab in config window added 
> Color changing added

20 October
> Some testing

21 October
> Improved addiditonal (first) color scheme (which was created on 19 oct)
> I used BEGIN_DRIVER... END_DRIVER... macros to make EXE smaller...
  it's 110k (10%) smaller without UPX packing.
> New options in config
> Additional color scheme (black'n'white)
> DOCS update (not finished)

22 October
> I bring MAMP to my school... AND IT FUCKED UP with SIGSEGV!
  then at home I ran it and it was OK... I'm angry as SHIT!
> I dropped "smaller size macros" due to error reading DATs when macros were used.
> Startup code changed to provide more dubug info.
> I probably found the thing that was broken causing SIGSEGVs (but should not) :) 
  [alert(); before initialized graphics mode]
> objects in config window were rearranged

23 October
> I downloaded CGUI 1.5.0 beta (then compiled it)
> suckers from my class modified my site and changed my password for mail 
  and www account :)

25 October
> I got my "new" password for account ... so my site won't be closed.
> Allegro 4.1.4 released :)
> DOS shell added
> ToolTips added (new feauture in CGUI 1.5).

26 October
> screen-bit-depth changing added (not critical feature but can be useful later)
> MAKEFILE changed (now compiling is 586 (not486) optimized)

28 October
> Now something like controlbox added. (If you click button in top left
  menu appers and you can select option . Nice}
> Slider timer-control added (ie update each timer tick)... 
  I must think about smart seeking ... it must be done like in Winamp 
  or MAMP for WIN... 
  
29 October
> nothingh done but MAMP recompiled with GCC 3.2 :)
  (I commented few lines in include/stdio.h due to redef error and it is fine... 
  at least for this moment)
> but GCC 3.2 won't fix SIGSEGV under clean dos :(

31 October
> Removed few warnings for GCC 3.2
> new ABOUT screen
> OGG player under GUI

1 November
> non-GUI version is now v1.0.2 (to be released!)
  changes: IT length is now correct and genereal IT playback is better.
> nonGUI changed to be fully GCC 3.2 compatible.

V1.02 non-GUI released

10 November
> Lite version prepared for Christer Sandberg
> removed warning in GUI.C

14 November
> CGUI 1.5.1 in use now.

15 November
> Changes in main window apperance

17 November
> there was an strgae reset when exiting on some PCs... now should be fixed :)
> F12 creates screenshots

19 November
> Today Allegro 1.1.5 released - So I recompiled MAMP... 4k bigger ;)

20 November
> Again code cleanup...
> Again changes in configuration file support ("./mamp.ini")
> Icon from old "MAMP for WIN" is now supplied with MAMP
> I drew nice MultiAMP logo :)

21 November
> CDA support is partially adapted to GUI
> Icons for buttons - temporary these from windows ;)

24 November
> Some cleanups somewhere
> "loadimage" move from GUI_main to functions which needs images
   because of DOS shell "deinitCGUI" which removes graphics from mem

26 November
> I tried to compile windows version with Mingw32 ... all was OK but makefile won't work... what's up?

28 November
> I applied source modifications Oscar sent me. (see Oscarlog.txt)
> Oscar added to credits in program.

29 November
> Sliderbar changed to progressbar.
> MP3 and OGG updated to change value of progressbar
> Some cleanups somewhere.

30 November
> I changed version description in #define

31 Noveber
> I finished downloading Mingw32 2.0.0.3 but it won't solve problems with MAKE etc....

1 December
> Alleg 4.1.6 released yesterday :) - so I need to recompile the stuff again ...

2 December
> MIDI support is now nearly fully GUI compatible (stop and progress bar won't work...)
> Runtime resolution changing finally works !!! (I used some Oscar's code)
> added some tooltips
> added scheme.c for easier color scheme managing

4 December
> I added debug mode makefile...
> I started to add TRACEs 

5 December
> debug version of MAMP's EXE with -g takes nearly 4MB of HDD!
> Oscar sent me playlist code - nice.
> Makefile target added - debug (no more two makefiles)
> Corrected bug with MIDI support

6 December
> I removed putshit() and mamp_wait() functions
> I changed nearly all printfs to TRACE for debugging

7 December
> All DJGPP/DOS only compatible code removed!
> I reinstalled Mingw 1.1 because 2.0.0.3 sucks...
> lame hacked bats to compile MAMP with Mingw32 compiles it but EXE hangs...
> I compiled statically linked CGUI
> I tried both static and dynamic linking and it fails... with mingw

8 December
> I removed conio.h and dos.h as Ben Davis suggested me
  (I forgot to remove them as GUI version comes from NONGUI one)
> removed some (all except 1) mingw warnings
   (so Linux warnings should gone also)
> changed all filenames to lowercase

9 December
> Stripped some #ifdefs
> nice update in src.txt

----- Oscar sent MAMP to query at SourceForge :)

> changed array for color schemes to 4x10 (prev. 3x9) due to memory violations.

10 December
> I downloaded Allegro 4.1.7 :)
> prefixed filenames for loadimage with './' (gui.c)
> FIXED WIN32 VERSION FUCKUP!!!!!!!!!
   Mingw32 version works excellent!!! (using still alleg 4.1.6)
> I'll try to compile alleg4.1.7 today :) 
> Get 4.1.7 compiled both for DJ and Mingw - took about 2.5 hrs to do it all :)
> MultiAMP's account on SF is working now :)
> Window's title set to "multiamp" by default
> Mingw's BATs supports WINDRES - icon built by default
> I'm going to bed - it's late now :)

11 December
> Tranferred all the docs to allegro's _TX format - now I have automatic
  HTML, TXT and ... CHM docs building :)
  and ofkoz small dox update

14 December
> Docs update (optimization), linked SRc.TXT into mamp._tx
   added major changelog between released versions
  output:  plain txt and HTML docs will be in one file 

15 December
> I switched to GCC 3.2.1 under DJ 

23 December
> Downloaded Allegro 4.1.8 and 4.0.3 beta 1 :)

24 December
> Downloaded and compiled DUMB 0.9.1

25 December
> I use MingW2.0.0.3 again - that old problem was only Allegro related
> icon.rc modified - now info tab also exist

------------------------ year 2003 --------------------

22 Jan 2003
> I put toghether code Oscar has written

23 Jan 2003
> Now MAMP and MAMPW32 works nice with playlists
> added 2 "return"s in Oscar's code
> MINGW32 makefile is finally working (makefile.mgw)
> moved CDINIT stuff from CDA.C to system.c (all initalization should be here or maybe init.c?)

25 January
> Now uses CGUI v1.6.1 -> LoadImage changed to CguiLoadImage
> Fullscreen option for Win32 (and Linux)
> GUI graphics mode setting error handling
> minimal mingw32 makefile change

26 January
> changed IMAGE_BMP to IMAGE_TRANS_BMP for CguiLoadImage - icons are 
  transparent (at once)
> I made few lame icons
> I freshed docs a bit 
  (added email addresses and notified about makefile for mingw)

31 January 2oo3
> I put together code Oscar sent me
> Fixed 'unexpected "("' in Mingw makefile : cannot use '(mingw)'
 strnage... changed to '- mingw' (#echo comment sent to screen)
> Oscar gave me suprise :)
 #define CguiLoadImage LoadImage

I wrote this:
#if CGUI_VERSION_MAJOR == 1 && CGUI_VERSION_MINOR < 6
#define CguiLoadImage LoadImage
#endif

to prevent these errors in future :)

> I wrote Polish translation file


14 Feb 2oo3
> back to work after 2 weeks... and then wait another 2 weeks :)
> I made main-win buttons smaller (I discovered how SetSizeOffset works really)
> changed editbox to textbox :) - better apperance/functionality

15 February
> JGMOD - kicked out! DUMB rulez mod support now :)

17 February
> fixed bug in buffer-size for modules (reading them for DUMB)

21 February
> DUMB won't hang-up DOS version anymore - GenEvent instead of timers is in use now.

sent sources to Ben Davis

> Fixed Linux makefile as Ben Davis suggested

23 February
> Christer Sandberg sent me Swedish translation

24 February
> Eduardo Machado sent me Brazilian (Portugal) translation file

25 February
> Christer Sandberg sent me [a bit fixed] Swedish translation

28 February
> I made Play-button fix Oscar suggested me

NONGUI:
> Updated AllegroOGG to 1.0.3
> Updated DUMB to v0.9.1
> Updated Allegro to 4.1.8
> Kicked JGMOD out (so JGM/UMX support dropped)
> some fixes here and there

1 March 2003
> Updated docs

9 March 2003
> MultiAMP uses allegromp3 v2.0.3 now
> DOS console version applies "unsupported file type" message

12 April 2003
> CGUI 1.6.3 and DUMB v0.9.2 in use now
> some libraries version info in about box
> MAMP uses icons I drew for CGUI

13 April
> CGUI 1.6.4 in use now (huh... Christer released 2 new versions this week)

14 April
> DOS shell only in dos version (win32 often fucked up and Linux version hasn't got command.com)
> main file-selector is now extended
> I made (a bit lame , however) Multiamp ASCII logo included in docs and on end-screen
> Docs update - new contributors listed
> removed some warnings and unuased JGMOD code

29 April
> Fixed mistake ... Pause was initilised in globals.h and this caused multiple defs error


