[tut] How to use the GH:WT drums with FoFix with Bluetooth

Discussion particular to FoFiX, its development, and themes
Forum rules
This topic is 13 years and 3 months old. Instead of replying, please begin a new topic, or search for another related topic that may be more suitable.
User avatar
ssj60
Member
Posts: 8
Joined: March 12th, 2008
Reputation: 0

[tut] How to use the GH:WT drums with FoFix with Bluetooth

Postby ssj60 » Thu Aug 27, 2009 10:28 am

Hello,

I tried connecting the world tour drums to the pc, it worked, but the bass wasn't, so here's a little guide to make the bass work (i don't know how many people have that problem)
also, i suppose you know what glovepie and bluetooth is, if not, PM me.

1. Connect your drums to pc with BlueSoleil
2. Load the following script into Glovepie, but don't run it yet(thanks to Death_au, you rock man!!)

Spoiler:

Code: Select all

    /*
    // FoFiX World Tour multplayer multi-instrument script
    // Version 0.81 by Death_au
    // (bug fix by kirezar, Maurice10)
    //
    // Play as player 1 or two on any instrument (GH3/WT)
    // Press the minus (-) button on the Wiimote (not the instrument)
    // to change player. Check leds to see which wiimote and player
    // your instrument is bound to:
    //  []   []   []   []
    //  1    2    1    2
    // Wiimote#  Player#
    //
    // Change script settings and key bindings just below as you wish.
    */
    //do not delete this line:
    if(!var.OptionsInit)
    /*////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////
    /                       Script Settings:                         /
    //////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////*/

    //Enable Analog whammy?
    //(at least one PPJoy virtual joystick must be installed, with at least 2 axis)
    var.Guitar1.AnalogWhammy = false
    var.Guitar2.AnalogWhammy = false

    //Enable Analog slider bar?
    //(at least one PPJoy virtual joystick must be installed, with at least 2 axis)
    var.Guitar1.AnalogSlider = false
    var.Guitar2.AnalogSlider = false

    //Tilt required for star power to activate (set to >100 to disable)
    var.Guitar1.MinTilt = 18
    var.Guitar2.MinTilt = 18

    //Rumble the Wiimote if guitar is tilted for star power
    var.Guitar1.StarPowerRumble = true
    var.Guitar2.StarPowerRumble = true

    //World Tour style drum star power activation
    //(hit yellow + orange to activate)
    var.Drum1.WTStarpower = false
    var.Drum2.WTStarpower = false
    //if you hit yellow+orange to activate starpower, they don't register in-game
    var.Drum1.WTStarpowerDisableHit = true
    var.Drum2.WTStarpowerDisableHit = true

    //What pad to map the orange pad to (since it's not used in FoFiX)
    //(valid options: "BLUE", "GREEN", "YELLOW", "RED", "BASS", "NONE")
    var.Drum1.OrangeMap = "BLUE"
    var.Drum2.OrangeMap = "BLUE"

    //use the pad information in Exp2 instead of Exp 5
    //(the pads will register quicker, reccomended)
    var.Drum1.UseVelocityPads = true
    var.Drum2.UseVelocityPads = true

    //do not edit this line
    var.OptionsInit = true
    endif
    /*////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////
    /                        Control Mapping                         /
    //////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////*/

    //P1 Guitar
    Key.O               = var.Guitar1.StrumUp
    Key.P              = var.Guitar1.StrumDown
    Key.F1               = var.Guitar1.Green
    Key.F2               = var.Guitar1.Red
    Key.F3               = var.Guitar1.Yellow
    Key.F4               = var.Guitar1.Blue
    Key.F5               = var.Guitar1.Orange
    Key.Left             = var.Guitar1.Left
    Key.Right            = var.Guitar1.Right
    Key.Up               = var.Guitar1.Up
    Key.Down             = var.Guitar1.Down
    Key.Escape           = var.Guitar1.Plus //defined as "start" button in FoFiX
    Key.PageDown         = var.Guitar1.StarPower
    if(var.Guitar1.AnalogWhammy)
    ppjoy.Analog0       = var.Guitar1.Whammy
    else //Digital Killswitch button:
    Key.N          = var.Guitar1.Whammy
    endif
    if(var.Guitar1.AnalogSlider)
    ppjoy.Analog1       = var.Guitar1.SliderA
    else //map to solo fret buttons (new in FoFiX)
    Key.F6              = var.Guitar1.Slider.Green
    Key.F7              = var.Guitar1.Slider.Red
    Key.F8              = var.Guitar1.Slider.Yellow
    Key.F9              = var.Guitar1.Slider.Blue
    Key.F10             = var.Guitar1.Slider.Orange
    endif

    //P2 Guitar
    Key.Delete           = var.Guitar2.StrumUp
    Key.Insert           = var.Guitar2.StrumDown
    Key.One              = var.Guitar2.Green
    Key.Two              = var.Guitar2.Red
    Key.Three            = var.Guitar2.Yellow
    Key.Four             = var.Guitar2.Blue
    Key.Five             = var.Guitar2.Orange
    Key.Left             = var.Guitar2.Left
    Key.Right            = var.Guitar2.Right
    Key.Up               = var.Guitar2.Up
    Key.Down             = var.Guitar2.Down
    Key.Console          = var.Guitar2.Plus
    Key.Home             = var.Guitar2.StarPower //Minus button
    if(var.Guitar2.AnalogWhammy)
    ppjoy.Analog2       = var.Guitar2.Whammy
    else //Digital Killswitch button:
    Key.End             = var.Guitar2.Whammy
    endif
    if(var.Guitar2.AnalogSlider)
    ppjoy.Analog3       = var.Guitar2.SliderA
    else //map to solo fret buttons (new in FoFiX)
    Key.F6              = var.Guitar2.Slider.Green
    Key.F7              = var.Guitar2.Slider.Red
    Key.F8              = var.Guitar2.Slider.Yellow
    Key.F9              = var.Guitar2.Slider.Blue
    Key.F10             = var.Guitar2.Slider.Orange
    endif

    //P1 Drum
    Key.Space            = var.Drum1.Bass
    Key.A                = var.Drum1.Red
    Key.E                = var.Drum1.Yellow
    Key.T                = var.Drum1.Blue
    Key.Y                = var.Drum1.Orange  //uncomment to change key binding for orange pad
    Key.U                = var.Drum1.Green
    Key.Up               = var.Drum1.Up
    Key.Down             = var.Drum1.Down
    Key.Left             = var.Drum1.Left
    Key.Right            = var.Drum1.Right
    Key.Escape           = var.Drum1.Plus
    Key.PageDown         = var.Drum1.StarPower //minus button

    //P2 Drum
    Key.L                = var.Drum2.Bass
    Key.Z                = var.Drum2.Red
    Key.D                = var.Drum2.Yellow
    Key.G                = var.Drum2.Blue
    //Key.H                = var.Drum2.Orange //uncomment to change key binding for orange pad
    Key.J                = var.Drum2.Green
    Key.Up               = var.Drum2.Up
    Key.Down             = var.Drum2.Down
    Key.Left             = var.Drum2.Left
    Key.Right            = var.Drum2.Right
    Key.Console          = var.Drum2.Plus
    Key.End              = var.Drum2.StarPower //Minus button


    /*////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////
    / DO NOT EDIT THIS SECTION UNLESS YOU KNOW WHAT YOU'RE DOING!!!! /
    //////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////*/

    //Get the number of wiimotes
    var.count = Wiimote.Count
    if(!var.init)
    //initialization code:

    //Set initial "player"
    var.Wiimote1Player = 1
    var.Wiimote2Player = 2
    //set the glove pie refresh rate:
    PIE.FrameRate = 300Hz

    //Detection for expansion controllers
    var.Wiimote1Instrument = "NOT RECOGNISED"
    var.Wiimote2Instrument = "NOT RECOGNISED"

    //end init
    var.init = true
    endif

    //detect if controllers were unplugged
    if(!Wiimote1.Expansion)
      var.Wiimote1Instrument = "NO EXPANSION"
    endif
    if(!Wiimote2.Expansion)
      var.Wiimote2Instrument = "NO EXPANSION"
    endif

      if(Wiimote1.Expansion && var.Wiimote1Instrument == "NO EXPANSION")  //Something just got plugged in
        wait 100ms
        if(Wiimote1.HasGuitar)  //A GH3 Guitar
          var.Wiimote1Instrument = "GH3"
        else //Not a GH3 Guitar, try the wakeup code:
          WiimotePoke(1, 0x4A400F0, 0x55) // Decrypt
          wait 100ms
          WiimotePoke(1, 0x4A400FB, 0) // Unknown
          wait 100ms
          WiimotePoke(1, 0x4A40040, 0)
          wait 100ms
          WiimoteSend(1, 0x17, 0x04, 0xA4, 0x00, 0xF0, 0, 16) // get type
          wait 100ms
         //check for the instrument again
         if(Wiimote1.HasGuitar) //GH4 Instrument found, check for drum/guitar
           if(|(1-((wiimote1.Exp2 & 128) >> 7))| == 1) // Guitar
             var.Wiimote1Instrument = "GH4"
           else //Must be drum
             var.Wiimote1Instrument = "DRUM"
           endif
         else //no gh4 instrument either
           var.Wiimote1Instrument = "NOT RECOGNISED"
         endif
        endif
      endif

    if(var.Count > 1) //2 (or more) wiimotes
      //Check Expansion Type
      if(Wiimote2.Expansion && var.Wiimote1Instrument == "NO EXPANSION")  //Something just got plugged in
        wait 100ms
        if(Wiimote2.HasGuitar)  //A GH3 Guitar
          var.Wiimote2Instrument = "GH3"
        else //Not a GH3 Guitar, try the wakeup code:
          WiimotePoke(1, 0x4A400F0, 0x55) // Decrypt
          wait 100ms
          WiimotePoke(1, 0x4A400FB, 0) // Unknown
          wait 100ms
          WiimotePoke(1, 0x4A40040, 0)
          wait 100ms
          WiimoteSend(1, 0x17, 0x04, 0xA4, 0x00, 0xF0, 0, 16) // get type
          wait 100ms
          //check for the instrument again
          if(Wiimote2.HasGuitar) //GH4 Instrument found, check for drum/guitar
            if(|(1-((Wiimote2.Exp2 & 128) >> 7))| == 1) // Guitar
              var.Wiimote2Instrument = "GH4"
            else //Must be drum
              var.Wiimote2Instrument = "DRUM"
            endif
          else //no gh4 instrument either
            var.Wiimote2Instrument = "NOT RECOGNISED"
          endif
        endif
      endif
    endif //2 (or more) wiimotes

    debug = "Wiimote1: " + var.Wiimote1Player + "; " + var.Wiimote1Instrument
    debug += "; Wiimote2: " + var.Wiimote2Player + "; " + var.Wiimote2Instrument

    //Player switching / display code
    //swap Wimmote 1/2 players
    if(pressed(Wiimote1.Minus) OR pressed(Wiimote1.Plus) OR pressed(Wiimote2.Minus) OR pressed(Wiimote2.Plus))
      if(var.Wiimote1Player == 1)
        var.Wiimote1Player = 2
        var.Wiimote2Player = 1
      else
        var.Wiimote1Player = 1
        var.Wiimote2Player = 2
      endif
    endif

    //display wiimote1 info
    Wiimote1.Led1 = true
    Wiimote1.Led2 = false
    if(var.Wiimote1Player == 1)
      Wiimote1.Led3 = true
      Wiimote1.Led4 = false
    else if(var.Wiimote1Player == 2)
      Wiimote1.Led3 = false
      Wiimote1.Led4 = true
    else
      Wiimote1.Led3 = false
      Wiimote1.Led4 = false
    endif

    //////////////////////////////////////////////////////////////
    // Controller mappings:
    //////////////////////////////////////////////////////////////
    // GH3 Guitar
    //////////////////////////////////////////////////////////////
    if(var.Wiimote1Instrument == "GH3")
      // Player 1
      if(var.Wiimote1Player == 1)
        // Joystick
        var.Guitar1.Left  = (-1.2 < Wiimote1.Guitar.JoyX < -0.5)
        var.Guitar1.Right = ( 0.5 < Wiimote1.Guitar.JoyX <  1.2)
        var.Guitar1.Up    = (-1.2 < Wiimote1.Guitar.JoyY < -0.5)
        var.Guitar1.Down  = ( 0.5 < Wiimote1.Guitar.JoyY <  1.2)
       
        // Fret Buttons
        var.Guitar1.Green   = Wiimote1.Guitar.Fret1
        var.Guitar1.Red     = Wiimote1.Guitar.Fret2
        var.Guitar1.Yellow  = Wiimote1.Guitar.Fret3
        var.Guitar1.Blue    = Wiimote1.Guitar.Fret4
        var.Guitar1.Orange  = Wiimote1.Guitar.Fret5

        //Strumming
        var.Guitar1.StrumUp   = Wiimote1.Guitar.StrumUp
        var.Guitar1.StrumDown = Wiimote1.Guitar.StrumDown   

        //Star Power
        var.Guitar1.StarPower = Wiimote1.Guitar.Minus OR (var.Guitar1.MinTilt < Wiimote1.RawForceZ < 100)
        wiimote1.Rumble       = (var.Guitar1.StarPowerRumble AND var.Guitar1.StarPower)
        //Pause/Back
        var.Guitar1.Plus      = Wiimote1.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar1.AnalogWhammy)
          var.Guitar1.Whammy = Wiimote1.Guitar.WhammyBar
        else
          var.Guitar1.Whammy = (0.7 < Wiimote1.Guitar.WhammyBar <= 1.0)
        endif
       
      //Player 2
      else if(var.Wiimote1Player == 2)
        // Joystick
        var.Guitar2.Left  = (-1.2 < Wiimote1.Guitar.JoyX < -0.5)
        var.Guitar2.Right = ( 0.5 < Wiimote1.Guitar.JoyX <  1.2)
        var.Guitar2.Up    = (-1.2 < Wiimote1.Guitar.JoyY < -0.5)
        var.Guitar2.Down  = ( 0.5 < Wiimote1.Guitar.JoyY <  1.2)

        // Fret Buttons
        var.Guitar2.Green   = Wiimote1.Guitar.Fret1
        var.Guitar2.Red     = Wiimote1.Guitar.Fret2
        var.Guitar2.Yellow  = Wiimote1.Guitar.Fret3
        var.Guitar2.Blue    = Wiimote1.Guitar.Fret4
        var.Guitar2.Orange  = Wiimote1.Guitar.Fret5
       
        //Strumming
        var.Guitar2.StrumUp   = Wiimote1.Guitar.StrumUp
        var.Guitar2.StrumDown = Wiimote1.Guitar.StrumDown
       
        //Star Power
        var.Guitar2.StarPower = Wiimote1.Guitar.Minus OR (var.Guitar2.MinTilt < Wiimote1.RawForceZ < 100)
        wiimote1.Rumble       = (var.Guitar2.StarPowerRumble AND var.Guitar2.StarPower)
        //Pause/Back
        var.Guitar2.Plus      = Wiimote1.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar2.AnalogWhammy)
          var.Guitar2.Whammy = Wiimote1.Guitar.WhammyBar
        else
          var.Guitar2.Whammy = (0.7 < Wiimote1.Guitar.WhammyBar <= 1.0)
        endif
       
      endif
    //////////////////////////////////////////////////////////////
    // GH4 (WT) Guitar
    //////////////////////////////////////////////////////////////
    elseif(var.Wiimote1Instrument == "GH4")
      //Player 1
      if(var.Wiimote1Player == 1)
        // Joystick
        var.Guitar1.Left  = (Wiimote1.Exp0 < 25)
        var.Guitar1.Right = (Wiimote1.Exp0 > 40)
        var.Guitar1.Down  = (Wiimote1.Exp1 > 40)
        var.Guitar1.Up    = (Wiimote1.Exp1 < 25)
       
        // Fret Buttons
        var.Guitar1.Green   = Wiimote1.Guitar.Fret1
        var.Guitar1.Red     = Wiimote1.Guitar.Fret2
        var.Guitar1.Yellow  = Wiimote1.Guitar.Fret3
        var.Guitar1.Blue    = Wiimote1.Guitar.Fret4
        var.Guitar1.Orange  = Wiimote1.Guitar.Fret5
       
        //Strumming
        var.Guitar1.StrumUp   = Wiimote1.Guitar.StrumUp
        var.Guitar1.StrumDown = Wiimote1.Guitar.StrumDown
       
        //Star Power
        var.Guitar1.StarPower = Wiimote1.Guitar.Minus OR (var.Guitar1.MinTilt < Wiimote1.RawForceZ < 100)
        wiimote1.Rumble       = (var.Guitar1.StarPowerRumble AND var.Guitar1.StarPower)
        //Pause/Back
        var.Guitar1.Plus      = Wiimote1.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar1.AnalogWhammy)
          var.Guitar1.Whammy = Wiimote1.Guitar.WhammyBar
        else
          var.Guitar1.Whammy = (0.7 < Wiimote1.Guitar.WhammyBar <= 1.0)
        endif
       
        //Slider bar
        if(var.Guitar1.AnalogSlider)
          var.Guitar1.SliderA = (Wiimote1.Exp2 / 15.8) - 1.12
        else
          var.Guitar1.Slider.Green =  (      Wiimote1.Exp2 < 9 )
          var.Guitar1.Slider.Red =    (6  <= Wiimote1.Exp2 < 14)
          var.Guitar1.Slider.Yellow = (11 <= Wiimote1.Exp2 < 14) or (17 <= Wiimote1.Exp2 < 22)
          var.Guitar1.Slider.Blue =   (20 <= Wiimote1.Exp2 < 28)
          var.Guitar1.Slider.Orange = (25 <= Wiimote1.Exp2 <=32)
        endif
       
        /*   
        G    -  04     -       < 6
        GR   -  07     - 6  <= < 9
        R    -  10     - 9  <= < 11                               g - (       < 9 )
        RY   -  12/13  - 11 <= < 14                               r - (6  <=  < 14)
        NONE -  15     - 14 <= < 17                               y - (11 <=  < 14) && (17 <= < 22)
        Y    -  18/19  - 17 <= < 20                               b - (20 <=  < 28)
        YB   -  20/21  - 20 <= < 22                               o - (  >=25)
        B    -  23/24  - 22 <= < 25
        BO   -  26     - 25 <= < 28
        O    -  31     - >=28
        */
       
       
       

      //Player 2
      else if(var.Wiimote1Player == 2)
        // Joystick
        var.Guitar2.Left  = (Wiimote1.Exp0 < 25)
        var.Guitar2.Right = (Wiimote1.Exp0 > 40)
        var.Guitar2.Down  = (Wiimote1.Exp1 > 40)
        var.Guitar2.Up    = (Wiimote1.Exp1 < 25)
       
        // Fret Buttons
        var.Guitar2.Green   = Wiimote1.Guitar.Fret1
        var.Guitar2.Red     = Wiimote1.Guitar.Fret2
        var.Guitar2.Yellow  = Wiimote1.Guitar.Fret3
        var.Guitar2.Blue    = Wiimote1.Guitar.Fret4
        var.Guitar2.Orange  = Wiimote1.Guitar.Fret5
       
        //Strumming
        var.Guitar2.StrumUp   = Wiimote1.Guitar.StrumUp
        var.Guitar2.StrumDown = Wiimote1.Guitar.StrumDown
       
        //Star Power
        var.Guitar2.StarPower = Wiimote1.Guitar.Minus OR (var.Guitar2.MinTilt < Wiimote1.RawForceZ < 100)
        wiimote1.Rumble       = (var.Guitar2.StarPowerRumble AND var.Guitar2.StarPower)
        //Pause/Back
        var.Guitar2.Plus      = Wiimote1.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar2.AnalogWhammy)
          var.Guitar2.Whammy = Wiimote1.Guitar.WhammyBar
        else
          var.Guitar2.Whammy = (0.7 < Wiimote1.Guitar.WhammyBar <= 1.0)
        endif
       
        //Slider bar
        if(var.Guitar2.AnalogSlider)
          var.Guitar2.SliderA = (Wiimote1.Exp2 / 15.8) - 1.12
        else
          var.Guitar2.Slider.Green =  (      Wiimote1.Exp2 < 9 )
          var.Guitar2.Slider.Red =    (6  <= Wiimote1.Exp2 < 14)
          var.Guitar2.Slider.Yellow = (11 <= Wiimote1.Exp2 < 14) or (17 <= Wiimote1.Exp2 < 22)
          var.Guitar2.Slider.Blue =   (20 <= Wiimote1.Exp2 < 28)
          var.Guitar2.Slider.Orange = (25 <= Wiimote1.Exp2 <=32)
        endif
       
      endif
    //////////////////////////////////////////////////////////////
    // GH4 (WT) Drums
    //////////////////////////////////////////////////////////////
    elseif(var.Wiimote1Instrument == "DRUM")
      //Player 1
      if(var.Wiimote1Player == 1)
        // Joystick
        var.Drum1.Left  = (Wiimote1.Exp0 < 25)
        var.Drum1.Right = (Wiimote1.Exp0 > 40)
        var.Drum1.Down  = (Wiimote1.Exp1 > 40)
        var.Drum1.Up    = (Wiimote1.Exp1 < 25)

        // Drum pads
        if(var.Drum1.UseVelocityPads)
          var.Drum1.Bass    = (Wiimote1.Exp2=182 or Wiimote1.Exp2=183)
          var.Drum1.Red     = (Wiimote1.Exp2=178 or Wiimote1.Exp2=179)
          var.Drum1.Yellow  = (Wiimote1.Exp2=162 or Wiimote1.Exp2=163)
          var.Drum1.Blue    = (Wiimote1.Exp2=158 or Wiimote1.Exp2=159)
          var.Drum1.Green   = (Wiimote1.Exp2=164 or Wiimote1.Exp2=165)
          var.Drum1.Orange  = (Wiimote1.Exp2=156 or Wiimote1.Exp2=157)
        else
          var.Drum1.Bass    = |(1-((wiimote1.Exp5 & 4)   >> 2))|
          var.Drum1.Red     = |(1-((wiimote1.Exp5 & 64)  >> 6))|
          var.Drum1.Yellow  = |(1-((wiimote1.Exp5 & 32)  >> 5))|
          var.Drum1.Blue    = |(1-((wiimote1.Exp5 & 8)   >> 3))|
          var.Drum1.Green   = |(1-((wiimote1.Exp5 & 16)  >> 4))|
          var.Drum1.Orange  = |(1-((wiimote1.Exp5 & 128) >> 7))|
        endif
       
        //WT Starpower activation
        if(var.Drum1.WTStarpower AND var.Drum1.Yellow AND var.Drum1.Orange)
          var.Drum1.StarPower = true
          if(var.Drum1.WTStarpowerDisableHit)
            var.Drum1.Yellow = false
            var.Drum1.Orange = false
          endif
        endif
       
        //Star power by minus button
        var.Drum1.StarPower = var.Drum1.StarPower OR Wiimote1.Guitar.Minus
       
        //Pause/Back (plus)
        var.Drum1.Plus = Wiimote1.Guitar.Plus
       
        // Remap the orange pad:
        if(var.Drum1.OrangeMap == "GREEN")
          var.Drum1.Green = var.Drum1.Green OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "YELLOW")
          var.Drum1.Yellow = var.Drum1.Yellow OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "RED")
          var.Drum1.Red = var.Drum1.Red OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "BLUE")
          var.Drum1.Blue = var.Drum1.Blue OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "BASS")
          var.Drum1.Bass = var.Drum1.Bass OR var.Drum1.Orange
        endif

      //Player 2
      else if(var.Wiimote1Player == 2)
        // Joystick
        var.Drum2.Left  = (Wiimote1.Exp0 < 25)
        var.Drum2.Right = (Wiimote1.Exp0 > 40)
        var.Drum2.Down  = (Wiimote1.Exp1 > 40)
        var.Drum2.Up    = (Wiimote1.Exp1 < 25)

        // Drum pads
        if(var.Drum2.UseVelocityPads)
          var.Drum2.Bass    = (Wiimote1.Exp2=182 or Wiimote1.Exp2=183)
          var.Drum2.Red     = (Wiimote1.Exp2=178 or Wiimote1.Exp2=179)
          var.Drum2.Yellow  = (Wiimote1.Exp2=162 or Wiimote1.Exp2=163)
          var.Drum2.Blue    = (Wiimote1.Exp2=158 or Wiimote1.Exp2=159)
          var.Drum2.Green   = (Wiimote1.Exp2=164 or Wiimote1.Exp2=165)
          var.Drum2.Orange  = (Wiimote1.Exp2=156 or Wiimote1.Exp2=157)
        else
          var.Drum2.Bass    = |(1-((wiimote1.Exp5 & 4)   >> 2))|
          var.Drum2.Red     = |(1-((wiimote1.Exp5 & 64)  >> 6))|
          var.Drum2.Yellow  = |(1-((wiimote1.Exp5 & 32)  >> 5))|
          var.Drum2.Blue    = |(1-((wiimote1.Exp5 & 8)   >> 3))|
          var.Drum2.Green   = |(1-((wiimote1.Exp5 & 16)  >> 4))|
          var.Drum2.Orange  = |(1-((wiimote1.Exp5 & 128) >> 7))|
        endif
       
        //WT Starpower activation
        if(var.Drum2.WTStarpower AND var.Drum2.Yellow AND var.Drum2.Orange)
          var.Drum2.StarPower = true
          if(var.Drum2.WTStarpowerDisableHit)
            var.Drum2.Yellow = false
            var.Drum2.Orange = false
          endif
        endif
       
        //Star power by minus button
        var.Drum2.StarPower = var.Drum2.StarPower OR Wiimote1.Guitar.Minus
       
        //Pause/Back (plus)
        var.Drum2.Plus = Wiimote1.Guitar.Plus
       
        // Remap the orange pad:
        if(var.Drum2.OrangeMap == "GREEN")
          var.Drum2.Green = var.Drum2.Green OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "YELLOW")
          var.Drum2.Yellow = var.Drum2.Yellow OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "RED")
          var.Drum2.Red = var.Drum2.Red OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "BLUE")
          var.Drum2.Blue = var.Drum2.Blue OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "BASS")
          var.Drum2.Bass = var.Drum2.Bass OR var.Drum2.Orange
        endif
      endif

    //No instrument connected
    else
      Wiimote1.Led3 = false
      Wiimote1.Led4 = false
      wait 1000ms
    endif


    ///////////////////////////////////////////////////////////////
    if(var.count > 1) // Wiimote 2
    ///////////////////////////////////////////////////////////////

    //display wiimote2 info
    Wiimote2.Led1 = true
    Wiimote2.Led2 = false
    if(var.Wiimote2Player == 1)
      Wiimote2.Led3 = true
      Wiimote2.Led4 = false
    else if(var.Wiimote2Player == 2)
      Wiimote2.Led3 = false
      Wiimote2.Led4 = true
    else
      Wiimote2.Led3 = false
      Wiimote2.Led4 = false
    endif

    //////////////////////////////////////////////////////////////
    // GH3 Guitar
    //////////////////////////////////////////////////////////////
    if(var.Wiimote2Instrument == "GH3")
      // Player 1
      if(var.Wiimote2Player == 1)
        // Joystick
        var.Guitar1.Left  = (-1.2 < Wiimote2.Guitar.JoyX < -0.5)
        var.Guitar1.Right = ( 0.5 < Wiimote2.Guitar.JoyX <  1.2)
        var.Guitar1.Up    = (-1.2 < Wiimote2.Guitar.JoyY < -0.5)
        var.Guitar1.Down  = ( 0.5 < Wiimote2.Guitar.JoyY <  1.2)
       
        // Fret Buttons
        var.Guitar1.Green   = Wiimote2.Guitar.Fret1
        var.Guitar1.Red     = Wiimote2.Guitar.Fret2
        var.Guitar1.Yellow  = Wiimote2.Guitar.Fret3
        var.Guitar1.Blue    = Wiimote2.Guitar.Fret4
        var.Guitar1.Orange  = Wiimote2.Guitar.Fret5

        //Strumming
        var.Guitar1.StrumUp   = Wiimote2.Guitar.StrumUp
        var.Guitar1.StrumDown = Wiimote2.Guitar.StrumDown   

        //Star Power
        var.Guitar1.StarPower = Wiimote2.Guitar.Minus OR (var.Guitar1.MinTilt < Wiimote2.RawForceZ < 100)
        wiimote2.Rumble       = (var.Guitar1.StarPowerRumble AND var.Guitar1.StarPower)
        //Pause/Back
        var.Guitar1.Plus      = Wiimote2.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar1.AnalogWhammy)
          var.Guitar1.Whammy = Wiimote2.Guitar.WhammyBar
        else
          var.Guitar1.Whammy = (0.7 < Wiimote2.Guitar.WhammyBar <= 1.0)
        endif
       
      //Player 2
      else if(var.Wiimote2Player == 2)
        // Joystick
        var.Guitar2.Left  = (-1.2 < Wiimote2.Guitar.JoyX < -0.5)
        var.Guitar2.Right = ( 0.5 < Wiimote2.Guitar.JoyX <  1.2)
        var.Guitar2.Up    = (-1.2 < Wiimote2.Guitar.JoyY < -0.5)
        var.Guitar2.Down  = ( 0.5 < Wiimote2.Guitar.JoyY <  1.2)

        // Fret Buttons
        var.Guitar2.Green   = Wiimote2.Guitar.Fret1
        var.Guitar2.Red     = Wiimote2.Guitar.Fret2
        var.Guitar2.Yellow  = Wiimote2.Guitar.Fret3
        var.Guitar2.Blue    = Wiimote2.Guitar.Fret4
        var.Guitar2.Orange  = Wiimote2.Guitar.Fret5
       
        //Strumming
        var.Guitar2.StrumUp   = Wiimote2.Guitar.StrumUp
        var.Guitar2.StrumDown = Wiimote2.Guitar.StrumDown
       
        //Star Power
        var.Guitar2.StarPower = Wiimote2.Guitar.Minus OR (var.Guitar2.MinTilt < Wiimote2.RawForceZ < 100)
        wiimote2.Rumble       = (var.Guitar2.StarPowerRumble AND var.Guitar2.StarPower)
        //Pause/Back
        var.Guitar2.Plus      = Wiimote2.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar2.AnalogWhammy)
          var.Guitar2.Whammy = Wiimote2.Guitar.WhammyBar
        else
          var.Guitar2.Whammy = (0.7 < Wiimote2.Guitar.WhammyBar <= 1.0)
        endif
       
      endif
    //////////////////////////////////////////////////////////////
    // GH4 (WT) Guitar
    //////////////////////////////////////////////////////////////
    elseif(var.Wiimote2Instrument == "GH4")
      //Player 1
      if(var.Wiimote2Player == 1)
        // Joystick
        var.Guitar1.Left  = (Wiimote2.Exp0 < 25)
        var.Guitar1.Right = (Wiimote2.Exp0 > 40)
        var.Guitar1.Down  = (Wiimote2.Exp1 > 40)
        var.Guitar1.Up    = (Wiimote2.Exp1 < 25)
       
        // Fret Buttons
        var.Guitar1.Green   = Wiimote2.Guitar.Fret1
        var.Guitar1.Red     = Wiimote2.Guitar.Fret2
        var.Guitar1.Yellow  = Wiimote2.Guitar.Fret3
        var.Guitar1.Blue    = Wiimote2.Guitar.Fret4
        var.Guitar1.Orange  = Wiimote2.Guitar.Fret5
       
        //Strumming
        var.Guitar1.StrumUp   = Wiimote2.Guitar.StrumUp
        var.Guitar1.StrumDown = Wiimote2.Guitar.StrumDown
       
        //Star Power
        var.Guitar1.StarPower = Wiimote2.Guitar.Minus OR (var.Guitar1.MinTilt < Wiimote2.RawForceZ < 100)
        wiimote2.Rumble       = (var.Guitar1.StarPowerRumble AND var.Guitar1.StarPower)
        //Pause/Back
        var.Guitar1.Plus      = Wiimote2.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar1.AnalogWhammy)
          var.Guitar1.Whammy = Wiimote2.Guitar.WhammyBar
        else
          var.Guitar1.Whammy = (0.7 < Wiimote2.Guitar.WhammyBar <= 1.0)
        endif
       
        //Slider bar
        if(var.Guitar1.AnalogSlider)
          var.Guitar1.SliderA = (Wiimote2.Exp2 / 15.8) - 1.12
        else
          var.Guitar1.Slider.Green =  (      Wiimote2.Exp2 < 9 )
          var.Guitar1.Slider.Red =    (6  <= Wiimote2.Exp2 < 14)
          var.Guitar1.Slider.Yellow = (11 <= Wiimote2.Exp2 < 14) or (17 <= Wiimote2.Exp2 < 22)
          var.Guitar1.Slider.Blue =   (20 <= Wiimote2.Exp2 < 28)
          var.Guitar1.Slider.Orange = (25 <= Wiimote2.Exp2 <=32)
        endif

      //Player 2
      else if(var.Wiimote2Player == 2)
        // Joystick
        var.Guitar2.Left  = (Wiimote2.Exp0 < 25)
        var.Guitar2.Right = (Wiimote2.Exp0 > 40)
        var.Guitar2.Down  = (Wiimote2.Exp1 > 40)
        var.Guitar2.Up    = (Wiimote2.Exp1 < 25)
       
        // Fret Buttons
        var.Guitar2.Green   = Wiimote2.Guitar.Fret1
        var.Guitar2.Red     = Wiimote2.Guitar.Fret2
        var.Guitar2.Yellow  = Wiimote2.Guitar.Fret3
        var.Guitar2.Blue    = Wiimote2.Guitar.Fret4
        var.Guitar2.Orange  = Wiimote2.Guitar.Fret5
       
        //Strumming
        var.Guitar2.StrumUp   = Wiimote2.Guitar.StrumUp
        var.Guitar2.StrumDown = Wiimote2.Guitar.StrumDown
       
        //Star Power
        var.Guitar2.StarPower = Wiimote2.Guitar.Minus OR (var.Guitar2.MinTilt < Wiimote2.RawForceZ < 100)
        wiimote2.Rumble       = (var.Guitar2.StarPowerRumble AND var.Guitar2.StarPower)
        //Pause/Back
        var.Guitar2.Plus      = Wiimote2.Guitar.Plus
       
        //Whammy/Killswitch
        if(var.Guitar2.AnalogWhammy)
          var.Guitar2.Whammy = Wiimote2.Guitar.WhammyBar
        else
          var.Guitar2.Whammy = (0.7 < Wiimote2.Guitar.WhammyBar <= 1.0)
        endif
       
        //Slider bar
        if(var.Guitar2.AnalogSlider)
          var.Guitar2.SliderA = (Wiimote2.Exp2 / 15.8) - 1.12
        else
          var.Guitar2.Slider.Green =  (      Wiimote2.Exp2 < 9 )
          var.Guitar2.Slider.Red =    (6  <= Wiimote2.Exp2 < 14)
          var.Guitar2.Slider.Yellow = (11 <= Wiimote2.Exp2 < 14) or (17 <= Wiimote2.Exp2 < 22)
          var.Guitar2.Slider.Blue =   (20 <= Wiimote2.Exp2 < 28)
          var.Guitar2.Slider.Orange = (25 <= Wiimote2.Exp2 <=32)
        endif
       
      endif
    //////////////////////////////////////////////////////////////
    // GH4 (WT) Drums
    //////////////////////////////////////////////////////////////
    elseif(var.Wiimote2Instrument == "DRUMS")
      //Player 1
      if(var.Wiimote2Player == 1)
        // Joystick
        var.Drum1.Left  = (Wiimote2.Exp0 < 25)
        var.Drum1.Right = (Wiimote2.Exp0 > 40)
        var.Drum1.Down  = (Wiimote2.Exp1 > 40)
        var.Drum1.Up    = (Wiimote2.Exp1 < 25)

        // Drum pads
        if(var.Drum1.UseVelocityPads)
          var.Drum1.Bass    = (Wiimote2.Exp2=182 or Wiimote2.Exp2=183)
          var.Drum1.Red     = (Wiimote2.Exp2=178 or Wiimote2.Exp2=179)
          var.Drum1.Yellow  = (Wiimote2.Exp2=162 or Wiimote2.Exp2=163)
          var.Drum1.Blue    = (Wiimote2.Exp2=158 or Wiimote2.Exp2=159)
          var.Drum1.Green   = (Wiimote2.Exp2=164 or Wiimote2.Exp2=165)
          var.Drum1.Orange  = (Wiimote2.Exp2=156 or Wiimote2.Exp2=157)
        else
          var.Drum1.Bass    = |(1-((Wiimote2.Exp5 & 4)   >> 2))|
          var.Drum1.Red     = |(1-((Wiimote2.Exp5 & 64)  >> 6))|
          var.Drum1.Yellow  = |(1-((Wiimote2.Exp5 & 32)  >> 5))|
          var.Drum1.Blue    = |(1-((Wiimote2.Exp5 & 8)   >> 3))|
          var.Drum1.Green   = |(1-((Wiimote2.Exp5 & 16)  >> 4))|
          var.Drum1.Orange  = |(1-((Wiimote2.Exp5 & 128) >> 7))|
        endif
       
        //WT Starpower activation
        if(var.Drum1.WTStarpower AND var.Drum1.Yellow AND var.Drum1.Orange)
          var.Drum1.StarPower = true
          if(var.Drum1.WTStarpowerDisableHit)
            var.Drum1.Yellow = false
            var.Drum1.Orange = false
          endif
        endif
       
        //Star power by minus button
        var.Drum1.StarPower = var.Drum1.StarPower OR Wiimote2.Guitar.Minus
       
        //Pause/Back (plus)
        var.Drum1.Plus = Wiimote2.Guitar.Plus
       
        // Remap the orange pad:
        if(var.Drum1.OrangeMap == "GREEN")
          var.Drum1.Green = var.Drum1.Green OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "YELLOW")
          var.Drum1.Yellow = var.Drum1.Yellow OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "RED")
          var.Drum1.Red = var.Drum1.Red OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "BLUE")
          var.Drum1.Blue = var.Drum1.Blue OR var.Drum1.Orange
        elseif(var.Drum1.OrangeMap == "BASS")
          var.Drum1.Bass = var.Drum1.Bass OR var.Drum1.Orange
        endif

      //Player 2
      else if(var.Wiimote2Player == 2)
        // Joystick
        var.Drum2.Left  = (Wiimote2.Exp0 < 25)
        var.Drum2.Right = (Wiimote2.Exp0 > 40)
        var.Drum2.Down  = (Wiimote2.Exp1 > 40)
        var.Drum2.Up    = (Wiimote2.Exp1 < 25)

        // Drum pads
        if(var.Drum2.UseVelocityPads)
          var.Drum2.Bass    = (Wiimote2.Exp2=182 or Wiimote2.Exp2=183)
          var.Drum2.Red     = (Wiimote2.Exp2=178 or Wiimote2.Exp2=179)
          var.Drum2.Yellow  = (Wiimote2.Exp2=162 or Wiimote2.Exp2=163)
          var.Drum2.Blue    = (Wiimote2.Exp2=158 or Wiimote2.Exp2=159)
          var.Drum2.Green   = (Wiimote2.Exp2=164 or Wiimote2.Exp2=165)
          var.Drum2.Orange  = (Wiimote2.Exp2=156 or Wiimote2.Exp2=157)
        else
          var.Drum2.Bass    = |(1-((Wiimote2.Exp5 & 4)   >> 2))|
          var.Drum2.Red     = |(1-((Wiimote2.Exp5 & 64)  >> 6))|
          var.Drum2.Yellow  = |(1-((Wiimote2.Exp5 & 32)  >> 5))|
          var.Drum2.Blue    = |(1-((Wiimote2.Exp5 & 8)   >> 3))|
          var.Drum2.Green   = |(1-((Wiimote2.Exp5 & 16)  >> 4))|
          var.Drum2.Orange  = |(1-((Wiimote2.Exp5 & 128) >> 7))|
        endif
       
        //WT Starpower activation
        if(var.Drum2.WTStarpower AND var.Drum2.Yellow AND var.Drum2.Orange)
          var.Drum2.StarPower = true
          if(var.Drum2.WTStarpowerDisableHit)
            var.Drum2.Yellow = false
            var.Drum2.Orange = false
          endif
        endif
       
        //Star power by minus button
        var.Drum2.StarPower = var.Drum2.StarPower OR Wiimote2.Guitar.Minus
       
        //Pause/Back (plus)
        var.Drum2.Plus = Wiimote2.Guitar.Plus
       
        // Remap the orange pad:
        if(var.Drum2.OrangeMap == "GREEN")
          var.Drum2.Green = var.Drum2.Green OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "YELLOW")
          var.Drum2.Yellow = var.Drum2.Yellow OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "RED")
          var.Drum2.Red = var.Drum2.Red OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "BLUE")
          var.Drum2.Blue = var.Drum2.Blue OR var.Drum2.Orange
        elseif(var.Drum2.OrangeMap == "BASS")
          var.Drum2.Bass = var.Drum2.Bass OR var.Drum2.Orange
        endif
      endif

    //No instrument connected
    else
      Wiimote2.Led3 = false
      Wiimote2.Led4 = false
      wait 1000ms
    endif


    ///////////////////////////////////////////////////////////////
    endif // end Wiimote 2
    ///////////////////////////////////////////////////////////////

    //END OF FILE


