Version 3.4.1
=============
Bugfixes

[psgplay/sndh]
 * Try to make it compile on m68k target

[configure]
 * AC_MSG_ERROR calls should contain message inside [], not "". Failing to do so causes syntax error when running the configure script and it wants to display an error message.
 * if libspeex was not detected, auto vs forced logic was swapped around

[flac/mpX/ogg/wavpack]
 * Ensure that PictureViewer initializes to "NotVisible", avoid de-referencing invalid memory playing a file without a picture, after playing a file with a picture.

[timidity/midi]
 * Library messages should not depend on compile-time flag
 * cpiTimiditySetupInit() should be called before loading a MIDI song, so that reverb and chorus are initialized to wanted settings as early as possible.
 * Update Timidity, protect against roomsize reaching zero, causing inf math and assertion/abort on certain systems.


Version 3.4.0
=============
Added support for *.SPX, *.WV, *.OGA, *.XMI and *.WM

[speex]
 * Initial support (*.spx)

[wavpack]
 * Initial support (*.wv)

[flac]
 * Added support for FLAC embedded into OGG (*.OGA)

[help]
 * Use the correct screen-width if displaying error-messages, avoid crash blanking invalid memory

[mingw]
 * Update version-numbers of packages used by mingw build

[adplug/opl]
 * update adplug to latest master
   * adds support for *.xmi, Miles Design music
   * adds support for *.wm, Silky's MusicV WM OPL3 format

[sidplayfp/sid]
 * Update to latest masters.

[sndh]
 * update psgplay to latest master.

[qoa]
 * update to latest master
   * Adds more sanitization
   * Fixes Out-Of-Bounds read for special crafted .QOA files

[libmad/mpX]
 * Skip frame 0, if it is a meta-frame.
 * Correct MPEG version and LAYER information in the status header.
 * File-browser detection, now uses information in meta-header to calculate song length if available if no ID3 tag is available.

[cue/toc]
 * Add support for WavPack, Ogg, FLAC and MP3 compressed audio
 *.WAV files, the result of case-insenstive-search was never used.

[udf]
 * Filesystem did not parse correctly if CDFS_DEBUG was not defined.

[wav]
 * Fix parsing META comments

[configure]
 * Detect and error-out if -flto is detected in CFLAGS/CXXFLAGS/LDFLAGS. It causes problems with the internal list of core plugins.
 * --with-strip_lto_flags, that can automatically strip away -flto flags.


Version 3.3.1
=============
Bugfix release

[flac]
 * Multiple metra-entries with same key caused crash.

[sndh]
 * Add missing MIME type: audio/x-sndh

[hvl, ogg, timidity]
 * Used plrDevAPI->Idle() that returns available free space, instead of plrDevAPI->GetStats() to retrieve the current audio-delay.

[timidity]
 * Harden logic that delays events for UI.


Version 3.3.0
=============
Added support for *.sndh files using psgplay and bugfixes.

[SID]
 * Update libsidplayfp to v3.0.0
 * Update libresidfp to latest master
 * Adjust keyboard repeat detection for accelerating adjusting the filters.
 * enableOld6581caps option for C64 Assembly 326298
 * Fix potential crashes in 'o' and 'b' modes.

[ULT]
 * Adjust cmdVolSlide to be 4 times as powerful. Also add minor missing effects/commands.

[SNDH]
 * Add support for SNDH files using psgplay

