Releases: mywave82/opencubicplayer
Releases · mywave82/opencubicplayer
v3.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.
v3.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
v0.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)
v0.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.
v0.2.107
- 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.
v0.2.106
- [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
v0.2.105
v0.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:
- Latest version of the upstream version
- 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.
v0.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
v0.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