* ALL THE CHANGE LOG ENTRIES SINCE 2007-05-28 ARE IN THE GIT REPOSITORY. USE "git log" COMMAND 2007-05-28 Heikki Orsila <heikki.orsila@iki.fi> - The development has been moved to a Git repository. Please issue "git-clone git://zakalwe.fi/uade uade.git" to checkout the latest version from the repository. 2007-05-27 Heikki Orsila <heikki.orsila@iki.fi> - Commit messages into version repository should from now on include a short tag explaining the nature of the commit. The tags are: * [ADAPTIVE] - adaptive maintenance: the commit makes software to work better with the surrounding environment (compilers, libraries, path names ...) * [CORRECTVE] - corrective maintenance: fix a defect in the program * [PERFECTIVE] - perfective maintenance: used when adding a feature or improving an existing feature * [PREVENTIVE] - preventive maintenance: used when refactoring, cleaning or asserting the code, or adding self-tests See http://www.site.uottawa.ca:4321/oose/index.html#maintenance - Fixed Audacious plugin to work for Audacious 1.4/2.x Christian Birchinger <joker@netswarm.net> [ADAPTIVE] [CORRECTIVE] 2007-05-03 Michael Doering <mld@users.sourceforge.net> - Added a new version of Synthdream replayer from Don Adan 2007-04-30 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.07 (Walpurgis night) - Added Special FX ST replayer from Don Adan - Added a new version of Special FX replayer from Don Adan - Work-arounded libao/alsa so that it drains the audio device for the last few milliseconds of sample data for the last played song. Thanks to Cthulhu for pointing out the problem. - Many fixes in song length database code # Fixed a bug that only the last played subsong time was recorded into the song db # Fixed a file-locking race condition in song db # Fixed a song db corruption bug # Cleaned song db code - Support for full Drag and Drop/Local URL Support in Audacious 1.3 plugin - Fixed misdetection and modlen calculation bug of Soundtracker IV mods 2007-04-29 Heikki Orsila <heikki.orsila@iki.fi> - Added Special FX ST replayer from Don Adan - Added a new version of Special FX replayer from Don Adan 2007-04-27 Heikki Orsila <heikki.orsila@iki.fi> - Work-arounded libao/alsa so that it drains the audio device for the last few milliseconds of song data for the last played song. Thanks to Cthulhu for pointing out the problem. 2007-04-15 Michael Doering <mld@users.sourceforge.net> - Bug in songlength database handling fixed (shd) 2007-04-14 Michael Doering <mld@users.sourceforge.net> - Support for full Drag and Drop/Local URL Support in Audacious 1.3 plugin. (shd, mld) - Fixed misdetection and modlen calculation bug of Soundtracker IV mods. (shd/mld) 2007-04-09 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.06 (7 YEARS BIRTHDAY PARTY AT PAULAS!) - UADE project is now exactly 7 years old \o/ PARTY! - Started working for Audacious 1.3 support, at least songs that are added directly through playlist should work if they are regular files. Audacious VFS is not supported in general. Nothing else is guaranteed. Audacious < 1.3 works as in the past. - Infogrames replayer improved, gobliins 2 et al. play with correct tempo - Added new Quartet ST player from Don Adan / Wanted Team (qts.* files) - KRIS aka Chip Tracker replayer (KRIS.* files) from Don Adan / Wanted team. This replaces PTK-Prowiz for Chip Tracker songs, so not a new format. - Quartet PSG replayer (SQT.* files) from Don Adan / Wanted Team - Many small changes, cleanups etc - Fixed user installation of Audacious 1.3 plugin... 2007-03-19 Michael Doering <mld@users.sourceforge.net> - Merged Christian Birchingers Audacious 1.3.x API Patches in. 2007-03-03 Heikki Orsila <heikki.orsila@iki.fi> - KRIS aka Chip Tracker replayer (KRIS.* files) from Don Adan / Wanted team. This replaces PTK-Prowiz for Chip Tracker songs, so not a new format. - Quartet PSG replayer (SQT.* files) from Don Adan / Wanted Team 2007-02-13 Heikki Orsila <heikki.orsila@iki.fi> - Updated Inforgrames player to use tempo 0x24ff for Ween songs. Thanks to DrMcCoy of SCUMM VM project. - Reverted Michael's 2007-02-13 patch regarding LC_Numeric and strtod(). Fixed the problem manually by converting x,y values into x.y format and vice versa. 2007-02-13 Michael Doering <mld@users.sourceforge.net> - Fix for German LC_Numeric="," parameters in uadeconfig.c. Thanks for Steffen Wulf for reporting. - Bumped Version to 2.05. :-) 2007-02-08 Michael Doering <mld@users.sourceforge.net> - Added new Quartet ST player from Don Adan / Wanted Team (qts.* files). Great work as ever Don! - Disabled Hippel COSO check in amifilemagic.c to avoid a conflict between Amiga and Atari ST Coso Files. TODO: The file heuristics for Coso in amifilemagic.c has to be fixed, the checkroutine of the Amiga Hippel-Coso replayer isn't HIP-ST Coso aware either. 2007-02-06 Michael Doering <mld@users.sourceforge.net> - Small correction of shd's patch in PTK-Prowiz commited. 2007-02-05 Michael Doering <mld@users.sourceforge.net> - Applied shd's uade_new_get_info patch to PTK-Prowiz. 2007-02-04 Michael Doering <mld@users.sourceforge.net> - Added sanity check to query eagleopts in PTK-Prowiz (needed for score fix) - Added a new uade.library method: UadeNewGetInfo(). It is now used with Infogrames replayer (see amigasrc/players/infogrames/Infogrames.asm). It will be used with PTK-Prowiz soon. Documentation for UadeNewGetInfo() can be read from amigasrc/score/score.s, see function "uade_new_get_info". 2007-02-03 Heikki Orsila <heikki.orsila@iki.fi> - Disassembled Andy Silvas Infogrames replayer, added a work-around list for Gobliins 2 songs to fix tempo. Thanks to Sven Hesse of ScummVM project for letting us know of the tempo problem. The next thing to do is go through all Infogrames games with UAE and record the tempo value for each song? Any volunteers?-) 2007-01-30 Michael Doering <mld@users.sourceforge.net> - Changed Scrollbar policy for audacious modinfo to avoid ugly line breaking in hexmode 2007-01-25 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.05 (It came from the Paula) - This release workarounds scheduler features of some 2.6.x Linux kernels. IPC method was changed to use sockets instead of pipes, which significantly reduces buffer underruns. This is really the only change affecting scheduling! Weird. 2007-01-24 Heikki Orsila <heikki.orsila@iki.fi> - Fixed compilation for platforms that lack memmem(), such as Mac. The compilation bug was introduced at 2007-01-21 when unixipc and unixsupport were merged. 2007-01-22 Michael Doering <mld@users.sourceforge.net> - Fixed songinfo for mods detected as Protracker compatible 2007-01-21 Heikki Orsila <heikki.orsila@iki.fi> - Merge unixipc.c and unixsupport.c. Modularise uadecore spawn into unixsupport.c. - Move from pipe based IPC communication to UNIX socket based communication. This solves a scheduling problem for some 2.6.x Linux kernels. 2007-01-21 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.04 (Defective by Design .org) - Added Jochen Hippel ST player (hst.* files) - Added Quartet player from Don Adan / Wanted Team (qpa.* files) - Updated Mark Cookset replayer with a new version from Don Adan of Wanted Team - It's now possible to command an eagleplayer listed in eagleplayer.conf to ignore file type check. This is useful with the CustomMade replayer as it rejects some valid song files. See the change log entry from 2007-01-02 and the man page about song.conf and eagleplayer.conf. - Cygwin work-around (locking on song contents db is broken). Does NOT affect unixes. - Amiga memory size can now be configured properly from ~/.uade2/uaerc. This is useful with big sound files (rare). - Fixed the sinc filter, it had a bug that made it less accurate - Man page updates about filters - GCC 4.x clean ups - Small bug fixes. The default uade.conf had a deprecated option in comments. It was removed. - Updated installation instructions 2007-01-18 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a bug in default uade.conf. "headphone" option for the uade.conf was obsoleted at 2006-05-13, the new option name became "headphones". The backward compatibility is retained again and thus "headphone" option will work to some future. - Fixed several missing cvs sticky bits (-kb) in players/ dir 2007-01-15 Michael Doering <mld@users.sourceforge.net> - Made "detect_format_by_content" parameter for modfiles default. This way only true Amiga 4ch mod files now get played. - Added Quartet player from Don Adan / Wanted Team. It recognizes QPA.* files. 2007-01-12 Heikki Orsila <heikki.orsila@iki.fi> - Added "ignore_player_check" option for eagleplayer.conf and song.conf. It is useful with bad eagleplayers and rips. This feature was requested for use with CustomMade player and therefore this option will also be made default for that player. See the new eagleplayer.conf. 2007-01-11 Antti S. Lankila <alankila@bel.fi> - Correct some ancient mistakes in uade123.1, regarding filter operation. For instance the LED filter center frequency was reported halved due to an earlier mistake in graph drawing 2006-12-22 Heikki Orsila <heikki.orsila@iki.fi> - Added Jochen Hippel ST player from Don Adan / Wanted Team. It recognizes HST.* files - Replaced old Mark Cooksey replayer with a new version from Don Adan / Wanted Team 2006-12-07 Antti S. Lankila <alankila@bel.fi> - Remove uadecore with make clean 2006-12-03 Antti S. Laknila <alankila@bel.fi> - Fixed a strict aliasing warning that occured with GCC 4.1 in newcpu.h 2006-12-01 Heikki Orsila <heikki.orsila@iki.fi> - Memory size of Amiga can now be increased over 2 MiB by editing the uaerc file (e.g. ~/.uade2/uaerc). The variable named chipmem_size should be edited. Allocated memory for the amiga is determined by chipmem_size * 512 KiB By default, chipmem_size = 4 -> 2 MiB of memory. This variable can be set up to 16 (8 MiB of memory). 2006-11-26 Heikki Orsila <heikki.orsila@iki.fi> - Updated instructions about -x option in uade123 and its man page. 2006-10-28 Antti S. Lankila <alankila@bel.fi> - Due to me misunderstanding the Kaiser window beta parameter, the BLEP tables for sinc synthesis were set to attenuate aliasing only for 40 dB instead of the target 80 dB. 2006-10-24 Heikki Orsila <heikki.orsila@iki.fi> - No locking with Cygwin -> uade is dangerous with songdb. 2006-10-02 Heikki Orsila <heikki.orsila@iki.fi> - Updated INSTALL.readme to include more dependencies (pkg-config and sed) and tips for Mac OS X compiling (workarounds) 2006-08-27 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.03 (Microsoft punishment) - Added song.conf support to set song specific attributes for playback, such as ntsc, blank, filtering etc. See the man page. An example, one may add following line to ~/.uade2/song.conf to make fred.hybris_light always timeout on 200 seconds: md5=60f3bb11cc1bacaf77d7c16d13361844 broken_song_end timeout=200 comment FRED.Hybris_Light This need not be added manually, one can just issue: uade123 --set=broken_song_end --set=timeout=200 FRED.Hybris_Light and afterwards uade will always play the song correctly. Similarly, one can fix volume gain for some songs: uade123 --set=gain=2 foo To reset all options for a given song, do: uade123 --set= foo - Fixed PAL audio synthesis frequency (inaudible) - --interpolator=x is now --resampler=x because the function of interpolators was actually resampling. - Only A500 and A1200 filters are now supported and A500 is the default. - Added Play time database support for uade123 - Compatibility fixes - Lots of bug fixes - Improvements in uade123 UI (press i or I for info on song) - Improved file magic support for some formats (P61A, Fuzzac, ...) - Hacky NTSC mode support available now. Use --ntsc or ntsc directive in uade123. Also works per-song with song.conf. One can now make specific songs be played in NTSC mode by programming song.conf with proper values. One can issue: uade123 --set=ntsc dw.FooBar or put a line to ~/.uade2/song.conf: md5=225bbb405433c7c05fe10b99b8e088ff ntsc comment dw.AlfredChicken - One can force protracker replayer to use VBlank timing with many ways, see the man page on section EAGLEPLAYER OPTIONS. For example, do: uade123 -x vblank mod.FooBar - Enhancements in PTK-Prowiz. Protracker version is now selectable between 3.0b, 2.3a and 1.0c. See the man page section EAGLEPLAYERS OPTIONS. This option is not yet guaranteed to be 100% but may fix some immediate problems with some songs.. These settings may also be recorded to song.conf so that one only has to give these parameters once. Example: uade123 -x type:pt10c mod.TheClassicProtrackerVersionedSong btw. uade is probably the first mod player for non-amigas that has a direct version support for protrackers. - Improved some players - Titles in audacious and xmms plugins on the playlist are now programmable with uade.conf. The default is song_title %F %X [%P] This displays filename, subsong (if more than one) and player. See SONG TITLE SPECIFICATION section in the man page. There's a small help in the uade.conf too. - Significant code refactorizations - Fixed a memory leak issue (see Change log on 2006-04-15) - Added Dirk Bialluch format support by Don Adan/Wanted Team 2006-07-27 Heikki Orsila <heikki.orsila@iki.fi> - Removed -fno-strength-reduce from src/Makefile.in. Some old GCC 2.x versions had bugged strength reduce, but it shouldn't matter anymore. Maybe the compiler will produce better code without this. AHX.cruisin showed approx 3% speedup :) Thanks to alankila for pointing out use of this flag. 2006-07-17 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a segfault bug in songdb caused by recent changes to add subsong volume normalisation info to contentdb. Segfaults were catched in several places due to uninitialized vplist in struct uade_content. 2006-07-02 Heikki Orsila <heikki.orsila@iki.fi> - Merged an initial version of volume normalization effect from alankila. - Split song.conf and contentdb related functionality away from eagleplayer.c to songdb.c. 2006-06-30 Heikki Orsila <heikki.orsila@iki.fi> - Work-arounded signedness warnings with GCC4 in src/frontends/common/ 2006-06-23 Heikki Orsila <heikki.orsila@iki.fi> - Fix sinc resampler to support --filter=none (alankila) - Optimize sinc_handler() inner-loop by avoiding unnecessary indexing (alankila) 2006-06-22 Heikki Orsila <heikki.orsila@iki.fi> - Separated accumulator and sinc resamplers into separate functions in src/audio.c. - Removed "anti" name from resampler list. "anti" has been the "default" for a long time already. - Change FIR convolution of sinc into bandlimited step synthesis. Filters are applied directly by the BLEPs. Warning, sinc and filtering are now integrated together so they can not be changed separately (breaking modular development idea). The default resampler does not suffer from this modularity problem and it is still the recommended resampler. (alankila) 2006-06-18 Heikki Orsila <heikki.orsila@iki.fi> - Added play time database saving support into uade123. 2006-05-22 Heikki Orsila <heikki.orsila@iki.fi> - Changed --magic to --detect-format-by-content and changed corresponding "content_detection" directive in eagleplayer.conf and uade.conf to "detect_format_by_content". Changed --no-song-end to "--no-ep-end-detect". 2006-05-20 Heikki Orsila <heikki.orsila@iki.fi> - Changed default input file to be /dev/tty instead of stdin for uade123. Also, failing terminal setup (input file is not a tty) is not a fatal error. - Added a warning to eagleplayer.conf parsing for the situation that user has removed all prefixes from an eagleplayer. It makes all kind of detection (including content detection) unusable. If you don't want to detect a particular file type by name extensions, add "content_detection" option for the line in eagleplayer.conf. But note that there isn't content detection for all formats. For example, adding "content_detection" for Thomas Hermann player will make all Thomas Hermann songs unplayable because there is no content detection for it. 2006-05-19 Heikki Orsila <heikki.orsila@iki.fi> - Added Gryzors (Nicholas Franck <gryzor@club-internet.fr>) Protracker converter source code into CVS. See amigasrc/players/tracker/converter/README.txt for copyright and licensing information. Thanks to Stuart Caie for leading us to the distribution terms (we did have the source before :-) 2006-05-18 Heikki Orsila <heikki.orsila@iki.fi> - Added p5x and p6x file extensions for The Player 5.x/6.x to eagleplayer.conf (Stuart Caie requested it) - Added "P50A" four letter magic detection to amifilemagic.c 2006-05-17 Michael Doering <mld@users.sourceforge.net> - Removed deprecated <audacious/configfile.h> from audacious plugin. Thanks to Joker for the report. 2006-05-16 Michael Doering <mld@users.sourceforge.net> - Raised length of extension[] in uade_analyze_file from 11 to 16, which caused the xmms and audacious plugin to segfault on very long prefixes (such as mod15_st-iv) in eagleplayer.conf. 2006-06-15 Heikki Orsila <heikki.orsila@iki.fi> - Added "-x y" to set eagleplayer options more conveniently. It's now possible to do: uade123 -x type:pt11b mod.foo. -x can be used multiple times on the same command line. 2006-05-15 Michael Doering <mld@users.sourceforge.net> - PTK-Prowiz now uses the epopt config system. You can set options such as "vblank" and/or "type:" on a song base with the uade123 "--set=xyz" command line parameter or edit uade.conf or song.conf manually. For valid protracker types: check the uade123 man page. Please test. I hope I didn't break anything. - Changed Protracker and compatible tag in amifilemagic. It seems it was too long for xmms/audacious and crashed. Odd. 2006-05-13 Heikki Orsila <heikki.orsila@iki.fi> - Merged man page update from alankila, explaining filter and resampling features - Merged headphones 2 effect patch from alankila, making it sample rate independent - Added --version to uade123 - Cleaned up frontends with respect to configuration management. Initial configuration loading is made in uade_load_initial_config() in all frontends. - Fixed song.conf locking - Fixed recursive mode song.conf option setting. Try: uade123 -r --set=gain=2 songdir 2006-05-12 Michael Doering <mld@users.sourceforge.net> - Audacious modinfo GTK-2.8's assertion error fixed by "porting" the legacy gdk_font_load/gtk_text to gtk2's tag, viewport, buffer system. - Worked around gtk2's assumption any text has to be clean UTF-8 which obviously will break when displaying binaryhexdumps or Amiga locale strings. 2006-05-11 Heikki Orsila <heikki.orsila@iki.fi> - Updated documentation to reflect implementation. - Added support for eagleplayer/song specific eagleplayer options. Use epopt=x in eagleplayer.conf and song.conf. Look at the man page section "EAGLEPLAYER OPTIONS" for valid options. 2006-05-09 Heikki Orsila <heikki.orsila@iki.fi> - Added information about sample rate into effects API. - Fixed a race condition for Audacious and XMMS plugins. A shared static buffer was not locked for file magic detection in eagleplayer.c:analyze_file_format(). - Fixed a bug in eagleplayer.c:analyze_file_format() that might have caused a partial read for file to be detected. - Fixed a buffer overrun bug in uade.c:uade_get_amiga_message(). With AMIGAMSG_GET_INFO request, the eagleplayer could cause a slight overrun of the amiga memory to uade data memory. The attacker could not however choose the string to be written over the bounds. 2006-05-07 Heikki Orsila <heikki.orsila@iki.fi> - Improved filters to work on arbitrary frequency (alankila) - Removed A500S and A1200S filters. For compatibility, they're now aliased to A500 and A1200. - Moved computation of audio emulation parameters away from init_sound() to audio_set_rate(). init_sound() calls audio_set_rate(). - It's now possible to use frequency directive in uade.conf to set playback frequency. But watch out, it can cause bugs and sound quality degradation. - Now only two models (FILTER_MODEL_(A500|A1200)) exist in amigafilter.h. - Code cleanups - Renamed interpolator to be resampler in command line options and configuration files. Use --resampler=x instead of --interpolator=x. - Fixed IIR filter not to waste CPU time with denormal numbers. This idea was presented to us by Antti Huovilainen, thanks. Try playing BD.Mickey_mouse with an older version and see how much cpu it takes with A500 filter. The new version is one quarter CPU time on an AMD64 machine (alankila) - Optimized event handling in include/events.h by removing redundant vsynctime check that relied upon processor/OS specific timers (that we've removed long ago). 2006-05-06 Heikki Orsila <heikki.orsila@iki.fi> - Added two util functions into uadeipc.c. They are uade_send_u32() and uade_send_two_u32s(). - Started changes towards changeable output frequency. You can experiment with --freq=x but filter emulation only works for 44,1 kHz at the moment. Note that filter emulation always has an effect on sound. 2006-05-05 Heikki Orsila <heikki.orsila@iki.fi> - Fixed --filter=x and --force-led=y to work again. 2006-05-02 Michael Doering <mld@users.sourceforge.net> - Fixed crash due to uninitialized pointer to subsong scale in seek window for xmms and auda plugin. Seems the UI got into a race condition when trying to update the scale belonging to the seek window and the pointer for the seek window was there, while the scale wasn't ready. This happend for very short subsongs only... - Added NTK/STK detection to modinfo - Check for Dirk Bialluch songs in amifilemagic. 2006-05-02 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a small bug that allows resetting song.conf options from the command line. Use 'uade123 --set= foo' to reset options. 2006-05-01 Heikki Orsila <heikki.orsila@iki.fi> - Changing to a previous song is now possible in uade123. Try pressing '<'. -z option now means randomizing the playlist order before playing, but random play mode (press 's') does randomizing on the fly. Both alternatives support seeking to previous song in the same way, but seeking to next song will always be random in random play mode (not with -z). - Added --repeat option into uade123 to play playlist over and over again. 2006-04-30 Heikki Orsila <heikki.orsila@iki.fi> - It's now possible to set options into song.conf by using uade123 directly. This is not the final feature, only a step towards a more usable feature. Try: # uade123 --set="gain=2" foo It should add the associated entry into ~/.uade2/song.conf. Eventually uade123 should be used like: # uade123 --set --gain=2 foo 2006-04-29 Heikki Orsila <heikki.orsila@iki.fi> - Changed hexdump of module/player to show 2 KiBs of text. - Fixed some memory leaks in eagleplayer.c and songinfo.c. - Removed doc/eagleplayer.conf and doc/song.conf. doc/uade123.1 is the authorative documentation for all configuration files. - Many uade song attribute and configuration management changes. - Added broken song end directive for eagleplayers and songs. To work-around a defective timeout logics in song.conf you could add a following line to your song.conf: md5=60f3bb11cc1bacaf77d7c16d13361844 broken_song_end timeout=200 comment FRED.Hybris_Light - Marked song end detection of FRED format as defective in eagleplayer.conf: Fred prefixes=fred broken_song_end - Unified eagleplayer.conf and song.conf settings. See uade123 man page for those options. 2006-04-28 Heikki Orsila <heikki.orsila@iki.fi> - Fixed another config bug introduced by last config refactorization. Filter type could not be set from config file in uade123. The bug did not happen on Audacious/XMMS plugins. - uade123 -v now prints the uade.conf and song.conf files that were loaded. 2006-04-28 Michael Doering <mld@users.sourceforge.net> - Fixed bug in Soundtracker 31 instruments check introduced by fixing the misdetection of a digibooster as protracker mod which was introduced by easing accepting mods with bad length... See a pattern there, folks?!? - Along the way, added a distinction between Soundtracker 2.5/ Noisetracker1.0 and Soundtracker 2.4. ST2.5/NT1.0 obviously shared the same replay by Kaktus & Mahoney, while ST2.4 was still based on the old 2.3 replay by Unknown and Mnemotron (using repeat offset in bytes). 2006-04-27 Michael Doering <mld@users.sourceforge.net> - Fixed misdetection of a digibooster mod as protracker in amifilemagic. - Fortified modplayer checks against amifilemagic's new policy to accept modfiles with trailing garbage... 2006-04-26 Heikki Orsila <heikki.orsila@iki.fi> - Fixed panning, gain and recursive mode to work again. The problem was the new configuration management system. Command line options were not merged into used options. Also, even if they were merged, they would happen before effects were set ;) Sorry. Fixed now. - Improved gain effect. It can now clip samples if an overflow happens. - Improved song.conf settings. It now supports all but two options. See doc/song.conf. 2006-04-21 Michael Doering <mld@users.sourceforge.net> - Fixed detection bug triptodestroy.mod in PTK-Prowiz. Thanks to Joker for the report. The mod uses very large instruments with loops which rolled over to negative checking instrument sizes in words and when large enough. Stupid bug. Stupid me. :-) - Replaced \t with white spaces. This might fix Joker's bug report about garbled output in modinfo for audacious. - Fixed audacious crash, when trying to access fileinfo while not playing a song... Bug was simple we did't have uadesong struct. get_cur_subsong, get_max_subsong and get_min_ subsong was trying read from that struct even when idle and uade went up in a blaze... Now checking towards uadsong struct exists and all is nice - Fixed the Audacious crash fix. It contained a race condition with respect to the NULL pointer. Also fixed the XMMS plugin. (shd) 2006-04-19 Michael Doering <mld@users.sourceforge.net> - Added new replayer for the Dirk Bialluch format by Don Adan/Wanted Team. - Amended Startrekker/Audiosculpture detection in amifilemagic again. 2006-04-18 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a bug in memmem() replacement. If needle length was zero, it returned NULL, but glibc would return pointer to haystack. 2006-04-15 Michael Doering <mld@users.sourceforge.net> - Fixed bug in sanity check in pt_karplusstrong effect (e8x) in mod player. (thanks Heikki) - Disabled Effect E8x for Protracker 2.3a, 1.1b and 1.0c compatibility mode in PTK-Prowiz. E.g. Playing mod.cyberlogik as PTK3.0 will result in timing bugs, playing it as PTK2.3a will play ok. - Fixed a very serious memory leak issue. Each played song that was read into memory was leaked. My chip collection is 230 MiB and after running valgrind -zr -t1 --enable-timeouts -f /dev/null /chips I noticed a huge chunk of mem leaked :( Now it's fixed. (shd) 2006-04-14 Heikki Orsila <heikki.orsila@iki.fi> - Refactored and changed amifilemagic.c. Changed tracker type magic values into enums. A warning about differing file size and calculated file size for protracker modules is given if one of two conditions happen: - uade123 is run in verbose mode (-v) - xmms or audacious plugin starts to play file - Refactored configuration code - Fixed a subsong/total timeout bug in xmms and audacious plugins. Always ends directive was not obeyed. 2006-04-13 Heikki Orsila <heikki.orsila@iki.fi> - Committed a programmable option for displaying song titles on playlist. Try setting song_title %F %X [%P] to uade.conf. - Reverted xmms buffer underrun fix that was ported to audacious plugin. With produce_audio() one does not need to wait for buffer_free(). (shd) [Comment: it still locks up here :-\] (mld) - Added songtitle feature to audacious plugin and uade.conf (mld) - Added #include <songinfo.h> to audacious plugin and removed some unused variables. - Added a work-around against ALSA output plugin into XMMS plugin which avoids to old subsong change blocking bug. Now sleeping is hardlimited to 5 secs. If work-around is activated, you will see: UADE: blocking work-around activated. on stderr. It seems like snd_pcm_state(pcm) in ALSA output plugin never comes out of SND_PCM_STATE_RUNNING. - Set song_title default to %F %X [%P] - Fixed all xmms and audacious plugin symbols to be non-exportable symbols. The get_iplugin_info() remains the only exportable symbol. 'objcopy -G get_iplugin_info foo.so' should do it, right? 2006-04-12 Heikki Orsila <heikki.orsila@iki.fi> - Fixed configure script to handle uade.pc file correctly in the situation of '--user'. - Added a user warning to amifilemagic.c about truncated protracker modules. - Reverted Michaels change partially. Audacious and XMMS plugins will not show song name that is obtained from the module because it is unreliable. This will be made configurable in the future. - Fixed a potential bug in XMMS plugin. If maximum free audio buffers was less than 4088 bytes, uade plugin would refuse to write anything. This was noticed because XMMS wouldn't recover from a buffer underrun in ALSA mmap mode. The output plugin would not increase the amount of free buffers even if time passes. XMMS 1.2.10 ALSA output plugin (or alsa library) is still buggy. - Ported shd's xmms buffer underrun fix to audacious (mld) - Changed user warning about truncated protracker modules in amifilemagic to produce less false positives. (mld) 2006-04-11 Michael Doering <mld@users.sourceforge.net> - Fixed my crap indentation in audacious plugin - Sync'd xmms and audacious playlist display - Fixed possible changing current subsong > maximal subsong in audacious plugin. 2006-04-10 Heikki Orsila <heikki.orsila@iki.fi> - --no-song-end is now aliased to -n in uade123 - Fixed bug in ArtOfNoise8 replayer end routine. (mld) - Added Songtitle to ArtOfNoise 4V/8V players (mld) - Display "Guru Meditation" error in audacious playlist for a song that crashed uadecore. :-) (mld). - Fixed bug updating the playtime in audacious playlist (mld) 2006-04-09 Heikki Orsila <heikki.orsila@iki.fi> - Code refactorization to unify configuration, effect and song attribute handling among all frontends. - Added memmem() replacement for operating systems not having it. - Added uade.pc for pkg-config. - Upgraded MED/OctaMED replay to v7.0, using Fastmem replay if available and needed by the song (long samples :-) (mld) - DigiBooster player now reports songname. (mld) - Fixed ommited pointer in MED/Octamed fastmem replay detection. (mld) 2006-04-06 Heikki Orsila <heikki.orsila@iki.fi> - Added a small README file - Moved some effect related configuration issues to src/frontends/common/ so that they're not reimplemented in all frontends. See src/frontends/common/uadeconf.c function uade_enable_conf_effects(). - Use of uade_enable_conf_effects() in audacious plugin (mld) - Disabled debug messages in Audacious and XMMS plugins - Removed debug message about song.conf not found. It's perfectly valid that song.conf does not exist anywhere. - Cleaned songinfo.c. Added a common implementation of read_be_u16/u32 to src/include/uadeutils.h, which is now used from songinfo.c and amifilemagic.c. Changed length types to size_t. Made find_tag() more generic and made it use memmem() function. - Added Heikki's dpiutil to songinfo for CUST.* songs. (mld) 2006-04-05 Michael Doering <mld@users.sourceforge.net> - PTK-Prowiz: changed opcodes beq, sf to seq on Heikkis advice. - Tiny Protracker player compatibility change when calling playvoice. - Nicer playlist entries for Audcious plugin: title (cur/max) - [Format] 2006-04-03 Heikki Orsila <heikki.orsila@iki.fi> - Implemented NTSC mode support. It can be buggy and it will not affect some players at all (those which set CIA tempo by themselves). NTSC mode can detected in eagleplayers by reading $212(execbase) aka VBlankFrequency(execbase). It's a byte with value 50 (PAL) or 60 (NTSC): move.l 4.w,a6 cmp.b #60,$212(a6) beq is_an_ntsc_system * pal system - Changed Timing configuration in players/env/PTK-Prowiz.cfg from CIA <-> VBI/NTSC to CIA <-> VBI. (mld) - Mod player now honours pal/ntsc setting automatically. (mld) - Fixed stupid *oops* in mod player reading cia timing from config file. - Added ntsc option uade.conf. (mld) 2006-04-02 Heikki Orsila <heikki.orsila@iki.fi> - Fixed P61A detection (introduced by mlds change sometime ago). src/frontends/common/amifilemagic.c had "P60A" as the pattern for Player 6.1, but obviously it should be "P61A". - Improved the man page. 2006-03-31 Michael Doering <mld@users.sourceforge.net> - Changed DMAWait to dtg_DMAWait and add dtg_Timer support to DIGI-Booster - DIGI-booster songinfo now matches modfiles songinfo. 2006-03-30 Michael Doering <mld@users.sourceforge.net> - Small check for Fuzzac Packer in amifilemagic. 2006-03-27 Michael Doering <mld@users.sourceforge.net> - Renamed XANN-Packer to XANN-Player, following Sylvain 'Asle' Chipeaux' suggestion. - Merged Funkok saftey check from EP2.04 to protracker player... 2006-03-25 Heikki Orsila <heikki.orsila@iki.fi> - Added a new action key into uade123. 'i' will print module info and 'I' will print a hex dump of a head of the module. 2006-03-23 Michael Doering <mld@users.sourceforge.net> - Sync'd songinfo for modfiles with the more verbose appearance of Asle's ModInfo v2.31 appearance... It displays now sample sizes, volume, finetune, loop start and loop size, too. - Added yet some more tiny differences between Protracker 2.3 and 3.0 compatibility mode for completeness... (set sample_num in pt_plvskip, and n_period in pt_doretrig). These changes might have no effect on the replay quality like e.g. earlier mentioned Updatefunk calling difference or volume setting, though. 2006-03-21 Michael Doering <mld@users.sourceforge.net> - Small protacker replayer config file parsing fix... 2006-03-20 Heikki Orsila <heikki.orsila@iki.fi> - Fixed slight bugs in build system. Architecture specific CFLAGS were missing from xmms and audacious frontends. Also, those flags will be the last flags always so that they can be used for overriding other options. - Made debug flags really optional. They can be turned off with --no-debug (for configure). 2006-03-20 Michael Doering <mld@users.sourceforge.net> - Figured out the period multiplier issue. It was a bug in my brain. *g* - Forgot to add notecut volume setting for protracker 2.3 and below. This is now fixed. - Set the default playback style to Protracker 3.0b. - Added an experimental hybrid protracker setup: 9. Effects are done ptk2.3a style, volume setting like 3.0. This fixes some pops and clicks which even the original protacker 2.3a replay and below had. 2006-03-17 Michael Doering <mld@users.sourceforge.net> - Enhanced compatibilty concerning protracker 2.3a/1.1b(fixed), 2.1a/1.1b, 1.0c and Prottracker 3.0b concerning access of the periodtable while using the effects. It's astonishing in how many ways the protracker replays differ... :-) E.g. Protracker 3.0b (like Noisetracker) uses a multiplication of 37*2 for all effects to get the right period. Protracker 2.3a and the socalled bugfixed 1.1b replay use a value of 36*2 (like the old Soundtracker) Last but least ptk 1.0c, the original ptk1.1b and ptk2.1a use one or the other value for some effects... All in all, it's a mess and we have 4 different setups in our protracker config file :-) - Temporarily disabled the period multiplier hack mentioned above because it borked on some tunes. - Added "update volume when skip/hold note" for protracker 2.3 and below. Protracker 3.0 doesn't do it. 2006-03-16 Heikki Orsila <heikki.orsila@iki.fi> - Changed PAL audio synthesis frequency to be exactly 3546895 Hz. It was 3541200 Hz before. The old value was totally synchronous with video hw. Changing this does not affect anything else than audio. The new value is from the hardware reference manual. 2006-03-16 Michael Doering <mld@users.sourceforge.net> - Compatibility for PTK-Prowiz can now be set to play files like Protracker 3.0b, 2.3a or 1.0c. INFO: Files being played as PT1.0c will have a different vibrato depth, and use funk_repeat effect instead of the invert loop effect which might break all mods composed with later protrackers. - Added support for the different ways Protrackers 1.0, 2.3 and 3.0 updated periods. 2006-03-14 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.02 (Muhammad pictures) - Fixed a bug in xmms plugin that cut off sound data from the end of a song. - New Sierra AGI player by Don Adan / Wanted Team - Better support for old sonic arranger files. - Improved file type detection on many formats. - Debugger improvements (see 'c' and 'i' commands) - Added --buffer-time=x option for uade123 to set audio buffer length in milliseconds. - A configuration file was added for PTK-Prowiz (that plays protracker and clones) to set compatibility to either protracker v3.0b or v2.3a. Please edit file: players/ENV/EaglePlayer/EP-PTK-Prowiz.cfg. - More KDE integration: support for kfmexec wrapper. - Fixed many bugs. - Many other changes :-) 2006-03-12 Heikki Orsila <heikki.orsila@iki.fi> - Changed various uade123 parameters. -k and -K have been changed to one option: -k x or --keys=x, where x is 0 or 1 (disabling and enabling action keys). --no-filter has been removed. Use --filter=none instead. 2006-03-10 Heikki Orsila <heikki.orsila@iki.fi> - Fixed some compiler warnings. Using %u to print unsigned ints :) 2006-03-01 Heikki Orsila <heikki.orsila@iki.fi> - Reverted mlds work-around to avoid subsong change lockups. - Did a potential fix for the XMMS plugin lockup bug. However, I do not have a test case for this. The problem was, I think, that play_loop() called uade_lock(), then called uade_gui_subsong_changed(), then gtk called some function, which would eventually call get_next_subsong() which would try to re-take the mutex by uade_lock() -> deadlock. * THIS THEORY WAS WRONG. - Merged a patch from Martin Jeppensen to rename some eagleplayers to better names. 2006-02-28 Heikki Orsila <heikki.orsila@iki.fi> - Fixed -m option for uade123. "uade123 -m file" would only print help but not play the file. 2006-02-17 Michael Doering <mld@users.sourceforge.net> - Added some missing file extensions for the KDE mimelnk. - Use of kfmexec wrapper in KDE mimelnk for easy ftp:// http://, smb://, zip:// etc. support under KDE/Konqueror. - Added install script for KDE users in /src/frontents/uade123/KDE. Now playing Amiga music is just one click away from you ;-) 2006-02-15 Michael Doering <mld@users.sourceforge.net> - NTSC Flag in config file ENV:eagleplayer/ for PTK-Prowiz affecting Sound, Noisetracker, Startrekker and Protracker (vblank) added. Normal Pro- and Fastracker are not affected. Info: it's not a real ntsc mode in emulation but just calculating the CIAA timer to use a value ~ 7.15Mhz, 60khz, 125bpm on PAL machines... It's a cludge I know :) 2006-02-14 Heikki Orsila <heikki.orsila@iki.fi> - Fixed /dev/urandom detection. Using test -c rather than test -e. Test -c is more compatible and more exact too. - Worked around random lock ups when switching very short subsongs with the xmms subsong changer (mld) - Config file for PTK-Prowiz' Protracker engine added to set the way _Protracker_ mods are played. There's currently two values: 0 for Protracker 3.0b like, 1 for Protracker 2.3A like (for anyone interested: funkrepeat is updated before parsing the extended fx :) Differences are probl. not audible but Latter is currently the default. If it breaks a mod file, you can savely turn back to "0" (mld) 2006-02-13 Heikki Orsila <heikki.orsila@iki.fi> - Fixed uade123 to accept -k and -K switches. Their meaning is now changed. '-k' disables action keys and '-K' enables. 2006-02-10 Michael Doering <mld@users.sourceforge.net> - A new email alias. ;) - Cosmetical change in name from 32 to 31 instr. for Soundtracker II in PTK-Prowiz. 2006-02-08 Michael Doering <mldoering@gmx.net> - Updated mod2ogg.sh to set encoding quality (Giulio Canevari). 2006-02-07 Michael Doering <mldoering@gmx.net> - Put new Sierra AGI player by Don Adan/Wanted Team into players dir. 2006-02-02 Heikki Orsila <heikki.orsila@iki.fi> - Cleaned up gensound.h. It contained unuseful external variables such as sample16s_handler and sample_handler. - Improved mod detection in amifilemagic and Protracker replayer for Protracker compatible mods using effects 5,6,7 and 9. (mld) - Quick "work around" of a lock up with the subsong seek popup and very short subsongs in audacious plugin. Needs further investigation though. Some kind of race condition, I think. (mld) - Reintroduced produce_audio(); to audacious plugin for the freshly released Audacious 0.2 at http://audacious-media-player.org (mld) 2006-02-01 Michael Doering <mldoering@gmx.net> - Changed association of jp file extension to Jason Page New. - Added simple detection for Jason Page old in amifilemagic. - Added alternative Jason Page Player for one file Jason Page New files (Thanks dom from the legacy.de for the report). - Changed HIP, HIPC and HIP7 to SOG, SOC and S7G prefix in amifilemagic. 2006-01-31 Heikki Orsila <heikki.orsila@iki.fi> - Fixed song length database bug in the XMMS plugin. The XMMS plugin didn't use the correct md5sum in struct uade_song, instead it used the old and useless array called curmd5[] which was an empty string. - Continued to move common variables in frontends to struct uade_song. - Fixed instrument name len in songinfo for mods. (mld) 2006-01-25 Michael Doering <mldoering@gmx.net> - Added Turbo/Infect's SonicArranger Player for "old" sa.* files - Added experimental filedetection for two different Sonicarranger_pc types... 2006-01-24 Michael Doering <mldoering@gmx.net> - Synced audacious plugin with xmms plugin and changed back to support the current stable audacious 0.1.2. The audacious supporting "produce_audio()" will be supported as soon as there's a stable release... (mld) - Ported songinfo for Wanted Team song formats [e.g BSS, DL, FP...] - Fixed mod title display in songinfo 2006-01-22 Heikki Orsila <heikki.orsila@iki.fi> - Added a new option to uade.conf: buffer_time x. buffer_time x in uade.conf sets audio buffer length to x milliseconds. This can be used to avoid buffer underruns on some systems. Beware that Alsa support in libao is buggy in versions 0.8.6 and earlier so that the actual buffer time must be given in microseconds. At this time it is not fixed in any official libao releases. - uade123 option --buffer-time=x can be used to set audio buffer length to x milliseconds. 2006-01-21 Heikki Orsila <heikki.orsila@iki.fi> - Imported the LGPL'ed Max Trax source to amigasrc/players/max_trax. Then applied a patch from alankila. It is not yet an eagleplayer but a work-in-progress. (alankila) - Added a command 'i' to the debugger that traces till next hw interrupt. - 'c' command in debugger will now also print cycle count. 2006-01-20 Heikki Orsila <heikki.orsila@iki.fi> - Continued frontend modularization and code sharing effort. Created struct uade_song in eagleplayer.h to store relevant properties of songs that are played. Modified uade123 and XMMS plugin to use it. The transition is not completed yet. Many fields are still unused and those fields unnecessarily duplicated in frontends. Notice that audacious plugin is broken because of this, but it's also in a transition phase. - Fixed merging conflicts between latest frontend modularization effort and mlds mod/fileinfo changes. - Fixed bugs in songinfo.c. Some file checking could have read over over memory boundary causing a segfault (but nothing else). - Backported fileinfo for DIGI-Booster mods. (mld) - Fixed a bug in XMMS plugin that it stopped a subsong too early if there was another subsong to play. The sound data that was buffered in audio output plugin was discarded. Thanks to Cthulhu (the old one) for the bug report. 2006-01-19 Michael Doering <mldoering@gmx.net> - Improved vblank detection in Protracker replay for mod.slow_motion by Jogeir Liljedahl. (mld) - Started work on backporting modinfo from uade 1. Ideally all frontends should be able to use it. (mld) - Experimental "update fileinfo window on songchange" feature... 2006-01-18 Heikki Orsila <heikki.orsila@iki.fi> - Added a simple and broken XMMS file info window. Module info displays a hexdump of the first 1024 bytes of the module. - Fixed #include issues with FreeBSD in unixatomic.c. - Optimized sinc interpolator (alankila) - Changed fileinfo.c to allow many different types of infos for modules. Hexdump is the current default since nothing else has been implemented. 2006-01-17 Michael Doering <mldoering@gmx.net> - (hopefully) Fixed broken subsong detection for Digital Illusion mods. - Fixed unallocating timer resources when changing subsong in MED/Octamed replayer. As a consequence, changing subsongs works again. - Removed sinc table from audio.c and put it into a separate file named sinctable.c. (alankila) - audacious plugin: changed legacy uade_ip audio output from xmms to audacious 0.2 produce_audio(); Seems to work here, but I'm not sure if it's 100% ok... So give it a test and report back. - Fixed strlrep.h to #include <strings.h> to have size_t type (shd) 2006-01-15 Heikki Orsila <heikki.orsila@iki.fi> - Added more debug messages into the interface between emulator and sound core. Now Amiga file loading events will give informative message to the frontend. Use uade123 with -v to see all the spam. 2006-01-14 Heikki Orsila <heikki.orsila@iki.fi> - Merged sinc interpolator patch (alankila) - Changed RK to CM prefix in amifilemagic. This affects custom made format. Old RK and RKB prefixes are still supported but they may be removed in the future. - Added contrib/sinc-integral.py which computes the sinc antialiasing window for audio.c synthesis. (alankila) - Made huge changes into sound cores subsong restart and interrupt logic. Some formats were fixed with respect to subsong changing. Try Monkey Island now. The tempo should be correct after subsong change. 4ch MED/OctaMED is still broken. Try changing to subsong 9 in DaveNinja.med (some channels do not get re-initialized and a disturbing sound plays on the background). The changes are: 1. Earlier we didn't call StopInt and EndSound in subsong change, but now we do. The old procedure just called InitSound and StartInt because our allocators in sound core were robust against double allocation. 2. Implemented unallocation for CIA resources. See rem_cia[ab]_interrupt functions. 3. StopInt unallocates the CIA resource used for the player interrupt. Set_player_interrupt allocates the player interrupt and calls StartInt. 4. EndSound has a default code now which turns off audio DMA and sets volumes to zero. 5. exec.library/SetIntVector() does not enable interrupts anymore. If interrupts are disabled they stay disabled. 2006-01-12 Heikki Orsila <heikki.orsila@iki.fi> - Made anti (accumulator) interpolator to be the default. 2006-01-08 Michael Doering <mldoering@gmx.net> - Commited audacious input plugin based on the XMMS plugin (http://audacious.nenoload.net). 2006-01-08 Heikki Orsila <heikki.orsila@iki.fi> - Fixed XMMS plugin installation which didn't obey package prefix (Michal Januszewski <spock@gentoo.org>). - Added some more b-flags for fopen(). This time in code in src/frontends/common. - Cleaned up sound data buffering code in uadeipc.c, uade.c and audio.c. Removed uademsg.h as being useless. - Changed uadecontrol.c to uadeipc.c in src/Makefile.in because uadecontrol.c is long gone. - Optimized uade123 to issue next song data request for the uadecore before passing sample data to libao. This way the uadecore may do useful work while libao is blocked on sound device. This didn't solve the underrun problem completely but effect of improving behavior is clearly observable with 'top'. Before this change, top showed only 0.4% CPU usage for uadecore, but after the change it shows 3.3% CPU usage, and the latter reflects reality much better. 2006-01-07 Heikki Orsila <heikki.orsila@iki.fi> - Changed fopen() to use "b" flag for porting to Windows environment. - Thanks to sasq <jonas@nightmode.org> for help with cross-compiling. 2006-01-06 Heikki Orsila <heikki.orsila@iki.fi> - Made uadeipc() re-entrant so that uadecore and a frontend could in theory be run in the same process but different threads. - Replaced poll() with select() in unixatomic.c to be compatible with weak systems. 2006-01-05 Heikki Orsila <heikki.orsila@iki.fi> - Continued cleaning up run-time configuration issues. uade123 and XMMS plugin do not duplicate settings anymore. Most configuration and command line options are stored inside 'struct uade_config' which is defined in src/frontends/common/uadeconf.h. 2006-01-04 Heikki Orsila <heikki.orsila@iki.fi> - Changed -I./include/ to be -I./include in src/Makefile.in to make it compatible with mingw. - PTK-Prowiz now accepts mods with max 1KiB trailing garbage... Nevertheless use 100% good rips, people! (mld) - Fixed spelling mistake in PTK-Prowiz *g* (mld) - Updated uade123 man page with apologies about bad file detection heuristic :( 2006-01-04 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.01 - Compatibility fixes for OpenLSD and Mac OS X to make UADE compile - Added 'cm.' prefix for CustomMade format (Ron Klaren) - PTK-Prowiz subsong scanning was improved (mld) 2006-01-03 Heikki Orsila <heikki.orsila@iki.fi> - Cleaned up post-processing of sound data. Removed postprocessing.[ch] because it was redundant functionality and added necessary functionality into effects.[ch]. Also, moved effect state out of effects.c by creating 'struct uade_effect'. This allows easy loading and storing of state. The goal is to have a unified mechanism for handling information from command line options, uade.conf, eagleplayer.conf and song.conf that is easy. All the setting must be storable and restorable through that mechanism. Currently that is broken, incomplete and messy. The functionality is even duplicated between frontends :( It will probably take many cleanup steps to achieve the goal. - Fixed Mac OS X compatibility issue. poll() was replaced with select(). Thanks to Juuso Raitala. - Improved (hopefully) subsong detection for mods and similar. Now there should be less false positives in PTK-Prowiz than there used to be. (mld) - Removed 255 BPM SetTempo fix in PTK-Prowiz for mod.loader from Coolspot to fix mod.alkupala by jorma... *sigh* (mld) - Fixed broken Prorunner support introduced by reorganization PTK-Prowiz (mld) 2006-01-02 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a configure bug that occured when --with-xmms was specified. (Michal Januszewski <spock@gentoo.org>) - Made contrib/uadexmmsadd script to be installed if XMMS plugin is installed - Added a work-around for OpenBSD 3.8 which lacks portable types from stdint.h. inttypes.h is used instead. Possibly this avoids type problems on some other OSes too. Note that we require some C99 features from standard C libraries. Thanks to ave@silokki.org. - Made OpenBSD use 'gmake'. Thanks to ave@silokki.org. - Fixed execlp() call in src/frontends/common/uadecontrol.c by casting NULL as (char *). Thanks to ave@silokki.org. 2006-01-01 Heikki Orsila <heikki.orsila@iki.fi> * UADE 2.00 (Mental hangover) - Finally the first stable release of UADE 2 series. The work began 6 months ago. There are still rough edges and deficiencies but it is superior to UADE 1 in many respects. - UADE 2 series has following improvements over UADE 1 series: * Superior audio quality due to excellent Amiga 500 and 1200 filter models. The default sound model is now the Amiga 500 model. This affects all songs whether or not they use filtering. (Antti S. Lankila) * A component architecture which makes creating new frontends easier * Unified configuration files to set defaults for all frontends * Improved command line tool, uade123, supports run-time control of song playback for switching subsong, skipping to next song, skipping fast forward, pausing and altering post-processing effects * Post-processing effect for headphone users (Antti S. Lankila) * Skip fast forward feature in uade123 and XMMS plugin * Many core subsystems have been rewritten or heavily altered * New supported formats * UADE 1 produces snaps in audio output because of a bug in audio DMA engine, but is fixed in UADE 2 2006-01-01 Heikki Orsila <heikki.orsila@iki.fi> - Added contrib/uadexmmsadd script to add uade:// prefixed songs into XMMS playlist. This is useful to avoid conflicts with protracker songs with modplug and other XMMS plugins. Any other plugin will not accept uade:// prefixed entries from the playlist. - Changed forward seeking button in XMMS plugin from ">>" to "10s fwd". - Allow gain values greater than 1.0. - Improved uade123 man page. - Fixed a NULL pointer derefecence in eagleplayer.conf loading. If eagleplayer.conf couldn't be loaded it would crash. - Fixed a directory creation problem with 'make feinstall'. 2005-12-30 Heikki Orsila <heikki.orsila@iki.fi> - Merged an altered sample accumulation patch from alankila. The patch has an effect only if anti interpolator is used. - Removed crux, linear and rh interpolators because they're broken by design. Only default and anti are now supported. 2005-12-22 Heikki Orsila <heikki.orsila@iki.fi> - Fixed shared library compilation for Mac OS X. Thanks to Michael Baltaks <mbaltaks@mac.com> for information. 2005-12-21 Michael Doering <mldoering@gmx.net> - PTK-Prowiz: Commited various changes to cvs. o Almost finished reorganizing and redoing the mod checks. o Fixed bug in Soundtracker with repeat in bytes handling. o Fixed some bugs in handling empty instruments. o Added hack for vblank mod detection. o Hopefully working, support for Karplusstrong fx. - Amifilemagic: backported a small bugfix in mod detection. 2005-12-20 Heikki Orsila <heikki.orsila@iki.fi> - Added a short note for Max OS X users to address a compilation problem. - Renamed INSTALL to be INSTALL.readme to avoid makefile problems with Mac OS X. 2005-12-19 Heikki Orsila <heikki.orsila@iki.fi> - Merged accurate audio output patch from Antti S. Lankila. The patch solves the problem that Paula's 3.5 MHz output was sampled at regular integer valued intervals that caused inaccuracy. The old interval was round_down(3541200 / 44100) = 80 paula cycles, but the real interval is ~80.299 paula cycles. This means 0.4% relative error in outputted sampling rate that is not audible, but it is harming filter accuracy analysis. 2005-12-17 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre10 - Cleaned up src/include/events.h. Removed unnecessary event scheduler. - Reworked audio subsystem to be more debuggable and added comments. - Fixed a bug in audio state engine that caused DMA engine to play one word too much of sample data. How could this bug have gone unnoticed for so long? The same bug exists in UAE too. - Reverted back to not using interpolation with A500E and A1200E filters. The anti interpolator caused problems with many songs. It will be fixed at some point and changed back, but at the moment there's doubt how to fix the problem. 2005-12-16 Heikki Orsila <heikki.orsila@iki.fi> - Applied filter improvement and optimization to audio.c. The filter should be slightly better than the old. Affects only A500E and A1200E filters. (alankila) - Cleaned up audio.c - Reworked configuration loading system to avoid conflicts with uade123 command line parameters. Command line parameters have priority over uade.conf. 2005-12-15 Michael Doering <mldoering@gmx.net> - Some progress on porting the mod detection to m68k asm. 2005-12-15 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a bug that forced filter to be A500E type when --force-led was uade with uade123. (alankila) 2005-12-14 Heikki Orsila <heikki.orsila@iki.fi> - Added displaying total playtime based on content database into uade123 2005-12-12 Michael Doering <mldoering@gmx.net> - replaced Grouleff replayer with Wanted Team's EarAche. - added new EMS replayer by Wanted Team. 2005-12-12 Heikki Orsila <heikki.orsila@iki.fi> - Added INSTALL file to document build process. 2005-12-11 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre9 - An XMMS plugin has been added. New features compared to UADE1 XMMS plugin are seek fast forward and correct subsong seeking bar. The plugin still lacks GUI for configuration, but uade.conf can be edited directly. - Filtering settings are audibly different compared to last release. A500E filter model is now the default. It was A1200 in the last release. This affects all songs, even those which do not use the filter. - New players for 15 instrument soundtracker variants have been added. - uade123 man page has been updated. - Most subsystems have gone through changes. Some important changes have been left out. See log entries for further details. 2005-12-11 Heikki Orsila <heikki.orsila@iki.fi> - Significant changes in filter default values. Current default filter is A500E, which is audibly different on every song compared to the old default (A1200). To restore the old behavior, set "filter a1200" in uade.conf. If you want to advocate another default value, please post to the forum or send email. The forum is preferred. 2005-12-10 Heikki Orsila <heikki.orsila@iki.fi> - Added notices to documentation that setting filter model has an audible effect even if a song doesn't use filtering at all. - Cleaned up configure script (that is originated from uade1) 2005-12-07 Heikki Orsila <heikki.orsila@iki.fi> - Added unrecognizable type "packed" into amifilemagic. It is used to inform user about files that are packed with an amiga packer. - some work on m68k mod checking and replay routine (mld) 2005-12-06 Michael Doering <mldoering@gmx.net> - XMMS plugin now automagically advances the subsong seek slider, if the replay rolls over to the next subsong. - Soundtracker15 name check that was added yesterday was removed. (shd) - Fixed a bug in uade_filemagic() that char *pre was not initialized to be an empty string by default. This caused uade_analyze_file_format() to receive garbage data when file format was not recognized. (shd) - Valgrinded a memory allocation bug in two places of eagleplayer.c (the same error actually due to replicating same lines of code), where space for (n + 1) pointers should have been allocated, but only ((n * sizeof ptr) + 1) bytes was allocated. (shd) - Added gain effect into uade.conf. You can use variable named 'gain' to set scaling value for each outputted sample. For example, add a following line to uade.conf: gain 0.25 (shd) - Made length test of mods with 32 instruments less strict. Due to popular demand *g* now "oversize mods" get accepted. - Added check for sane finetune and volume values in modchecks. 2005-12-05 Heikki Orsila <heikki.orsila@iki.fi> - Added initial version of song length database into XMMS plugin. It is compatible with uade1 db-content, but named differently: ~/.uade2/contentdb. You can just copy the old db: cp ~/.uade/db-content ~/.uade2/contentdb - Content db is loaded during play_file if it has changed on the disk. If it has not changed on the disk, then it is saved if an hour has passed and the db has been changed. - Added a requirement for Soundtracker15 song content detection that the name must have prefix or postix being: "mod", "mod15", or "mod15_". This change could be reverted at some point but now it's the safest choice. 2005-12-04 Heikki Orsila <heikki.orsila@iki.fi> - Added missing #include for uadecontrol.h (sys/types.h for pid_t). 2005-12-03 Heikki Orsila <heikki.orsila@iki.fi> - Made XMMS plugin display play time correctly in the play list after a song ends. If song ended volutarily, tell XMMS the play time. If song ended involuntarily by user intervention, error, or timeout, tell XMMS that the song doesn't have a length leaving the play list time empty. 2005-12-02 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a latency and time bug in the XMMS plugin that affected fast forward seeking. When forward seeking happened the XMMS time display was not updated and the seeking happened with a delay. - Made XMMS plugin report the play time for XMMS after a song ends. - Added comments about variable locking in XMMS plugin. 2005-12-01 Michael Doering <mldoering@gmx.net> - eagleplayer.conf: Amended the different MarkCooksey prefixes. - amifilemagic: fixed TFMX 1.5 detection bug introduced by the recent clean-up. - amifilemagic: fixed another TFMX detection bug. Should be alright again now. 2005-11-30 Heikki Orsila <heikki.orsila@iki.fi> - Make XMMS plugin auto detectable in configure script. The plugin is still very experimental and incomplete in features, but it can already play songs, or at least it should. - GCC4 gave warnings of problems I had not noticed: Fixed a bug in md5.h. uint32_t was accidently redefined (that is #included originally from stdint.h). XMMS plugin's uade_ip structure was declared static but later as external. Fixed signedness warnings from various modules. - Added seek-forward button into XMMS plugin. (mld) - New replayer for Soundtracker v2-v5 mods with 15 instruments and a lot of different effects added. (mld) - fixed WaitAudioDMA for all old mod15 replayers. (thanks heikki!) - changed mod15 (again) for stricter st-iv detection (mld) - changed to a stricter tracker module length policy... If uade doesn't play your modfiles anymore, it's a bad rip. Get a good one! :) - Since Master-Soundtracker files seem to use a subset of the normal Soundtracker fx, they now get played with the mod15 replay This makes Master-ST replayer kind of obsolete atm. (mld) 2005-11-29 Heikki Orsila <heikki.orsila@iki.fi> - Partial and buggy implementation of song.conf. It is used for uade specific work-arounds for broken or bad songs. Look at doc/song.conf and src/frontends/common/eagleplayer.c. Please do not use this yet. - Fixed some compiler warnings that surprisingly came with gcc 4.0.2. - Fixed Makefile.in to not report error on 'make install' when XMMS plugin is not installed. 2005-11-28 Heikki Orsila <heikki.orsila@iki.fi> - Modularized loading and parsing on uade.conf options. See src/frontends/common/uadeconf.[ch]. - It is possible that config parsing for uade123 breaks now. - Added partial config loading support for XMMS plugin. Doesn't support setting filter type or interpolation mode yet. You must edit uade.conf by hand if you want configuration changes. No GUI for setting options yet. - Added cleaning rule for XMMS plugin - New make rule: 'make feclean' will clean all frontend objects - The XMMS plugin determines configuration file path for uade.conf once during XMMS plugin initialization, and it will not change afterwards. If no global or user configuration is found, then the plugin chooses the file under HOME ($HOME/.uade2/uade.conf). It will try to load the configuration each time a new song is selected from the XMMS. - Optimization: XMMS will re-read configuration when a new song is selected if the file timestamp of uade.conf has changed. - Fixed synchronization problem in XMMS plugin's play loop. The audio device is drained of written sound data before actually stopping the device. The earlier version cut of audible data from the end of the song :( However, draining can be interrupted if the user requests something urgent, such as wanting an immediate song change. Draining takes time as long as audio device has buffered data. Buffering settings can be found from output plugin settings, as usual. 2005-11-28 Heikki Orsila <heikki.orsila@iki.fi> - Added hardcoded timeouts for the XMMS plugin. They are the same as uade123 defaults. 20 seconds for silence and 512 seconds for subsong. Reading uade.conf variables is not supported yet. 2005-11-27 Heikki Orsila <heikki.orsila@iki.fi> - Continuing modularization of uade frontends. Various commands, such as set subsong, change subsong, set filter type, and set interpolation mode, were moved to src/frontends/common/uadecontrol.c. The idea is that all the non-trivial commands have a wrapper in uadecontrol.c, but trivial commands that don't require parameters can be used through uadeipc.c (uade_send_short_message()). - Added src/include/uadeconstants.h that should contain constants that are common with uadecore and frontends. - Subsong seeking works in XMMS plugin :-) - Made XMMS plugin globally installable as it should be 2005-11-26 Heikki Orsila <heikki.orsila@iki.fi> - Continuing modularization of uade frontends. Renamed src/uadecontrol.c to be src/uadeipc.c, and added src/frontends/common/uadecontrol.c which contains a set of helper functions to control and spawn uadecore. - Added --with-xmms to configure script for developing the XMMS plugin. It does not work yet! 2005-11-25 Heikki Orsila <heikki.orsila@iki.fi> - Cleaned up and fixed tronictest check in amifilemagic. Added read_be_u16() and read_be_u32() to help parsing amiga formats. - Cleaned up tfmxtest in amifilemagic. - Cleaned up modparsing in amifilemagic. 2005-11-24 Michael Doering <mldoering@gmx.net> - amifilemagic: improved mod32 and mod15 checks a bit - ha! found pitchbend incompatibility bewteen Master-ST and DOC Soundtracker II in amifilemagic. Now Mods using the pitchbends bigger than 0xf are played as DOC Soundtracker II:) 2005-11-23 Michael Doering <mldoering@gmx.net> - Master-ST and Ultimate-ST replayers now check for a valid file length, thus badly ripped mod15 songs won't get played anymore with UADE. No exceptions. FYI this will also be future for all other Sound and Protracker derivates, so for anyone having bad rips - get some valid files! :) 2005-11-22 Michael Doering <mldoering@gmx.net> - Improved amifilemagic: mod32 check now tries to distinguish 10 different mod types. (BTW. 4ch Fastracker mods and similar now default to mod_pc and get played by the Multichannel PS3M player) - Some more work on the mod15 check in amifilemagic again. - Started to update the amiga mod15 replayers (Ultimate-ST and Master-ST with better checks, resulting in breaking support for other players like EP or DT atm. 2005-11-18 Michael Doering <mldoering@gmx.net> - Lowered the file buffer size to 8192 bytes to reduce overhead with xmms plugin scans. Unfortunately mods with a header and pattern data beyond that buffer size can't be detected properly and get played as plain mod15. - Improved mod15 check. It should produce now less false positives. - Added a smarter(?) way of the mod check for larger files that don't fit into the check buffer completely. - Renamed filemagic() to uade_filemagic() (shd) - Filemagic buffer size (8192) is now passed as an argument to uade_filemagic(). Previously both the caller and callee knew the size. - Made amifilemagic tables static (only visible inside the module) (shd) - Name prefix conflict between Future Player and PTK-Prowiz was resolved in favor of Future Player. The name prefix/extension is 'fp'. (shd) 2005-11-16 Heikki Orsila <heikki.orsila@iki.fi> - Made install to a standard path by default. That is /usr/local. Use ./configure --prefix to override. configure --user will install to users home directory as in the past. - Committed initial version of man page for uade123. - added a first uade-only mod15_Mastertracker player (mld) - improved (?) mod15 type checks in amifilemagic (mld) - started to work on more complete mod type check in amifilemagic (mld) 2005-11-13 Heikki Orsila <heikki.orsila@iki.fi> - Cleaned up src/frontends/common/eagleplayer.c. Removed skip_ws(), skip_nws(), and loops that used them, and replaced those with shorted loops that use strsep(). Changed index variables to use size_t instead of int to be more robust against bad input. - Fixed a bug that if eagleplayers.conf specifies always_ends for an eagleplayer then forcing timeout from command line with -t didn't work. - Fixed a dirty bug in score that made score crash if an eagleplayer gave a NULL pointer as module name. This happened with Frontier custom. Closer inspection revealed that Frontier custom is also buggy because it sets module name in InitSound() but the specification says module name is evaluated after InitPlayer() which is before InitSound(). This looks like a design bug in the interface, or a typo in the documentation, because setting module separately for each subsong is useful, and that is what Frontier actually does. 2005-11-12 Heikki Orsila <heikki.orsila@iki.fi> - Add new antialiasing interpolation mode, which corrects for noisy treble especially audible in the A1200 filter model. It does its work by computing the average value of Paula's output pins between samples. 2005-11-09 Michael Doering <mldoering@gmx.net> - Fixed missing hipc and soc prefixes in eagleplayer.conf. - Associated #chn, ##ch mods to PS3M again. (note: s3m, xm or mtm are still omitted by uade) 2005-11-08 Heikki Orsila <heikki.orsila@iki.fi> - Added slight noise reduction into CSpline code to reduce noise due to interpolation errors, and snapping sounds from sudden volume changes. (alankila) - Updated headphone filtering parameters to place virtual sound sources closer to head and reduced the associated treble filtering to make the sound at the same time brighter and more forward placed. The sources still appear slightly behind and perhaps elevated, so the illusion will be further improved. (alankila) - fixed AON8 timing now for real *grin* (mld) - added Musicline Editor to be detected by amifilemagic (mld) 2005-11-07 Michael Doering <mldoering@gmx.net> - Removed dupes from new eagleplayer.conf (mld) - Added new player: Musicline Editor (mld) - Broke ArtOfNoise8 timing, and added song end detection. (mld) 2005-11-06 Heikki Orsila <heikki.orsila@iki.fi> - Added an experimental support for eagleplayer.conf, which is specified at doc/eagleplayer.conf. The new system allows eagleplayer specific settings. uadeformats is no longer used, so it has been removed. Here's a list of currently possible eagleplayer options: a500 (A500 type filter emulation is used.) a1200 (A1200 type filter emulation is used.) always_ends (A song always ends, so timeouts are not used.) content_detection (File name prefix or postfix heuristics are not used for determining format.) speed_hack (Speed hack is enabled.) Tips: Speed hack can be turned on for a specific format by editing eagleplayer.conf. A format can be marked as ending always, which means that timeout values are not used (except silence timeout). There are other options too, and all of them are specified in doc/eagleplayer.conf. 2005-11-05 Heikki Orsila <heikki.orsila@iki.fi> - Player interrupt is now a CIA A interrupt by default. As a consequence CUST.Loom works (it requires that player interrupt runs at a lower priority level than audio interrupts). THM.BlueAngel69 might play better now - a good comparison is needed. There are still a few things to do in the sound core's interrupt system, see amigasrc/score/todo.txt. - Headphones effect clipping fix (alankila) - Added improved (but currently experimental) LED filtering code. The old code was based on assumption that A500 and A1200 have same output filtering circuitry, but this was not correct. After analysing hi-fi measurements by pyksy, I designed new filters by tweaking a couple of equalizers on top of a RC filter that provided basic treble attenuation. Use --filter=a500e or a1200e to test the new filters. (alankila) 2005-11-04 Heikki Orsila <heikki.orsila@iki.fi> - Separated CIA B timer A and timer B interrupts finally. Some Forgotten World songs started to work, but not all. Thomas Herman BlueAngel69 swent back to its earlier buggy state. Our recent interrupt handler change broke Thomas Hermann completely. This change fixes our original design fault that only one CIA timer interrupt may be used, but not both. This patch takes us much closer to full CIA interrupt handler support. - Heikki's CIAB-A and CIAB-B separation in soundcore gave us full support of the MusiclineEditor player from Eagleplayer 2.02. You still have to use --speedhack to give it enough cpu cycles, though. (mld) - forgot to add detection bug fix of the two different MCMD formats in amifilemagic to changelog *grin* (mld) 2005-11-03 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre8 - Many bug fixes and cleanups. - Headphones postprocessing effect. - Improved A1200 filter emulation. - Added A500 filter emulation. Use --filter=a500. - Cleaned up sound cores timer code. - Fixed CIA timer initialization. - Improved uade123 user interface. Press 'h' in uade123 or list action keys with uade123 --help. - New sample interpolation code (--interpolator=cspline). - --stderr can be used to pipe sound data to stdout. 2005-11-02 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a very stupid bug I introduced yesterday to src/uade.c. if (curs > maxs) foo(); bar(); Duh. Why did I forgot {}?? - Network byte orderized, or big endianized, subsong info transmission between uadecore and frontend. This wasn't a bug. Just a change for consistency. 2005-11-01 Heikki Orsila <heikki.orsila@iki.fi> - Removed src/effects.c. It was accidently left there from uade 1 (alankila) - Removed unnecessary functionality from src/players.c. Black listing Protracker modules to be VBI timed should be in frontend logic rather than emulator logic. - Cleaned up text messages all over the place. 2005-10-31 Heikki Orsila <heikki.orsila@iki.fi> - Did highly experimental changes to sound core's timing interrupt system. I tested the change with all known players, and only the Thomas Hermann broke out, but it was broken already, so no big loss there. Of course I only tested each format with a few songs, so it's very possible that if the new system doesn't work, then I couldn't catch the problems. Nevertheless, I spent over an hour listening to different samples. Testing this change would be appreciated. One should especially pay attention to tempo, because that may have gone wrong. The changes I technically made were: - Made default interrupt timer to be CIA B timer A. Took away all the hacks to use VBI when ever possible to be the default timer. - While turning on any CIA B timer (A or B), it does not turn off the other CIA B timer. - Fixed CIA B timer initialization. Setting a timer (A or B) gets the timer value from dtg_Timer(eaglebase). - Cleaned up audio interrupt server. - Fixed tiny bug in uade123 file extension detection (mld) - Moved amifilemagic, uadeformats, and unixwalkdir modules to frontends/common/ where they belong. 2005-10-30 Heikki Orsila <heikki.orsila@iki.fi> - Modified headphones effect. (alankila) - Added 'H' action key to toggle headphones effect, and 'P' to toggle panning effect. Default panning value is 0.7, unless specified otherwise with command line option or in uade.conf. - Added forgotten -O2 optimization flag to uade123 Makefile - Cleaned audio.c. Removed some debug #defines. - Imported amiga player sources from uade1 project to amigasrc/players/ 2005-10-29 Heikki Orsila <heikki.orsila@iki.fi> - Antti S. Lankila <alankila@bel.fi> will be referred to as 'alankila' in ChangeLog from now. - Beautified and cleaned up audio.c and sd-sound-generic.h. - Fixed a bug that caused 1 bit precision loss in audio output. Sample data was multiplied after filtering, but it should have been multiplied before. (alankila) - cust.Bubble_Bobble gives wrong subsong information. Added a logic into uade123 that determines subsong ranges if default subsong is outside the reported range. - Changed score's CIA setup so that both CIA-A and CIA-B time of day counters run continously. Some players, such as Oktalyzer and sean connolly depend on this. As a consequence it was possible to remove a work around from score that patched the sean connolly player not to use CIA TOD. However, any player using CIA TOD is at risk of not functioning properly, but I have only seen two cases so far (those which I mentioned). - Removed score from uade source root, now it's only located at amigasrc/score/ directory. - Fixed a bug in uade123/playloop.c. If one subsong ended because of silence, all the rest subsongs would end because of silence too. I forgot to reset the silence counter to zero.. - Added a headphone postprocessing effect, and an effect framework for different uade frontends. Try --headphone. (alankila) - Try pressing 'p' on uade123 to toggle postprocessing effects on and off. - New filter code (alankila) 2005-10-28 Heikki Orsila <heikki.orsila@iki.fi> - Radical cleaned up in audio.c. - Fixed rh and crux interpolators. Thanks to Antti S. Lankila. <alankila@bel.fi> - Removed lots of unnecessary macros, variables and functions. - rh interpolator is now names as linear. - Removed src/config.h. It is unnecessary. - uade123 help will now print usable action keys too. Also, one may press 'h' at run-time to see usable keys. It will print currently as follows: Action keys for interactive mode: '.' Skip 10 seconds forward. SPACE, 'b' Go to next subsong. 'c' Pause. 'f' Toggle filter (takes filter control away from eagleplayer). 'h' Print this list. RETURN, 'n' Next song. 'q' Quit. 's' Toggle between shuffle mode and normal play. 'x' Restart current subsong. 'z' Previous subsong. - To verify whether a song uses filter or not, enable verbose mode for uade123 by -v. You'll see messages like: Message: Filter ON - Added two different types of filters: A500 and A1200. Thanks to Antti S. Lankila, again. Use --filter=a500 or --filter=a1200, the A1200 case is the default. Both types of filter are but A1200 filter is better tested. We need feedback on A500 filter. - --force-filter was changed to --force-led. - Fixed a bug with getopts. The long options list was not zero terminated, and it had worked by luck so long.. - Added good ol' speed hack feature into uade123. Use --speedhack to increase CPU speed for players that extra virtual power. It is useful for players that require more cpu than 68k can give, multichannel oktalyzer for example. 2005-10-27 Heikki Orsila <heikki.orsila@iki.fi> - Made interpolation mode selectable from command line. Use --interpolator=x to choose the interpolation mode, where x = default (no interpolation), rh = rh interpolator (broken atm), crux = crux interpolator (broken atm), cspline = Antti S. Lankila's spline interpolator (This is not recommended for chip songs! The spline spline interpolator is good for natural instruments, but may produce bad sounds with chips.) - Interpolator is selectable from uade.conf file by adding line: interpolator foo Note that using anything else but default is not recommended at the moment. - As per Michael Doering's needs, I added --stderr option to uade123. It will force all terminal output printed onto the stderr, and thus allows piping pure sound data. Example: uade123 --stderr -e raw -f /dev/stdout DW.Platoon |postprocessing 2005-10-27 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre7 - Antti S. Lankila <alankila@bel.fi> fixed and improved filter behavior. The filter state must be updated even when filtering is not outputted. Output scaling was fixed to the right place so that it does not distort filter state. Unnecessary range scaling of input samples was removed. Some documentation was added about technical properties of the IIR filter. - Filtering by default was not enabled for those people who had an earlier uade2 version installed to their home directory, because make install does not overwrite ~/.uade2/uade.conf. Now the default is hard coded into the source code. 2005-10-27 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre6 (tester pre) - Uade core now supports only 16-bits stereo. If 8-bits or mono is needed the sample data can be postprocessed. - Added experimental filtering support. It should be better than the one found from uade1. Thanks to Antti S. Lankila <alankila@bel.fi> for IIR filter coefficients and advice. - New uade.conf options: filter - enable filter emulation no_filter - disable filter emulation filter_off - turn filter always off - New command line options: --filter Enable filter emulation --force-filter=x, where x = 0, or x = 1. Set filter state either off (0) or on (1). 2005-10-16 Heikki Orsila <heikki.orsila@iki.fi> - Added a fuzzy state diagram on client-server interaction from client perspective. 2005-10-08 Heikki Orsila <heikki.orsila@iki.fi> - Unknown keywords in uade.conf are ignored. Old behavior was to terminate uade123 on an unknown keyword. - First try to load uade.conf from ~/.uade2/uade.conf, and then try the global config file ($PREFIX/etc/uade.conf) - Simplify playloop in uade123. - Beautify directory hierarchy scanning by avoiding unnecessary '/' characters. - Started specifying uade client-server protocol. See doc/play_loop_state_diagram.dia. - Removed S3M support. It's not an Amiga format, and thus it doesn't belong to UADE. It might also interfere with other players when UADE is used as an XMMS plugin. Use XMP, modplug or something else for these formats. - 'make check' is now 'make soundcheck' because it's more a sound check than a good test set. 2005-10-03 Heikki Orsila <heikki.orsila@iki.fi> - Action keys made into default behavior for uade123. 2005-09-08 Heikki Orsila <heikki.orsila@iki.fi> - Giulio Canevari pointed out that --panning doesn't work. For some reason I didn't notice that (perhaps didn't test ;-). The problem was false parameters for GNU getopt. - mod2ogg2.sh from Giulio Canevari 2005-09-04 Heikki Orsila <heikki.orsila@iki.fi> - Added -g option to uade123 to only print information about songs. Songs are not played in this mode. All relevant output goes into stdout. This should be useful for scripting people. An example: $ uade123 -g /svu/chip/mod/mod.Unit-a-remix 2>/dev/null playername: Protracker & relatives modulename: unit-a-remix formatname: type: Protracker subsong_info: 1 1 1 (cur, min, max) <uade123 quits fast> 2005-09-01 Heikki Orsila <heikki.orsila@iki.fi> - Cygwin fixes. Add cygwin detection to configure script. Makefile should be aware that uade123 is named uade123.exe on cygwin. 2005-08-27 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a memory copying bug which could cause sound data corruption when skipping 10 seconds forward with uade123. The bug was at playloop.c:273. memmove should be used instead of memcpy (shd) - A patch from Jarno Paananen <jpaana@s2.org>. It fixes use of C99 anonymous initializers with sigaction (2) on Cygwin. 2005-07-28 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre5 (developer release) - Nothing better to do. Let's release the new version for users to test. 2005-07-25 Heikki Orsila <heikki.orsila@iki.fi> - It seems ALSA lib could fork and consequently terminate a process when used through libao, and we must not consider it an error in our signal handler that catches all dead children. The signal handler assumed that the only child that could die is uade. (shd) 2005-07-24 Heikki Orsila <heikki.orsila@iki.fi> - New keys for interactive mode: [0-9] - Select subsong in range [0, 9] q - Quit player s - Switch between normal and shuffle mode x - Restart current subsong - Added -£ or --no-song-end switches. Song just keeps playing even if the amiga player says it has ended. Dude! You can get pretty weird sounds with this, and sometimes the sound core crashes, and should crash. Fortunately that doesn't kill the simulator :) - Made help print (-h) prettier by aligning tex columns - Added -K or --no-keys to disable action keys (this can be used to override the uade.conf if it enables actions by default). 2005-07-23 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre4 (developer release) - Added shell interaction keys into UADE123. The keys can be enabled with -k switch, or adding line "action_keys" into uade.conf. The keys are (mimiking XMMS): z - Previous subsong c - Pause b - Next subsong n - Next song . - Skip 10 seconds forward ENTER - Next song SPACE - Next subsong Does someone want these configurable into uade.conf? Please email me. 2005-07-22 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre3 (developer release) - Added a -j to skip x seconds of audio from the beginning. Note that this does not affect timeout parameters in any way. If timeout is 1 minute and skip is 2 minutes, the song will just end before anything is played. 2005-07-21 Heikki Orsila <heikki.orsila@iki.fi> - Added silence timeout - Wrote a config file parser for uade123. Look at uade.conf file for instructions. uade123 tries to load following files in order on startup: BASEDIR/uade.conf and $(HOME)/.uade2/uade.conf. Command line options can override config file parameters. Users of uade123 might want to configure timeout, panning and such values as personal defaults. This is a very important feature important over uade 1.0x command line tool. - Restructured uade123 code into different code modules to make maintaining and code reuse easier. 2005-07-18 Heikki Orsila <heikki.orsila@iki.fi> - Fixed a bug in uade123 that prevented it from playing the last subsong of a song. 2005-07-18 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre2 (developer release) - uade123 now has eagleplayer fileformat check ignoring feature (-i), panning (-p), song timeout (-t), and subsong timeouts (-w) 2005-07-17 Heikki Orsila <heikki.orsila@iki.fi> - uade123 now uses GNU getopt - uade123 can now output both raw and wav formats by using libao file output mechanism. Wav format is the default. Example: uade123 -e wav -f foo.wav songfile - The sound core now reports to the simulator when audio output should start. Traditionally the simulator has produced audio output from the reboot of the amiga even if it is only useful to output audio after all the lengthy player initializations have been made in the sound core. For example, AHX.Cruisin now has 0.96 seconds less zero samples in the beginning. - Cleaned up sound core a bit. Removed some unused definitions of messages between sound core and the simulator. Removed unused code that was designed to be used when running sound core under a _real_ AmigaOS. - Made uade123 less verbose. Use -v option to get more details. - Renamed uade-trivial.c to 'uade123.c' in src/frontends/uade123 - Renamed directory 'trivial' to 'uade123' in src/frontends/ 2005-07-15 Heikki Orsila <heikki.orsila@iki.fi> * UADE 1.50-pre1 (developer release) - Lots of changes into uade123 - This is just a preview of the new system. There are no interesting features over uade 1.0x versions. This release doesn't even have xmms / beepmp plugins. - Short instructions for testing: $ ./configure && make $ make test $ make install Will install everything to $(HOME)/.uade2/. Then $(HOME)/.uade2/uade123 is the player you can use. This version uses libao for audio output. 2005-07-12 Heikki Orsila <heikki.orsila@iki.fi> - Code in src/amifilemagic.c does amiga fileformats detection. If it's useful for any other project out there, it is now dual licensed under the GNU GPL _and_ Public Domain. By public domain we mean that you can do anything you like with the code, including relicensing arbitrarily for your projects. 2005-07-11 Heikki Orsila <heikki.orsila@iki.fi> - Improved the command line frontend in src/frontends/trivial/, and now it is called uade123. It can now do fileformat detection by content, and load proper players from their installation place. Also, it can play multiple songs in a sequence if one switches to next song with ctrl-c before the song actually ends. If the song ends by itself, the system will crash ;) - Found a bug in amifilemagic by accident. chk_id_offset() function tested patterns of length sizeof(patterns[i]) which is totally wrong. It was corrected to strlen(patterns[i]). 2005-07-09 Heikki Orsila <heikki.orsila@iki.fi> - Started hacking uade. The goal is to release uade 2.00 someday http://board.kohina.com/viewtopic.php?p=3499#3499 - These changes start a series. Version 1.50 will be the first public release in this series. - src/frontends/trivial/ can now play single file songs. - Debugging is broken because libao can't handle signals well. - Tons of things missing from the system.