[XM]
 * Give warning if tune contains non-standard non-supported ADPCM sample
 * After a ECx, a note without an instrument should unmute the channel. (#176)

[HVL]
 * Fix potential crashes in 'o' and 'b' modes.

[modland.com]
 * no longer hosts playsid directory, and update the list of unknown directories

[channel viewer]
 * a DC bias should not produce volume-bars active

[YM]
 * Update register to frequency logic to match SNDH. (Fixes a bug where the HI part of the registers ended up being ignored)

[nCurses]
 * Try to support rxvt styled terminals regarding SHIFT+F(n) keys.
 * Do not purge keyboard input buffer on conRestore/conSave
 * Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.

[X11]
 * allow to enable/disable X11 SHM extension API during ./configure (for docker container)
 * Do not purge keyboard input buffer on conRestore/conSave
 * Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.

[SDL]
 * With SDL3, scrollwheel now works as UP/DOWN keys - usefull in filebrowser.
 * install icons when building with SDL3.
 * Do not purge keyboard input buffer on conRestore/conSave
 * Move graphic refresh to its own timer callback instead of keyboard pull/read for a more consistent responsivness. Implemented for for nCurses, X11 and SDL.

[mingw]
 * update support-libraries to latest versions.
 * devpdisk, file-creation failed due to filename being in LFN syntax, but without any drive and directory.

[QOA]
 * Update to latest git (no impact for OCP)


Version 3.2.0
=============
Bugfixes, add SDL3 support, custom file extensions for music files and major speeds-ups for directories, ZIP and TAR files with many files.

 * [SDL] Add support for SDL3 (>= 3.2.0).
 * [mingw] Update libpng to latest version (1.6.55), and SDL from 2.x.x to to latest version (3.4.2).
 * Update libsidplayfp to latest version, includes a faster integer SID emulator crSID.
 * [CDA]
  * On Linux CDROM driver - silence two valgrind warnings (non-initialized fields in IOCTL, but they are output only fields)
  * Do not assert (and exit program) if attempting to play a DATA-only CD.
 * [ocp.ini]
  * Add support for extra file extensions the file-browser accepts in addition to those provided by the plugins. This can be edited from ALT-C dialog, option E.
  * Increase the line-buffer from 1024 bytes to 65536, and also allow for up to 64K bytes of string data.
 * [M15,M31] adjust detection to not rely on filenames ending with .MOD, inspect instrument volumes and orderlength.
 * [NCurses] Default to the cursor being hidden.
 * Use strverscmp when sorting files in the file-browser
 * [SDL2/SDL3 video] If 320x200 is streetched to 640x200, request 640x400 instead so we keep the original ratio.
 * [wurfel animation and background pictures]
  * Search in ZIP files
  * Allow animations to end with .ANI
  * File discovery message needs to use fwprintf() on Windows
  * Filenames with extensions longer or fewer than 3 characters were blindly accepted instead of rejected as background picture
  * .spec file now sources the historically files from https mirror instead ftp
  * Include the historically files in the windows build.
 * [ADPLUG, SID, YM, QOA, WAV, FLAC] Master balance was inverted
 * [XM] Improve the loader when the files have incorrect instrument sizes / samples truncated.
 * [IT]
  * Allow to load files with does does not contain all the sample data.
  * Remake tracker detection for the file comment in the file-browser - based on Schism tracker source code.
 * [dirdb] Use sorted lists and binary search instead of single-linked lists; Speeds up operations on the tree a lot.
 * [ZIP,TAR] Directory list is now stored in a sorted list instead of linked list - and searches are now performed with binary search.
 * [SID, Windows]
   * If browsing ROM files outside %APPDATA%OpenCubicPlayer/Data, the resulting path did not contain a drive and had slashes in the wrong direction.
   * If ROM filepath contained any non-ASCII characters, they would fail to open for usage in playback.
 * [CDFS] Protect against recursive directories and high directory depths.
 * [Archive Cache Database] BinarySearch was done 32bit instead of 64bit, causing assertion on large files.


Version 3.1.3
=============
Bugfix release, and speed-up reading directories with many files

 * [Windows] Update build dependencies to latest available releases
 * utf8_casefold()
   * Table for single- to single-point lookup is now done with a binarysearch, increasing the speed a lot when there are many files to add in the filebrowser view.
   * Update tables to Unicode 17
 * [zip] Remove void call to dirdbUnref()
 * [X11,SDL,SDL2,curses]
   * Unify the minimum text resolution to 80x20 (some had 80x25)
   * Gracefully ignore the physical size can know achieve the text resolution, and use virtual resolution of 80x20
   * Some few dialogs required 80x25, add scrolling
 * [Textlayout] Do not lock-up if window grows to smaller size than supported (easily happens when running in ncurses)
 * [DMF]
   * Support sample-header for both file-version <8 and >=8
   * Use correct buffer-size for input data if decompressing sample-data.
   * Reject patterns with more than 512 rows (not valid in the real editor)
   * When resizing order-list (splitting patterns with more than 256 rows into 2), malloc() a buffer that is larger. (Old code performed buffer overflow)
   * Protect against buffer over/underflow when building the initial pattern-list
 * [HVL] Muting single channels, while displaying channel information caused crash
 * [669] Sample-looping did not work. Minor copy-paste error when the code was made endian-neutral.

Version 3.1.2
=============
Bugfix release

 * [QOA] Failed to compile on some systems.
 * [SID] Remove debug messages sent to the console
 * [FontSize control logic]
   * Was not consistent between SDL and X11 driver.
   * Was not possible to change away from 8x16 if window could not grow and fit 16x32.
   * Help screen would reset font-size on X11. Now help screen follow to global selected font size instead.
 * [Windows]
   * OCP.INI update Messages: Do not use escape codes, use correct wide-char path and refer to `del` instead of `rm`.
   * Debug messages with paths for HomePath etc, now use wide-char paths.
   * Use wide-char version of fopen() when opening OCP.INI (support international user-names)
 * [MIDI]
   * Font-browser dialog had minor hickup in scrolling, and incorrect highlight for "No soundfont found".
   * When file wraps, do no free data and reload the file - reuse the already loaded data.
   * Remove double free() when attempting to load an invalid MIDI fil
 * [CURL]
   * Mention CURL in README.md and ocp.spec
   * Improve errors-messages if unable to launch the helper program

Version 3.1.1
=============
Bugfix release

 * [MIDI] loading files would cause crash (null dereference) if ~/.timidity.cfg not present
 * Avoid using extended SED syntax in stuff/Makefile

Version 3.1.0
=============
Highlighs are support for QOA files, a larger font and UTF-16 support in the Windows builds.

 * Add 16x32 font, which is nice for high DPI screens. Access the setting via ALT-C.
 * [QOA] Add support for "Quite OK Audio" files
 * [IT]
   * Files created with other trackers than Impulse Tracker, was not marked correctly by file-detection.
   * Loading *.IT files with stereo samples caused random noise due to only reading one channel of the stereo sample causing multiple problems.
 * [devw]
   * Add support for playback of stereo-samples (instead of down-converting to mono)
   * If same sample could both be looped, and unlooped; minor curruption of data just after the loop-end could occure under special occations.
 * [S3M] commit 5732560 made stereo-commands pan aggressivly away from center (absolute + repeat relative) and "randomly" enable stereo if value was 1.
 * [XM] Make it possible to load songs that are partially truncated, missing some of the sample-data.
 * [modland.com] setup dialog:
   * select mirror: the custom editfield did not 100% match position when entering edit-mode.
   * cachedir: Add missing $ in the UI
 * Multiple updates regarding graphical modes:
   * Remove leftovers of "gdb-helpers"
   * Attemping to enable graphic mode needs to be able to gracefully fail, even when announced present (and revert back to text)
   * Changing fontsize, while graphical mode was enable did not have an impact on the textmodes.
   * Saving `fontsize` from ALT+C dialog did not work as expected, due to `screentype` likely being another value than 8 in ocp.ini. Update `screentype` value too when in this dialog to the relevant value.
   * SDL 1.x, enabling graphical mode two times in a row (and window size did not match from textmode), would cause the window to not resize correctly.
 * Remove a possible occation of strcpy where dst == src, which causes undefined behaviour.
 * [Windows]
   * Use WideChar / UTF-16 interface version of Windows filesystem API calls. This should make it possible to view file names that are using non-ASCII characters.
   * Make driver letters capital and sort them infront of the other protocols in the file browser.
 * [Timidity] Setup dialog for soundfonts:
   * When selecting soundfont / configfile, give hints in the bottom of the dialog about locations searched.
   * On Windows, add "*" to the end of the path when performing directory listings, to be compliant with the windows APIs.
   * On Windows, search $OCP\data for sf2 files.
   * On Windows, timidityplay.c didn't follow the TiMidity windows search logic.
   * If user-override only if found for timidity.cfg, relay this in the config dialog.
   * Add file-browser in the config-dialog. Making it possible to select SF2 file outside the default search-scopes.
 * [adplug] Update to current master
 * [libsidplayfp] Update to current master
 * [MOD] MOD (Amiga ProTracker 1.1b), MODd (Dual Module Player) and MODt (old Amiga ProTracker) now use 8287Hz as the base-freqeuncy for samples matching Amiga PAL machines, while MODf (Fast Tracker II) still use 8363Hz. If a song now plays the samples slightly too fast, they should be marked with MODf (press <ALT>+<E> in the filebrowser, move the cursor over to "type:" and press <ENTER>)

Version 3.0.1
=============
Bugfix release, with the exception of adplug adding support for "Palladix" files.

 * Not all systems provide memrchr, example are some MacOS/OSX variants.
 * [adplug] Update to latest master
   * This adds support for "Palladix" files.
   * HERAD files were not working as expected.
 * [sidplay] Update libsidplayfp to latest git version.
 * [modland.com] If waitpid() returns a fatal error, give up waiting.
 * [HVL] multiple updates:
   * files with size below 4096 were not able to be detected on modland.com virtual drive.
   * instrument-viewer must fetch the instruments from index 1, not 0.
   * track-viewer must fetch global commands from the actual number of channels in use.
   * reset the channel-information-cache on file-load, else we might try to dereference pointers from the previous song played.
 * [MDL] In loader, the calculation of two buffer-sizes were missing parentheses, causing incorrect calculation.

Version 3.0.0
=============
First major release. We skip version series 1.x.y and 2.x.y to avoid reusing version numbers from the original DOS version.

 * Update external libraries for mingw build to latest versions.
 * Add more magic numbers for up and comming version of ancient (decompression library for solid files).
 * SetMode() did not have paremeters defined in the prototype, not all users had parameters defined. Caused crashes one some combination of mode changes.
 * Update to latest version of libsidplayfp
 * Update to latest version of adplug
 * Add modland.com support directly from the file browser using a local copy of the file-list provided by modland.com.
 * Speed up filebrowser if an earlier scanned .tar.gz now has unscanned modules. The archive is not persistent open due to caching.
 * XM files would smash the stack on big-endian due to to loops had counter-limits in reverse order in endian-reversal code.
 * MacOS/CoreAudio: Add missing mutex locking in two API functions.
 * SDL/SDL2 audio: Add missing mutex locking in two API functions.
 * SDL2 audio: Use SDL_LockAudioDevice, SDL_UnlockAudioDevice and SDL_CloseAudioDevice SDL 2.x functions instead of legacy 1.x functions.
 * Do not attempt to divide by zero, if a song is reported as zero long.
 * Logic for buffersize in playtimidity (MIDI files) was not working as expected, especially on Windows.
 * If a file was unable to be accessed, pressing ENTER on it would cause a NULL-pointer dereference (Problem introduced in v0.2.102, adding support for ancient)
 * Attempting to load a defective S3M file could trigger two different issues. Do not cal mcpSet(), since we have not initialized the mcp device yet, and the que variable was no reset on to NULL after free causing a double free in this special use case.
 * When adding a directory-tree to the playlist, group the files by their owning directory, and sort each group of files alphabetically (strcasecmp).
 * Detect Sidplayer files as playable.
 * modland.com stores "Atari Digi-Mix" as *.mix instead of *.ym, so add that file-extension.
 * Add FEST as a valid 4-channel signature
 * Add "Atari STe/Falcon, Octalyser" CD61 and CD81 signatures
 * Add "M&K!" as a valid MOD signature. These files are likely "His Master's Noise"
 * Add support for Atari Falcon, Digital Tracker (MOD) files.
 * Avoid double free(), could occure if trying to load an invalid MOD file
 * Adjust MIME database, multiple of the magic searches were too aggressive.
 * detecting .BAM files with .[0-9][0-9][0-9] filenames
 * Remove adplugdb->wipe() call, it is not for freeing memory

Version 0.2.109
===============
This is a bugfix release

 * Remove a gcc warning when compiling boot/psetting.c
 * validate_xdg_dir_absolute() allocates a byte short when building the string buffer in one of the code-paths.
 * mingw builds expects adplugdb to be located within OCP data directory, not in the same directory as OCP.EXE (initial mingw builds did not have a data directory)

Version 0.2.108
===============
This is a bugfix release

 * When detecting C++ version, ] and ) was out of order in configure.ac. This only became problematic in autoconf 2.72.
 * Playback via Game-Music-Emulator, the global loop module setting was not honored.
 * Mono FLAC files would crash, buffer retrieval expected (atleast) two channels to be present.
 * EOF detection got false positives in file-cache, FLAC files could fail to play
 * Labels should not appear in front of variables, clang can be strict on this.

Version 0.2.107
===============
Highlights are increased speed in the filebrowser, and update of libsidplayfp and adplug.

 * libsidplayfp:
   * Make it possible to tune parameters in real-time.
   * Update libsidplayfp to the latest master.
   * Plugin had an extra dirdbUnref() that should not be there.
 * adplug:
   * Update adplug to latest master.
   * Scrolling the channel viewer could crash the player due to read of out-of-bound memory.
   * The wrapper OPL class OCP uses had some minor problems:
     * In OPL3 mode, if a channel was in 4-OP mode, the second half would always muted.
     * In OPL3 mode, if a channel was in 4-OP mode, you could mute the second half of the channel (in addition to the problem mentioned above).
     * When a channel is going in/out of 4-OP mode, mute was not consistent.
 * Refactor and use file-caching.
 * Add compression hint to the fie API, solid files should be scanned directly.
 * Differentiate unread (files not scanned) and files were the file content turned out to be unknown. Speeds up the file browser, especially if there are archives present.
 * mingw:
   * Latest version of packages OCP depends on.
   * Enable optimization (needed for static inline functions to work as expected).
   * Location of ocp.ini did not match the actual install.
 * ISO/TOC - Audio CDs could be unable to play after being looked up in the online discid-database.
 * Update libancient filter to match upto libancient master (needs matching support from host operating system for them to work).
 * Add support for *.RPG archive file from "Official Hamster Republic Role Playing Game Construction Engine", and *.BAM that in game data files as stored as *.1 *.2 *.3 etc.
 * Potential hang-bug in UDF (CDROM DVD image files) parser.

