View Issue Details

IDProjectCategoryView StatusLast Update
0001456OpenMPTGeneralpublic2021-05-06 17:14
ReporterSaga Musix Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Target VersionOpenMPT 1.?? (long term goals) 
Summary0001456: Rethink mod conversion

Currently, converting between various module formats can have surprising results, e.g. when invoking Undo. It's probably known to most users that this kind of conversion is almost always lossy, but the results can still be surprising.

Alternative approaches should be explored, e.g. always creating a new CModDoc as a result of a format change. This way, the old module would stay open and editable, and the user can more easily compare what has changed. If a conversion is more lossy than the user expected, they can still easily go back to the previous state even if they forgot to save the file before conversion. Technically this approach would require some refactoring because many objects cannot simply be copied between different CSoundFiles.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)


related to 0001112 acknowledgedmanx Properly report and handle out-of-memory 




2021-05-06 17:13

administrator   ~0004758

The logical step would be to implement a working copy-constructor for CSoundFile, and nothing else. Then, nothing of the existing conversion code would even need to be touched.
Implementing a working copy-constructor basically implies having working copy-constructors for all sub-objects.
I somewhat doubt any refactoring not strictly directed into this direction would be all that useful in the end.

Issue History

Date Modified Username Field Change
2021-05-06 17:07 Saga Musix New Issue
2021-05-06 17:13 manx Note Added: 0004758
2021-05-06 17:13 manx Relationship added related to 0001112
2021-05-06 17:14 manx Target Version => OpenMPT 1.?? (long term goals)