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

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #200 on: 31 Jan '21 - 15:52 »
2021-01-31: xmp-openmpt version 0.5.5 released!

 *  OPL channel state (in particular current patch) is now updated when seeking.
 *  The FT2 tremolo quirk is now also applied to MOD files. FT2 just copied the
    quirky code from ProTracker!
 *  DMF: Preserve effects better in some situations where there is more than one
    effect in a pattern cell.
 *  DMF: Improve import of finetune effect with parameters larger than +/-15.

 *  mpg123: Update to v1.26.4 (2020-12-24).
 *  pugixml: Update to v1.11.4 (2020-12-22).

See https://lib.openmpt.org/libopenmpt/2021/01/31/releases-0.5.5-0.4.17-0.3.26/

Download xmp-openmpt.
« Last Edit: 14 Mar '21 - 16:54 by manx »

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #201 on: 14 Mar '21 - 17:34 »
2021-03-14: xmp-openmpt version 0.5.6 released!

 *  AMS: Avoid allocating excessive amount of memory for compressed song message
    in malformed files.
 *  S3M: Some samples or OPL patches were imported with a too high sample rate
    if module was saved with Scream Tracker 3.

 *  vorbis: Update to v1.3.7 (2020-07-04).

See https://lib.openmpt.org/libopenmpt/2021/03/14/releases-0.5.6-0.4.18-0.3.27/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #202 on: 20 Mar '21 - 17:55 »
2021-03-20: xmp-openmpt version 0.5.7 released!

 *  IT: Instrument / sample panning was reset on note-off / fade commands.
 *  IMF: Set Finetune is now implemented correctly.
 *  Fixed excessive memory consumption with malformed files in various formats.

See https://lib.openmpt.org/libopenmpt/2021/03/20/security-update-0.5.7-releases-0.4.19-0.3.28/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #203 on: 11 Apr '21 - 17:03 »
2021-04-11: xmp-openmpt version 0.5.8 released!

 *  [**Sec**] Possible null-pointer dereference read caused by a sequence of
    `openmpt::module::read`, `openmpt::module::set_position_order_row` pointing
    to an invalid pattern, and another `openmpt::module::read` call. To trigger
    the crash, pattern 0 must not exist in the file and the tick speed before
    the position jump must be lower than the initial speed of the module.
    (r14530)

 *  [**Bug**] libopenmpt 0.5.7 broke seeking in some subsongs.

 *  The built-in LFO plugin did not load the correct initial LFO frequency.
 *  IT command S7x (instrument control) is now supported when seeking with
    sample sync enabled.

 *  mpg123: Update to v1.26.5 (2021-03-22).

See https://lib.openmpt.org/libopenmpt/2021/04/11/security-updates-0.5.8-0.4.20-0.3.29/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #204 on: 16 May '21 - 17:59 »
2021-05-16: xmp-openmpt version 0.5.9 released!

 *  The retrigger effect didn't work correctly for OPL instruments in some cases
    depending on the chosen output sample rate.
 *  S3M: Emulate IT short sample retrigger quirk in S3M files saved with
    Impulse Tracker and Schism Tracker.
 *  ProTracker 3.6 doesn't support sample swapping. It is now disabled when
    loading a ProTracker 3.6 IFF module.
 *  Some files with "hidden" garbage patterns were not played correctly since
    libopenmpt 0.5.3.
 *  MOD: E9x retrigger now works the same way as in ProTracker 2.
 *  MDL: Improve auto-vibrato accuracy.
 *  669: Reject files that contain any pattern tempo higher than 15.
 *  Reduce memory consumption of malformed XPK-compressed files.

 *  mpg123: Update to v1.27.2 (2021-05-08).

