Author Topic: xmp-openmpt: An XMPlay input plugin based on OpenMPT  (Read 163263 times)

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #225 on: 27 Mar '23 - 13:14 »
OctaMED is a big mess with all its several variations of the format, different sample types, etc. There was a big rework in version 0.5, correcting lots of issues in the MED loader but it's possible that something else broke as a result. I'll look into it.

Either way, that file uses one synthesized MED instrument, which are currently not supported by OpenMPT, so it's better if another plugin takes precedence for playing MED files.

Edit: libxmp is also affected by this issue exactly the same way (which makes sense since some of the MED updates were borrowed from it).

Edit 2: Found the cause. This will be fixed in the next update.
« Last Edit: 27 Mar '23 - 21:00 by saga »

manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #226 on: 15 Apr '23 - 19:20 »
2023-04-15: xmp-openmpt version 0.6.10 released!

 *  [**Bug**] File probing and loading results could be inconsistent for SFX
    files, so that probing could claim that a file is definitely not playable
    even if it would be.

 *  MOD: VBlank heuristics are now applied to MOD files with M!K! signature.
    Fixes mod.siedler ii.
 *  NoiseTracker MODs are now always played with VBlank timing.
 *  MED: Add support for default instrument pitch.
 *  MED: Global play transpose value was not considered for MMD0 files.
 *  669: Reject files with lots of control characters in song message.

 *  mpg123: Update to v1.31.3 (2023-03-19).

See https://lib.openmpt.org/libopenmpt/2023/04/15/releases-0.6.10-0.5.24-0.4.36-0.3.44/

Downloads:
 * xmp-openmpt for Windows 8.1 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)

manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #227 on: 30 Apr '23 - 17:41 »
2023-04-30: xmp-openmpt version 0.7.0 released!

 *  [**New**] `667` files from Composer 667 are now supported.
 *  [**New**] `GTK` and `GT2` files from Gramouf Tracker are now supported.
 *  [**New**] Can now read a variant of the DSMI AMF format called DMF, as found
    in various DOS games distributed by Webfoot (Tronic, H2O, PowBall, etc.).
 *  [**New**] `DSM` files from Dynamic Studio are now supported.
 *  [**New**] `XMF` files from the DOS game Imperium Galactica are now supported.
 *  [**New**] Can now read the hacked MOD format (`DMF`) from the game
    "Apocalypse Abyss".

 *  [**Change**] xmp-openmpt: The Amiga resampler emulation is now enabled by
    default.
 *  [**Change**] The official Windows builds (x86, amd64, arm, arm64) now
    require Windows 10 21H2 (or later). The official legacy Windows builds
    (x86-legacy, amd64-legacy) are unchanged and still require Windows 7 (or
    later).
 *  [**Change**] `"date"` metadata will now exlude the UTC time zone signifier
    `Z` if the precise time zone is unknown.
 *  [**Change**] ctl `seek.sync_samples` now defaults to 1.

 *  Reduced aliasing when downsampling with the Sinc + Low-Pass resampler.
 *  The sample position is now rounded instead of truncated when resampling
    without interpolation.
 *  Seeking with sample sync now supports portamento up / down commands as well
    as IMF/ PTM note slides. Tone portamento is now synchronized correctly when
    seeking in DBM, 669 and MED with fast slides (first tick of portamento was
    previously not executed).
 *  The filter cutoff frequency is no longer rounded to integer frequency values.
 *  MED: Tempos higher than 255 BPM can now be imported in pattern data.
 *  MED: MMD1 files with more than 16 channels are now supported.
 *  ULT: Import 8-bit volume commands with full precision.
 *  IT: Initial "last note memory" of every channel is C-0, so a lone instrument
    number without note triggers that note.
 *  S3M: Better approximation of old "stereo control" SAx command used in
    Purple Motion's PANIC.S3M.
 *  S3M: In ScreamTracker 3.03 and later, OPL notes with tone portamento next to
    them are delayed until the next row and then the new pitch is used instantly.
 *  MO3: Envelope sustain was not imported correctly if the source file was an
    XM.
 *  MOD: Lone instrument number with retrigger effect swap sample immediately.
 *  Recalling a sample's default volume using an instrument number (as opposed
    to regular volume commands) previously ramped the volume change smoothly
    over a whole tick. Now the user-configured ramp settings are used instead
    (as it would happen when using a volume command to achieve the same effect).

 *  zlib: v1.2.12 (2022-03-27).
 *  mpg123: v1.31.3 (2023-03-19).
 *  ogg: v1.3.5 (2021-06-04).
 *  vorbis: v1.3.7 (2020-07-04).