3. Here comes the solution to the bass problem, it's a harware solution.
- unplug your bass pedal and your orange hi-hit, also, it's handy if you completely remove your hi-hat (keep the yellow one though)
- connect then with like this, with electrical wire, two female jack-connectors, ...
Image

Normally it should something like this :

Spoiler:Image



4. Run the script in glovepie
5. Go into FoFix, controls and adjust them
6. Rock out

I hope this was helpfull, if there are any questions, i'll be happy to answer them :)
Blue Heaven!
User avatar
death_au
Member
Posts: 3991
Joined: December 12th, 2007
Location: Australia
Reputation: 7
Contact:

Re: [tut] How to use the GH:WT drums with FoFix with Bluetooth

Postby death_au » Thu Aug 27, 2009 6:26 pm

Huh. I never had a problem with the bass pedal not working. But if you do have a problem, I guess this works. You just map the orange pad to bass, as you don't really need it in FoFiX.
Clever.
supermorph
Member
Posts: 9
Joined: April 2nd, 2009
Reputation: 0

Re: [tut] How to use the GH:WT drums with FoFix with Bluetoo

Postby supermorph » Mon Mar 12, 2012 9:22 am

understanding that this actual topic is very old, but it is related question.

would the same theory also work with a jack splitter?
im thinking in the lines of the jack bits touch the same area, and thus mabye could plug back in to a socket (splitted)

could be a good suggestion (if it works) for people who are members, and people who trawl the interwebs lol :2thumbsup:

Return to “FoFiX”

Who is online

Users browsing this forum: No registered users and 22 guests