Add option to prevent piano input
This commit is contained in:
		
							parent
							
								
									40c4632879
								
							
						
					
					
						commit
						e07c14db81
					
				| 
						 | 
					@ -5954,6 +5954,7 @@ bool FurnaceGUI::init() {
 | 
				
			||||||
  pianoOptions=e->getConfBool("pianoOptions",pianoOptions);
 | 
					  pianoOptions=e->getConfBool("pianoOptions",pianoOptions);
 | 
				
			||||||
  pianoSharePosition=e->getConfBool("pianoSharePosition",pianoSharePosition);
 | 
					  pianoSharePosition=e->getConfBool("pianoSharePosition",pianoSharePosition);
 | 
				
			||||||
  pianoOptionsSet=e->getConfBool("pianoOptionsSet",pianoOptionsSet);
 | 
					  pianoOptionsSet=e->getConfBool("pianoOptionsSet",pianoOptionsSet);
 | 
				
			||||||
 | 
					  pianoReadonly=e->getConfBool("pianoReadonly",false);
 | 
				
			||||||
  pianoOffset=e->getConfInt("pianoOffset",pianoOffset);
 | 
					  pianoOffset=e->getConfInt("pianoOffset",pianoOffset);
 | 
				
			||||||
  pianoOffsetEdit=e->getConfInt("pianoOffsetEdit",pianoOffsetEdit);
 | 
					  pianoOffsetEdit=e->getConfInt("pianoOffsetEdit",pianoOffsetEdit);
 | 
				
			||||||
  pianoView=e->getConfInt("pianoView",pianoView);
 | 
					  pianoView=e->getConfInt("pianoView",pianoView);
 | 
				
			||||||
| 
						 | 
					@ -6389,6 +6390,7 @@ void FurnaceGUI::commitState() {
 | 
				
			||||||
  e->setConf("pianoOptions",pianoOptions);
 | 
					  e->setConf("pianoOptions",pianoOptions);
 | 
				
			||||||
  e->setConf("pianoSharePosition",pianoSharePosition);
 | 
					  e->setConf("pianoSharePosition",pianoSharePosition);
 | 
				
			||||||
  e->setConf("pianoOptionsSet",pianoOptionsSet);
 | 
					  e->setConf("pianoOptionsSet",pianoOptionsSet);
 | 
				
			||||||
 | 
					  e->setConf("pianoReadonly",pianoReadonly);
 | 
				
			||||||
  e->setConf("pianoOffset",pianoOffset);
 | 
					  e->setConf("pianoOffset",pianoOffset);
 | 
				
			||||||
  e->setConf("pianoOffsetEdit",pianoOffsetEdit);
 | 
					  e->setConf("pianoOffsetEdit",pianoOffsetEdit);
 | 
				
			||||||
  e->setConf("pianoView",pianoView);
 | 
					  e->setConf("pianoView",pianoView);
 | 
				
			||||||
| 
						 | 
					@ -6835,6 +6837,7 @@ FurnaceGUI::FurnaceGUI():
 | 
				
			||||||
  pianoOptions(true),
 | 
					  pianoOptions(true),
 | 
				
			||||||
  pianoSharePosition(false),
 | 
					  pianoSharePosition(false),
 | 
				
			||||||
  pianoOptionsSet(false),
 | 
					  pianoOptionsSet(false),
 | 
				
			||||||
 | 
					  pianoReadonly(false),
 | 
				
			||||||
  pianoOffset(6),
 | 
					  pianoOffset(6),
 | 
				
			||||||
  pianoOffsetEdit(9),
 | 
					  pianoOffsetEdit(9),
 | 
				
			||||||
  pianoView(PIANO_LAYOUT_AUTOMATIC),
 | 
					  pianoView(PIANO_LAYOUT_AUTOMATIC),
 | 
				
			||||||
| 
						 | 
					@ -6844,6 +6847,7 @@ FurnaceGUI::FurnaceGUI():
 | 
				
			||||||
  pianoOctavesEdit(4),
 | 
					  pianoOctavesEdit(4),
 | 
				
			||||||
  pianoOptions(false),
 | 
					  pianoOptions(false),
 | 
				
			||||||
  pianoSharePosition(true),
 | 
					  pianoSharePosition(true),
 | 
				
			||||||
 | 
					  pianoReadonly(false),
 | 
				
			||||||
  pianoOffset(6),
 | 
					  pianoOffset(6),
 | 
				
			||||||
  pianoOffsetEdit(6),
 | 
					  pianoOffsetEdit(6),
 | 
				
			||||||
  pianoView(PIANO_LAYOUT_STANDARD),
 | 
					  pianoView(PIANO_LAYOUT_STANDARD),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1916,6 +1916,7 @@ class FurnaceGUI {
 | 
				
			||||||
  bool pianoOptions, pianoSharePosition, pianoOptionsSet;
 | 
					  bool pianoOptions, pianoSharePosition, pianoOptionsSet;
 | 
				
			||||||
  float pianoKeyHit[180];
 | 
					  float pianoKeyHit[180];
 | 
				
			||||||
  bool pianoKeyPressed[180];
 | 
					  bool pianoKeyPressed[180];
 | 
				
			||||||
 | 
					  bool pianoReadonly;
 | 
				
			||||||
  int pianoOffset, pianoOffsetEdit;
 | 
					  int pianoOffset, pianoOffsetEdit;
 | 
				
			||||||
  int pianoView, pianoInputPadMode;
 | 
					  int pianoView, pianoInputPadMode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -123,6 +123,7 @@ void FurnaceGUI::drawPiano() {
 | 
				
			||||||
            pianoInputPadMode=PIANO_INPUT_PAD_SPLIT_VISIBLE;
 | 
					            pianoInputPadMode=PIANO_INPUT_PAD_SPLIT_VISIBLE;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          ImGui::Checkbox("Share play/edit offset/range",&pianoSharePosition);
 | 
					          ImGui::Checkbox("Share play/edit offset/range",&pianoSharePosition);
 | 
				
			||||||
 | 
					          ImGui::Checkbox("Read-only (can't input notes)",&pianoReadonly);
 | 
				
			||||||
          ImGui::EndPopup();
 | 
					          ImGui::EndPopup();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -223,7 +224,7 @@ void FurnaceGUI::drawPiano() {
 | 
				
			||||||
        //ImGui::ItemSize(size,ImGui::GetStyle().FramePadding.y);
 | 
					        //ImGui::ItemSize(size,ImGui::GetStyle().FramePadding.y);
 | 
				
			||||||
        if (ImGui::ItemAdd(rect,ImGui::GetID("pianoDisplay"))) {
 | 
					        if (ImGui::ItemAdd(rect,ImGui::GetID("pianoDisplay"))) {
 | 
				
			||||||
          bool canInput=false;
 | 
					          bool canInput=false;
 | 
				
			||||||
          if (ImGui::ItemHoverable(rect,ImGui::GetID("pianoDisplay"))) {
 | 
					          if (!pianoReadonly && ImGui::ItemHoverable(rect,ImGui::GetID("pianoDisplay"))) {
 | 
				
			||||||
            canInput=true;
 | 
					            canInput=true;
 | 
				
			||||||
            ImGui::InhibitInertialScroll();
 | 
					            ImGui::InhibitInertialScroll();
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue