View Issue Details

IDProjectCategoryView StatusLast Update
0000189OpenMPTUser Interfacepublic2012-05-14 14:04
Reporterharbinger Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3?
Product VersionOpenMPT 1.19.03.00 (upgrade first) 
Target VersionOpenMPT 1.20.01.00 (upgrade first)Fixed in VersionOpenMPT 1.20.01.00 (upgrade first) 
Summary0000189: Undo prevents Step Note Navigation
Description

After using Undo (i've set my shortcut to Ctrl-Z), subsequent keypress note entries that would normally move to the next pattern do not navigate, moving instead to the last row as if Continuous Scroll were not set. It seems to only occur if the Undo occurred on an unseen pattern than the one showing.

Steps To Reproduce
  1. Set up a normal track of any kind (i've been working with MPTM). You do not have to have samples or instruments designated. But make sure you have the Continuous Scroll option set.
  2. Set the Row Spacing to 4, though it doesn't matter what value you use.
  3. Make sure you have two patterns available. You want the cursor to be able to jump to the next pattern after it reaches the end of the first.
  4. From the first pattern, enter by your PC keyboard the note presses, say C-5. Do so until the jump value takes you to the next pattern. (This may also occur with MIDI-entered notes but i could not test this method.)
  5. Now press your Undo shortcut until the previous pattern is shown. The pattern where the Undo occurs will be displayed, and the cursor will remain in the same field but in the revisited pattern.
  6. Enter more notes until the end of the pattern is reached. You'll notice the cursor does not automatically scroll to the next pattern, nor do cursor navigation keys scroll. The only way to reset the bug is to apply the Page Up/Down shortcuts or click on another pattern in the Order List and then click back.
Additional Information

I thought the problem might be that the cursor may not realize it's in another pattern, and when it goes to scroll after navigation, it's finding it's not in the correct pattern so the scroll function is simply ignored. However, it seems you could reset the cursor then by clicking in the pattern where you're at (where the Undo took place). This, however, is not true -- clicking anywhere in the pattern does not reset the cursor.

TagsNo tags attached.
Has the bug occurred in previous versions?I think so. I've only recently narrowed down the cause.
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2012-04-28 16:31

administrator   ~0000701

This happens because the undo buffer is agnostic of the order list. So when you change to another pattern by undoing previous actions, the order of this pattern is unknown. I'll change this so that OpenMPT searched for any order in the current sequence containing that pattern, which should work as expected in most cases.

Saga Musix

Saga Musix

2012-04-28 16:42

administrator   ~0000702

Revision 1258 / OpenMPT 1.20.00.87 should fix this. It will not work properly if the same pattern is used twice in the order list, but I guess it's close enough.

Issue History

Date Modified Username Field Change
2011-09-19 13:58 harbinger New Issue
2012-04-28 16:28 Saga Musix Assigned To => Saga Musix
2012-04-28 16:28 Saga Musix Status new => assigned
2012-04-28 16:31 Saga Musix Note Added: 0000701
2012-04-28 16:42 Saga Musix Note Added: 0000702
2012-04-28 16:42 Saga Musix Status assigned => feedback
2012-05-14 14:04 Saga Musix Status feedback => resolved
2012-05-14 14:04 Saga Musix Resolution open => fixed
2012-05-14 14:04 Saga Musix Fixed in Version => OpenMPT 1.20.01.00 (upgrade first)
2012-05-14 14:04 Saga Musix Target Version => OpenMPT 1.20.01.00 (upgrade first)