See https://lib.openmpt.org/libopenmpt/2021/05/16/releases-0.5.9-0.4.21-0.3.30/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #205 on: 4 Jul '21 - 20:12 »
2021-07-04: xmp-openmpt version 0.5.10 released!

 *  S3M: Honor the Stereo flag not being set. This improves the sound of some
    tunes like Turbulence by Purple Motion.
 *  S3M: Detect MPT 1.0 alpha versions which didn't set the Stereo flag. In this
    case, the unset Stereo flag is also ignored because MPT 1.0 alpha used the
    default S3M channel panning anyway.
 *  S3M: Only for OPL instruments the high sample rate bits should be ignored;
    for PCM instruments they are clamped to 65535 Hz.
 *  MOD: Do not apply ProTracker loop length quirk to MODs that could have been
    made with Scream Tracker (fixes Soul-O-Matic by Purple Motion).
 *  AMF (DSMI): Format revisions 1 and 9, as well as early (technically
    malformed) revision 10 files, are now supported. Surround panning commands
    and instrument number without note are now converted correctly.
 *  AMF (DSMI): Patterns and samples were not read correctly in some files
    (e.g. AVOID.AMF).
 *  GDM: Correctly import extra-fine portamentos.

 *  mpg123: Update to v1.28.0 (2021-06-05).
 *  ogg: Update to v1.3.5 (2021-06-04).

See https://lib.openmpt.org/libopenmpt/2021/07/04/releases-0.5.10-0.4.22-0.3.31/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #206 on: 22 Aug '21 - 16:40 »
2021-08-22: xmp-openmpt version 0.5.11 released!

 *  [**Sec**] Possible crash with malformed modules when trying to access
    non-existent plugin slots FX251-FX255. (r15479, r15518)
 *  [**Sec**] Possible read beyond sample start after swapping to a sample with
    loop points set but not loop enabled. (r15499)
 *  [**Sec**] Fixed various possible crashes with malformed MMCMP files.
    (r15504, 15528)
 *  [**Sec**] MED: Possible read past end of sequence name (stack-allocated, so
    relatively unlikely to result in a crash). (r15477)

 *  Fixed excessive memory usage with files claiming to have an extremely high
    rows per beat count while also using tempo swing. Maximum rows per beat are
    now limited to 65536.
 *  STP: Avoid creating thousands of patterns when loading malformed files even
    though no more pattern data can be read.

 *  mpg123: Update to v1.28.2 (2021-07-12).

See https://lib.openmpt.org/libopenmpt/2021/08/22/security-updates-0.5.11-0.4.23-0.3.32/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #207 on: 4 Oct '21 - 17:25 »
2021-10-04: xmp-openmpt version 0.5.12 released!

 *  [**Sec**] Possible crash when loading malformed MDL files. (r15603)

 *  [**Bug**] Fixed various undefined behaviour found with ubsan.

 *  Seeking with sample sync sometimes didn't compute the correct sample
    position with pingpong-looped samples.
 *  IT: Tremor command I11 erroneously behaved like I00 (use previous parameter)
    unless IT Old Effects were enabled.
 *  PTM: Panning was translated wrong in some edge cases.
 *  IMF / PTM: Note Slide commands were sometimes slightly off.
 *  OKT: Better support for fine note slides.
 *  DBM: Echo enable effect parameter range checks were incorrect.
 *  XM: Sample texts in XMs made with MadTracker are now also decoded using
    Windows-1252 encoding.

 *  mpg123: Update to v1.29.0 (2021-09-06).

See https://lib.openmpt.org/libopenmpt/2021/10/04/security-updates-0.5.12-0.4.24-0.3.33/

Download xmp-openmpt.
« Last Edit: 18 Oct '21 - 08:00 by manx »

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #208 on: 14 Nov '21 - 21:39 »
2021-11-14: xmp-openmpt version 0.5.13 released!

 *  [**Bug**] Fixed various undefined behaviour found with ubsan.

 *  IMF: Change envelope interpretation to be more like in XM instead of IT and
    tighten header validation.
 *  MED: Some samples had a ping-pong loop when there should be no loop at all.
 *  MT2: Ignore incorrect drums chunk size in early MT2 files
    (fixes e.g. "A little Rock" by Csumi).
 *  MT2: Work around initial master volume of 0 used in some files that apply a
    fade-in a the song start using track automation that would stay silent
    forever otherwise (track automation is currently not supported).
 *  OKT: Apply portamento on every tick.

 *  mpg123: Update to v1.29.2 (2021-10-23).