Version 0.2.106
===============
Highlights are support for libgme, newer version of libancient, unifont files can now be bundled using --with-unifont-relative and beta support for Windows.

 * [IT] Increase the number of max-samples to match openMPT (it can export files with more samples that original tracker and Schism supports)
 * [devpdisk] Reported time during playback was random
 * [adplug] Add support for SudoMakers RetroWave OPL3 Express, please configure it in setup:/adplugconfig.dev
 * [adplug] Make channel tracker aware of AM/FM modes so it more correctly can display visualization
 * [adplug] Left/Right OPL3 logic was incorrect in the register-tracker
 * [mingw] Initial support (BETA) for mingw, enables Windows support
 * [libancient] Add more fingerprints for compression formats that v2.1.0 can decompress
 * [Linux CDROM] Fix deadlock
 * [configure] cleanup --bindir --libdir and --datadir, and new syntax to override post ocp suffixes: ./configure LIBDIROCP=/usr/lib/ocp DATADIROCP=/usr/data/ocp
 * [configure] removed --with-dir-suffix
 * [CDROM *.CUE] REM didn't work as expected
 * [CDROM *.CUE] files didn't work if containing INDEX 00 (pregap)
 * [CDROM *.CUE] BINARY keyword should be little endian, but there are tools that produce big-endian files without marking them correctly. So we need to detect the endian used.
 * [CDROM *.CUE] files didn't include pregaps in the track table
 * [CDROM *.TOC] files didn't split the logic for pregap and offset into the raw file
 * [musicbrainz] Increase the buffersize, some data retrivals failed
 * [global MIME database] Add adplug fileformats
 * [global MIME database] Add Game Music Emulator fileformats
 * [SDL2] if entering fullscreen while in graphical effect mode, it could not be exited without visiting a textmode resolution.
 * [SDL2] Use SDL_OpenAudioDevice(), else the expected audio format between SDL2 and OCP might not be what we expect causing random noise to be played.
 * [X11] non-Shm usage could fail to successfully create butter on window resize
 * [X11] If background picture is loaded in GUI modes, it was not repainted on window-resize
 * [unifont] Allow for unifont ttf/otf files to be placed in the datadir by using ./configure --with-unifont-relative (you still need to copy the files in)
 * [*.VGZ] Silently convert them to *.VGM
 * [GME] Add support for Game Music Emulator library (libgme) for playback of various retro console systems

Version 0.2.105
===============

 * Avoid crash if attempting to access graphical viewer moder when running in
   curses (text only).

Version 0.2.104
===============

 * Update libsidplayfp
 * Update adplug
   * Latest version of the upstream version
     * Adds support for *.PIS and *.MTR
   * Reimplemented the OPL2/3 status viewer
   * Buffer for compositing tracker data for music that supports this, was not
     cleared between pattern loads. Causing visual data to be accumulated.
   * OCP now supports multiple of the emulator implementations
   * Default emulator to use has been changed
   * Configuration dialog added into setup:
 * Elapsed time is now based on played samples and not counting seconds passed
 * Screen resizing should be more consistent on remembering settings
 * Add support for 3-bytes-per-pixel in SDL 1.x
 * Files that are detected as valid for libancient but fails decompression,
   OCP failed to reset the filehandler read-position back to 0.
 * Track viewer had some excessive CPU usage
 * Analyzer viewer has the scale gain range increased, and the current gain is
   visible in the header.
 * Quick help documentation has been updated, with special focus on the keyboard
   shortcuts.

Version 0.2.103
===============

 * If an autoload plugin fails to load, do not hard fail if all the core plugins are statically linked in
 * version 0.2.91 update missed setting the color for XM files in ocp.ini
 * Fix logic for setting screenmode vs ocp.ini. This is now the scheme and default values that SDL, SDL2 and X11 drivers use:
   [screen]
     screentype=5            ; 0=80x25, 1=80x30, 2=80x50, 3=80x60, 4=132x25, 5=132x30, 6=132x50, 7=132x60, 8=custom
     fontsize=1              ; if screentype=8: 0=8x8, 1=8x16
     winwidth=1024           ; if screentype=8
     winheight=768           ; if screentype=8
 * insttype= setting in ocp.ini was no longer working and it was not maintained between songs.
 * Remove more external symbols from the devp*.so and devw*.so files, and API updates
 * setup:/devp/ and setup:/devw/ directories has been replaced with dialogs
 * Detect that C++17 is available, needed due to libancient
 * Failed detection of `update-mime-database` did not halt ./configure causing errors later during make instead
 * Update libsidplayfp to the latest version

