var searchIndex = {}; searchIndex["musical_keyboard"] = {"doc":"","items":[[4,"Letter","musical_keyboard","The letter representation for each step in the 12-tone, equal temperament, chromatic scale.",null,null],[13,"C","","",0,null],[13,"Csh","","",0,null],[13,"Db","","",0,null],[13,"D","","",0,null],[13,"Dsh","","",0,null],[13,"Eb","","",0,null],[13,"E","","",0,null],[13,"F","","",0,null],[13,"Fsh","","",0,null],[13,"Gb","","",0,null],[13,"G","","",0,null],[13,"Gsh","","",0,null],[13,"Ab","","",0,null],[13,"A","","",0,null],[13,"Ash","","",0,null],[13,"Bb","","",0,null],[13,"B","","",0,null],[6,"Octave","","",null,null],[4,"Key","","Represent a keyboard key.\nKeycodes follows SDL http://wiki.libsdl.org/SDLKeycodeLookup",null,null],[13,"Unknown","","",1,null],[13,"Backspace","","",1,null],[13,"Tab","","",1,null],[13,"Return","","",1,null],[13,"Escape","","",1,null],[13,"Space","","",1,null],[13,"Exclaim","","",1,null],[13,"Quotedbl","","",1,null],[13,"Hash","","",1,null],[13,"Dollar","","",1,null],[13,"Percent","","",1,null],[13,"Ampersand","","",1,null],[13,"Quote","","",1,null],[13,"LeftParen","","",1,null],[13,"RightParen","","",1,null],[13,"Asterisk","","",1,null],[13,"Plus","","",1,null],[13,"Comma","","",1,null],[13,"Minus","","",1,null],[13,"Period","","",1,null],[13,"Slash","","",1,null],[13,"D0","","",1,null],[13,"D1","","",1,null],[13,"D2","","",1,null],[13,"D3","","",1,null],[13,"D4","","",1,null],[13,"D5","","",1,null],[13,"D6","","",1,null],[13,"D7","","",1,null],[13,"D8","","",1,null],[13,"D9","","",1,null],[13,"Colon","","",1,null],[13,"Semicolon","","",1,null],[13,"Less","","",1,null],[13,"Equals","","",1,null],[13,"Greater","","",1,null],[13,"Question","","",1,null],[13,"At","","",1,null],[13,"LeftBracket","","",1,null],[13,"Backslash","","",1,null],[13,"RightBracket","","",1,null],[13,"Caret","","",1,null],[13,"Underscore","","",1,null],[13,"Backquote","","",1,null],[13,"A","","",1,null],[13,"B","","",1,null],[13,"C","","",1,null],[13,"D","","",1,null],[13,"E","","",1,null],[13,"F","","",1,null],[13,"G","","",1,null],[13,"H","","",1,null],[13,"I","","",1,null],[13,"J","","",1,null],[13,"K","","",1,null],[13,"L","","",1,null],[13,"M","","",1,null],[13,"N","","",1,null],[13,"O","","",1,null],[13,"P","","",1,null],[13,"Q","","",1,null],[13,"R","","",1,null],[13,"S","","",1,null],[13,"T","","",1,null],[13,"U","","",1,null],[13,"V","","",1,null],[13,"W","","",1,null],[13,"X","","",1,null],[13,"Y","","",1,null],[13,"Z","","",1,null],[13,"Delete","","",1,null],[13,"CapsLock","","",1,null],[13,"F1","","",1,null],[13,"F2","","",1,null],[13,"F3","","",1,null],[13,"F4","","",1,null],[13,"F5","","",1,null],[13,"F6","","",1,null],[13,"F7","","",1,null],[13,"F8","","",1,null],[13,"F9","","",1,null],[13,"F10","","",1,null],[13,"F11","","",1,null],[13,"F12","","",1,null],[13,"PrintScreen","","",1,null],[13,"ScrollLock","","",1,null],[13,"Pause","","",1,null],[13,"Insert","","",1,null],[13,"Home","","",1,null],[13,"PageUp","","",1,null],[13,"End","","",1,null],[13,"PageDown","","",1,null],[13,"Right","","",1,null],[13,"Left","","",1,null],[13,"Down","","",1,null],[13,"Up","","",1,null],[13,"NumLockClear","","",1,null],[13,"NumPadDivide","","",1,null],[13,"NumPadMultiply","","",1,null],[13,"NumPadMinus","","",1,null],[13,"NumPadPlus","","",1,null],[13,"NumPadEnter","","",1,null],[13,"NumPad1","","",1,null],[13,"NumPad2","","",1,null],[13,"NumPad3","","",1,null],[13,"NumPad4","","",1,null],[13,"NumPad5","","",1,null],[13,"NumPad6","","",1,null],[13,"NumPad7","","",1,null],[13,"NumPad8","","",1,null],[13,"NumPad9","","",1,null],[13,"NumPad0","","",1,null],[13,"NumPadPeriod","","",1,null],[13,"Application","","",1,null],[13,"Power","","",1,null],[13,"NumPadEquals","","",1,null],[13,"F13","","",1,null],[13,"F14","","",1,null],[13,"F15","","",1,null],[13,"F16","","",1,null],[13,"F17","","",1,null],[13,"F18","","",1,null],[13,"F19","","",1,null],[13,"F20","","",1,null],[13,"F21","","",1,null],[13,"F22","","",1,null],[13,"F23","","",1,null],[13,"F24","","",1,null],[13,"Execute","","",1,null],[13,"Help","","",1,null],[13,"Menu","","",1,null],[13,"Select","","",1,null],[13,"Stop","","",1,null],[13,"Again","","",1,null],[13,"Undo","","",1,null],[13,"Cut","","",1,null],[13,"Copy","","",1,null],[13,"Paste","","",1,null],[13,"Find","","",1,null],[13,"Mute","","",1,null],[13,"VolumeUp","","",1,null],[13,"VolumeDown","","",1,null],[13,"NumPadComma","","",1,null],[13,"NumPadEqualsAS400","","",1,null],[13,"AltErase","","",1,null],[13,"Sysreq","","",1,null],[13,"Cancel","","",1,null],[13,"Clear","","",1,null],[13,"Prior","","",1,null],[13,"Return2","","",1,null],[13,"Separator","","",1,null],[13,"Out","","",1,null],[13,"Oper","","",1,null],[13,"ClearAgain","","",1,null],[13,"CrSel","","",1,null],[13,"ExSel","","",1,null],[13,"NumPad00","","",1,null],[13,"NumPad000","","",1,null],[13,"ThousandsSeparator","","",1,null],[13,"DecimalSeparator","","",1,null],[13,"CurrencyUnit","","",1,null],[13,"CurrencySubUnit","","",1,null],[13,"NumPadLeftParen","","",1,null],[13,"NumPadRightParen","","",1,null],[13,"NumPadLeftBrace","","",1,null],[13,"NumPadRightBrace","","",1,null],[13,"NumPadTab","","",1,null],[13,"NumPadBackspace","","",1,null],[13,"NumPadA","","",1,null],[13,"NumPadB","","",1,null],[13,"NumPadC","","",1,null],[13,"NumPadD","","",1,null],[13,"NumPadE","","",1,null],[13,"NumPadF","","",1,null],[13,"NumPadXor","","",1,null],[13,"NumPadPower","","",1,null],[13,"NumPadPercent","","",1,null],[13,"NumPadLess","","",1,null],[13,"NumPadGreater","","",1,null],[13,"NumPadAmpersand","","",1,null],[13,"NumPadDblAmpersand","","",1,null],[13,"NumPadVerticalBar","","",1,null],[13,"NumPadDblVerticalBar","","",1,null],[13,"NumPadColon","","",1,null],[13,"NumPadHash","","",1,null],[13,"NumPadSpace","","",1,null],[13,"NumPadAt","","",1,null],[13,"NumPadExclam","","",1,null],[13,"NumPadMemStore","","",1,null],[13,"NumPadMemRecall","","",1,null],[13,"NumPadMemClear","","",1,null],[13,"NumPadMemAdd","","",1,null],[13,"NumPadMemSubtract","","",1,null],[13,"NumPadMemMultiply","","",1,null],[13,"NumPadMemDivide","","",1,null],[13,"NumPadPlusMinus","","",1,null],[13,"NumPadClear","","",1,null],[13,"NumPadClearEntry","","",1,null],[13,"NumPadBinary","","",1,null],[13,"NumPadOctal","","",1,null],[13,"NumPadDecimal","","",1,null],[13,"NumPadHexadecimal","","",1,null],[13,"LCtrl","","",1,null],[13,"LShift","","",1,null],[13,"LAlt","","",1,null],[13,"LGui","","",1,null],[13,"RCtrl","","",1,null],[13,"RShift","","",1,null],[13,"RAlt","","",1,null],[13,"RGui","","",1,null],[13,"Mode","","",1,null],[13,"AudioNext","","",1,null],[13,"AudioPrev","","",1,null],[13,"AudioStop","","",1,null],[13,"AudioPlay","","",1,null],[13,"AudioMute","","",1,null],[13,"MediaSelect","","",1,null],[13,"Www","","",1,null],[13,"Mail","","",1,null],[13,"Calculator","","",1,null],[13,"Computer","","",1,null],[13,"AcSearch","","",1,null],[13,"AcHome","","",1,null],[13,"AcBack","","",1,null],[13,"AcForward","","",1,null],[13,"AcStop","","",1,null],[13,"AcRefresh","","",1,null],[13,"AcBookmarks","","",1,null],[13,"BrightnessDown","","",1,null],[13,"BrightnessUp","","",1,null],[13,"DisplaySwitch","","",1,null],[13,"KbdIllumToggle","","",1,null],[13,"KbdIllumDown","","",1,null],[13,"KbdIllumUp","","",1,null],[13,"Eject","","",1,null],[13,"Sleep","","",1,null],[3,"MusicalKeyboard","","A struct used for creating musical `Note`s via the computer keyboard.",null,null],[12,"octave","","The current base octave for the keyboard.",2,null],[12,"velocity","","The current velocity for the generated notes.",2,null],[12,"is_active","","Whether or not the keyboard is currently active.",2,null],[4,"NoteEvent","","The event that is returned from",null,null],[13,"On","","",3,null],[13,"Off","","",3,null],[6,"Velocity","","",null,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"new","","Constructor for MusicalKeyboard.",2,{"inputs":[{"name":"octave"},{"name":"velocity"},{"name":"bool"}],"output":{"name":"musicalkeyboard"}}],[11,"default","","Default constructor for MusicalKeyboard.",2,{"inputs":[],"output":{"name":"musicalkeyboard"}}],[11,"handle_input","","Handle keyboard input. This will check the given key for the following:\n- Z will step the octave down.\n- X will step the octave up.\n- C will step the velocity down.\n- V will step the velocity up.\n- Ctrl + K will toggle the keyboard on and off.\n- Home-row and some of the top row will trigger notes or release them depending on is_pressed.",2,null],[11,"maybe_note","","Translates a key into it's respective note.\nThis key pattern is an attempt at modelling a piano's keys, where Key::A is a piano's C.",2,null],[11,"maybe_note_on","","Translates a pressed key to a note on event.",2,null],[11,"maybe_note_off","","Translates a released key to a note off event.",2,null],[11,"is_black_key","","Returns whether or not the note would be a black key on a standard piano or keyboard.",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"partial_cmp","","",0,null],[11,"cmp","","",0,null],[11,"eq","","",0,null],[11,"from_i64","","",0,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",0,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"to_i64","","",0,null],[11,"to_u64","","",0,null],[11,"rand","","",0,{"inputs":[{"name":"r"}],"output":{"name":"letter"}}],[11,"add","","",0,null],[11,"sub","","",0,null],[11,"add","","",0,null],[11,"sub","","",0,null],[11,"code","","Returns an id of the key",1,null],[11,"hash","","",1,null],[11,"fmt","","",1,null],[11,"encode","","",1,null],[11,"decode","","",1,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"clone","","",1,null],[11,"from","","",1,{"inputs":[{"name":"u32"}],"output":{"name":"key"}}],[11,"eq","","",1,null],[11,"partial_cmp","","",1,null],[11,"cmp","","",1,null]],"paths":[[4,"Letter"],[4,"Key"],[3,"MusicalKeyboard"],[4,"NoteEvent"]]}; initSearch(searchIndex);