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

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #250 on: 8 Apr '24 - 19:13 »
Default tempo and panning work better now with this file, but I think there are still a few other inaccuracies (portamentos sound a bit wrong).

Ian @ un4seen

  • Administrator
  • Posts: 25866
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #251 on: 3 May '24 - 17:56 »
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?

When reporting lengths to XMPlay, 0 can be used for an unknown length. XMPlay doesn't currently check for infinity.

Regarding subsong info, XMPlay only displays that for the built-in decoders, and it's otherwise left to a plugin's GetGeneralInfo function, so that would seem to be where the mentioned "-12:-55" are coming from?

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #252 on: 3 May '24 - 18:58 »
Ah indeed, I found the code that generates the subsong list... ;D I was confused because it looked exactly the same as XMPlay's own subsong list.
« Last Edit: 4 May '24 - 10:57 by saga »

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #253 on: 4 May '24 - 11:12 »
This Soundtracker module is not recognized.

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #254 on: 5 May '24 - 16:15 »
The file contains (or rather, contained) a lot of invalid characters in the song title. As SoundTracker modules contain no magic bytes at all, it's very difficult to decide whether a file is really a SoundTracker file or just some other random binary format. Checking the validity of the song title is one of several things that OpenMPT does to determine whether the file should be accepted or not. I'll see if we can relax the heuristics a bit more without accepting other (non-module) files as playable files, but in the meantime, the module on AMP was replaced with a version with a cleaned song title, so if you redownload the file, it will be playable.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #255 on: 5 May '24 - 18:47 »
What about this one?

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #256 on: 5 May '24 - 21:10 »
The file contains a sample that is 72KB long - something that should be technically impossible to create in SoundTracker. I'll have to check with Asle how he made this rip, if it was just converted to SoundTracker format or if the demo really contained a SoundTracker module with a 72KB sample. Again this rejection happens because we need at least some way of telling random binary files from SoundTracker modules apart.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #257 on: 7 May '24 - 08:51 »
https://hornet.org/music/contests/mc2/veteran/v-dawn.zip
Farandole Composer v0.96 r11 plays sample 0B (12 in OpenMPT) slightly differently in order 17 (pattern 22), order 33 (pattern 166), order 41 (pattern 54), order 45 (pattern 70).




saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #258 on: 8 May '24 - 20:53 »
Farandole effect support is known to be very limited, a fix is not likely to be done immediately, it's rather a long-term goal: https://bugs.openmpt.org/view.php?id=1541

manx

  • Posts: 73
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #259 on: 12 May '24 - 17:03 »
2024-05-12: xmp-openmpt version 0.7.7 released!

 *  IT: Disable a few more compatibility flags for older SchismTracker builds.
 *  IT: Halve the output volume of files saved with ChibiTracker, as its mixer
 *  is about half as loud as ours.
 *  S3M: In mono mode, the ratio between sample and OPL volume was incorrect.
 *  S3M: Detect files saved with PlayerPRO.
 *  XM: Detect files saved with PlayerPRO. Improved detection of files saved
    with ModPlug Tracker.
 *  XM: Files with impossibly small pattern headers are now rejected, like
    FastTracker 2 does.
 *  STK: Loosen SoundTracker file rejection heuristics a bit to allow loading of
    files with malformed song titles and overly long samples.
    Other heuristics has been tightened a bit.
 *  MOD: Change VBlank timing heuristic to always assume CIA timing when long
    samples unsupported by original ProTracker) are found.
 *  MOD: Disable NoiseTracker quirks if empty sample slots have a default volume
    other than 0.
 *  MOD: 7-bit panning detection may have returned incorrect results for MODs
    with a channel count other than 4.
 *  MED: Improve handling of default tempo, panning and channel volume in files
    containing more than one song.
 *  MO3: Reduced maximum allowed music data (not samples) size from 2 GiB to
    512 MiB.
 *  XMF: Header validation is now stricter.
 *  MDL: Slightly more accurate import of pattern command 9 (enabling envelopes
    instead of setting envelope position).
 *  ULT: Support the highest three octaves.
 *  OPL emulation could produce clicks when using a mix rate higher than
    65536 Hz.

 *  xmp-openmpt: Subsongs whose length could not be calculate no longer show a
    duration of -12:-55.

 *  mpg123: Update to v1.32.6 (2024-04-04).

See https://lib.openmpt.org/libopenmpt/2024/05/12/releases-0.7.7-0.6.16-0.5.30-0.4.42/

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)

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #260 on: 14 May '24 - 10:46 »
ftp://ftp.modland.com/pub/modules/Fasttracker 2/4-Mat/the inevitable.xm
When playback reaches 0:51, XMPlay displays "buffering..." instead of playback time in the main window.


guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #261 on: 5 Jun '24 - 11:53 »
• There are breaks in this MED, but there should be an echo there.

• Plugin (with Amiga resampler enabled) plays channel 2 of this MOD differently than ProTracker 1.3b and ProTracker V2.3a.

