------------------------------------------------------------------- Sun Mar 1 17:59:47 UTC 2026 - Martin Hauke - Update to version 3.2.0 [SDL] * Add support for SDL3 (>= 3.2.0). [CDA] * On Linux CDROM driver - silence two valgrind warnings (non- nitialized 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 * Filenames with extensions longer or fewer than 3 characters were blindly accepted instead of rejected as background picture [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. [CDFS] * Protect against recursive directories and high directory depths. [Archive Cache Database] * BinarySearch was done 32bit instead of 64bit, causing assertion on large files. - Switch from SDL2 to SDL3 ------------------------------------------------------------------- Mon Feb 9 11:59:47 UTC 2026 - Martin Hauke - Update to version 3.1.3 [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 read 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. ------------------------------------------------------------------- Thu Jan 29 15:36:09 UTC 2026 - Martin Hauke - Update to version 3.1.2 * [QOA] Failed to compile on some systems. * [SID] Remove debug messages sent to the console * [FontSize control logic] + Was not the 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 file. [CURL] + Mention CURL in README.md and ocp.spec + Improve errors-messages if unable to launch the helper program. ------------------------------------------------------------------- Sun Jan 18 08:51:14 UTC 2026 - Martin Hauke - Update to 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. ------------------------------------------------------------------- Fri Jan 16 16:28:54 UTC 2026 - Martin Hauke - Update to version 3.1.0 * 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. * [Timidity] Setup dialog for soundfonts: + When selecting soundfont / configfile, give hints in the bottom of the dialog about locations searched. + 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 + in the filebrowser, move the cursor over to "type:" and press ) ------------------------------------------------------------------- Mon Dec 30 07:23:50 UTC 2024 - Martin Hauke - Update to version 3.0.1 * [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. ------------------------------------------------------------------- Tue Dec 24 06:50:17 UTC 2024 - Martin Hauke - Update to version 3.0.0 * 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. * 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. * 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 ------------------------------------------------------------------- Fri Apr 5 09:31:30 UTC 2024 - Martin Hauke - Update to version 0.2.109 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. ------------------------------------------------------------------- Mon Apr 1 19:23:06 UTC 2024 - Martin Hauke - Update to version 0.2.108 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. ------------------------------------------------------------------- Mon Feb 19 18:42:41 UTC 2024 - Martin Hauke - Update to version 0.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. * 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. ------------------------------------------------------------------- Sat Aug 5 20:17:31 UTC 2023 - Martin Hauke - Update to version 0.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. * [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. * [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. ------------------------------------------------------------------- Sat May 13 19:20:49 UTC 2023 - Martin Hauke - Update to version 0.2.105 * Avoid crash if attempting to access graphical viewer modes when running in curses (text only). ------------------------------------------------------------------- Fri May 12 06:57:39 UTC 2023 - Martin Hauke - Update to 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. * 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. ------------------------------------------------------------------- Sat Feb 18 12:34:50 UTC 2023 - Martin Hauke - Update to 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 - Drop patch: * 0001-When-compiling-code-against-libancient-ensure-that-C.patch ------------------------------------------------------------------- Fri Feb 17 10:50:25 UTC 2023 - Martin Hauke - Add patch: * ocp-ini-set-audio-output.patch ------------------------------------------------------------------- Thu Feb 16 19:43:49 UTC 2023 - Martin Hauke - Add patch: * 0001-When-compiling-code-against-libancient-ensure-that-C.patch ------------------------------------------------------------------- Mon Feb 13 22:20:56 UTC 2023 - Martin Hauke - Complete specfile overhaul - Update to version 0.2.102 * https://github.com/mywave82/opencubicplayer/releases/tag/v0.2.102 ------------------------------------------------------------------- Wed Nov 6 00:00:00 UTC 2013 - msrex@owncloud.com - update to 0.1.21 and fixed SUSE packaging ------------------------------------------------------------------- Sat Jan 9 00:00:00 UTC 2010 - stian (at) nixia.no - Initial makeover of the .spec file