diff --git a/MidiRules.ahk b/MidiRules.ahk index 31bcd16..bf0c992 100644 --- a/MidiRules.ahk +++ b/MidiRules.ahk @@ -46,19 +46,19 @@ MidiRules: ; =============== CCs (continuous controllers) =============== if statusbyte between 176 and 191 { - tmp_axis_val := Floor((byte2 / 127) * AxisMax_X) + tmp_axis_val := Floor((byte2 / max_cc_val) * AxisMax_X) VJoy_SetAxis(tmp_axis_val, iInterface, HID_USAGE_X) ; Default action code below cc := byte1 ; pass them as is, no change. - gosub, ShowMidiInMessage + ;gosub, ShowMidiInMessage GuiControl,12:, MidiMsOut, CC %statusbyte% %chan% %cc% %byte2% gosub, ShowMidiOutMessage ;gosub, sendCC } ; Is midi input a Program Change? - if statusbyte between 192 and 208 ; check if message is in range of program change messages for byte1 values. ; !!!!!!!!!!!! no edit + if statusbyte between 192 and 208 { gosub, sendPC } diff --git a/UserVariables.ahk b/UserVariables.ahk new file mode 100644 index 0000000..03830eb --- /dev/null +++ b/UserVariables.ahk @@ -0,0 +1,2 @@ +max_cc_val = 112 +;cc_mappings = [ { cc: 67, output: "AxisX", invert: false, max: 112 }] \ No newline at end of file diff --git a/joystuff.ahk b/joystuff.ahk deleted file mode 100644 index ebf4a24..0000000 --- a/joystuff.ahk +++ /dev/null @@ -1,107 +0,0 @@ - -go_joystuff: - -gosub,joydisplay - -;************************************************* -;* add this to autoexec section of main generic midi program this section all about joystick -;************************************************* -;gosub,joydisplay ; only if you want the joydisplay to show. -SetTimer, stick, 75 ; run the loop every 50 ms - much smoother than 100 -joyX_last := -1 ; initialize -joyY_last := -1 -joyZ_last := -1 -joyR_last := -1 - IniRead, joyXnum, %version%io.ini, joystick, xaxis , %xaxis% ; read the midi In port from ini file - IniRead, joyYnum, %version%io.ini, joystick, yaxis , %yaxis% ; read the midi out port from ini file - IniRead, joyZnum, %version%io.ini, joystick, zaxis , %zaxis% ; read the midi In port from ini file - IniRead, joyRnum, %version%io.ini, joystick, raxis , %raxis% ; read the midi out port from ini file - guicontrol,2:,joyXnum, %JoyXnum% -;joyXnum := 7 ; midi output CC number for this axis -;JoyYnum := 1 -;joyZnum := 10 -;joyRnum := 11 -;************************************************* -;* end section to add to autoexec -;************************************************* -;************************************************* -;* add #include joystuff.ahk to generic midi program file -;************************************************* -;************************************************* -;* save below as joystuff.ahk put it in the same folder as generic midi -;************************************************* -return -joydisplay: ; for testging only. - Gui,2: +LastFound +AlwaysOnTop +Caption +ToolWindow ; +ToolWindow avoids a taskbar button and an alt-tab menu item. - Gui,2: Color, %CustomColor% - Gui,2: Font, s9 ; Set a large font size (32-point). - Gui,2: Add, Text, vMyText w300, ; XX & YY serve to auto-size the window. - gui,2:add,edit, vjoyXnum - Gui,2: Show, AutoSize xcenter ycenter NoActivate ; NoActivate avoids deactivating the currently active window. - -return - -stick: ; label for running joystick detection - { - GetKeyState, JoyX, JoyX ; Get position of X axis. - GetKeyState, JoyY, JoyY ; Get position of Y axis. - getkeystate, joyz, joyz ; lever 3rd axis on my joystick - ms force feedback2 (picked it up at a yardsale for $1. - getkeystate, joyr, joyr ; twist stick rotation axis on my stick - - joyXval := round(joyx*1.27) ; assumes Joyx 0-100 conversion to 0 -127 - joyYval := round((joyy/(-100)+1)*127) ; inverted output joyY 100 - 0 conversion to 127 - 0 (thanks skylord5816 ahk chat) - joyZval := round((joyZ/(-100)+1)*127) ; - joyrval := round(joyr*1.27) ;joy rotation - - GuiControl,2:, MyText, X%joyX% = ccX%joyXval% | Y%joyY% = ccY%joyYval% | R%joyR% = ccR%joyRval% | Z%joyz% = ccZ%joyzval% ; updates the joydisplay, active. - - If (joyXVal != joyx_last) ; if it has moved then send another message. - { - stb = CC - statusbyte = 176 ; chan 1 + 175 - byte1 = %joyXnum% - byte2 = %joyXval% - midiOutShortMsg(h_midiout, statusbyte, byte1, byte2) ; commented out just to run stand alone - showing the settimer is working. - gosub, ShowMidiOutMessage - joyx_last := joyXval - ;MsgBox joylast - - } - if (joyYval != joyY_last) - { - stb = CC - statusbyte = 176 ; chan 1 + 175 - byte1 = %joyYnum% - byte2 = %joyYval% - midiOutShortMsg(h_midiout, statusbyte, byte1, byte2) - gosub, ShowMidiOutMessage - joyY_last := joyYval - - } - If (joyRVal != joyR_last) - { - stb = CC - statusbyte = 176 ; chan 1 + 175 - byte1 = %joyRnum% - byte2 = %joyRval% - midiOutShortMsg(h_midiout, statusbyte, byte1, byte2) ; commented out just to run stand alone - showing the settimer is working. - gosub, ShowMidiOutMessage - joyR_last := joyRval - ;MsgBox joylast - - } - if (joyzval != joyZ_last) - { - stb = CC - statusbyte = 176 ; chan 1 + 175 - byte1 = %joyZnum% - byte2 = %joyZval% - midiOutShortMsg(h_midiout, statusbyte, byte1, byte2) ; commented out just to run stand alone - showing the settimer is working. - gosub, ShowMidiOutMessage - joyZ_last := joyZval - - } - Else - Return ; if none of them have moved, nothing to do. - } -return diff --git a/midi_to_joy_2.ahk b/midi_to_joy_2.ahk index faef3af..057ed8e 100644 --- a/midi_to_joy_2.ahk +++ b/midi_to_joy_2.ahk @@ -41,8 +41,7 @@ gosub, midiMon ; see below - a monitor gui - see Midi_In_and_Gu ;* VARIBLES TO SET @ STARTUP ;************************************************* -cc_msg = 73,74 ; ++++++++++++++++ you might want to add other vars that load in auto execute section -max_cc_val = 127 +#Include UserVariables.ahk return