fozzie

Forum Replies Created

Viewing 4 posts - 21 through 24 (of 24 total)
  • Author
    Posts
  • in reply to: monstrumWaveXT: Waldorf Microwave II/XT/XTk Panel #2405
    fozzie
    Participant
      • Topics: 1
      • Replies: 24
      • Total: 25
      "msepsis":7qkuubmb wrote:
      seriously exciting update, fozzie, thank you for posting this. I’m about to test out what you’ve posted!

      here’s my latest 1.99 version if you’d like to pick up where I’ve left off for now.. I did a bit of work with the knobs in knobman – another VERY fun program <img decoding=” title=”Smile” />
      http://www.monstrumsepsis.com/ctrlr/mon … .99_RC.zip

      the osc octave/semitone knobs aren’t perfectly representative just yet but they’re an improvement from what I had before with generic knobs for every attribute. I also haven’t assigned the appropriate knobs just yet for all the wave level knobs, basically anything that goes from -x to +x should have the XTKnob-+Grey.png resource… it’s there, just haven’t assigned it everywhere it goes.

      Ok..

      I have ctrls’s midi in port set to the port the xt is sending out to.
      I have a preset in midi-ox w/ midi out port set to the port connected to the XT
      i ran your text as a vbs script by clicking it (i have windows set to single click)
      I get a window from midi-ox "Press OK to end MIDI loop"… i leave that alone,
      I initiate a dump from the xt (shift+utility, shift+utility again to confirm)… and ctrlr crashes.

      It seems if i set ctrlr’s midi in AND out ports to the ports connected to the xt i dont get a crash, and with the midi monitor open I do see the sysex message in both the in and out screen… but ctrlr does not update with the sysex dump.

      ….. hmmm… I know the XT’s Equipment ID is different from the XT PC… where in your script are you defining the Equipment ID? I can probably figure that out and will update here when i figure this out.. unfortunately I’m on my way out in a minute to get my suit tailored for my wedding <img decoding=” title=”Smile” /> ahhhhh priorities ![/quote:7qkuubmb]

      Ooh, I can see how you have some difficulties in making this a priority :lol:

      The way I have set it up (and working at least roughly, didn’t check all details yet) is the output of MWPC (should be the same sysex as any other MWII/XT) going into MidiOx (not CTRLR, otherwise CTRLR gets the full long sysex patch dump string!!). MidiOx output goes (through a virtual midi pipe) to CTRLR input, CTRLR output should go back to MWPC, but probably wise to turn midi thru off for safety (midi loop danger).

      The way this works is that MidiOx (through the vbscript) translates the one long sysex patch dump string into a series of separate CC and short sysex messages that CTRLR understands (and that you have already set up in the panel).

      The sysex string you quoted is my ‘template’ sysex string that I modify in two ‘for..next’ loops to insert the correct location and parameter values. It should work identically for your MWXT. Note however that I made a mistake in my code of the second sysex loop (a one-off mistake) that messed up part of the sysex. It should be correct now (notice the edited post with the code).

      I wish you all the best in preparing for the big day! I am currently working on a panel that has all the modifiers and other sysex stuff on it, I’ll post when it is getting somewhere near functional <img decoding=” title=”Wink” />

      in reply to: monstrumWaveXT: Waldorf Microwave II/XT/XTk Panel #2402
      fozzie
      Participant
        • Topics: 1
        • Replies: 24
        • Total: 25

        This CTRLR thing is some serious fun! I am going to make a panel that incorporates all ~240 parameters of the MWXT <img decoding=” title=”Very Happy” />

        in reply to: monstrumWaveXT: Waldorf Microwave II/XT/XTk Panel #2401
        fozzie
        Participant
          • Topics: 1
          • Replies: 24
          • Total: 25

          This code seems to work, although it should be used with caution and with the disclaimer that I am not responsible for anything should problems occur. I have a microwave-PC module in my computer, which has some disadvantages but also the advantage that if anything goes wrong in any way, a reboot will solve all issues since the OS and soundset are loaded fresh everytime the PC has been shut down. My setup has some freezing issues once in a while, I cannot guarantee how things work on a ‘real’ hardware XT.

          Anyhow, save the text below in notepad or similar tool to "filename.vbs". Run it (you have to have midiox installed), then initiate a sound dump. Now watch CTRLR update its settings.

          Hope it works for others as well. Best regards,
          Paul
          PS: please forgive my not-so-consistent variable naming and similar quality commenting in the file, I’m not used to programming and associated best practices.

          ‘ Create object
          Set mox = WScript.CreateObject("MIDIOX.MOXScript.1", "OnTrigger_")

          mox.DivertMidiInput = 0 ‘no input diversion
          mox.FireMidiInput = 1 ‘ Start processing MIDI
          MsgBox "Press OK to end MIDI loop" ‘ Will not return until after [OK]
          mox.FireMidiInput = 0 ‘ All done processing
          mox.DivertMidiInput = 0

          mox.ShutdownAtEnd = False

          Set mox = nothing ‘ Cleanup

          Sub OnTrigger_SysExInput (strSysex)
          If len(strSysEx) > 100 Then
          sysex = Split(strSysEx)

          port = -1

          ‘MsgBox strSysEx

          ‘Conversion of all relevant Sysex parameters to implemented CC messages on channel 1
          strsysexIndexCC = "8 9 10 12 13 14 19 20 21 23 24 25 26 32 33 34 35 36 37 38 43 44 45 46 47 48 49 54 55 56 57 69 70 71 72 73 74 80 81 82 84 86 87 89 91 94 95 96 97 99 100 101 102 103 104 105 106 107 120 121 122 123 124 126 127 128 129 130 156 157 158 159 160 161 162 163 164 166 167 168 169 170 171 173 174 175 176 177 178 179"
          sysexIndexCC = Split (strsysexIndexCC, " ")
          strccIndex = "33 34 35 36 37 13 38 39 40 41 42 43 44 70 71 72 73 74 75 76 77 78 79 80 81 82 83 45 46 47 48 50 56 54 51 52 53 60 61 62 57 58 55 12 10 65 22 23 5 102 105 104 103 107 106 108 109 110 14 15 16 17 29 18 19 20 21 31 85 86 87 88 89 90 91 92 93 24 25 30 112 113 114 26 28 27 115 116 117 118"
          ccIndex = Split (strccIndex, " ")
          For i = 0 to 89
          mox.OutputMidiMsg port, 176, ccIndex(i), cint("&H" & sysex(sysexIndexCC(i)))
          Mox.sleep(10)
          Next

          ‘part two of conversion; the parameters that are not coupled to a CC will be transformed into separate sysex parameter change messages (part 1 for parameters 0-127

          strsysexIndexUnmappedChannel1 = "58 60 61 62 64 77 83 88 90 92 93 108 109 110 111 112 115 116 117 119 132 133 134"
          sysexIndexUnmappedChannel1 = Split (strsysexIndexUnmappedChannel1, " ")
          strSysexLoBitIndex = "33 35 36 37 39 46 4C 51 53 55 56 65 66 67 68 69 6C 6D 6E 70 7D 7E 7F"
          SysexLoBitIndex = Split (strSysexLoBitIndex, " ")
          SysexParamChange = Array ("F0","3E","0E","00","20","00","00","00","00","F7")

          For j = 0 to 22
          SysexParamChange (7)= SysexLoBitIndex(j)
          SysexParamChange (8)= sysex(sysexIndexUnmappedChannel1(j))

          SysexParamOutput = Join (SysexParamChange, " ")

          mox.SendSysExString SysexParamOutput
          Mox.sleep(10)
          Next

          ‘part three of conversion; the parameters that are not coupled to a CC will be transformed into separate sysex parameter change messages (part 2 for parameters 128-256

          strsysexIndexUnmappedChannel1_pt2 = "135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246"
          sysexIndexUnmappedChannel1_pt2 = Split (strsysexIndexUnmappedChannel1_pt2, " ")
          strSysexLoBitIndex_pt2 = "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F"
          SysexLoBitIndex_pt2 = Split (strSysexLoBitIndex_pt2, " ")
          SysexParamChange2 = Array ("F0","3E","0E","00","20","00","01","00","00","F7")

          For k = 0 to 85
          SysexParamChange2 (7)= SysexLoBitIndex_pt2(k)
          SysexParamChange2 (8)= sysex(sysexIndexUnmappedChannel1_pt2(k))

          SysexParamOutput2 = Join (SysexParamChange2, " ")

          mox.SendSysExString SysexParamOutput2
          Mox.sleep(10)
          Next

          End If
          End Sub

          *edited for mistake in last batch of sysex messages (parameters 128-256) / 4 june 2011

          in reply to: monstrumWaveXT: Waldorf Microwave II/XT/XTk Panel #2399
          fozzie
          Participant
            • Topics: 1
            • Replies: 24
            • Total: 25

            What a fantastic work & very well laid out controller panel that is, msepsis! I am hoping to use it with my MWPC. At this moment changing parameters in the MWPC works, but I cannot get the panel to reflect the current patch settings. I am unsure whether this is a MWPC quirk or general MWxx issue but I’ll post my idea here anyway.

            I hope to post a hack to use a sysex patch dump to update the panel settings by using a midiox script to remap the sysex dump to separate CC and sysex sound parameter changes. If this is successful, updating the panel with current settings could be done by making a patch dump (and having the midiox script active of course). I have done this scripting in the past for similar purposes and it worked back then, so I hope I can pull it off. I am new to CTRLR, but if I understand correctly there is no function yet to do this kind of sysex mapping/conversion yet within CTRLR. I think untill this is the case, Midiox (scripts) can probably take care of a lot of that functionality.

          Viewing 4 posts - 21 through 24 (of 24 total)
          Ctrlr