See https://lib.openmpt.org/libopenmpt/2023/04/30/release-0.7.0/

Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)
« Last Edit: 24 Mar '24 - 15:28 by manx »

manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #228 on: 7 May '23 - 15:37 »
2023-05-07: xmp-openmpt version 0.7.1 released!

 *  [**Bug**] MSVC projects failed to build from the packaged source zip.

 *  IT: Improved fingerprinting of early ModPlug Tracker versions.
 *  XMF: Modules from Astroidea demos can now be read as well.

See https://lib.openmpt.org/libopenmpt/2023/05/07/release-0.7.1/

Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)
« Last Edit: 24 Mar '24 - 15:28 by manx »

manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #229 on: 18 Jun '23 - 18:08 »
2023-06-18: xmp-openmpt version 0.7.2 released!

 *  [**New**] MOD: Can now read modified 8-channel MOD files from the DOS game Aleshar - The World Of Ice.

 *  [**Sec**] Possible out-of-bounds read or write when reading malformed MED files. (r19389)

 *  [**Bug**] The Opal OPL3 emulator symbols were not namespaced properly.

See https://lib.openmpt.org/libopenmpt/2023/06/18/security-updates-0.7.2-0.6.11-0.5.25-release-0.4.37/

Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)
« Last Edit: 24 Mar '24 - 15:28 by manx »


manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #231 on: 3 Mar '24 - 16:09 »
2024-03-03: xmp-openmpt version 0.7.4 released!

 *  When playing all subsongs, `set_position_seconds` didn't always calculate
    the correct subsong to jump to.

 *  IT: A few more compatibility flags are now disabled for modules saved with
    earlier Schism Tracker versions.
 *  IT: MIDI macros were reset in IT 2.14 / 2.15 files that declared to be
    compatible with older IT versions (fixes spx-visionsofthepast.it).
 *  OKT: Work around missing negative arpeggio implementation by transposing the
    notes up an octave.
 *  OKT: Channel volume commands were sometimes lost over less important
    effects.
 *  IMF: Ignore magic bytes in sample header. "Leaving All Behind" by Karsten
    Koch uses unexpected magic bytes, Orpheus ignores them just like the
    instrument header magic bytes.

 *  zlib: Update to v1.3.1 (2024-01-22).
 *  mpg123: Update to v1.32.5 (2024-02-17).
 *  pugixml: Update to v1.14 (2023-10-01).

See https://lib.openmpt.org/libopenmpt/2024/03/03/releases-0.7.4-0.6.13-0.5.27-0.4.39/

Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)
« Last Edit: 24 Mar '24 - 15:28 by manx »

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #232 on: 4 Mar '24 - 09:14 »
Can the duration of songs be calculated and displayed as soon as they are added to the playlist, rather than just before they are played?

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #233 on: 5 Mar '24 - 18:13 »
I'm not sure why that isn't happening already. I'll check what's wrong.

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #234 on: 5 Mar '24 - 19:17 »
Bug was identified and will be fixed in the next release.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #235 on: 10 Mar '24 - 13:51 »
Test build 0.8.0-pre.4/ crashes when e.g. this module with subsongs is added to the playlist or when separating subsongs:
ftp://ftp.modland.com/pub/modules/Protracker/Blaizer/pinball fantasies - party land.mod

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #236 on: 13 Mar '24 - 18:10 »
This should be fixed now.

guest

  • Guest

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #238 on: 14 Mar '24 - 19:39 »
Thanks, this is fixed now as well.


manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #240 on: 17 Mar '24 - 12:01 »
2024-03-17: xmp-openmpt version 0.7.5 released!

 *  [**Sec**] Null-pointer write (32bit platforms) or excessive memory
    allocation (64bit platforms) when reading close to 4GiB of data from
    unseekable files (r20336, r20338).
 *  [**Sec**] Write buffer overflow when reading unseekable files close to
    4GiB in size (r20339).
 *  [**Sec**] Possible out-of-memory (32bit platforms) or excessive memory
    allocation (64bit platforms) when reading malformed data from unseekable
    files (r20340).
 *  [**Sec**] DMF: Possible null-pointer write or excessive memory allocation
    when reading DMF files (r20323).

 *  IT: In the previous version, Zxx macros in IT files made with older MPT
    versions were no longer working.
 *  There was a periodic click when playing a module using the Chorus or Flanger
    DMO plugin at a mix rate exceeding ~136.5 kHz.
 *  An older bugfix for undefined behaviour in the Distortion DMO plugin was
    incorrect, causing the distorted sound to be different in some situations.

 *  xmp-openmpt: Metadata retrievel for playlist items was broken.

See https://lib.openmpt.org/libopenmpt/2024/03/17/security-updates-0.7.5-0.6.14-0.5.28-0.4.40/

Downloads:
Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)
« Last Edit: 24 Mar '24 - 15:29 by manx »

saga

  • Posts: 2748

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #242 on: 17 Mar '24 - 12:33 »
The sample tuning issue in mix94 should be fixed for the next release.


saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #244 on: 17 Mar '24 - 16:36 »
Thanks. The Oktalyzer file contained some junk at the end of the file. The loader has been relaxed to accept such junk.
The OctaMED files are a bit of a tougher case because they contain huge patterns (> 1024 rows). In principle it would be possible for libopenmpt to raise the pattern length limit, I'll have to check if this wouldn't create any problem with OpenMPT's UI (though most likely it's not going to be an issue).

Edit: The pattern row limit has been raised from 1024 to 4096 rows. This change will not be backported for now, so will only be usable with the latest 0.8 test builds.
« Last Edit: 17 Mar '24 - 18:00 by saga »

manx

  • Posts: 75
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #245 on: 24 Mar '24 - 16:32 »
2024-03-24: xmp-openmpt version 0.7.6 released!

 *  [**Sec**] Potential heap out-of-bounds read or write past sample end with
    malformed sustain loops in SymMOD files (r20420).

 *  MED: Transposed samples were playing too low in some files (e.g.
    mix94.mmd1).
 *  OKT: Some files with garbage at the end were rejected (e.g.
    katharsis - piano lesson.okta).
 *  Compressor DMO: It was possible that the plugin would not behave as intended
    at mix rates above 500 kHz.
 *  Avoid re-allocating the loop state map contents on every playthrough of the
    module.

See https://lib.openmpt.org/libopenmpt/2024/03/24/security-updates-0.7.6-0.6.15-0.5.29-0.4.41/

Downloads:
Downloads:
 * xmp-openmpt for Windows 10 21H2 (or later) and SSE2-capable CPU, or legacy version for Windows 7 SP1 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP SP3 (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 98 SE + KernelEx (or later) (without configuration dialog)


saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #247 on: 26 Mar '24 - 14:39 »
xmp-openmpt reports a length of infinity for those subsongs due to the complexity of the pattern loops in those tracks. You will notice that XMplay itself also gives up on calculating the length of those subsongs and reports their length as "?". The duration display is handled by XMPlay, so I believe that it is not up to us to fix that - XMPlay should probably show a "?" when the plugin reports a song length of infinity; or is there already another way of reporting an unknown song length displayed as "?" that I'm not aware of?
« Last Edit: 26 Mar '24 - 14:47 by saga »

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #248 on: 28 Mar '24 - 09:51 »
ftp://ftp.modland.com/pub/modules/OctaMED MMD3/Elapse/sugar n spice.mmd3
should play faster, in other players the duration is about 5:38

saga

  • Posts: 2748
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #249 on: 3 Apr '24 - 18:02 »
This file contains two subsongs (one of them being essentially empty, so quite useless) with different default tempos, but libopenmpt currently does not support different default tempo settings for subsongs. I guess as a workaround for libopenmpt 0.7 and below we could default to using the first subsong's default tempo rather than the last, but better support for this feature probably has to wait for libopenmpt 0.8.