Version 0.2.102
===============

 * IT files did not detect reverse jumps are song being looped
 * IT playback plugin did not reset all state variables on load
 * XDG Base Directory compliance
   * Comply with both $XDG_CONFIG_HOME and $XDG_DATA_HOME
   * Migrate $HOME/.ocp/
 * Add support for files compressed on Amiga systems with the system built-in
   compression routines using the library known as 'ancient'
 * Updates for building on Haiku
 * If iconv CP437 fails to load, fall back to CP850 and then ASCII
 * Some few calls to iconv() were not protected against "NULL"
 * Add MIME for entries missing in the freedesktop MIME database
 * Update desktop file with additional MIME types
 * Call update_mime_database and update_desktop_database
 * Starting ocp with files as arguments stopped no loger was working
 * If a file fails to load, display error message in the fileselector
 * Replace setup:/alsa/*.dev files with a single setup:/alsaconfig.dev dialog
 * nprintf() didn't limit UTF-8 strings correctly
 * Only accept .TAR files that contains the ustar magic
 * If playback plugin are not operational, multiple corner-case issues has now
   been fixed
 * When editing fixed UTF-8 text-fields, backspace / delete-key would not
   unreserve the buffer-space, artificailly shrinking the available text until
   a new edit was initialized
 * Add the rReverb and iReverb plugins from the original DOS project, with some
   additional fixes
 * Show both panning/balance and chorus/reverb at the same time if they both can
   be active and can fit on screen

Version 0.2.101
===============

 * Update m4 macro files, configure.ac and Rules.make.in to latest versions
 * Update adplug from upstream
 * Update libsidplayfp from upstream
 * Update hivelytracker from upstream
 * Add support for textinfo v7.0 (documentation)
 * Add karaoke support for timidity playback plugin
 * Update .ym file detection to include compression header type 1
 * Playback plugins no longer need external symbols from OCP
 * SDL2 and X11: Delete key stopped working after support for international
   characters was added
 * MacOS build fixes
 * Parallel build fixes
 * VU right peek-meter was noisy
 * S3M files that was flooded with global commands causes buffer-overflow
 * Ctrl + C when ran in curses or linux vcsa console now does the same as
   pressing ESC. It only does force kill if OCP is frozen and it is pressed
   multiple times

Version 0.2.100
===============
 * Former attempt at supporting plugins to be built-in ("static") has been
   revived and is enabled by default. By now playback-plugins and
   audio/wavetable drivers must be external still
 * Unifont is transitioning from truetype to opentype and OCP is adapting the
   change
    ./configure syntax has been changed to accomodate the changes:
    If specify by directory, the options available are
      --with-unifontdir-ttf=/path
      --with-unifontdir-otf=/path
    If specify by file (due to non-standard naming convensions and casing)
      --with-unifont-ttf=/path
      --with-unifont-csur-ttf=/path
      --with-unifont-upper-ttf=/path
      --with-unifont-otf=/path
      --with-unifont-csur-otf=/path
      --with-unifont-upper-otf=/path
 * Many internal functions used by playback-plugins are now being forwarded from
   core to plugins by API-tables
 * Double-free in playopl (adplug playback) if file failed to load
 * Move all file-type detection and type registration into each playback plugin,
   and autoload all playback plugins
 * In fileselector file-type-editor, selecting a blank file type (redetect
   file-type), buffer overflowed and relied on that being blank
 * Avoid crashing when opening a midi file due to missing parameter
 * 16bit WAV files were probably not able to play on big-endian systems
 * FLAC: avoid divide by zero error at end of tracks
 * Timidity/MIDI: isolate all library globals into a session and partially
   fixing channel muting
 * Internal API changes
 * ALSA: Make it possible to custom select with text input both PCM output
   device and Mixer, and bring volume mixer back to life
 * Information about selected channel disappeared from the screen when in scope,
   phase and note dots view if you visited the file browser
 * Add international keyboard support for SDL 1.x
 * Add international keyboard support for X11
 * quickfind now supports international characters
 * cpiinst overshot memory when clearing unused space
 * Quicksearch .. and other overriden filenames in filebrowser where not working
 * Update libsidplayfp to lastest upstream master

Version 0.2.99
==============
 * Specify branch for the adplug git submodule
 * Minor error in the help text from the dumpmod utility
 * playxm (XM playback engine): A delay FX command should use the last note
   given in the channel, and not the last note that also had a delay.
 * ALSA: On buffer underruns (most common happens during SDL2 recreating
   windows and when debugging) the audio must be restarted.
 * Going from wuerfel to text mode caused OCP to freeze.
 * When running OCP in SDL/SDL2/X11 window and the user tries to close the
   window, we no longer issue a single <esc> key, but recursivly insert <exit>
   key until the program quits.
 * FreeBSD and possible others need to poll Audio Drivers as 50+ FPS, so if
   your screen FPS was set to 20, the audio would not be smooth. Added a second
   timer for this use-case.

Version 0.2.98
==============

 * MacOS updates:
   * Not able to compile on newer versions
   * Random lockups and crashes
 * Compiling psetting.c on x86 with gcc generated a lot of warnings
 * G++ 7.5.0 failed to compile one of the files
 * Remove kickstarting GDB on crash when configured with --with-debug
 * Remove usage of SIGALRM. This was only partially safe with native OSS and
   ALSA drivers
 * Update wurfel mode - search for animations in ~/.ocp aswell as the global
   data directory
 * playopl would fail to compile with clang
 * Parsing RIFF files could randomly crash (MID, WAV and MP2 files are RIFF)
 * MIDI playback could randomly assert on events-delay logic

Version 0.2.97
==============

 * Two files still references the system adplug header files instead of the
   built-in provided ones

Version 0.2.96
==============

 * ./configure now default to have --with-dir-suffix= empty. This new default
   value fits better for most packagers better. To get the previous default
   behaviour, run configure like this:
   ./configure --with-dir-suffix='-$PACKAGE_VERSION'
 * adplug and libbinio are now polled from GIT, we need access to some internal
   data not available in system installed versions.
 * adplug: music files that depend on external file resources didn't work as
   expected (e.g. Sierra game music)
 * plrGetMasterSample(): did not work as expected any more
 * cdfs: fix link-error on BSD and MacOS
 * *.AMS Extreme's Tracker files was parsed incorrectly
 * libsidplayfp: update to latest upstream version
 * 8x8 font: glyphs that are not present in OCP built-in font will now be scaled
   down from unifont 8x16
 * The fast low quality audio-mixer (devwmix) was updated
 * API between playback plugins and audio drivers has been updated

Version 0.2.95
==============

 * Add support for *.AMS Extreme's Tracker (v1.2 and v1.3)
 * Add *.RSID as a recognized filename
 * Created a setup-dialog for libsidplayfp (*.SID/*.RSID) playback plugin
 * Do not require unifont-CSUR (not all distrubutions includes this part of
   GNU unifont)
 * Minor fix for *.STM files
 * Fixed non-standard code that clang failed to compile
 * MacOS/OSX: remove `-flat_namespace` usage

Version 0.2.94
==============

 * Fix compiler-warnings
 * Fileselector:
   * make it possible to list all files, even if they are not audio/music files
   * Add support for CUE/TOC/BIN/WAVE virtual CDROM support. Both CD-Audio,
     ISO9660,Juliet,RockRidge and UDF parsing. Also includes
     libdiscid/musicbrainz information lookup
   * Add support for PAK files (Westwood and Quake style)
 * Remove old i386 assembler code
 * Remove old i386 asssembler emulator code
 * SDL2: keyboard composition support (international characters etc)
 * SDL1/SDL2: Interpolate the play position
 * CDROM Audio Playback: Skipping previous tracks didn't work as expected
 * ocp.ini fps=X variable was not honored
 * Update libsidplayfp to latest upstream
 * Finish keyboard update regarding CTRL+Fx and friends
 * If libmad support is not detected, linker error occured at runtime - since we
   still referenced the meta information from the plugin
 * Some systems have different variations in the actual filenames for the
   unifont ttf files. ./configure can now be instructed about these alternative
   filenames
 * Adplug playback now support subsongs using < and > keys

Version 0.2.93
==============

 * Update the desktop icon
 * Changing font-size from the ALT+C menu didn't work as expected
 * SDL2 now sets the minimum window size for its text-mode operations
 * Add Timidity configuration dialog
 * Fix some spelling errors reported by Debian Lintian
 * FileBrowser:
   * Add editing of artist and album
   * Add a 3rd width layout for the file-display (we now have >=80,
     >=132 & >=180)
   * Escape-button when editing UTF-8 text didn't work as expected
   * Added special case for '00 being year 2000
 * If cross-compiling, ./configure needs to blindly trust that the adplug
   libraries are correct and that unifont files are present
 * Starting OCP from a directory with compressed files could crash
 * CDROM:
   * include /dev/sr[0-9] when search from cdrom-drives
   * readlink, if the link points to known devices, ignore the entry (this
     resolves issues where /dev/cdrom is removed when no CDROM-disc is present)
   * MusicBrainz:
     * Used for lookup of CDROM track metadata (can be used in future .toc/.bin
       support)
     * Add cache-browser
     * Make it possible to submit unknown discs
     * Make it possible to refresh given entries
 * Installing icons should not depend on X11 alone, but either/or X11, SDL or SDL2
 * Building without X11 support didn't work as expected

Version 0.2.92
==============

 * Add ocp.1 manpage
 * Fixes for build-system regarding install and uninstall
 * Refactored the ./configure script
 * Update  ocp -h  help screen
 * Add keywords to the ocp.desktop file
 * Give hints about ALT-E key-combo in the filebrowser if you want to edit metadata
 * Fix some common spelling mistakes
 * Fix some minor resource-leaks found in an old static analysis report, and
   unsafe use of strncpy
 * In the fileselector, use right/left as alternative keys for insert/delete
   These keys are for inserting/deleting songs from the playlist, and these keys
   are lacking on some Macs
 * OCP was unable to compile at big-endian systems
 * cphelper.c was unable to compile on some systems

Version 0.2.91
==============

 * Removed the 4x4 font, it was in most cases unreadably
 * Editing filetype for a file in the filebrowser, not displays some information per filetype
 * The current active playback plugin is now visible in the title bar
 * Mac does not have a <INSERT> key, medialib was not usable without this key. Added alternative key <RIGHT>
 * Better support for dynamic widths of the screen (playback header, filebrowser)

mdb (meta-database):
 * Now uses UTF-8 instead of codepage 437, allowing all characters

playcda (CDROM):
 * Code refactored / improved

playxm:
 * stereo samples caused buffer-overflow

playogg:
 * Was broken

playgmd:
 * Updated the *.AMS loader
 * Updated the *.MDL playback
 * Updated the *.MTM loader
 * Updated the *.ULT loader

playtimidity (MIDI):
 * Minor improvements

playsid:
 * Update to the latest version of libsidplayfp

Version 0.2.90
==============

configure:
 * Do not block unknown compiler versions

File I/O:
 * Support files larger than 4GB on 32bit systems
 * Add a Virtual filesystem layer
  * Re-implement .zip
  * Re-implement .gz
  * Re-implement .bzip2
  * Re-implement .tar
  * Add support for .Z
 * medialib:/ has been overhauled
 * MDB did not work correct when more than 65535 entries has been discovered (cache for file information)

playsid:
 * Update code to latest version.

playgmd:
 * Loading Ultimate Tracker files prior to version 1.3 did not work as expected


Version 0.2.2
=============

playay:
 * Update code to latest version of StSound (v1.43).

playhvl:
 * Protect against division by zero.

playmp2:
 * EOF handling did not work as expected.
 * Cover art in ID3 tags can now be displayed if render is graphical (SDL/SDL2/X11)

playogg:
 * Cover art can now displayed if render is graphical (SDL/SDL2/X11)

playsid:
 * Proper support for non-ASCII characters.
 * Update code to latest version.
 * Support global pitch bend.

playxm:
 * Do handle E60 bug the same way as Fast Tracker ][

ncurses:
 * improve UTF-8 handling.

OS-X:
 * linking failed due to duplicate symbols.

ALT-K dialog:
 * Handle window resizing

File Browser:
 * Handle window resizing while editing texts

SDL/X11:
 * Use unifont for rendering of text (we now support much more characters than just ISO-8859-1 and CP437


2019-12-02: Version 0.2.1
=========================

2019-12-02: When using X11 driver, the font setting was not pushed back to ocp.ini if changed (in the ALT-C menu)

2019-11-30: Compilation fixes

2019-11-26: VERSION 0.2.0
=========================

2019-11-16: M15 and M31 file-type detection depended on file ending in .MOD in upper-case. Also simplified the detection routing (logic is the same)

2019-11-09: Sync/Update the help-documentation

2019-11-01: Update the help-browser and support tools

2019-10-26: Make it possible to enable building and installing the dump-utilities with ./configure --with-dumptools

2019-10-26: playay/dumpay*.c: Add a tool for dumping content of a .AY file (wrote a long time ago)

2019-10-12: *: Add support for HVL/AHX via the brand new playhvl

2019-08-26: *: Add support for STM (Scream Tracker 2.x) files via playgmd

2019-07-26: playgmd/gmdptype.c: Try harder to detect OPL/Adlib enabled S3M files

2019-07-25: configure.ac: Added GCC 9.x and 10.x to the accepted list of compilers

2019-07-24: playopl/oplplay.cpp: do not create temporary files on file loads, but use a memoryobject instead (requires recent libbinio version)

2019-05-06: devp/devpalsa.c: Query ALSA about possible output devices, and list them under under the setup: filesystem

2019-04-**: *: Face out usage of PATH_MAX and friends. In OS they are defined, they are artificial limits that might not even be enforced

2019-03-09: devw/dwmixqa_x86.c devw/dwmixfa_8087.c devw/dwmixa_x86.c dev/mixasm.c devw/dwnone_asminc.c: add magic for making the assembler function appear as symbols in gdb, and generic assembler usage fixes

2019-03-06: desktop/opencubicplayer.desktop.in: merge in patch from the debian repo

2019-03-06: configure.ac: Added GCC 8.x to the accepted list of compilers

2019-02-21: devw/dwnone_asminc.c: GCC 7.3 on Haiku trigged an assembler usage error

2019-02-18: playay*: Track internal registers for UI usage

2018-11-30: *: Add support for SDL2 video and audio

2018-11-03: playit/itload.c: one malloc() call was assumed to give clear buffers, replaced with calloc()

2018-11-02: playay/*: Provide 4 channels of audio (some very few files utilize the speaker) and improve silence detections

2018-09-29: playwav/*: Use ringbuffer API

2018-09-29: playflac/flacplay.c: Seeking should be done at the right time in the libflac API

2018-09-29: configure.ac: Added GCC 7.x to the accepted list of compilers

2016-09-29: playflac/flacplay.c: Use ringbuffer API

2016-06-06: stuff/timer.c do not let the timer be reentrant

2016-05-12: playay/ayplay.c: Use ringbuffer API and add support pan and pitch control

2016-05-12: stuff/imsrtns.h: memsetd and memsetw macro expandion did not use () for the parameters

2016-05-10: playmp2/mppplay.c: Use ringbuffer API

2016-05-10: stuff/poutput-x11: Minor memory leak fixes

2016-05-10: devp/devpalsa.c: Minor memory leak fixes

2016-05-05: playogg/oggplay.c: Use ringbuffer API

2016-05-05: dev/ringbuffer.c dev/ringbuffer.h: Added a generic ringbuffer API

2016-03-21: configure.ac: Added GCC 6.x to the accepted list of compilers

2016-03-21: playit/itload.c: an off by one when parsing envelopes, causing a minor write outside allocated heap-buffer

2016-03-21: playit/itload.c playit/itplay.c playit/itplay.h: some of the names used conflicted with other symbols/macros (from ncurses)

2016-03-21: Rules.make.in config.h.in */*.c: Default to ncursesw instead of ncurses if available and added support for using UTF-8 on output, where internal OCP font can match unicode symbols

