From: Florian J. <flo...@we...> - 2012-04-18 22:54:37
|
hi auto-expanding parts seems a bit buggy (this might be a design-bug): when moving or resizing note events in the pianoroll and the drumedit, the parts properly autoexpand if there aren't already hidden events (that is, if the part wasn't shortened on purpose) but when using the toolbar (that one tim recently added the delta mode to) for changing them, there is no automatic expansion, leading to the part be considered as "shrinked on purpose", which causes glitchy behaviour (drawn notes refuse to stay there, because they would exceed part length) i wonder whether we should fix this wherever events get modified, or of it might be better to add an "autoexpand"-flag (which defaults to true) to the ModifyEvent and AddEvent operations. advantage: no need for us to care about autoexpand any more. it will just work (tm). disadvantage: with operation groups, we'll need an additional "autoexpand-parts" pass before applying the operation groups. we cannot do autoexpanding directly in the doRedo2() -> ModifyEvent logic, because this would break undo. so we need to scan the operation group for Add or ModifyEvents, and insert ModifyPart operations at appropriate places, before applyOperationGroup(). (of course, applyOpGroup() can do this on its own, no need to have to change almost everything) dunno however how to do it at the places which don't use operation groups. also, in the past i have noticed that parts got shrunken (generating hidden notes) "magically". i couldn't reproduce this in the last month, but i think this was especially an issue with importing midis. subjectively, there were no out-of-part-bounds notes. this might be an issue of 1 tick (part is one tick shorter than the event or so)... i think, both should get fixed before the final release (which, btw, should be done pretty soon ;) ) greetings flo |