View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000569 | OpenMPT | General | public | 2014-08-14 10:58 | 2024-12-02 11:41 |
Reporter | manx | Assigned To | manx | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | assigned | Resolution | open | ||
Target Version | OpenMPT 1.33 / libopenmpt 0.9 (goals) | ||||
Summary | 0000569: Unicode strings in CSoundFile. | ||||
Description | Use Unicode strings for all strings (samples/instrument/channel/pattern names and other general metadata) in CSoundFile. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | |||||
We should also re-consider the charset used for .MOD because of compatibility with earlier OpenMPT versions. See discussion in 0001565 . |
|
How would this affect saving files? |
|
In a first step, not at all or barely. We are currently tracking the encoding used inside CSoundFile explicitly, and the encoding used to save files is determined by the saving code (either implicitly because it is the same as the internal encoding, or explicitly).
That's a totally separate concern. For MPTM, this requires inventing a new chunk that signals UTF8 encoding, and in particular requires the loader to handle that (which is the more difficult part, because of the order in which things are done there). All in all, this issue requires (or is related to) a massive amount of refactoring because of the way sample names are not stored with the sample they belong to (i.e. inventing some hypothetical SampleRef class that handles the relationship better than the current code). Just replacing the current char buffers for the sample names with strings has large implications for debug build performance. We had discussed using a std::map for the names due to that in the past. I would not consider this issue to be very important or high priority at the moment due to the various inter-dependencies related to it. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2014-08-14 10:58 | manx | New Issue | |
2014-08-14 10:58 | manx | Status | new => assigned |
2014-08-14 10:58 | manx | Assigned To | => manx |
2014-08-19 08:00 | manx | Relationship added | child of 0000570 |
2014-12-12 00:02 | Saga Musix | Target Version | OpenMPT 1.24.01.00 / libopenmpt 0.2-beta8 (upgrade first) => OpenMPT 1.?? (long term goals) |
2017-08-22 12:22 | manx | Relationship replaced | related to 0000570 |
2021-12-07 14:53 | manx | Target Version | OpenMPT 1.?? (long term goals) => OpenMPT 1.31.01.00 / libopenmpt 0.7.0 (upgrade first) |
2021-12-18 09:29 | manx | Relationship added | related to 0000783 |
2022-02-16 15:20 | manx | Relationship added | related to 0001565 |
2022-02-16 15:21 | manx | Note Added: 0005093 | |
2023-04-10 08:22 | manx | Target Version | OpenMPT 1.31.01.00 / libopenmpt 0.7.0 (upgrade first) => OpenMPT 1.32 / libopenmpt 0.8 (goals) |
2024-10-26 18:03 | manx | Target Version | OpenMPT 1.32 / libopenmpt 0.8 (goals) => OpenMPT 1.33 / libopenmpt 0.9 (goals) |
2024-12-02 11:30 | cs127 | Note Added: 0006244 | |
2024-12-02 11:41 | manx | Note Added: 0006245 |