2016-03-21: playtimidity/* ocp.ini.in boot/pmain.c: Use Timidity instead of the previous internal engine for loading soundfonts and rendering of MIDI files.

2015-09-22: playym/stsoundlib/Ymload.cpp: All files where interprated as of type "Interleaved" do to a minor error.

2015-09-07: cpiface/cpitrack.c: Do a probe of what the default/ideal zoom level is, instead of using fixed defaults. This makes more sense when we have dynamic sized windows.

2015-09-05: playym/Makefile: missing depency when doing parallell build.

2015-09-05: playxm/xmlmod.c: If a .mod file has zero orders, it should fail to load, instead of crashes. (If loading a M15 as M31 fileformat is good example)

2015-02-25: filesel/pfilesel.c: dirdb reference counters was off

2015-02-25: playgmd/gmdlams.c: sizeof() was used a bit wrong, causing files with instrument names longer that 4/8 characters to fail.

2015-02-25: configure.ac: use $CC and not gcc when detecting compiler target/version.

2015-02-25: configure.ac: Verify that adplug is compiled with C++ that has the same ABI as the current C++ compiler. (Distroes with old binaries of adplug had random crashes)

2015-02-24: playtimidity/timiditytimidity.c: support for absolute path was not in the patch code path, only instrument

2015-02-09: configure.ac: Added GCC 5.x to the accepted list of compilers

2015-01-04: stuff/poutout-curses.c: workaround broken ncurses version (library did not take into acount that write() might not digest all data at first attempt. SIGALRM is a problem here)

2014-12-31: VERSION 0.1.22 (never officially released)

2014-12-26: boot/kickload.c: simplify logic somewhat

2014-12-26: playopl/oplplay.cpp: possible string overflow on load

2014-12-26: playit/*: overflow when initializing instruments on load

2014-12-26: boot/kickload.c: Haiku introduces non-standard directories. Use the actually directories in the error messages

2014-12-26: configure.ac: ultradir was set to non-versions ocp directory

2014-12-26: playtimidity/timiditytimitidy.c: Charles R. Anderson pointed out that absolute filenames did not work in timitidy instrument patches

2014-12-26: texi/Makefile: makeinfo did not run correctly if locales are set. Force LC_ALL=POSIX (Thanks to Francois Revol)

2014-12-26: *: Replace hardcoded data and doc dirs, and use --datadir and --docdir from configure (Thanks to Francois Revol)

2014-12-26: Makefile.in ocp.rdef: Icon for Haiku (Thanks to Francois Revol)

2014-12-26: Rules.make.in configure.ac: Set __HAIKU__ on Haiku systems (Thanks to Francois Revol)

2014-12-11: playtimidity/timiditytimidity.c: add string overflow protection in dir statement

2014-12-11: filesel/fsptype.c: check length before access memory

2012-01-10: stuff/poutput-sdl.c: Enabled auto-repeat for keyboard and added num-lock status into keyboard flags we ignore. (Thanks to Jester01)

2011-11-06: VERSION 0.1.21

2011-11-05: boot/psetting.c: ocp.ini upgrade code could crash due memmove moved too much memory

2011-11-04: playwav/wavpplay.c: pause on wave files caused crash. Also did some minor cleanups in pause-handling in other file-plugins aswell

2011-11-03: dev/mixclip.c: wav and sid files would crash on non-x86 platforms (optimization for assembler mixer in lookup-tables were fixed for 32bit pointers)

2011-11-03: playtimidity/timiditytimitidy.c: Updated against ubuntu 11.10 configfile structure, closing ticket #3

2011-10-21: playgmd/gmdl*.c: Removed a nested function (GCC on OS-X dislikes them)

2011-09-30: devp/devpcoreaudio.c: Didn't compile

2011-09-18: configure.ac: removed a warning visible when using autoconf >= 2.68

2011-09-18: devp/devpalsa: newer versions of libalsa does not need plughw syntax, and in some cases works better without

2011-09-05: configure.ac: AC_LINK_IFELSE for ADPLUG could fail if "ld --as-needed" was used

2011-07-13: devw/dwmixfa: 8087_asm_emu code made some annoying clicking sounds

2011-07-13: devw/dwmixfa: Added support for proper C verion of the FPU mixer (Thanks to Jindřich Makovička)

2011-07-11: devw/dwmixfa*: 8087 fpu version is now able to compile in PIC mode without use of text-rels.

2011-06-19: playmp2/charset.c: Detection of glibc bug 4936 alrways returned true (thanks to Jindrich Makovicka)

2011-06-08: playwav/wavplay.c: Race condition that caused some audio artifacts (some parts could be replayed randomly)

2011-06-01: play*/*: Some of the players didn't have volatile on the "timer" lock

2011-03-20: devpcoreaudio devpsdl: gettimer() didn't work as expected (needed by cpitrack.c)

2011-03-20: cpiface/cpilinks.c: crash-bug when resizing window while link viewer was active

2011-03-20: Added support for SDL audio

2011-03-19: Support getcwd() for retrieving current working directory

2011-03-19: configure.ac Makefile.in: Only link to pthread if on OS-X / CoreAudio

2011-03-19: config.guess, config.sub, install-sh: update to more recent versions (used the ones present in automake-1.11 in ubuntu 10.10)

2011-03-19: * */*: AC_STRUCT_DIRENT_D_TYPE; not all platforms has dirent.d_type

2011-03-19: configure.ac */*: -lm is not required on all platforms

2011-03-19: compat/stuff.*: strupr is actually implemented on some systems

2010-05-18: playgmd/gmdldmf.c: Remove a nested function

2010-05-18: VERSION 0.1.20

2010-05-18: ocp.ini boot/pmain.c: ocp.ini shipped with version 0.1.19 wasn't correct

2010-05-17: configure.ac: removed a syntax error

2010-05-16: Make it possible to disable 'desktop-file-install' (Fink needs this)

2010-05-15: VERSION 0.1.19

2010-05-14: playmp2/mppplay.c: RIFF contained files were unable to play (usually only used on MP2 files)

2010-05-12: cpiface/cpichan.c: Full-width view with width of 81..127 where drawn in 128 wide mode, causing non-visible-output.

2010-05-12: filesel/*: Split fileselector init into two separate parts. Starting ocp in a directory with uncached archieves caused a segfault due to usage of uninitalized modules.

2010-05-12: filesel/arczip.c: Compression method 0 didn't work as expected

2010-05-11: playym/*: First release of YM file support (Based on STYMulator)

2010-05-11: playopl/oplplay.c: Minor error could cause noise on high cpu-load

2010-05-19: playay/ayplay.c: pause made noise

2010-04-19: *: Specify GPLv2+ on all source files

2010-04-19: playay/sound.c: Update to aylet 5.0

2010-04-16: Removed gnulib (it violated the GPLv2+ license OCP is released under)

2010-04-15: devp/devpalsa.c: Try to compensate for pulseaudio returning a delay of zero samples

2010-04-01: playopl/oplplay.cpp: Disable endian swap for data that comes from adplug

2010-04-01: playxm/*.c: Accept .XM files with bogus header (no 0x1a mark at offset 37)

2010-03-31: playgmd/gmdlptm.c: One block of data-load wasn't endian-safe

2010-03-29: devw/*: Non-x86 now plays long samples correct (thanks to Chuck Anderson for bugreport)

2010-03-29: asm_emu/*: Added a x86-asm-emulator (used for debuging x86-assembler mixers)

2010-02-12: ocp.spec: Relax SELinux on x86 (we use textrels), and give install-info the correct flags

2010-02-12: stuff/poutput-x11.c stuff/poutput-sdl.c: Even better support for 24/32 bit resolutions

2010-02-12: devw/devwmix.c: Non x86 platforms would randomly crash when using effects like "b" and "o" views

2010-01-19: stuff/putput-x11.c: support for 24bit resolution (qemu uses this in virtual machines)

2010-01-10: ocp.spec: Major overhaul (partly tested on OpenSUSE only)

2010-01-10: dev/mixasm.c: Random crash that affects all non-x86 platforms.

2010-01-10: configure.ac, Makefile.in desktop/*: Use desktop-file-install, and remove the wmconfig stuff

2010-01-03: devw/dwmixqa.c [DEVWMIXQ.DEV]: Both assembler and non-assembler version updates (crash bug-fixes)

2009-12-26: VERSION 0.1.18

2009-12-26: playit/itload.c: Don't fail on loading samples with length set to zero, skip them instead

2009-12-25: *: medialib didn't handle archived files very well. This is now fixed, however, a rescan is needed in order to make them work (database didn't store archive data)

2009-11-18: configure.ac: AC_MSG_ERROR was used wrong some places

2009-09-25: Compiling SDL support without X11 gave a missing symbol

2009-09-24: ocp-*: Make even faster method for forcing SDL, etc video drivers

2009-09-24: dev*/dev*oss.c: Only warn if GET_VERSION fails (some BSDs fails on this)

