Increase Channel Quantity

Started by Wodd, July 26, 2016, 01:33:15

Previous topic - Next topic

Wodd

I would like to increase the channel quantity to reconstruct some modules (since the Impulse Tracker Project, which I had used to do it before, is defunct). But, because of wrapping, increasing the number of base channels and mixing channels (which I have done) is insufficient. After channel 128, information is wrapped to be contained within the first 127 channels. How do I overcome the wrapping and allow the use of more channels? I found modifying the bit masks for the channels (lines 313-316 of ITTools.h) (I focused primarily on lines 313 (IT_bitmask_patternChanField_c   = 0x7f,) and 315 (IT_bitmask_patternChanEnabled_c = 0x80,).) to be insufficient. I did try changing the integer type on line 758 of Draw_pat.cpp (uint8 selectedCols[MAX_BASECHANNELS];   // Bit mask of selected channel components). Sometimes, I found that saving the module and reloading it caused it to contain no notes. Sometimes, when I saved and reloaded the module, it was forced to have a certain number of channels (example: 254) and placed the note in the last channel. But, I was unable to use all of the channels. As an attempt to produce the best results, I had downloaded a fresh batch of the latest code revision (at that time, 6668) (downloaded yesterday).
I love Daisy (デイジー)!

Saga Musix

Just because you think you need to post a new account doesn't invalidate what I said before.

It is technically impossible to store more than 127 channels in the IT/MPTM format. If you want to store more channels, you will have to come up with a new file format with a different way of storing pattern data.
And no, I won't help you with coming up with a new format. I am not interested in yet another poorly thought-out hack of the IT format.

QuoteI did try changing the integer type on line 758 of Draw_pat.cpp
Which won't help you, unless you want to draw channels with more than 256 different column types.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Wodd

I had forgotten about that post. It looks like I am out of luck for the time being on that. There were 4 modules that I had done that used more than 127 channels. One of them can be easily modified to fit into 127 channels. Another can be skipped, as it was intended simply to use all 1,024 channels from the Impulse Tracker project. The third is tougher and will likely be a skip because I don't think that I can confine it to 127 channels. Also, it was unique because of the number of channels it contained. The fourth was done before the channel quantity was reduced to 127 from 128 and skipping it wouldn't be a big deal.
I love Daisy (デイジー)!

monsterovich

#3
*deleted*

Saga Musix

PatNum is the number of patterns, not channels. If you want to understand why it will never be possible to store more than 127 channels in an IT pattern, read the format specification for the pattern packing scheme (or the OpenMPT code).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

phanoo

maybe you mean more than 127 virtual channels, which is possible if u have a lot of instruments with long release and you play lots of them quickly

Saga Musix

No, Wodd wants to see 127 empty channels scrolling by. OpenMPT can already handle more than 127 channels, and in particular extending the number of virtual channels is easily doable without format changes.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.