mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-30 08:23:01 +00:00
GUI: step play fixes
This commit is contained in:
parent
0c7d0bc32b
commit
478c3ecb57
3 changed files with 13 additions and 6 deletions
|
@ -3930,11 +3930,13 @@ bool FurnaceGUI::loop() {
|
|||
int nextPlayOrder=0;
|
||||
int nextOldRow=0;
|
||||
e->getPlayPos(nextPlayOrder,nextOldRow);
|
||||
oldRowChanged=false;
|
||||
playOrder=nextPlayOrder;
|
||||
if (followPattern) {
|
||||
curOrder=playOrder;
|
||||
}
|
||||
if (e->isPlaying()) {
|
||||
if (oldRow!=nextOldRow) oldRowChanged=true;
|
||||
oldRow=nextOldRow;
|
||||
}
|
||||
|
||||
|
@ -7110,6 +7112,8 @@ FurnaceGUI::FurnaceGUI():
|
|||
exitDisabledTimer(0),
|
||||
soloTimeout(0.0f),
|
||||
exportFadeOut(5.0),
|
||||
newSongFirstFrame(false),
|
||||
oldRowChanged(false),
|
||||
editControlsOpen(true),
|
||||
ordersOpen(true),
|
||||
insListOpen(true),
|
||||
|
|
|
@ -1816,7 +1816,7 @@ class FurnaceGUI {
|
|||
|
||||
double exportFadeOut;
|
||||
|
||||
bool newSongFirstFrame;
|
||||
bool newSongFirstFrame, oldRowChanged;
|
||||
bool editControlsOpen, ordersOpen, insListOpen, songInfoOpen, patternOpen, insEditOpen;
|
||||
bool waveListOpen, waveEditOpen, sampleListOpen, sampleEditOpen, aboutOpen, settingsOpen;
|
||||
bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen;
|
||||
|
|
|
@ -377,13 +377,16 @@ void FurnaceGUI::drawPattern() {
|
|||
|
||||
bool inhibitMenu=false;
|
||||
|
||||
if (e->isPlaying() && followPattern && (!e->isStepping() || pendingStepUpdate)) {
|
||||
if (e->isPlaying() && followPattern) {
|
||||
if (oldRowChanged || !e->isStepping()) {
|
||||
if (e->isStepping()) pendingStepUpdate=1;
|
||||
cursor.y=oldRow;
|
||||
if (selStart.xCoarse==selEnd.xCoarse && selStart.xFine==selEnd.xFine && selStart.y==selEnd.y && !selecting) {
|
||||
selStart=cursor;
|
||||
selEnd=cursor;
|
||||
}
|
||||
}
|
||||
}
|
||||
demandX=0;
|
||||
sel1=selStart;
|
||||
sel2=selEnd;
|
||||
|
|
Loading…
Reference in a new issue