2009-09-24: stuff/*: Added support for SDL video

2009-08-07: devp/devpcoreaudio.c: Major updates

2009-08-07: *: Remove the need for keep=1 on certain drivers. The drivers can tell themselfs if they need it.

2009-07-30: playit/itload.c: use Impulse Tracker 2.15 sample decompression, only when needed

2009-07-29: playtimidity/*: Added buffer overrun protection to the MIDI file parser

2009-07-28: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Portamento_and_pitch_slide

2009-07-26: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Portamento_with_no_note

2009-07-26: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Zero_value_for_note_cut_and_note_delay

2009-07-25: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pan_swing_and_set_panning_effect

2009-07-23: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Random_waveform

2009-07-23: stuff/poutput-x11.c: Added XSync() after resize-windows, else XGetImage sometimes fails, since local structure isn't ajour with server fast enough (window resize on remote X11 would sometime exit ocp with X11 error)

2009-07-23: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pattern_row_delay

2009-07-22: stuff/*x11*: Borrowed some code from mplayer (don't attemt to use SHM on network connected X11 servers)

2009-07-22: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Retrigger

2009-07-21: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Ping-pong_loop_and_sample_number

2009-07-21: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Tremor_effect

2009-07-20: *: use sysconf(_SC_PAGESIZE) if available, before trying to use PAGESIZE, and defaulting to 4096

2009-07-20: playit/itptrack.c: track-visualizer didn't show SBx commands (now appears like plx - pattern loop)

2009-07-20: playit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Pattern_loop

2009-07-20: platit/itplay.c: http://eval.sovietrussia.org/wiki/Player_abuse_tests#Out-of-range_note_delays

2009-07-20: configure.ac: missing AC_DEFINE, made compiling on ubuntu flash a lot of warnings due to we not knowing about some header files

2009-07-19: dev/smpman.c: x86_64 crashed when expanding loops

2009-06-29: devpcoreaudio didn't compile on darwin

2009-06-27: VERSION 0.1.17

2009-06-15: boot/kickload.c playmp2/charset.c: getenv() pointers are safe to keep for long. Also added some more constraints (const, etc).

2009-06-04: playit/itload.c playxm/xmload.c: (debug) printf format string warnings on 64 hosts fixed

2009-06-04: playflac/flacplay.c: wrong footprint on a callback (visible on 64bit hosts)

2009-06-04: dev/player.*: Fixed issues regarding x86_64 (segfaulting). Mixing 64bit unsigned and 32bit signed variables doing simple + math can lead to undefined behaviour.

2009-06-04: dev/mix.c: typecast pointers via long int, and not just uint32_t when you want to do shifting on them (even though other arcs not using x86  assembler inlines doesn't use the variables, but we still want it beeing sane)

2009-06-04: doc/texi/Makefile: Don't fail if install-info isn't available

2009-05-12: playtimidity/timidityload.c: Fixed a small possible buffer overflow (readonly while parsing) that could lead to SEGFAULT on broken midi files. Also removed a optimization that were broken (only some gcc setups hit it in a wrong maner)

2009-04-24: boot/plinkman* cpiface/cpilink.c: Added backend support for static plugins, however it is not used yet

2009-03-28: playopl/oplplay.cpp: big-endian hosts didn't play right.

2009-02-13: design change: remove interface= and preprocess= away from dllinfo, and let plugins call apropriate register/unregister instead.

2009-02-11: binfile/*: removed support for ocp.pak. We only had one file left in it, and we don't bother if ocp spans of multiple files either any more (dlopen() is more easy to use when you don't use an archieve aswell)

2009-02-09: filesel/pfilesel.c: playlist now cover entire screen when selected. Pressing INSERT while in playlist now also works as expected

2009-02-08: boot/pmain.c: auto-update ocp.ini from earlier versions of ocp

2009-02-08: remove autoload away from ocp.ini (no need to have it there, since it will change for each version of OCP. OCP should know this statically, based on where it found libocp.so

2009-02-01: devp/devpcoreaudio.c: Re-arranged code a bit, made x11 support work-aswell (no idea why that bOrked before)

2009-01-02: playgmd/gmdlokt.c: endian-issue made the file fail to load on little-endian (x86) hosts.

2008-12-31: VERSION 0.1.16

2008-12-31: cpiface/cpikube.c: Fixed some segfaults

2008-12-30: updated gnulib

2008-12-30: playit/itload.c: don't fail to load .it files without instruments

2008-12-30: playxm/xmload.c: try to load even more module files correct

2008-12-30: stuff/poutput-x11.c configure.ac: Add icons on x11 window (Adds libXpm dependency)

2008-12-05: filesel/fsmain.c: increased the intelligence of esc-handling, fileselector interaction and broken files handling (several freeze conditions)

2008-11-25: Added fnmatch from gnulib, so that OS-X can compile without patches, and behave the same (other issues remain on OS-X however).

2008-11-22: *: Add support for "previous" in playlist (see ALT-K for keys CTRL-J and CTRL-K). Keys make even more sense if you disable "remove from playlist" on ALT-C setup screen

2008-11-21: pfilesel/modlist.c: playing the last song on a playlist would cause strange behaviour and random crashes

2008-11-21: filesel/pfilsel.c: KEY_PPAGE/KEY_UP would cause wrap-around, now all UP/DOWN movements are boundary checked

2008-11-21: config.h.in playmp2/mpptype.c: Added debug-info and fixed a minor parsing bug (could cause random data at end of strings)

2008-11-17: *: use autoload feature in boot/plinkman.c; This makes it possible to have filesupport in different packages without regenerating ocp.ini

2008-11-16: cpiface/cpimvol.c: One of the volumebars were insymetrical.

2008-11-16: help/cphelper.c: KEY_UP was broken, and rendering errors on big-screens

2008-11-16: configure.ac install-sh config.sub config.guess: Enabled cross-compiling (and added needed files from automake 1.10)

2008-11-16: stuff/poutput-x11.c Redid resolution and fullscreen handling

2008-11-06: ocp.ini.in: renamed [x11]:framebuffer to [x11]:autodetect and added [x11]:font

2008-11-06: */*: Various small array underflow/overflow warnings were fixed (non-fatal all of them)

2008-08-03: playxm/xmplay: Fixed a crash bug when playing certain files.

2008-06-29: doc/texi/Makefile doc/texi/ocp.texi.in: Add ocp to the global info directory, thanks to Chuck Anderson <cra@WPI.EDU>

2008-06-29: Makefile.in: relative symlink on ocp-suffix instead of absolute, thanks to Chuck Anderson <cra@WPI.EDU>

2008-06-29: Makefile.in ocp.spec: move documentation stuff into prefix/doc/ocp-version  instead of prefix/share/ocp-version, Chuck Anderson <cra@WPI.EDU>

2008-06-26: devw/dwmixa.c: Minor updates in the low-quality-mixer (both assembler and C versions)

2008-06-24: configure.ac: exec_prefix should now expand to prefix unless specicied with --exec-prefix=

2008-06-24: *: Make MAD (mpeg) support optional, thanks to Chuck Anderson <cra@WPI.EDU>

2008-06-24: devp/devpalsa: Various updates: "default" mixer device, bugfix for the ALSA PulseAudio plugin, thanks to Chuck Anderson <cra@WPI.EDU>

2008-06-24: desktop/opencubicplayer.desktop.in: Changed encoding to UTF-8, thanks to Adam Sampson <ats@offog.org>

2008-04-24: boot/* cpiface/cpikeyhelp.c stuff/*: Grey-out keys in the keyhelp that aren't available in the currently used consoledriver.

2008-03-30: ctrl+j and alt+enter was mapped to the same key id. Also added two missing key names in the keyhelp (alt+k window)

2008-03-20: filesel/pfilesel.c boot/psetting.c: Add support for @some.m3u support as stated on the help text.

2008-02-20: */*: Added KEY_CTRL_PGUP, KEY_CTRL_PGDN, KEY_CTRL_UP and KEY_CTRL_DOWN (not reachable from curses driver) and relevant code

2008-02-02: playxm/xmlmxm.c: Added a length-check constraint, fixes crash when loading broken MXM files (however, they are played wrong then)

2008-02-01: boot/plinkman.c: missing closedir() fixed

2008-01-29: */*: Removed the dependency on libid3tag (we only used one simple function from it)

2008-01-20: */*: Removed some overhead in `struct modlist` and fixed sorting logic when adding a directory to the playlist, and added recursivity to the logic when deleting a directory from the playlist aswell.

2008-01-14: VERSION 0.1.15

2008-01-04: stuff/poutput-x11.c cpiface/cpikeykelp.c: don't crash on wurfel-mode + ALT-K

2007-12-15: stuff/console.c and others: -dx11 -dcurses -dvcsa flag, to force display driver to use

2007-12-15: playxm/xmplay.c: Playing a note without a valid instrument/sample could cause a null-pointer dereference/segfault

2007-12-14: dev/smpman.c: boundarycheck loops properly

2007-12-13: devp/devpalsa.c (and some others): support for "default" and custom device strings

2007-12-13: medialib/medialib.c: buffer overflow when reading string from user

2007-11-18: playxm/xmload.c: support .xm files with truncated headers (and files with maleformed headers)

2007-11-18: playxm/xmload.c: more sanity-checks and an error in the endian-fixups

2007-11-17: filesel/arczip.c: Taking padding into account when calculating mmap length (crash bug)

2007-11-17: filesel/arczip.c: removed an invalid unlink() that tried to remove a tempfile no longer used in the code

2007-11-17: playxm/xmload.c: check if fread/fseek calls failes, and free memory properly when we abort to load

2007-11-16: configure.ac: detect libiconv if needed

2007-11-16: playmp2/mpptype.c: Mac OS X needs sys/types.h

2007-11-16: cpiface/cpitext.c: Don't send "focused" keyboard events to interfaces that no more is active

2007-11-16: cpiface/volctrl.c: Don't swallow key we didn't use it

2007-11-16: cpiface/cpigraph.c: palette updates for "palette2", replaceable with shift-tab (works in X11 atleast)

2007-11-11: playcda/*.c: Disk size is now correct (displayed on track to little), and removed a crash when you were done playing cd

2007-10-27: playtimidity/timiditytimidity.c: Now it should work with configs that has several search-dirs

2007-10-27: cpiface/cpiscope.c: Draw the entire background picture if present

2007-10-21: VERSION 0.1.14

2007-10-19: */*: ALT+R in the fileselector for rescanning the selected file.

2007-10-19: playmp2/mpptype.c: id3 v2.3/v.2.4 parser updates

2007-10-18: filesel/pfilesel.c: minor buffer-overflow by a byte in fsEditModType()

2007-10-15: Edit FPS from ALT-C setup window

2007-10-13: Support FLAC the "new" 1.1.3 API

