BAUS

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 22 total)
  • Author
    Posts
  • in reply to: how to send program change with LUA #121244
    BAUS
    Participant
      • Topics: 2
      • Replies: 22
      • Total: 24

      Hi drno,

      Welcome….learning LUA is fun!

      Looking at your sysex table there is 1 thing I notice: it does not open with 0x0F and end with 0xF7

      In sysex 0F declares the beginning of a sysex message and F7 declares the end of it.

      Best regards,

      BAUS

      • This reply was modified 3 years, 4 months ago by BAUS. Reason: typo

      Updating a 25 year old Editor

      in reply to: Using Layers Tutorial 1.0 #121174
      BAUS
      Participant
        • Topics: 2
        • Replies: 22
        • Total: 24

        I have started working with layers in my next panel and it is less frustrating.

        Layer 9 is a static layer supplying the ‘graphics’ or lay-out of the panel. I still used groups to create that but in this case a group only holds a small number of larger elements instead of all the modulators.

        Layer 1 holds all the modulators and it is such a relief to just be able to move them around freely without them (or a whole group) dissappearing somewhere. I am copying all the locations/positions of the modulators into an excel sheet so I can easily copy them to Layers 2 to 8 later on. If there’s an easier/smarter way to do this the please let me know.

        On this panel I can see static layer with an other layer on top of it. If layer 1 is selected in the layer editor I see the modulator values of layer 1, if layer 2 is selected I can see the values of layer 2.

        However in the first panel for the Mirage that I am still working on this is not the case. I moved a whole group to (in this case) layer 2 and when I choose layer 1 only layer 1 appears. Then when I choose layer 2, layer 2 pops up while layer 1 also stays on-screen.

        There are no overlapping groups/modulators.

        What I want basically is both layers to be visible but only 1 layer should be editable at a time. What am I overlooking here?

        Thanks in advance,

        Robin.

        Updating a 25 year old Editor

        in reply to: Panel for Roland XV-3080 #120594
        BAUS
        Participant
          • Topics: 2
          • Replies: 22
          • Total: 24

          Hi Resofactor,

          There is not really a need for an XV-3080 / XV-5080 Panel since the editors that Roland has available for them still work under Windows 10. I don’t know about the Mac version though.

          https://www.roland.com/nl/support/by_product/xv-3080/updates_drivers/

          Regards,

          Robin Bausewein.

          Updating a 25 year old Editor

          in reply to: Getting Panel reflect Patch & Program Settings #120285
          BAUS
          Participant
            • Topics: 2
            • Replies: 22
            • Total: 24

            Alright…..

            Thanks goodweather!

            Actually to request a Patch Dump I did not need to nibblize at all. Each Patch from 1 to 48 is just $01 to $30….so…at first I made 48 Buttons each with their own sysex string to request the wanted Patch.

            Then I was looking through some other posts and I found something else, which I also implemented, and then I found that I could give each Value in a Combo it’s own sysex string. So….I ended up deleting the 48 buttons and now I have a Combo to select Patches which also immediately request the Patch Dump.

            The space where the 48 buttons were now holds 12 LCD Displays to give an overview of the Program and it’s Patches and Keyranges.

            This is great!

            Thanks everyone!

            RB

            Updating a 25 year old Editor

            in reply to: Getting Panel reflect Patch & Program Settings #120159
            BAUS
            Participant
              • Topics: 2
              • Replies: 22
              • Total: 24

              Update on my last post:

              I figured out how to do this much easier.

              The request string for a Program is F0 00 00 23 01 06 01 F7….where 06 is the Parameter to request a dump and 01 the value.

              When I put this in a COMBO it does not work. But…when I actually nibblize the value into two bytes then the COMBO does work, and that’s good.

              EDIT: This works from selection 1 through 15. At 16 the Mirage does not return anything. Then at selection 17 it starts to return at 02 again.

              • This reply was modified 3 years, 6 months ago by BAUS.

              Updating a 25 year old Editor

              in reply to: Getting Panel reflect Patch & Program Settings #120157
              BAUS
              Participant
                • Topics: 2
                • Replies: 22
                • Total: 24

                Alright…..this is very cool!

                Thanks for the step-by-step explanation. That’s what I need. Although I don’t know yet what some things mean I now can see the bigger picture….I think.

                You create a function that calls another function…or two or more.

                I managed to get it to work. First on the Patch level….then I added the elseif for the size of the received Midi of the Program Dump from the Mirage and that one now also works.

                Now that we have that working I am thinking about how to put it effectively in the Panel. I could add 32 buttons each sending a dump request for the correspondent Program…but I think this could be embedded in the Lua script as well.

                Same thing for the Patch request…I could add 42 buttons for the Patch request but I think there could be a more effective way of doing this. The COMBO is what I tried. For Patch changes it works, I think because this sysex string uses lsb/msb but the Dump Requeat does not.

                I will have a look at it again in the morning.

                JG….Thanks so much for showing me how to read.
                Goodweather….I am interested in your way of using the memoryblock method as well at a later time. As you mentioned it may only confuse me at this moment.

                Grateful for your help,

                Robin.

                • This reply was modified 3 years, 6 months ago by BAUS.

                Updating a 25 year old Editor

                in reply to: what do you need to know in order to make panels? #120072
                BAUS
                Participant
                  • Topics: 2
                  • Replies: 22
                  • Total: 24

                  Okay….step by step.

                  When I press the “request patch data” button the Mirage returns this:

                  F0 00 00 23 01 44 01 0F 01 08 00 0F 00 08 00 0F 00 00 00 0F 01 0F 01 02 00 00 00 02 00 01 00 01 01 01 01 01 00 06 00 04 00 00 00 03 00 0F 03 00 00 0F 01 0A 00 00 00 00 00 08 00 0F 00 08 00 0F 00 00 00 0F 01 0F 01 02 00 02 00 02 00 03 00 01 01 01 01 01 00 06 00 05 00 00 00 03 00 00 00 00 00 0F 01 01 00 00 00 03 06 00 00 00 00 03 06 00 00 0F 01 0F 00 0F 01 06 01 00 00 00 00 00 00 0C 00 0F 03 04 05 02 05 09 04 04 05 0F 04 0E 04 00 02 01 03 F7

                  The bytes in BOLD is the first Modulator (AMP_ENV1_ATTACK). This string is always 148bytes including the F0 and F7. We should not count these so the length of the string is 146 and the first Modulator is the 7th byte. Correct?

                  • This reply was modified 3 years, 7 months ago by BAUS.

                  Updating a 25 year old Editor

                  in reply to: what do you need to know in order to make panels? #120063
                  BAUS
                  Participant
                    • Topics: 2
                    • Replies: 22
                    • Total: 24

                    At line 5:

                    midiMessageReceived = function(midiMessage)

                    Instead of

                    midiMessageReceived = function(midi)

                    ??

                    This fixed that problem!

                    Thanks.

                    Also your explanation makes sense now. I did as you wrote and when the panel loads all Parameters are nicely at their lowest values.

                    Now on to the next part: getting the panel to update when it receives a Patch change.

                    Because of the 4 bit nibbles to a single value….does that mean that the sysex string also gets half as long? So 74 instead of 148?

                    I am still figuring out THAT part.

                    Updating a 25 year old Editor

                    in reply to: uicombo with cc data #120042
                    BAUS
                    Participant
                      • Topics: 2
                      • Replies: 22
                      • Total: 24

                      I think I have a similar thing. I just use “not available” for those values but there might be a better way.

                      Updating a 25 year old Editor

                      in reply to: what do you need to know in order to make panels? #120013
                      BAUS
                      Participant
                        • Topics: 2
                        • Replies: 22
                        • Total: 24

                        I don’t understand.

                        The ‘Called when the panel has finished loading” is already being used by the ‘init’ function for the Program 1-32 Buttons.

                        If the Panel is supposed to get a value from the Mirage then I first need to press the button to send the dump from the Mirage to the Panel or else there is nothing to index. Is that correct?

                        • This reply was modified 3 years, 7 months ago by BAUS. Reason: typo

                        Updating a 25 year old Editor

                        in reply to: what do you need to know in order to make panels? #119978
                        BAUS
                        Participant
                          • Topics: 2
                          • Replies: 22
                          • Total: 24

                          Great JG,

                          I am not sure where to put the:

                          function de4nibbilize(a, b) — convert two 4 bit nibbles to a single integer
                          local n = 0
                          local m = bit.lshift(a, 4)
                          local l = b
                          return m + l
                          end –f

                          Whenever I request a dump from the Mirage it is sending it (I am monitoring the MIDI info) and an error message pops up.

                          At line [7]: [string “midiMessageReceived”]

                          Error message: [string “midiMessageReceived”]:7: attempt to index global ‘midiMessage’ (a nil value)

                          A screenshot of the script is attached. Where is the error?

                          EDIT!!! THE FIRST SCREENSHOT IS INCORRECT BUT I DON’T SEE HOW TO DELETE IT FROM THE POST.

                          • This reply was modified 3 years, 7 months ago by BAUS.
                          • This reply was modified 3 years, 7 months ago by BAUS.
                          Attachments:
                          You must be logged in to view attached files.

                          Updating a 25 year old Editor

                          in reply to: what do you need to know in order to make panels? #119959
                          BAUS
                          Participant
                            • Topics: 2
                            • Replies: 22
                            • Total: 24

                            Hi there,

                            I am almost finished with my (first and v1) of a Panel for the Ensoniq Mirage. What I am still wanting to do is to have the Panel update to the Patch values in the Mirage.

                            I have sorted out all the bytes and their corresponding modulators.

                            The example above deals with, as far as I can see, single byte per Modulator. But…the Mirage splits each byte into 2 nybbles. AMP Attack 1 is the first Modulator that is sent from the Mirage (at byte 7) and set to full (a value of 31) then is $0F $01.

                            How do I map this in a script? The getbyte:(0) does not do the job. What else do I need to add so it sees the 2 nybbles as 1 value and it will update the AMP Attack 1 slider in the panel.

                            Updating a 25 year old Editor

                            in reply to: Looking for the basic sysex receive/send panel #119928
                            BAUS
                            Participant
                              • Topics: 2
                              • Replies: 22
                              • Total: 24

                              I actually tried that…setting the value to higher than 5000 but did not work for me.

                              The 0.9.7 version DOES work and for me is enough. When pressing EDIT SYSEX I just press the HOME key to get to the beginning of the string, scroll a few blocks to the right and I am right where I need to be.

                              Updating a 25 year old Editor

                              in reply to: Looking for the basic sysex receive/send panel #119912
                              BAUS
                              Participant
                                • Topics: 2
                                • Replies: 22
                                • Total: 24

                                Dnaldoog….I have no succes with the 1.4_BETA Panel.

                                The only thing I can do is delete parts of the sysex string but I can not insert anything when the string is really long….like in a wavefile.

                                • This reply was modified 3 years, 7 months ago by BAUS.

                                Updating a 25 year old Editor

                                in reply to: Looking for the basic sysex receive/send panel #119888
                                BAUS
                                Participant
                                  • Topics: 2
                                  • Replies: 22
                                  • Total: 24

                                  Are you planning on releasing his big brother as well? I can think of some occasions that people want to edit the Sysex. It’s not possible with the minimalistic version because there is no editable UiLabel anymore.

                                  As for the Mirage what I am thinking about is this:

                                  If it would be possible to edit byte7 (the Wavesample number) in the sysex string then we could load the Wavesample sysex data to ANY of the 16 Wavesample locations.

                                  I tried this, loaded the sysex in MIDIOX and changed the $02 to $03, saved the file and loaded it back into
                                  the Mirage and the sample ended up in location 3. Very cool stuff for me to experience! 😀

                                  Let me try and figure out how to do this in LUA. I want to understand this programming language.

                                  Updating a 25 year old Editor

                                  in reply to: Looking for the basic sysex receive/send panel #119887
                                  BAUS
                                  Participant
                                    • Topics: 2
                                    • Replies: 22
                                    • Total: 24

                                    Yes, it’s working!!!

                                    You got me thinking again now. 😉

                                    Updating a 25 year old Editor

                                    in reply to: Looking for the basic sysex receive/send panel #119829
                                    BAUS
                                    Participant
                                      • Topics: 2
                                      • Replies: 22
                                      • Total: 24

                                      Nice one Tedjuh!

                                      I am wondering if I can use this to send and receive samples to and from the Ensoniq Mirage.

                                      I already had succes with sending a Sample Request Message and getting a Wavesample back as Sysex.

                                      I keep on following this thread!

                                      Robin.

                                      Updating a 25 year old Editor

                                      in reply to: On/Off button: 1 goes on, the other goes off #119823
                                      BAUS
                                      Participant
                                        • Topics: 2
                                        • Replies: 22
                                        • Total: 24

                                        Dnaldoog!!!! Thanks so much!

                                        This is working great.

                                        I am now getting deeper into the Lua programming language too. I have some more ideas for the Panel
                                        with regards to requesting Patch Settings so the Panel reflects the Patch in the Mirage and possibly
                                        also the Program Settings.

                                        Let’s see how far I can get with that.

                                        Again….thank you so much for your help.

                                        Updating a 25 year old Editor

                                        in reply to: position of data in sysex received #119800
                                        BAUS
                                        Participant
                                          • Topics: 2
                                          • Replies: 22
                                          • Total: 24

                                          Goed bezig!

                                          This is great. I am looking forward to implement something similar in the Panel that I am making.
                                          Both on Patch level and on Program level, a Program can contain between 1 and 6 Patches.

                                          Would be great to have the Panel reflect the current Patch settings because the Mirage, just like the Six Trak, only has a 2 digit display and no further knobs or sliders.

                                          Updating a 25 year old Editor

                                          in reply to: On/Off button: 1 goes on, the other goes off #119748
                                          BAUS
                                          Participant
                                            • Topics: 2
                                            • Replies: 22
                                            • Total: 24

                                            Okay….. I used Dnalgood’s unelegant way of putting all the buttons in the local list….and it works…partially.

                                            What works is that only 1 button led is ON and the other 31 are off. Good!

                                            What’s not working is that each button that I press now outputs Program Change 32 except for button 32….that one outputs Program Change 31. I am still looking into this.

                                            Any ideas?

                                            Thanks,

                                            Robin Bausewein.

                                            Updating a 25 year old Editor

                                          Viewing 20 posts - 1 through 20 (of 22 total)
                                          Ctrlr