See https://lib.openmpt.org/libopenmpt/2021/11/14/releases-0.5.13-0.4.25-0.3.34/

Download xmp-openmpt.

Meow81

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #209 on: 15 Nov '21 - 19:56 »
PyroZane - Pulse Zone.mt2  isn't still playing right, it is missing some channels.

saga

  • Posts: 2624
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #210 on: 15 Nov '21 - 20:15 »
That song uses both external samples and VST plugins. The former may eventually be supported by libopenmpt and thus xmp-openmpt, but adding VST support to xmp-openmpt is extremely unlikely. You wouldn't even be able to play that tune properly with in_mt2 for the same reason. It has to be played directly in MadTracker 2.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #211 on: 5 Dec '21 - 16:44 »

2021-12-05: xmp-openmpt version 0.5.14 released!

 *  [**Bug**] Fixed undefined behaviour with custom tunings found with ubsan.

 *  OPL: Improved channel allocation strategy when there are lots of faded-out
    notes.
 *  MOD: Digital Tracker MODs have four unknown bytes right after the magic
    bytes which seem to be ignored even by Digital Tracker itself. Just skip
    over them.
 *  The logic when to turn off the resonant filter was broken in some edge cases
    since libopenmpt 0.5.1.
 *  IMF: Implemented XE1-XE3 commands, which disable individual envelopes.
    Command Nxy (cutoff slide + resonance) is now also partially supported
    (only resonance for now).
 *  IMF: Filter envelopes were upside down.
 *  MTM: Omitting pattern loading through the load.skip_patterns ctl caused
    sample data to be corrupted.
 *  S3M: Ignore O00 commands in files created with Scream Tracker 3.00 and 3.01,
    as this command only gained effect memory in version 3.03.
 *  STM: Use S3M-like sample swap behaviour.
 *  XM: Disable arpeggio quirk for XMs made with Skale Tracker.
    Fixes KAPTENFL.XM.

See https://lib.openmpt.org/libopenmpt/2021/12/05/security-updates-0.5.14-0.4.26-0.3.35/