2007-09-18: make FLAC support optional, and add some stuff to ocp.ini.in that was lost regarding FLAC support

2007-09-18: ALT-K updates (support for graphical modes)

2007-09-17: playmp2/mpptype.c playmp2/charset.*: id3 v2.x support (and some lame charset handling)

2007-07-22: devw/*: Some crash-fixes regarding 64bit archs (uint32_t/int32_t index behaves differently on 32bit and 64bit systems)

2007-07-13: cpiface: alt+k now displays some help about keys

2007-07-09: medialib: now somewhat works again

2007-06-20: Fix the support for compressed archieves again

2007-05-27: Add support for .flac files

2007-03-02: Internal changes: Remove a lot of symbol lookups for init/close stuff

2007-02-19: Updated the build system regarding "make install" and "make uninstall", and prepared the support for autoload a directory of plugins (so that we can start to strip down ocp.ini)

2007-02-10: Removed the old plSetGraphPage code. Since it sometimes where used wrong, and that all the current graphic drivers are linear, and not paged.

2007-02-10: Removed outdated DGA support

2007-02-05: VERSION 0.1.13

2007-02-04: cpiface/cpitrack.c: Increase intelligens of the renderer (to avoid crashes when viewing files with long patterns, and black lines on small ones)

2007-01-27: dev/dwmixfa.c: handle extreem loops better (and make some more code PIC)

2007-01-21: dev/mixer.c: gcc/binutils optimizes away $0 offset in data-addreses. It caused mp3 and wav files to crash on some hosts

2007-01-18: Don't fetch functionpointers directory from libs, use structs instead (removes warnings from gcc / makes compiling for embedded systems more possible)

2007-01-18: config.h playogg/*: Endian needs to be checked correctly

2007-01-17: boot/kickload.c: just look for sigcontext on linux (should fix building for solaris)

2007-01-01: playay/ayplay.c: don't import libmad header files

2006-12-24: */*: Endian updates and CoreAudio update

2006-12-22: */*: Coreaudio initial code

2006-12-19: */*: dirdb implementation and update, part 2

2006-12-18: poutput/x11-common.c: Close down xlib properly

2006-12-18: playsid/sidplay.c: Use the proper delete[] statement

2006-12-18: configure.ac goodies/helpc/*: Make the help compiler work with efence/duma, and clean up memory when done

2006-12-18: */*: dirdb implementation and update, part 1

2006-12-18: playmp2/mpptype.c: detection of mp3files where broken

2006-12-14: VERSION 0.1.12

2006-12-14: help/*: endian updates

2006-12-14: */*: Make volumebars endian aware

2006-12-14: goodies/helpc/ocphhc.c: Make it endian-aware

2006-12-14: Fixed xmlmod.c to handle endians better

2006-12-14: Fix endian in x11 output

2006-12-14: remove endian-mess in devposs

2006-12-14: Updates for dirdb

2006-12-14: VERSION 0.1.11

2006-12-14: We just confirmed that OCP runs on sparc (32bit)

2006-12-14: playmp2/mpptype: fix dectection for systems that needs proper alignment

2006-12-14: filesel/*: Made the databases more endian aware, and alignment friendly

2006-12-13: filesel/*: Started to implement the new directory database scheme

2006-12-13: cpiface/cpiface.c: Display height above 99 with 3 digits

2006-12-12: boot/kickload.c: Don't try to dump regs on non-x86 arcs running linux

2006-12-12: VERSION 0.1.10

2006-12-08: Add big_endian fixes (don't use htons/htonl)

2006-12-08: devp/devpalsa.c: Try to set the bufferspace to 0.5 secs

2006-12-03: stuff/poutput-x11.c: Added some caching in the text routines

2006-12-03: filesel/pfilesel.c: Fixed file: to use RegisterDrive, and not to manipulate dmDrives. It messed up when cleaning up

2006-12-03: stuff/poutput-curses.c stuff/poutput-x11.c config.h.in: Fixed ALT_S and disabled keys that are not used/defined

2006-12-01: stuff/poutput.c: Endian introduced a signed error, causing character >=0x80 causing white cells

2006-12-01: devp/devwmixf.c: Don't implement minimum buffersize. Fixes the problem with devpdisk.dev hanging

2006-12-01: Added -p flag, that causes ocp to quit when playlist reaches empty (or when hitting f for filebrowser).

2006-12-01: playmp2/mpplay.c: Memory leak fixed

2006-12-01: filesel/pfilesel.c: Small memoryleak when exiting ocp fixed

2006-12-01: boot/psetting.c: Storing ocp.ini didn't flush/close itself, corrupting the ini file for next time you ran ocp

2006-11-30: It compiles on darwin. Don't know if it works as excepted though

2006-11-29: Fixed a buffer-error in boot/psetting.c when saving settings

2006-11-29: Fixed a crash in .xm loader that was introduced in 0.1.10_rc9

2006-11-28: VERSION 0.1.10_rc9

2006-11-28: Fix recursive add files

2006-11-28: Allow to use modes that aren't supported in fullscreen when we are in a window.

2006-11-28: Fix noise when starting to play streams

2006-11-28: Always display filter to off on streams

            If non-scramle and no-remove, the cursor in playlist will step down as you play the list
            If non-scramle, the the cursor tells the next song to play
            If scramble/random, you see no difference.
2006-11-26: New logic in playlist:

2006-11-25: Lots up endian updates (and some other minor updates along the same run)

            Renamed cp.hlp to ocp.hlp
2006-11.18: Renamed cp.pak to ocp.pak

2006-11-16: devwmix and devwmixq without assembler now works

2006-11-14: Various assembler->C updates

2006-11-14: boot/kickload.c: fix stderr for reset

2006-11-08: VERSION 0.1.10-rc8

2006-11-07: configure.ac: Detect broken signed char to signed int conversions (gcc 4.1.1. with -O or higher bug)

		a sign error in volume, causing ticking sounds
		compiler barrier for the "thread" lock
2006-11-04: devw/devwmix.c:

2006-11-01: VERSION 0.1.10-rc7

2006-11-01: devw/devwmixf.c: -fstrict-aliasing fix for gcc 4.x

2006-10-30: *: Try to use pkg-config for ogg, vorbis and vorbisfile

2006-10-30: *: Try to use pkg-config for id3tag and mad

2006-10-30: *: Try to use pkg-config for adplug (version 2.x and above has this)

2006-10-29: *: Detect broken adplug installations (it doesn't have correct path for libbinio)

2006-08-25: cpiface/cpitrack: Remove some small bugs/graphical issues

2006-08-25: filesel/arczip.c zip file support (read-only and deflate only)

2006-08-25: */type*: make opltype work in detection

2006-08-08: filesel/gendir.c: Use a tempbuffer, to avoid strcpy with same source and dest. Valgrind complained on those

2006-08-08: playmp2/mpptype.c: Removed a buffer overrun (buffer was from heap)

2006-08-08: filesel/pfilesel.c: Removed a memory-leak

2006-08-02: VERSION 0.1.10-rc6

2006-08-02: Some trackers sets unused samples to strange values, and OCP sent them to adlib, when they shouldn't have been

2006-08-02: Thanks to Luigi Auriemma for reporting some overflow issues. Fixed a bunch of overflows like these.

2006-07-23: *: Changed some paths in the configure/build system, so some files might have moved around

2006-06-20: filesel/fstypes.c: Handle headerless pls and m3u files

2006-05-20: playgmd/gmdptype.c: Send adlib s3mfiles to adplug, and length check all buffers

2006-05-18: filesel/pfilesel.c: Add a filetype editor and color-editor

2006-04-28: devp/devpalsa.c: Don't crash if alsa is not available

2006-04-28: dev/devi*.c: Handle failure of the first init call (check if *curdev is valid)

2006-04-28: cfStoreConfig, can be called from ALT_C dialog

2006-04-28: Improve the ocp.ini parser, and some minor updates from cp.ini=>ocp.ini

2006-01-01: Better handling of paths in kickload

2005-12-18: VERSION 0.1.10-rc5

2005-12-31: Write .pls files

2005-12-31: Read .m3u and .pls files

2005-12-29: cdrom updates

2005-12-18: VERSION 0.1.10-rc4

2005-12-18: ALSA Buffer underruns are now handled

2005-12-18: Make it possible to browse files by long filenames

2005-12-18: VERSION 0.1.10-rc3

2005-12-18: alsa initial support

2005-12-06: configure.ac: -ldl fix

2005-12-06: VERSION 0.1.10-rc2

2005-12-06: -ldl must be checked without altered CFLAGS, since some libs might link -ldl

2005-12-02: VERSION 0.1.10-rc1

2005-12-02: Putting myself as author (of this fork)

2005-12-02: Various crash-fixes

2005-12-02: X11 crash-fix

2005-12-02: Don't crash after ALT-C if in graphical mode

2005-12-02: Aylet support

2005-07-11: Make sure all x11_init() are inside HAVE_X11 defines

2005-06-09: VERSION 0.1.9

2005-06-08: filesel/cdrom.c: strncpy instead strncmp doesn't really work as expected

2005-06-08: Some gcc 4.x fixes and a adplug get-extention buffer-overflow

2005-06-07: Don't crash when using curses and x11 is present

2005-05-05: Don't crash loading modules after playopl has been used

2005-06-01: VERSION 0.1.8

