mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-27 15:03:01 +00:00
add option to move the cursor along with order
This commit is contained in:
parent
eacfbd6e3e
commit
8e3a7df8cd
3 changed files with 18 additions and 0 deletions
|
@ -1514,11 +1514,17 @@ void FurnaceGUI::doAction(int what) {
|
||||||
case GUI_ACTION_ORDERS_MOVE_UP:
|
case GUI_ACTION_ORDERS_MOVE_UP:
|
||||||
prepareUndo(GUI_UNDO_CHANGE_ORDER);
|
prepareUndo(GUI_UNDO_CHANGE_ORDER);
|
||||||
e->moveOrderUp(curOrder);
|
e->moveOrderUp(curOrder);
|
||||||
|
if (settings.cursorFollowsOrder) {
|
||||||
|
e->setOrder(curOrder);
|
||||||
|
}
|
||||||
makeUndo(GUI_UNDO_CHANGE_ORDER);
|
makeUndo(GUI_UNDO_CHANGE_ORDER);
|
||||||
break;
|
break;
|
||||||
case GUI_ACTION_ORDERS_MOVE_DOWN:
|
case GUI_ACTION_ORDERS_MOVE_DOWN:
|
||||||
prepareUndo(GUI_UNDO_CHANGE_ORDER);
|
prepareUndo(GUI_UNDO_CHANGE_ORDER);
|
||||||
e->moveOrderDown(curOrder);
|
e->moveOrderDown(curOrder);
|
||||||
|
if (settings.cursorFollowsOrder) {
|
||||||
|
e->setOrder(curOrder);
|
||||||
|
}
|
||||||
makeUndo(GUI_UNDO_CHANGE_ORDER);
|
makeUndo(GUI_UNDO_CHANGE_ORDER);
|
||||||
break;
|
break;
|
||||||
case GUI_ACTION_ORDERS_REPLAY:
|
case GUI_ACTION_ORDERS_REPLAY:
|
||||||
|
|
|
@ -1340,6 +1340,7 @@ class FurnaceGUI {
|
||||||
int doubleClickColumn;
|
int doubleClickColumn;
|
||||||
int blankIns;
|
int blankIns;
|
||||||
int dragMovesSelection;
|
int dragMovesSelection;
|
||||||
|
int cursorFollowsOrder;
|
||||||
int unsignedDetune;
|
int unsignedDetune;
|
||||||
int noThreadedInput;
|
int noThreadedInput;
|
||||||
int saveWindowPos;
|
int saveWindowPos;
|
||||||
|
@ -1480,6 +1481,7 @@ class FurnaceGUI {
|
||||||
doubleClickColumn(1),
|
doubleClickColumn(1),
|
||||||
blankIns(0),
|
blankIns(0),
|
||||||
dragMovesSelection(1),
|
dragMovesSelection(1),
|
||||||
|
cursorFollowsOrder(0),
|
||||||
unsignedDetune(0),
|
unsignedDetune(0),
|
||||||
noThreadedInput(0),
|
noThreadedInput(0),
|
||||||
clampSamples(0),
|
clampSamples(0),
|
||||||
|
|
|
@ -652,6 +652,14 @@ void FurnaceGUI::drawSettings() {
|
||||||
settings.saveUnusedPatterns=saveUnusedPatternsB;
|
settings.saveUnusedPatterns=saveUnusedPatternsB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cursorFollowsOrderB=settings.cursorFollowsOrder;
|
||||||
|
if (ImGui::Checkbox("Cursor follows current order when moving it",&cursorFollowsOrderB)) {
|
||||||
|
settings.cursorFollowsOrder=cursorFollowsOrderB;
|
||||||
|
}
|
||||||
|
if (ImGui::IsItemHovered()) {
|
||||||
|
ImGui::SetTooltip("applies when playback is stopped.");
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::Text("Audio export loop/fade out time:");
|
ImGui::Text("Audio export loop/fade out time:");
|
||||||
if (ImGui::RadioButton("Set to these values on start-up:##fot0",settings.persistFadeOut==0)) {
|
if (ImGui::RadioButton("Set to these values on start-up:##fot0",settings.persistFadeOut==0)) {
|
||||||
settings.persistFadeOut=0;
|
settings.persistFadeOut=0;
|
||||||
|
@ -2609,6 +2617,7 @@ void FurnaceGUI::syncSettings() {
|
||||||
settings.oneDigitEffects=e->getConfInt("oneDigitEffects",0);
|
settings.oneDigitEffects=e->getConfInt("oneDigitEffects",0);
|
||||||
settings.disableFadeIn=e->getConfInt("disableFadeIn",0);
|
settings.disableFadeIn=e->getConfInt("disableFadeIn",0);
|
||||||
settings.alwaysPlayIntro=e->getConfInt("alwaysPlayIntro",0);
|
settings.alwaysPlayIntro=e->getConfInt("alwaysPlayIntro",0);
|
||||||
|
settings.cursorFollowsOrder=e->getConfInt("cursorFollowsOrder",0);
|
||||||
|
|
||||||
clampSetting(settings.mainFontSize,2,96);
|
clampSetting(settings.mainFontSize,2,96);
|
||||||
clampSetting(settings.patFontSize,2,96);
|
clampSetting(settings.patFontSize,2,96);
|
||||||
|
@ -2932,6 +2941,7 @@ void FurnaceGUI::commitSettings() {
|
||||||
e->setConf("oneDigitEffects",settings.oneDigitEffects);
|
e->setConf("oneDigitEffects",settings.oneDigitEffects);
|
||||||
e->setConf("disableFadeIn",settings.disableFadeIn);
|
e->setConf("disableFadeIn",settings.disableFadeIn);
|
||||||
e->setConf("alwaysPlayIntro",settings.alwaysPlayIntro);
|
e->setConf("alwaysPlayIntro",settings.alwaysPlayIntro);
|
||||||
|
e->setConf("cursorFollowsOrder", settings.cursorFollowsOrder);
|
||||||
|
|
||||||
// colors
|
// colors
|
||||||
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
for (int i=0; i<GUI_COLOR_MAX; i++) {
|
||||||
|
|
Loading…
Reference in a new issue