View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001798 | OpenMPT | Feature Request | public | 2024-06-29 17:31 | 2024-12-01 17:28 |
Reporter | Razi | Assigned To | Saga Musix | ||
Priority | low | Severity | feature | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | OpenMPT 1.31.08.00 / libopenmpt 0.7.8 (upgrade first) | ||||
Target Version | OpenMPT 1.32 / libopenmpt 0.8 (goals) | Fixed in Version | OpenMPT 1.32 / libopenmpt 0.8 (goals) | ||
Summary | 0001798: Hex volume column | ||||
Description | As an avid user of Fasttracker 2, it does sting a lot that I can't use hexadecimal in the volume column. I like that it allows you to use decimal or hex in the column number, so it sucks that there is no way to do this for the volume column. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | |||||
This is not an easy feat: The volume column is a single input context, meaning that both parameter and command letter need to be able to be entered at the same time depending on which key is pressed. In particular, this means that if numbers were entered in hex, they would conflict with commands A-F (of which commands A-D are available in XM format). While those commands can be remapped to a different key by the user already, this would mean that display and input key for those commands would be required to be inconsistent. |
|
Can it at least be available for the XM format since it would not conflict with the volume commands? XM volume commands are already compatible with a hex volume, so this would make the most sense to do. |
|
As said, commands A-D are available in the XM format, so trying to enter those commands would conflict with trying to enter parameter digits A-D. There's no sense in implementing this for just one format - the difficult part of the work is the same for all formats, so once that is resolved, it would be the working everywhere. |
|
If that is the case, then what about if you typed in A-D in the front digit, it inputs an effect, but if you input A-F in the back digits, it inputs the volume instead? (Also, should I make a separate issue for hex instrument column? How hard would that be to implement by comparison?) |
|
As said before, the volume column is a single input context. There is no way to move the cursor from one digit to the other. It's not an impossible feat to implement, but no matter how, it will require large and complex changes to the pattern editor so it's not exactly high priority.
While it may be easier to make the changes in the pattern editor itself, for such a feature to make any sense it would have to extend far beyond just changing the input method in the instrument column: Any references to instrument numbers anywhere in the program would have to be switchable between hex and decimal: In the instrument editor, the status bar, the tree view, the note properties dialog, comments tab... otherwise being able to enter "1F" into the pattern editor isn't going to make you feel any more at home if you still have to manually convert this to "31" to find the same instrument in the instrument editor. And contrary to the volumn column, where I see at least some reason to allow hexadecimal input, all of this new complexity to be added to the program makes much less sense to me - instrument numbers are differnt in every module, so it's not like you memorize "1F is the bass drum instrument" and would have to translate that into entering "31" into the pattern instead. I don't see myself implementing this to be honest. |
|
Okay, I see, so the only real way is to have it be a two input context like the effect column, where you can input an effect, and then the hex number afterwards. If I may ask, is that impossible to do or would it require the volume column to be a two input context at all times? |
|
Or is there already a program that can write in IT files as well that uses Fasttracker style of tracking? (hex volume, ect.) |
|
Nothing is impossible, but I'm afraid there's no quick and easy solution. Off the top of my head, I'm not aware of any IT clones that would deviate from IT's effect representation, so the volume column is usually decimal and not configurable. |
|
It is as you said, there is not a single IT clone or any program that can write in IT files that have hex volume. Since this is the case, I will sadly have to wait for this feature. I just hope that it doesn't take a year or years to complete. |
|
Okay, I have something for you to try. It's definitely very hacky but it allows to have the feature added for those that really want it without having to rewrite too much of the code. As of r22209, there is a hidden setting, "Pattern.VolumeColumnInHex" (you can find it in the Advanced Settings). You need to set this to 1, and then in the keyboard setup assign keys for digits A-F (and reassign the effect letters that get thrown out because of that). A test build should be up within a few hours at https://builds.openmpt.org/builds/ There's probably still lots of room for improvements, this is just a first stab at the issue. |
|
Nice. Thanks! Where are the hidden settings located at? |
|
It took me some time to realise hidden settings is in the advanced settings. Again, thanks. |
|
Cheers :) |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2024-06-29 17:31 | Razi | New Issue | |
2024-06-29 17:37 | Saga Musix | Priority | high => low |
2024-06-29 17:41 | Saga Musix | Note Added: 0005993 | |
2024-06-30 20:58 | Razi | Note Added: 0005994 | |
2024-06-30 21:00 | Saga Musix | Note Added: 0005995 | |
2024-07-22 15:30 | Razi | Note Added: 0005999 | |
2024-07-22 21:41 | Saga Musix | Note Added: 0006003 | |
2024-07-26 07:49 | Razi | Note Added: 0006023 | |
2024-08-30 10:07 | Razi | Note Added: 0006045 | |
2024-08-31 14:04 | Saga Musix | Note Added: 0006047 | |
2024-11-01 16:36 | Razi | Note Added: 0006156 | |
2024-11-16 22:03 | Saga Musix | Assigned To | => Saga Musix |
2024-11-16 22:03 | Saga Musix | Status | new => assigned |
2024-11-16 22:05 | Saga Musix | Status | assigned => feedback |
2024-11-16 22:05 | Saga Musix | Note Added: 0006195 | |
2024-11-16 22:31 | Saga Musix | Note Edited: 0006195 | |
2024-12-01 16:21 | Razi | Note Added: 0006241 | |
2024-12-01 16:21 | Razi | Status | feedback => assigned |
2024-12-01 16:47 | Razi | Note Added: 0006242 | |
2024-12-01 17:27 | Saga Musix | Note Added: 0006243 | |
2024-12-01 17:28 | Saga Musix | Status | assigned => resolved |
2024-12-01 17:28 | Saga Musix | Resolution | open => fixed |
2024-12-01 17:28 | Saga Musix | Fixed in Version | => OpenMPT 1.32 / libopenmpt 0.8 (goals) |
2024-12-01 17:28 | Saga Musix | Target Version | => OpenMPT 1.32 / libopenmpt 0.8 (goals) |