2005-06-01: playopl/* adplug support (beta)

2005-06-01: playmp2/*: Scan file-length, since VBR files are ... vbr in time

2005-05-31: filesel/pfilesel.c: Changing directory, places to marker at the directory you came from

2005-05-31: filesel/*: bufferchecks in arctar, and made adb take 127 chars names instead of 63

2005-05-28: filesel/pfilsel.c: RD_PUTDSUBS, recursive directory adding

2005-05-18: filesel/adb.c filesel/mdb.c medialib/medialib.c: More verbose init to tell user what ocp does

2005-05-13: filesel/pfilesel.c parse ocp.ini before adding drives, init rootfs etc

2005-05-13: configure.ac set LIBDIR very wrong when using --libdir= or --with-dir-suffix=

2005-05-10: Handle curses/vcsa key-throttles better

2005-05-10: X11 and DGA tries to respect rootwindow changes more.

2005-05-10: Let console-drivers take-over keyboard interface completley when they are used

2005-05-10: Compile-issue with dev/mixasm.c and -fPIC solved

2005-05-10: Updated freedesktop.org files

2005-05-10: Removed not-used code-paths in console-driver

2005-05-10: Removed lrmi

2005-05-10: Makefile.in update to respect ./configure paths

2005-05-09: Make cpi-anal sample enough data for it's output to avoid random-noise

2005-05-04: VERSION 0.1.7

2005-05-04: playtimidity/*: freepats and timidity should somewhat work (note= and other parameters aren't interprated yet)

2005-05-04: Make private variables static in help/cphelper.c medialib/medialib.c

2005-05-04: Let fileselector and player use same screen-resolution

2005-05-04: Documentation converted into texinfo

2005-05-04: Update freedesktop.org files.

2005-05-04: Fix wurfel and picture loading (make it more userfriendly)

2005-05-04: --with-debug in configure makes ocp drop optimizations, drop usage of SIGALRM, and enables kickloading of gdb

2005-05-04: Keyboard updates

2005-05-04: Redid loading-order of modules in ocp.ini

2005-05-04: Let .ocp in $HOME not use version. Tag ocp.ini instead with a variable

2005-05-04: don't crash in kickload if player fails to init.

2005-05-04: freedesk.org icon/menu-entry

2005-05-01: VERSION 0.1.6

2005-05-01: Make some graphic-routines in stuff/poutput*.c

2005-05-01: Remove debuging in filesel/mdb.c that was VERY slow

2005-05-01: Crash-bug in devw/dwmixfa.c fixed

2005-05-01: background support (needed palette flushing)

2005-05-01: ALT-C from player added

2005-05-01: detect if libc has memmem in configure

2005-05-01: detect if ncurses can resize (old versions of ncurses can't) in configure

2005-05-01: keyboard updates

2005-05-01: Let kickload close X11 on crash

2005-05-01: Made X11 fullscreen driver, and implemented wurfel-mode again

2005-05-01: --with-dir-suffix added to ./configure to make BSD users happy (drop version from path-names)

2005-05-01: medialib/* implemented

2005-05-01: Cleaned up Makefile.in install routines to consider --prefix from configure

2005-04-23: VERSION 0.1.5

2005-04-23: Added more escape-codes into stuff/poutput-keyboard.c

2005-04-23: Fixed keyboard handling in stuff/poutput-dga.c to support ALT keys.

2005-04-23: Made support for various PAT config layouts for playtimidity/* and cleaned up the code, so midi works for unix users

2005-04-23: Updated all copyrights to 2005

2005-04-23: Made filesel/modlist.c a little more intelligent in cpu-usage.

2005-04-23: devw/dwnone_asminc.c no longer requires assembler inlines.

2005-04-23: Moved some duplicated mixer-code from play*/ to a common dev/mixclip.c file.

2005-04-23: Removed lots of out-commented code and watcom-assembler inlines.

2005-04-23: Removed support for config having other names like cp.ini etc in the kickloader

2005-04-23: make cdrom-support optional since current cdrom driver is linux-only.

2005-04-23: detect gcc-versions better in ./configure

2005-04-23: keyboard updates

2005-04-23: changed all comments/messages from linux to unix.

2005-04-23: renamed ocplinux.ini(.in) to ocp.ini(.in) to reflect we now support BSD

2005-04-09: VERSION 0.1.4

2005-04-09: filesel/pfilesel.c: dynamic width in fileinfobox

2005-02-07: * */*.c: -fPIC support

2005-01-24: filesel/* make filemask work

2005-01-24: filesel/cphlpfs.c framelock the right way

2005-02-08: cpiface/mcpedit.c Added \ as key to split speed/pitch (ctrl-f12 in dos/win32 version)

2005-01-18: VERSION 0.1.3

2005-01-18: stuff/framelock.*: first implementation

2005-01-18: playmp2/mpplay.c: close file on exec

2005-01-18: boot/kickload.c: jump out of graphical-mode on crashes

2005-01-18: configure.ac */Makefile.in and some few other c files: merged in some BSD related defines

2004-10-04: playmp2/mpplay.c: Close file on exec

2004-09-26: boot/kickload.c: Get out of graphicmode on signals.

2004-09-20: VERSION 0.1.2

2004-09-20: config.h autoconfig.ac */*.c*: DLLVERSION tagging

2004-09-20: filesel/cdrom.c: Duplicate filedescriptor, so we can try to avoid the kernel re-reading the toc when we access the cdrom from the fileselector while in use

2004-09-20: stuff/poutput-dga.c: DGA in XFree86 atleast leaves a descriptor open to /dev/mem across exec-calls, so we manually flag it to be closed

2004-09-18: stuff/poutput-fb.c: devfs/linux kernel 2.6 support in device filename

2004-09-18: stuff/poutput-vcsa.c: Implemented conSave/conRestore

2004-09-18: filesel/pfilesel.c filesel/adb.c: dump out "Scanning archive" message to the console

2004-09-18: play*/*pplay.c*: GStrings(): clear the part of the buffer we want to be blank at the right

2004-09-18: cpiface/cpitrack.c: Fixed a bug when scrolling channels, when they are zoomed wider than the screen

2004-09-18: filesel/fsmain.c filesel/pfilesel.c stuff/poutput-curses.c: tweakings and fixing regarding outputting and restoring of the screen

2004-09-17: filesel/fsmain.c: Fixed problem with dos-shell not setting the screen-mode

2004-09-17: playogg/oggplay.c: Fixed the problem in bitrate reporting

2004-09-17: VERSION 0.1.1

2004-09-16: cpiface/cpiphase.c: gcc 3.3.3 has an optimizebug when using -O2 or higher. NASTY

2004-09-16: rules.make Makefile configure.ac */Makefile: Don't use ld, but gcc/g++ instead, else the shared libraries wont be linked to libc, stdlibc+ etc when compiler without optimization. Wierd that it worked with optimization though.

2004-09-16: playogg/oggplay.c: fixed problem regarding random-sound in the first buffer-run and a signess problem around the PANPROC function

2004-09-14: play*/*pplay.c*: Make sure 128 is the big-screen value, and not 132 in *GDrawStrings()

2004-09-14: filesel/pfilesel.c filesel/adb.c: Make sure the *ReadHandle() does not survive a fork

2004-09-14: boot/kickload.c: use execvp on "gdb" aswell and honor $PATH

2004-09-13: configure.ac: Check that gcc is version 3 or higher

2004-09-11: VERSION 0.1.0

2004-09-13: goodies/pack/pack.c: Removed a bogus fwrite

2004-09-13: binfile/binfpak.c: added a missing fseek

2004-09-11: help/cphelper.c: Stupid misstake prevented cp.hlp to be loaded from cp.pak

2004-09-11: Makefile */Makefile */*/Makefile: autoconf

2004-09-11: configure configure.ac config.h.in Rules.make.in: autoconf has been introduced

2004-09-11: playogg: initial version.. based on playwav and playmp and links agains ogg vorbis

2004-09-10: playmp2:* initial version.. based on playwav and playmp and links against libmad

2004-09-08: playit/itplay.c: copy 5 bytes instead of sizeof(c->delayed) in playtick(). We don't want to touch unmapped memory

2004-09-08: __asm__ : updated all statemens to correctly identify registers, and dirty registers. But still miss to tag incomming registers as dirty.

2004-09-07: VERSION 0.0.9

2004-09-07: stuff/timer.c: use gettimeofday() to calculate cpu-usage.

2004-09-06: dev/devisamp.c dev/deviplay.c dev/deviwave.c: Forgot to flag to modlist that we are a file, so no device info was shown in filelist

2004-09-06: dev/sampler.c dev/player.c devs/devsnone.c: Drivers allocate their own memory, since they might do funny things like mmap()

2004-09-06: devs/devsoss.c: First release.. Welcome buddy

2004-09-06: devp/devposs.c: release /dev/dsp when it is not in use

2004-09-06: dev/Makefile: don't run the tests

2004-09-06: *: fix non-local characters in sources.

2004-09-06: boot/plinkman,c: better error message if no dllextinfo is found and LD_DEBUG is on

2004-09-06: Makefile: Remove backup files

2004-09-06: boot/kickload.c Renamed ".ocp" to ".ocp-" VERSION

2004-09-02: poutput-cursor (and some other): added support for setcur* and plDosShell

2004-09-01: ocp.spec: Created a redhat build spec file

2004-09-01: Makefile: added DESTDIR

2004-08-31: config.h: removed FNAME_MAX and EXT_MAX, since they should be local to each plugin.

2004-08-31: filesel/pfilesel.c: updated bugs in fsEditPath, when doing strlen() on uinitilized data, path-buffer-overrun and that enter is named _KEY_ENTER. Still behaves a bit not userfriendly until we make the filemask stuff

2004-08-31: filesel/*: removed all modlist->pathtothis stuff, and renamed dmPath to curdirpath since original ocp used that

2004-08-31: boot/kickload.c: on crash, loose setuid permissions before we kick off gdb and other cool stuff

2004-08-31: boot/plinkman.c: updated lnkDoLoad do work if LD_DEBUG is not defined (STUPID BUG), and made dll-load only available via cfProgramDir. Needed if ran as setuid.

2004-08-31: filesel/modlist.c: updated fs12name to use rindex, and removed bug using strncpy instead of strcat

* Changelog was created 31. Aug 2004. About time perhaps