Download xmp-openmpt.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #212 on: 23 Dec '21 - 18:35 »
2021-12-23: xmp-openmpt version 0.6.0 released!

 *  [**New**] `MUS` files from Psycho Pinball and Micro Machines 2 are now
    supported.
 *  [**New**] `SymMOD` files created with Symphonie / Symphonie Pro are now
    supported.
 *  [**New**] `FMT` files created with Davey W Taylor's FM Tracker are now
    supported.
 *  [**New**] `DSYM` files created with Digital Symphony are now supported.
 *  [**New**] `STX` files (transitional format between Scream Tracker 2 and 3)
    are now supported.
 *  [**New**] TakeTracker MODs with `TDZ1` to `TDZ3` magic bytes are now
    supported.

 *  [**Change**] libopenmpt no longer generates internal interpolation tables on
    library load time, but instead only on first module load time.

 *  libopenmpt can now detect infinite pattern loops and treats them as the song
    end. This means that setting a repeat count other than -1 now always
    guarantees that playback will eventually end. The song loop counter is
    decremented each time it ends up at the start of the infinite loop, so the
    song does not restart from the beginning even if the repeat count is not 0.
 *  `openmpt::module::set_position_seconds()` accuracy has been improved for
    modules with pattern loops.
 *  Samples played at the wrong volume when rendering modules in mono.
 *  IT: Portamentos in files with Linear Slides disabled are now more accurate.
 *  IT: Pitch/Pan Separation was affected by note-off commands, and wasn't reset
    by panning commands like in Impulse Tracker.
 *  IT: Even after libopenmpt 0.5.14 the filter reset logic was still not 100%
    identical to Impulse Tracker: A note triggered on tick 0 of a row with a
    Pattern Delay effect still caused the filter to be reset on repetitions of
    that row even though the note wasn't retriggered.
 *  IT: Added read-only support for BeRoTracker commands 1 and 2 (equivalent to
    XM commands K and L).
 *  XM: BeRoTracker saves smooth MIDI macros in a different way from OpenMPT.
    This command is now imported correctly.
 *  XM: Emulate FT2 Tone Portamento quirk that inverts portamento direction
    after the target was reached (if target note was higher than previous note).
 *  S3M files saved with Impulse Tracker and latest Schism Tracker now also
    compute sample playback speed in Hertz.
 *  Depending on whether an S3M file was last saved in Scream Tracker with the
    Sound Blaster or Gravis Ultrasound drivers loaded, different compatibility
    flags are now applied. For files saved with the GUS, the sample volume
    factor is now also ignored (fixes volume levels in S3Ms made on the GUS, in
    particular if they use both samples and OPL instruments).
 *  S3M: Enforce the lower frequency bound.
 *  MOD: Loosened VBlank timing heuristics so that the original copy of
    Guitar Slinger from Dizzy Tunes II plays correctly.
 *  FAR: Correct portamento depth is now used.
 *  DMF / IMF: Improved accuracy of finetune commands.
 *  MDL: Implemented finetune command.
 *  OKT: Various accuracy improvements such as: Sharing volume between mixed
    channels, volume commands on mixed channels are permanent (not reset with
    new notes), mixed channels do not support default sample volume, 7-bit
    samples are actually supposed to be played as-is (not amplified to full
    8-bit range), reject speed command parameters >= 20.

 *  zlib: v1.2.11 (2017-01-15).
 *  mpg123: v1.29.3 (2021-12-11).
 *  ogg: v1.3.5 (2021-06-04).
 *  vorbis: v1.3.7 (2020-07-04).

See https://lib.openmpt.org/libopenmpt/2021/12/23/release-0.6.0/

Downloads:
 * xmp-openmpt for Windows 8.1 (or later) and SSE2-capable CPU, or legacy version for Windows 7 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 9x (or later) (without configuration dialog)
« Last Edit: 1 Jan '22 - 20:24 by manx »

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #213 on: 30 Jan '22 - 21:02 »
2022-01-30: xmp-openmpt version 0.6.1 released!

 *  [**Bug**] Possible hang with malformed DMF, DSM, MED, MUS, OKT and SymMOD
    files containing 65536 or more patterns when destroying the module.
 *  [**Bug**] Avoid NaNs and infinite values with custom tunings and in the
    I3DL2Reverb plugin.

 *  MIDI macros are now evaluated when seeking.
 *  The letter "z" is now evaluated in fixed MIDI macros (Z80...ZFF) the same
    way as in Impulse Tracker.
 *  MOD: Loosened VBlank timing heuristics so that "frame of mind" by Dascon
    plays correctly.
 *  MOD: Validate the contents of "hidden" patterns beyond the end of the order
    list when the file size matches the expected size when only taken "official"
    patterns into account. This fixes Shofixti Ditty.mod from Star Control 2
    while keeping other (partly broken) modules working.
 *  MED: Command 20 (reverse sample) is now only applied when it's next to a
    note.
 *  S3M: Introducing the "Send OPL key-off when triggering notes" compatibility
    setting broke retrigger for OPL notes again (they retriggered rather than
    not retriggering).
 *  S3M: Retriggering a note no longer resets its pitch after a portamento.
 *  S3M: Partially implement retrigger behaviour for stopped notes in
    SoundBlaster mode: Like in IT, it is not possible to retrigger a sample that
    has already stopped playing.
 *  DIGI: Improve compatibility with E3x reverse sample command.
 *  DSym: Tempos < 32 were treated as tempo slides.
 *  SymMOD: Key-off command was not implemented properly.

