Synthetech

Forum Replies Created

Viewing 20 posts - 41 through 60 (of 70 total)
  • Author
    Posts
  • in reply to: HELP!!FAILED TO everything #5128
    Synthetech
    Participant
      • Topics: 13
      • Replies: 70
      • Total: 83

      Thats because the URL is wrong now since Atom moved the site and the panel files, evidently.

       

      So it’s not going to work, you’ll just have to browse the panels from the forum links.

      in reply to: redirect a CC# (D Beam Controller) #5118
      Synthetech
      Participant
        • Topics: 13
        • Replies: 70
        • Total: 83

        yea… see, that’s the problem for me.

        No matter what I do, I cant get a selection of modulators to choose from in the Modulator linked to modulator combobox.

         

        If I had a script constantly doing it at the panel…

        I think I have the sniff code/if then it to another script that gets the byte value carried over to a new code with the 0-127 value…  I got all that down.

        But I want to immediately resend a MIDI CC# of my choosing and that value.. on a channel of my choosing.. everytime the panel receives tha D Beam’s CC#80 command.

         

        How do I send a sysex/hex code message with a variable number in it?

        in reply to: redirect a CC# (D Beam Controller) #5107
        Synthetech
        Participant
          • Topics: 13
          • Replies: 70
          • Total: 83

          any pointers to get me going on this??

          in reply to: redirect a CC# (D Beam Controller) #5088
          Synthetech
          Participant
            • Topics: 13
            • Replies: 70
            • Total: 83

            You know.. I never could figure out how to link modulators together.

            I’ve tried, but the edit panel is confusing or doesnt seem to work properly.

             

            I see “Modulator Linked to Panel Property”,  “Modulator Linked to Modulator Property”, etc…

            But when I try to edit it, I get nothing to choose from the Modulator to Modulator..   and the “If linked to a modulator property, which modulator” is also all blank.

            I dont understand the options for “Modulator linked to panel property”.

             

             

            Also I don’t know how to make a slider/modulator react to an incoming MIDI message…   say the message incoming is MIDI channel 11, CC#80.

            Sorry I’m lost here…

             

             

            in reply to: New website #5057
            Synthetech
            Participant
              • Topics: 13
              • Replies: 70
              • Total: 83

              well this sure caught me by surprise

               

              in reply to: Help in altering dasfaker’s Envelope Demo please.. #4872
              Synthetech
              Participant
                • Topics: 13
                • Replies: 70
                • Total: 83

                I had a 2nd uiCustomComponent with it’s own scripts.. but it wouldnt work right.
                I’ll go in and rebuild it all again and when it fails again like last time, I’ll come back and post that panel up for review.

                I also had a Polarity script in there before, but it wasnt working..

                sigh.. I think I got off the wrong foot in all this. Like I said, I’ll give it a go once more and if I have problems, come seek help again with a panel version ready for scrutiny.

                Thank god there might be a solution for the tabs.. thanks.

                in reply to: Help in altering dasfaker’s Envelope Demo please.. #4870
                Synthetech
                Participant
                  • Topics: 13
                  • Replies: 70
                  • Total: 83

                  Pssst!! Dasfaker, Help!!! <img decoding=” title=”Wink” />

                  OK, here’s the panel attached below..
                  It’s not as pretty as the nice panels you and Msepsis create.. but I try. At least it’s almost fully functional and come a long way since I started it about a month ago.

                  v1137 panel

                  [attachment=0:1ok0ri6f]PolyGon V9-6.bpanelz[/attachment:1ok0ri6f]

                  What I’m trying to do is make two more EG waveforms like the one I have in the DCO1 tab.. I want them to be in DCO2 and VCF EG tabs.

                  I had problems if I tried to retain the mouse drag feature.. so somehow (I forget what I did…) I disabled the ability to click drag the waveform direct. You can only change the waveform by adjusting the knobs.
                  I want to keep it that way.. it’s simple and effective.. I’m happy with it.

                  I also removed the click/drag boxes and the exterior frame, as you’ll see in the PaintMe script.. I just simply deleted that code to remove them.
                  I kept the mousemove scripts in place, for fear that if I removed them I’d muck it all up.. I never bothered to try and remove them to see what would happen.. so I just kept them in this version when I posted it here and that they’d be in place if you needed reference to look at.

                  You’ll see my attempts to make a 2nd EG waveform in Repaint2, Paintme2.
                  I did have a uiCustomComponent setup with the name Envelope2.. but I removed it so I didnt have any defective trash sitting on the panel.

                  I know.. I probably made a mess of things.. I thought once I got the first waveform in the first tab that I could simply create more. But somewhere in the process I lost touch of what was required to complete the task.

                  Additionally, I had problems with the "Invert" feature.
                  I want it so that the "EG3 Polarity" modulator/switch/button would "flip" the waveform in the VCF EG3 tab as well as send the multi CC msg… I ran into problems with getting the Invert button to work when I tried to port it over from your example into my panel.

                  I dont know if it’s just easier for you to "fix it" or just explain to me what needs to change/add/alter.. but this part of my panel has been on hold ever since my patch dump crisis that Msepsis helped me figure out.
                  Any help you can offer sure is appreciated.. alot of people out there with custom firmwared Poly800’s like mine are gonna be really happy to have this panel once it’s completed.

                  Thanks for any help you can provide..

                  -Blaine

                  PS- You might check the EG tab tit colors..(just for a laugh if it F’s up. Not asking you to fix it, just trying to show you the chaos).
                  Here’s what seems to happen:
                  If I try to change DCO2’s tab tit, DCO1’s tit changes instead..
                  Try to change VCF EG3’s tit.. DCO2’s tit changes instead.
                  Changing DCO1’s tit will change DCO1’s tit though… so DCO1’s tit color changes if you adjust either DCO2 or DCO1 tab background color.
                  I managed to make some kinda sense out of it all and got the tits to match the bodies (now if that dont sound weird.. lol.. "hey Mack, let’s put this purple tit on this teal body…").

                  in reply to: Best way to assign values to modulator #4635
                  Synthetech
                  Participant
                    • Topics: 13
                    • Replies: 70
                    • Total: 83

                    I figured out what was wrong..

                    check this code out and you can probably see the problem.

                    [code:98rjaory]PrgChange = function(midiMessage)

                    –If the fourth byte (index 3) equals 0x06, then this message is a Sound Dump

                    IDM = midiMessage:getLuaData():getByte(3) — creates variable "IDM" and sets it’s value to the fourth byte (index 3!!) of incoming msg

                    console (string.format ("decimal=%d hex=%x", IDM, IDM)) –prints to the Lua console for debugging purposes

                    if IDM == 06 then
                    assignValues(midiMessage)
                    end

                    function assignValues(midiMessage)

                    –Get LFO Knob Values
                    FilterMsb = midiMessage:getLuaData():getByte(53)
                    FilterLsb = midiMessage:getLuaData():getByte(54)
                    KBTrkMsb = midiMessage:getLuaData():getByte(55)
                    KBTrkLsb = midiMessage:getLuaData():getByte(56)
                    ResValMsb = midiMessage:getLuaData():getByte(197)
                    ResValLsb = midiMessage:getLuaData():getByte(198)
                    LFO1Lsb = midiMessage:getLuaData():getByte(134)
                    LFO2Lsb = midiMessage:getLuaData():getByte(150)
                    LFO1DpthLsb = midiMessage:getLuaData():getByte(186)
                    LFO2DpthLsb = midiMessage:getLuaData():getByte(192)

                    LFO1PWMsb = midiMessage:getLuaData():getByte(141)
                    LFO1PWLsb = midiMessage:getLuaData():getByte(142)
                    LFO2PWMsb = midiMessage:getLuaData():getByte(157)
                    LFO2PWLsb = midiMessage:getLuaData():getByte(158)
                    LFO1DlyLsb = midiMessage:getLuaData():getByte(136)
                    LFO2DlyLsb = midiMessage:getLuaData():getByte(152)
                    SLFO3FqLsb = midiMessage:getLuaData():getByte(230)
                    SLFO4FqLsb = midiMessage:getLuaData():getByte(238)
                    SLFO3DpthLsb = midiMessage:getLuaData():getByte(146)
                    SLFO4DpthLsb = midiMessage:getLuaData():getByte(162)
                    SLFO3PWMsb = midiMessage:getLuaData():getByte(231)
                    SLFO3PWLsb = midiMessage:getLuaData():getByte(232)
                    SLFO4PWMsb = midiMessage:getLuaData():getByte(239)
                    SLFO4PWLsb = midiMessage:getLuaData():getByte(240)

                    –Get EG Values
                    Attk1Msb = midiMessage:getLuaData():getByte(69)
                    Attk1Lsb = midiMessage:getLuaData():getByte(70)
                    Dcy1Msb = midiMessage:getLuaData():getByte(71)
                    Dcy1Lsb = midiMessage:getLuaData():getByte(72)
                    Brk1Msb = midiMessage:getLuaData():getByte(73)
                    Brk1Lsb = midiMessage:getLuaData():getByte(74)
                    Slop1Msb = midiMessage:getLuaData():getByte(75)
                    Slop1Lsb = midiMessage:getLuaData():getByte(76)
                    Sust1Msb = midiMessage:getLuaData():getByte(77)
                    Sust1Lsb = midiMessage:getLuaData():getByte(78)
                    Rls1Msb = midiMessage:getLuaData():getByte(79)
                    Rls1Lsb = midiMessage:getLuaData():getByte(80)
                    Attk2Msb = midiMessage:getLuaData():getByte(85)
                    Attk2Lsb = midiMessage:getLuaData():getByte(86)
                    Dcy2Msb = midiMessage:getLuaData():getByte(87)
                    Dcy2Lsb = midiMessage:getLuaData():getByte(88)
                    Brk2Msb = midiMessage:getLuaData():getByte(89)
                    Brk2Lsb = midiMessage:getLuaData():getByte(90)
                    Slop2Msb = midiMessage:getLuaData():getByte(91)
                    Slop2Lsb = midiMessage:getLuaData():getByte(92)
                    Sust2Msb = midiMessage:getLuaData():getByte(93)
                    Sust2Lsb = midiMessage:getLuaData():getByte(94)
                    Rls2Msb = midiMessage:getLuaData():getByte(95)
                    Rls2Lsb = midiMessage:getLuaData():getByte(96)
                    Attk3Msb = midiMessage:getLuaData():getByte(101)
                    Attk3Lsb = midiMessage:getLuaData():getByte(102)
                    Dcy3Msb = midiMessage:getLuaData():getByte(103)
                    Dcy3Lsb = midiMessage:getLuaData():getByte(104)
                    Brk3Msb = midiMessage:getLuaData():getByte(105)
                    Brk3Lsb = midiMessage:getLuaData():getByte(106)
                    Slop3Msb = midiMessage:getLuaData():getByte(107)
                    Slop3Lsb = midiMessage:getLuaData():getByte(108)
                    Sust3Msb = midiMessage:getLuaData():getByte(109)
                    Sust3Lsb = midiMessage:getLuaData():getByte(110)
                    Rls3Msb = midiMessage:getLuaData():getByte(111)
                    Rls3Lsb = midiMessage:getLuaData():getByte(112)

                    LFO1MdltrLsb = midiMessage:getLuaData():getByte(184)
                    LFO1WavLsb = midiMessage:getLuaData():getByte(182)
                    LFO2MdltrLsb = midiMessage:getLuaData():getByte(190)
                    LFO2WavLsb = midiMessage:getLuaData():getByte(188)
                    SLFO3WavLsb = midiMessage:getLuaData():getByte(144)
                    SLFO4WavLsb = midiMessage:getLuaData():getByte(160)

                    FilterValue = (FilterMsb*16)+(FilterLsb)
                    KBTrkValue =(KBTrkMsb*16)+(KBTrkLsb)

                    ResValue=(ResValMsb*16)+(ResValLsb)
                    — 15’s
                    LFO1FQValue=(LFO1Lsb)*8
                    LFO2FQValue=(LFO2Lsb)*8
                    LFO1DpthValue=(LFO1DpthLsb)*8
                    LFO2DpthValue=(LFO2DpthLsb)*8

                    LFO1PWValue=((LFO1PWMsb*16)+(LFO1PWLsb))*2
                    LFO2PWValue=((LFO2PWMsb*16)+(LFO2PWLsb))*2
                    LFO1DlyValue=(LFO1DlyLsb)*8
                    LFO2DlyValue=(LFO2DlyLsb)*8
                    SLFO3FqValue=(SLFO3FqLsb)*8
                    SLFO4FqValue=(SLFO4FqLsb)*8
                    SLFO3DpthValue=(SLFO3DpthLsb)*8
                    SLFO4DpthValue=(SLFO4DpthLsb)*8
                    SLFO3PWValue=((SLFO3PWMsb*16)+(SLFO3PWLsb))*2
                    SLFO4PWValue=((SLFO4PWMsb*16)+(SLFO3PWLsb))*2

                    — 32’s
                    Attack1Value=(Attk1Msb*16)+(Attk1Lsb)*4
                    Decay1Value=(Dcy1Msb*16)+(Dcy1Lsb)*4
                    BreakPoint1Value=(Brk1Msb*16)+(Brk1Lsb)*4
                    Slope1Value=(Slop1Msb*16)+(Slop1Lsb)*4
                    Sustain1Value=(Sust1Msb*16)+(Sust1Lsb)*4
                    Release1Value=(Rls1Msb*16)+(Rls1Lsb)*4
                    Attack2Value=(Attk2Msb*16)+(Attk2Lsb)*4
                    Decay2Value=(Dcy2Msb*16)+(Dcy2Lsb)*4
                    BreakPoint2Value=(Brk2Msb*16)+(Brk2Lsb)*4
                    Slope2Value=(Slop2Msb*16)+(Slop2Lsb)*4
                    Sustain2Value=(Sust2Msb*16)+(Sust2Lsb)*4
                    Release2Value=(Rls2Msb*16)+(Rls2Lsb)*4
                    Attack3Value=(Attk3Msb*16)+(Attk3Lsb)*4
                    Decay3Value=(Dcy3Msb*16)+(Dcy3Lsb)*4
                    BreakPoint3Value=(Brk3Msb*16)+(Brk3Lsb)*4
                    Slope3Value=(Slop3Msb*16)+(Slop3Lsb)*4
                    Sustain3Value=(Sust3Msb*16)+(Sust3Lsb)*4
                    Release3Value=(Rls3Msb*16)+(Rls3Lsb)*4

                    LFO1MdltrValue=(LFO1MdltrLsb)
                    LFO1WavValue=(LFO1WavLsb)
                    LFO2MdltrValue=(LFO2MdltrLsb)
                    LFO2WavValue=(LFO2WavLsb)
                    SLFO3WavValue=(SLFO3WavLsb)
                    SLFO4WavValue=(SLFO4WavLsb)

                    panel:getModulatorByName("VCFCutoff"):setModulatorValue(FilterValue, false, false, false)
                    panel:getModulatorByName("KBTrack"):setModulatorValue(KBTrkValue, false, false, false)

                    panel:getModulatorByName("Resonance"):setModulatorValue(ResValue, false, false, false)
                    panel:getModulatorByName("LFO1Frequency"):setModulatorValue(LFO1FQValue, false, false, false)
                    panel:getModulatorByName("LFO2Frequency"):setModulatorValue(LFO2FQValue, false, false, false)
                    panel:getModulatorByName("LFO1Depth"):setModulatorValue(LFO1DpthValue, false, false, false)
                    panel:getModulatorByName("LFO2Depth"):setModulatorValue(LFO2DpthValue, false, false, false)
                    panel:getModulatorByName("LFO1PWM"):setModulatorValue(LFO1PWValue, false, false, false)
                    panel:getModulatorByName("LFO2PWM"):setModulatorValue(LFO2PWValue, false, false, false)
                    panel:getModulatorByName("LFO1Delay"):setModulatorValue(LFO1DlyValue, false, false, false)
                    panel:getModulatorByName("LFO2Delay"):setModulatorValue(LFO2DlyValue, false, false, false)
                    panel:getModulatorByName("SLFO3Freq"):setModulatorValue(SLFO3FqValue, false, false, false)
                    panel:getModulatorByName("SLFO4Freq"):setModulatorValue(SLFO4FqValue, false, false, false)
                    panel:getModulatorByName("SLFO3Depth"):setModulatorValue(SLFO3DpthValue, false, false, false)
                    panel:getModulatorByName("SLFO4Depth"):setModulatorValue(SLFO3DpthValue, false, false, false)
                    panel:getModulatorByName("SLFO3PWM"):setModulatorValue(SLFO3PWValue, false, false, false)
                    panel:getModulatorByName("SLFO4PWM"):setModulatorValue(SLFO4PWValue, false, false, false)

                    –EG1
                    panel:getModulatorByName("Attack1"):setModulatorValue(Attack1Value, false, false, false)
                    panel:getModulatorByName("Decay1"):setModulatorValue(Decay1Value, false, false, false)
                    panel:getModulatorByName("BreakPoint1"):setModulatorValue(BreakPoint1Value, false, false, false)
                    panel:getModulatorByName("Slope1"):setModulatorValue(Slope1Value, false, false, false)
                    panel:getModulatorByName("Sustain1"):setModulatorValue(Sustain1Value, false, false, false)
                    panel:getModulatorByName("Release1"):setModulatorValue(Release1Value, false, false, false)

                    –EG2
                    panel:getModulatorByName("Attack2"):setModulatorValue(Attack2Value, false, false, false)
                    panel:getModulatorByName("Decay2"):setModulatorValue(Decay2Value, false, false, false)
                    panel:getModulatorByName("BreakPoint2"):setModulatorValue(BreakPoint2Value, false, false, false)
                    panel:getModulatorByName("Slope2"):setModulatorValue(Slope2Value, false, false, false)
                    panel:getModulatorByName("Sustain2"):setModulatorValue(Sustain2Value, false, false, false)
                    panel:getModulatorByName("Release2"):setModulatorValue(Release2Value, false, false, false)

                    –EG3
                    panel:getModulatorByName("Attack3"):setModulatorValue(Attack3Value, false, false, false)
                    panel:getModulatorByName("Decay3"):setModulatorValue(Decay3Value, false, false, false)
                    panel:getModulatorByName("BreakPoint3"):setModulatorValue(BreakPoint3Value, false, false, false)
                    panel:getModulatorByName("Slope3"):setModulatorValue(Slope3Value, false, false, false)
                    panel:getModulatorByName("Sustain3"):setModulatorValue(Sustain3Value, false, false, false)
                    panel:getModulatorByName("Release3"):setModulatorValue(Release3Value, false, false, false)

                    –LFO and SLFO comboboxs
                    panel:getModulatorByName("LFO1ModSrc"):setModulatorValue(LFO1MdltrValue, false, false, false)
                    panel:getModulatorByName("LFO1Waveform"):setModulatorValue(LFO1WavValue, false, false, false)
                    panel:getModulatorByName("LFO2ModSrc"):setModulatorValue(LFO2MdltrValue, false, false, false)
                    panel:getModulatorByName("LFO2Waveform"):setModulatorValue(LFO2WavValue, false, false, false)
                    panel:getModulatorByName("SLFO3Waveform"):setModulatorValue(SLFO3WavValue, false, false, false)
                    panel:getModulatorByName("SLFO4Waveform"):setModulatorValue(SLFO4WavValue, false, false, false)

                    end
                    end
                    [/code:98rjaory]

                    What I did was I created a separate method for "assignValues"

                    it didnt like the scripts being inside the same method.

                    Seems to all work correctly everytime now.

                    in reply to: Best way to assign values to modulator #4633
                    Synthetech
                    Participant
                      • Topics: 13
                      • Replies: 70
                      • Total: 83

                      Would a script like this trigger a patch dump for me from the panel?
                      I need something like this to send out when I open the panel file up.

                      [code:29yidpsc]StartupDump = function(midMessage)

                      fetchDump = {0xF0; 0x42, 0x21, 0x07, 0x00, 0xF7}
                      panel:sendMidiMessageNow(CtrlrMidiMessage(fetchDump))

                      end

                      [/code:29yidpsc]

                      I stole that from the other current thread and altered it for my use.
                      Thanks to hecticc for posting it.

                      in reply to: Best way to assign values to modulator #4632
                      Synthetech
                      Participant
                        • Topics: 13
                        • Replies: 70
                        • Total: 83

                        yea.. I figured out why the zero settings.. also figured out why setting to a min of "1" for the modulator caused it to stay at the dump value.. since it only was accepting a value of at LEAST 1.. when it saw a ZERO, it ignored it and just left it at the last value…. some kinda if/then logic in there that was doing that.

                        I almost have this down. I have one more problem (besides the hours of time spent creating and debugging code for each modulator in the dump assignment script)..

                        When I first load the panel up and attempt to do a dump request/patch change for the first time, it fails and the method is disabled.
                        If I go to the script, refresh it/save it, then try again, it works.
                        I’m wondering if it needs a dump req. at startup of the panel so it has some kind of value/data in there before I request it for the very first time.

                        in reply to: Best way to assign values to modulator #4630
                        Synthetech
                        Participant
                          • Topics: 13
                          • Replies: 70
                          • Total: 83

                          well after figuring out that there needs to be two ENDs at the end of that code, I got it working.. finally!
                          Well at least in my test panel for now. I’ll do the Korg panel when I got 2=3hrs to kill.

                          Damn, that one had me locked up for over a week getting it to go…

                          Thanks msepsis, I couldnt have figured it out without your help..

                          I’m finding that googling the error msg gives me clues on what to look for. That’s how I figured out the end error.

                          Thanks again.. now back to the envelope daskafar created…

                          -Blaine

                          in reply to: Best way to assign values to modulator #4628
                          Synthetech
                          Participant
                            • Topics: 13
                            • Replies: 70
                            • Total: 83

                            maybe this has something to do with it…

                            I finally got my midimonitor to work on Ctrlr.. I also noticed this in OXs monitor.

                            Everytime a patch dump is req, this is what the synth transmits-

                            [16:23:34:000931]: Time(-780361647) [System exclusive] Ch: No: Val: RAW:[f0 42 21 06 02 00 02 00 00 00 07 00 00 00 00 00 03 01 0f 00 01 00 02 00 01 00 01 00 01 00 00 00 03 01 0f 00 00 00 03 00 02 00 00 00 00 00 00 00 00 00 00 00 00 02 09 00 00 00 00 00 00 00 01 00 00 00 00 00 01 00 05 01 01 01 0f 00 00 01 0f 00 00 00 00 00 00 01 08 01 0f 01 0a 01 0f 01 0f 01 02 00 00 00 00 00 00 00 00 01 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 04 00 08 00 00 00 05 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 03 00 00 00 03 00 02 00 00 00 00 03 0a 00 03 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 0f 00 00 00 00 00 02 f7]
                            [16:23:35:000491]: Time(-1639355106) [System exclusive] Ch: No: Val: RAW:[f0 42 21 7e 06 02 f7]

                            see that at the end, it sends a second sysex msg back. f0 42 21 7e 06 02 f7

                            So am I correct to assume that if the panel is set to run the PrgChange script everytime it receives a midimessage, that if it gets that 2nd message, it will cause the script to run again.. but this time it wont have any series of hex values to use to set the modulator values.. so it defaults them all to "0"?
                            But why would it work correctly if I set the min value to "1" instead??

                            I can probably get my synth to not send that second message.. but it’ll be awhile before I’ll get that new Firmware update to remove it.

                            in reply to: uiXYsurface – Y axis inverted? #4521
                            Synthetech
                            Participant
                              • Topics: 13
                              • Replies: 70
                              • Total: 83

                              Was there ever an inversion parameter added?

                              How about a snapto# for X and Y you can turn on/off?

                              in reply to: Best way to assign values to modulator #4627
                              Synthetech
                              Participant
                                • Topics: 13
                                • Replies: 70
                                • Total: 83

                                Yea, I’m using setModulatorValue

                                Here’s the most recent code

                                [code:1srziyp8]PrgChange = function(midiMessage)

                                FilterMsb = midiMessage:getLuaData():getByte(53)
                                FilterLsb = midiMessage:getLuaData():getByte(54)
                                KBTrkMsb = midiMessage:getLuaData():getByte(55)
                                KBTrkLsb = midiMessage:getLuaData():getByte(56)
                                LFO1MdltrLsb = midiMessage:getLuaData():getByte(184)
                                FilterValue = (FilterMsb*16)+(FilterLsb)
                                KBTrkValue =(KBTrkMsb*16)+(KBTrkLsb)
                                LFO1MdltrValue=(LFO1MdltrLsb)

                                panel:getModulatorByName("VCFCutoff"):setModulatorValue(FilterValue, false, false, false)
                                panel:getModulatorByName("KBTrack"):setModulatorValue(KBTrkValue, false, false, false)
                                panel:getModulatorByName("LFO1ModSrc"):setModulatorValue(LFO1MdltrValue, false, false, false)

                                end[/code:1srziyp8]

                                I’m not sure how I can resolve this, it seems to be a bug in the min/max values set for the modulator.
                                For knobs and buttons, I can get them to adjust and stay put after a patch dump by making them min value of 1.
                                For combobox, it doesnt seem to help if I set the min value of 1.

                                I did notice that knobs have two min/max values. A setting under Modulator and another under Component.
                                The button and combobox does not have a min/max value under component.. probably because of the listbox settings…

                                Man.. talk about frustrating.. I got real excited when I saw the knob move.. then it was like a Challenger incident when it sets back to 0.

                                in reply to: Best way to assign values to modulator #4624
                                Synthetech
                                Participant
                                  • Topics: 13
                                  • Replies: 70
                                  • Total: 83

                                  OK, I finally have my Filter Knob changing position/value when I do a dump call.

                                  But, I have to set the uiImageslider to a min. of 1 . If I set it to 0, it wont stay at the dump adjustment value… I see the knob try to set/move, and then it just snaps back to 0.
                                  I dont have the snap feature on.

                                  Same thing happens to a uiButton. I see it change, then it goes back to 0.. WTF?

                                  It’s always something..

                                  in reply to: Best way to assign values to modulator #4622
                                  Synthetech
                                  Participant
                                    • Topics: 13
                                    • Replies: 70
                                    • Total: 83

                                    Ok,

                                    so I took this code

                                    [code:2l8rvc4p]PrgChange = function(modulator, newValue)

                                    FilterMsb = midiMessage:getLuaData():getByte(54)
                                    FilterLsb = midiMessage:getLuaData():getByte(55)

                                    FilterValue = (FilterMsb*16)+(FilterLsb)

                                    panel:getModulatorByName("VCFCutoff"):setModulatorValue(FilterValue, false, false, false)

                                    end[/code:2l8rvc4p]

                                    Called it PrgChange, set to be called when Panel receives a midi message.

                                    The Patch change combobox is set to multi midi message. First one is "ProgramChange,Direct,Direct,-1,-1,F0 00 F7", the other is a sysex message that shows up as "SysEx,Direct,Direct,-1,-1,F0 42 21 07 xx F7" in the multimessage listbox after I’ve added it in.

                                    Right below that, Sysex Formula shows as "F0 00 F7"

                                    When I try to change a patch after a fresh load, I get the error msg,

                                    Callback error: PrgChange
                                    at line 6 and a nil value when it attempts to index global "midimessage"

                                    then it disables the script and I’m back to square one.
                                    The synth is sending the dump… I have the combobox setup so it sends the synth a Program Change first, then the sysex dump req.
                                    I tried using the midi program change features you can check off in Panel, but it doesnt seem to help.

                                    I thought I was on the right track… but evidently I’m not.

                                    in reply to: Best way to assign values to modulator #4620
                                    Synthetech
                                    Participant
                                      • Topics: 13
                                      • Replies: 70
                                      • Total: 83

                                      I cleaned up my code and it appears to compile with "Success"

                                      but when I goto use it in my Patch combobox, it fails.

                                      My Patch Select Box is used to not only make my synth select a patch, it also sends a sysex command to get that patch’s dump.

                                      Midi message type is Multi.
                                      I have the sysex command first, then the patch select.
                                      The sysex command works.. it even selects the same single Patch Dump as the Patch# I select as verified in OX’s monitor.

                                      But when I try to use it, I get this..

                                      [attachment=0:3j4d8pwu]luaerror1.jpg[/attachment:3j4d8pwu]

                                      in reply to: Help in altering dasfaker’s Envelope Demo please.. #4869
                                      Synthetech
                                      Participant
                                        • Topics: 13
                                        • Replies: 70
                                        • Total: 83

                                        well I managed to come back around to this.

                                        I managed to recreate the uiCustomComponent in my panel by starting with a blank one.
                                        I copied your code over to the proper areas.. changed it as needed for modulator names, etc.

                                        I have issues still.. if I freshly open the panel and start with moving the graphics only, and never move the knobs, all seems to work fine.

                                        .. if I freshly open the panel and start with moving the knobs only, and never move the graphics, all seems to work fine.

                                        … if I try to move both, eventually the graphics act up. Going out of bounds, wont react to changes, etc.

                                        I would be happy if the graphics were not changable by directly moving it.. just moving the knobs changes the image/graphics, if you try to move the graphics.. nothing happens.
                                        I noticed that when it would act right, if I tried to move the Slope and Sustain points together, my synth only recieved a Sustain CC command. I could never get a Slope CC command received on my synth.
                                        Knobs all work as they should though.

                                        I’m attaching 3 versions of the panel I’m building. All are built under v1137

                                        [attachment=2:1ztwfb0d]EnvelopeTrial1A.bpanelz[/attachment:1ztwfb0d]
                                        [attachment=1:1ztwfb0d]EnvelopeTrial1B.bpanelz[/attachment:1ztwfb0d]

                                        [attachment=0:1ztwfb0d]EnvelopeTrial1C.bpanelz[/attachment:1ztwfb0d]

                                        1A is the EG outside the tabs area and the knobs wont change the graphics.
                                        1B is the EG outside the tabs area and the knobs WILL change the graphics.

                                        1C is the EG set inside the tabs area and the knobs will change the graphics.. I included this one so you can see where I’m headed with the use of this EG.. I plan on making two more. I provided 1A and !B because it’s hard, if not impossible, to select the EG component to edit once it’s been plopped inside the tab(a bug?)

                                        I sure appreciate all the help. I’m almost there and thought I had it figured out. I’m trying to get this scripting down, but it’s taking me some time.
                                        I tried to get it so the knobs are the only thing that changes the graphics, but I’m at a loss on what I’m suppose to do/alter.

                                        Eventually I do want to get all three in the DCO1 DCO2 and VCF EG3 tabs with the VCF EG3 tab having the Polarity switch in it somewhere.. the DCO EG’s dont need to have the Polarity Inversion.

                                        Thanks again for all your help.. I’M ALMOST THERE that I can taste it! <img decoding=” title=”Smile” />

                                        in reply to: Best way to assign values to modulator #4617
                                        Synthetech
                                        Participant
                                          • Topics: 13
                                          • Replies: 70
                                          • Total: 83

                                          I tried your code and got this..

                                          ERROR: [string "Patch Configure = function(modulator, newValue)…"]:1: ‘=’ expected near ‘Configure’

                                          in reply to: Best way to assign values to modulator #4615
                                          Synthetech
                                          Participant
                                            • Topics: 13
                                            • Replies: 70
                                            • Total: 83

                                            Ok.. msepsis has been helping me out with this-

                                            I’m trying to build a script to read the hex dump from my synth so it can setup all the controls in a patch when I change patches using Ctrlr.

                                            Here’s the code

                                            [code:3iz871mr]– Called when a modulator value changes
                                            — @modulator http://ctrlr.org/api/class_ctrlr_modulator.html
                                            — @newValue new numeric value of the modulator
                                            — Patch Configure = function(modulator, newValue)
                                            — end

                                            FilterMsb = midiMessage:getLuaData():getByte(54)
                                            FilterLsb = midiMessage:getLuaData():getByte(55)

                                            FilterValue = (FilterMsb*16)+(FilterLsb)

                                            panel:getModulatorByName("VCF Cutoff"):setModulatorValue(FilterValue, false, false, false)[/code:3iz871mr]

                                            when I goto save/compile it, it tells me it has errors…

                                            [quote:3iz871mr]Compile of Patch Configure at 10/28/12 19:12:43:
                                            ERROR: [string "–…"]:10: attempt to index global ‘midiMessage’ (a nil value)[/quote:3iz871mr]

                                            I’m not sure what I’m doing wrong.
                                            I can get the synth to do a patch dump.. I see it show up on OX’s monitor.. it’s even the correct patch#.
                                            But the script evidently is not altering the value of my cutoff filter knob.

                                            I’m sure I have the correct bytes.. it’s just that error makes no sense to me.

                                            The Filter Values in the previous post’s dump are "05 05" the first byte is my msb and it is the 54th byte in my dump.. the 2nd 05 is my lsb and it is the 55th byte in my dump… if that helps.

                                          Viewing 20 posts - 41 through 60 (of 70 total)
                                          Ctrlr