BTW, as the current version 0.8 supports synthetic instruments, is it possible to add support for Musicline Editor?

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #262 on: 6 Jun '24 - 21:07 »
• There are breaks in this MED, but there should be an echo there.
I've added emulation of the MED echo DSP by using the DirectX Echo effect for the next version. The only limitation here is that the echo could go up to 32 seconds in MED SoundStudio on Windows, I'm not sure if the Amiga versions supported similarly huge delay lines (given the limited amount of RAM available there, I seriously doubt it), while the DirectX Echo is limited to a more sane 2 seconds. I doubt any songs in the wild will use delay lines longer than 2 seconds.

• Plugin (with Amiga resampler enabled) plays channel 2 of this MOD differently than ProTracker 1.3b and ProTracker V2.3a.
This would be played correctly if emulation of oneshot samples was turned on by default in libopenmpt, which it currently isn't for a variety of reasons. I'll see if there can be a more faithful emulation of what ProTracker is doing there without turning on oneshot loop emulation.

BTW, as the current version 0.8 supports synthetic instruments, is it possible to add support for Musicline Editor?
In theory yes, in practice I think Musicline is quite a bit more complex and I don't think it is documented anywhere, so I wouldn't get my hopes high that this would happen anytime soon. Musicline does real sample synthesis - what MED calls "synth instruments" can barely be called synthesis. It's just short samples and pitch/volume scripting. Musicline has different types of actual synthesis, with filters and similar stuff.

manx

  • Posts: 73
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #263 on: 9 Jun '24 - 16:25 »
2024-06-09: xmp-openmpt version 0.7.8 released!

 *  [**Sec**] Potential heap out-of-bounds read with malformed Dynamic Studio
    DSm files (r20912).

 *  MED: Additional command pages can now be read.
 *  MED: Echo DSP is now emulated.
 *  AMS: Default channel panning was broken, using all-center panning instead of
    MOD-style panning.
 *  STP: Correctly import volume slides where both nibbles are set.
 *  MDL: Pitch slide depth was wrong since libopenmpt 0.6.0.
 *  DTM: Fix pitch slide depth for samples with finetune.
 *  DSm: Don't import as Amiga module (and thus allow Amiga resampler to be
    enabled), as this PC format can easily exceed the Amiga frequency range.
 *  DSm: Only the first 48 samples were ever read.
 *  STM / STX: Don't set channel panning. ScreamTracker 2 only outputs mono
    sound.
 *  PSM: File header probing was stricter than actual file loader, rejecting
    manipulated files that would otherwise load fine.

See https://lib.openmpt.org/libopenmpt/2024/06/09/security-update-0.7.8-releases-0.6.17-0.5.31-0.4.43/

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)

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #264 on: 12 Jun '24 - 09:20 »
DBM.Super Nova
Instrument 7 sounds strange at 1:02-1:48, 2:50-3:40.

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #265 on: 12 Jun '24 - 18:48 »
Different instruments in DBM files reusing the same sample with different sample properties will be handled correctly in the next update.
« Last Edit: 12 Jun '24 - 19:00 by saga »

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #266 on: 14 Jun '24 - 23:04 »
• Plugin (with Amiga resampler enabled) plays channel 2 of this MOD differently than ProTracker 1.3b and ProTracker V2.3a.
I think I found a way to fix this without breakin other modules.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #267 on: 18 Jun '24 - 11:28 »
‣ Sample 3 in first row of first order isn't played: https://amp.dascene.net/downmod.php?index=43452

‣ The name of instrument 5 is displayed on two lines: ftp://ftp.modland.com/pub/modules/Fasttracker 2/Lesnik/nylos lobe.xm

‣ The pattern display is not updated when changing the playback position while the track is paused or stopped.

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #268 on: 19 Jun '24 - 19:38 »
The DIGI issue is fixed for the next release, the other two will require a bit more work.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #269 on: 25 Jun '24 - 12:48 »
This DBM is played too slowly.

🔗DBM ⁃ channels 9 i 10 in first order aren't played accurately.


saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #270 on: 25 Jun '24 - 19:31 »
Both issues should be fixed in the next release.

guest

  • Guest
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #271 on: 27 Jun '24 - 09:07 »
schlendering.ftm
Plugin reports duration of 7:32 but but the playback stops at 6:13.

huschlied.ftm
Plugin reports duration of 1174:26:20 but shouldn't it be around 4:31?

a walk in the dark.ftm
Shaker in first, second, third order is not played accurately.

toki - 5.puma
toki - 9.puma
toki - 91.puma
Channel 2 in first order isn't played accurately.

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #272 on: 27 Jun '24 - 19:35 »
Thanks, all of these should play correctly now.

guest

  • Guest

saga

  • Posts: 2720
Re: xmp-openmpt: An XMPlay input plugin based on OpenMPT
« Reply #274 on: 1 Jul '24 - 22:20 »
I hear the differences in the second pattern now. And they are quite cursed, no matter what I try to fix them, it doesn't work. :) This will require a bit more work.