View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001227||OpenMPT||File Format Support||public||2019-05-26 21:36||2020-04-12 08:59|
|Summary||0001227: Add support for xxxC magic in MOD format for support to 100-256 MOD channels|
I have came up a new idea to use a new magic tag for the MOD format which is "xxxC" (xxx = 3 digits of MOD channels) This magic format (which is first used in TuComposer for Amiga) will the second tracker to use in a future version of OpenMPT and is not supported on any other trackers.
See the attachments in which the upgraded code files belong to the source code in OpenMPT/soundlib (and the example MOD file I made by me to test the 120 channels "120C" MOD format).
|Tags||No tags attached.|
|Has the bug occurred in previous versions?|
|Tested code revision (in case you know it)|
120Ch.zip (47,195 bytes)
soundlib.zip (25,493 bytes)
Seriously, what's the point? OpenMPT does not need to invent yet another incompatible tracker format that noon else will support, and there is little reason to use more than 99 channels in MOD other than "look, I can use 120 channels in this format!"
Oops, there was an error on the Load_mod.cpp file. I reuploaded the modded source code file.
soundlib-2.zip (25,506 bytes)
Oops again, another error on the Load_mod.cpp file. I reuploaded the modded source code file once again.
soundlib-3.zip (25,508 bytes)
But this is a new magic format exclusively to OpenMPT! There are no xxxC mod files and no other MOD trackers that can make xxxC so that's why I am supporting that. You can make your own MOD file with 100-999 MOD channels with this implemented.
And who is going to play those files? If you don't care about no other application supporting your format, you can just as well use OpenMPT's MPTM format, which already supports more than 99 channels. I'd say the MOD format is already so limited that if you were going to really require so many channels, you would already hit completely different issues (such as only 31 sample slots to use with those 999 channels, limited octave range, limited amount of effects, etc.). I simply don't see why OpenMPT should push yet another incompatible format in this case and getting bad rep for hijacking yet another module format with its own extensions. Hence: Without any clear and convincing use case that would make great things possible that were not possible before, there is no chance that I will add support for this extension.
But it also adds some formats like TDZ1 made from TakeTracker that is missing from OpenMPT.
I contributed to the project HxCModPlayer to support up to 999 MOD channels. See here: http://hxc2001.free.fr/hxcmod
Pretty please stop inventing new variants of old, by design non-extensible, and in particular discontinued (i.e. not actively developed any more) file formats.
Even further extending MOD file magic channel number parsing also increases the likelyhood of files getting wrongly detected as MOD files, which is already rather high because of the very short and diverse file magic pattern at an unusual location in MOD files.
regarding TakeTracker (and other tracker for which you added <4 and/or >8 channel support): Do you have any real world files that you can provide for testing? Did you verify that these trackers actually support writing files with these particular channels counts? IFF so, could you provide a clean patch without any non-related changes which adds the missing file magics?
According to http://forum.cdgs-crew.com/viewtopic.php?t=12 for TuComposer on Amiga notes here to prove xxxC is used for up to 256 MOD channels:
The MOD loaders supports ProTracker-Style modules up to 256 channels ! It handles standard IDs like M.K., FLT4, FLT8, EMW3, M!K!, TDZx, xCHN, xxCH and the new xxxC, where xxx is a number from 100 to 256, allowing thus 100 - 256 channels PT-style modules as well as old SoundTracker modules without an ID (even those with 31 samples). It also supports songs (external instruments) and tempo only & fast vol slide MODs, the FT2 Set panning command (8xx) and NoiseTracker's repeat start and its doubled vibratos. But be forewarned that a pattern of an 256 channel PT-style module takes 65536 (464256) bytes. But PowerPacker, XPK, PKZIP, LHA, LZX and the alike will be very happy when crunching such huge patterns :-))) The following tucomposer.library routines have been implemented so far.
So should I set the max MOD channels for xxxC to either 128 to 256 instead?
Patched.zip (25,524 bytes)
|2019-05-26 21:36||DevanWolf||New Issue|
|2019-05-26 21:36||DevanWolf||File Added: 120Ch.zip|
|2019-05-26 21:36||DevanWolf||File Added: soundlib.zip|
|2019-05-27 06:32||Saga Musix||Note Added: 0003950|
|2019-05-27 06:38||DevanWolf||File Added: soundlib-2.zip|
|2019-05-27 06:38||DevanWolf||Note Added: 0003951|
|2019-05-27 06:41||DevanWolf||File Added: soundlib-3.zip|
|2019-05-27 06:41||DevanWolf||Note Added: 0003952|
|2019-05-27 16:38||DevanWolf||Priority||high => urgent|
|2019-05-27 16:38||DevanWolf||Description Updated||View Revisions|
|2019-05-27 16:38||DevanWolf||Additional Information Updated||View Revisions|
|2019-05-27 16:46||DevanWolf||Note Added: 0003954|
|2019-05-27 17:50||Saga Musix||Note Added: 0003955|
|2019-05-27 18:43||Saga Musix||Priority||urgent => none|
|2019-05-30 23:52||DevanWolf||Note Added: 0003958|
|2019-06-07 14:46||DevanWolf||Note Added: 0003960|
|2019-06-08 13:11||manx||Note Added: 0003962|
|2019-07-02 19:36||DevanWolf||Note Added: 0003967|
|2019-07-02 19:48||DevanWolf||File Added: Patched.zip|
|2019-07-07 00:52||DevanWolf||Priority||none => normal|
|2019-07-07 00:52||DevanWolf||Fixed in Version||=> OpenMPT 1.28.06.00 / libopenmpt 0.4.6 (upgrade first)|
|2019-07-07 00:59||DevanWolf||Fixed in Version||OpenMPT 1.28.06.00 / libopenmpt 0.4.6 (upgrade first) =>|
|2019-07-07 00:59||DevanWolf||Summary||Add support for xxxC magic in MOD format for support to 100-999 MOD channels => Add support for xxxC magic in MOD format for support to 100-256 MOD channels|
|2019-07-07 00:59||DevanWolf||Description Updated||View Revisions|
|2020-04-11 22:30||DevanWolf||Fixed in Version||=> OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (current stable)|
|2020-04-12 08:59||manx||Fixed in Version||OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (current stable) =>|