See https://lib.openmpt.org/libopenmpt/2022/01/30/releases-0.6.1-0.5.16-0.4.29-0.3.37/

Downloads:
 * xmp-openmpt for Windows 8.1 (or later) and SSE2-capable CPU, or legacy version for Windows 7 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 9x (or later) (without configuration dialog)

MagikGimp

  • Posts: 14
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #214 on: 9 Mar '22 - 00:10 »
Hi. I'm currently having a bit of an epiphany using OpenMPT in XMPlay with some ancient modules I've heard over the years many times. This whole time quite a lot of them have been playing with slight mistakes in the playback emulation which MPT has rectified. That and coupled with far superior sound output these days has brought me a whole new appreciation for music (some of it pretty naff to be honest) I love! Nostalgia and all that. Actually, some of it sounds so much better now that it surprised me. Makes me wonder how it sounded back in the late 80s, early 90s on the speakers they had back then.

Anyway, one thing (problem?) I have noticed is that once a track has played and XMPlay's settings are set to automatically repeat part or the whole of the song as described in the tracking, the progress bar does not return to that part of the track as it does with the standard module plugin. Is this intentional? I'm aware this setting to loop is separate from MPT's own looping setting and so is this causing this discrepancy?
Also I think, and I may be wrong here, that before I went in MPT's settings the tracks only played once and then moved onto the next. Now I have to manually move to the next song even though I haven't changed either of the looping settings.

Just some things I've noticed. As I say, OpenMPT sounds great otherwise. Thank you to all involved in the work put into it!

saga

  • Posts: 2624
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #215 on: 9 Mar '22 - 17:21 »
The OpenMPT input plugin shows time, not orders like the native XMPlay player. Running a module in a loop doesn't go backwards in time, and due to various quirks of how modules work in general it's not easily possible to make the time go "backwards" when a loop point is hit.

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #216 on: 13 Mar '22 - 17:37 »
2022-03-13: xmp-openmpt version 0.6.2 released!

 *  [**Sec**] Possible out-of-bounds write in malformed IT / XM / MPTM files
    using the internal LFO plugin. (r17076)
 *  [**Sec**] Possible out-of-bounds read when using Amiga BLEP interpolation
    with extremely high-pitched notes. (r17078, r17079)

 *  ISO-8859-1-related charsets from Amiga OS and RISC OS are now handled more
    accurately, thus avoiding some unwanted control characters.
 *  MO3: Pattern indices 254 / 255 were not treated as playable patterns even if
    the original file was a MOD / XM.
 *  Correctly apply ST3-style effect memory when seeking in S3M files.
 *  Command S (S3M / IT style) effect memory was not applied when seeking.
 *  Initial channel mute status was not reported correctly in `get_channel_mute_status`
    since libopenmpt 0.6.0.

 *  FLAC: Update to v1.3.4 (2022-02-21).
 *  pugixml: Update to v1.12.1 (2022-02-16).

See https://lib.openmpt.org/libopenmpt/2022/03/13/security-updates-0.6.2-0.5.17-0.4.30-0.3.38/

Downloads:
 * xmp-openmpt for Windows 8.1 (or later) and SSE2-capable CPU, or legacy version for Windows 7 (or later) and SSE2-capable CPU
 * xmp-openmpt RETRO for Windows XP (or later) or non-SSE2-capable CPU
 * xmp-openmpt RETRO for Windows 9x (or later) (without configuration dialog)

manx

  • Posts: 58
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #217 on: 24 Apr '22 - 17:26 »

2022-04-24: xmp-openmpt version 0.6.3 released!

 *  Pitch / Pan Separation and Random Variation instrument properties were not
    resetting properly when seeking, potentially causing instruments to be
    played e.g. at a vastly different pan position compared to playing the
    module continuously.
 *  MED: Stereo samples were not imported correctly.

 *  zlib: Update to v1.2.12 (2022-03-27).

See https://lib.openmpt.org/libopenmpt/2022/04/24/releases-0.6.3-0.5.18/

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