View Issue Details

IDProjectCategoryView StatusLast Update
0001497OpenMPTPlayback Compatibilitypublic2021-08-31 20:37
ReporterSaga Musix Assigned ToSaga Musix  
Status assignedResolutionopen 
Summary0001497: Zxx Macro support for seeking

CSoundFile::GetLength currently doesn't support Zxx MIDI macros at all, mostly for technical reasons. While it might not be possible or desirable to add full support for any kind of MIDI macros to this function, it should at the very least support local MIDI macros (i.e. anything that's not passed on to plugins as raw MIDI messages).

This might be done by splitting the parsing of the MIDI text macros and evaluation of the resulting MIDI data into two steps that can be carried out independently, and allow the second step to only handle local macros. But even with local macros there needs to be a distinction between macros that just modify channel state (such as filters, which are arguably the most useful macros for this use case) and macros that are local but still modify the module state (such as plugin dry/wet ratio) - the latter may only be evaluated if GetLength succeeds with seeking. When GetLength isn't used for seeking, macros should not be parsed at all to save time.

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


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2021-08-31 20:37 Saga Musix New Issue
2021-08-31 20:37 Saga Musix Assigned To => Saga Musix
2021-08-31 20:37 Saga Musix Status new => assigned