Linux Dump Requests Broken

Home Forums Platform Specific Linux Linux Dump Requests Broken

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #67989
    mrmowgli
    Participant
      • Topics: 1
      • Replies: 11
      • Total: 12

      So strange, I’ve been trying to get the Access Virus panel to work correctly in Linux, and everything works except large dump requests, which are incomplete and broken up into chunks for some reason. The requests work on Windows and Mac, so this appears to be linux specific. I’ve tried it with a variety of Midi devices, and with alsa midi versus jack midi, and also a2jmidi all with exactly the same issues. I’ve seen some signs of this happening to some other people, is there a work around or something that needs to happen in the panel itself? Using Ubuntu 14.04lts and CTRLR stand alone 5.3.186. This has never worked for me on Linux.

      Here’s an example of a bank request:

      RAW:[f0 00 20 33 01 00 30 00 00 f7]
      RAW:[f0 00 20 33 01 00 10 00 00 0c 15 00 00 03 00 00 7f 00 00 40 7f 00 00 00 00 00 40 00 00 40 60 40 00 00 40 20 00 00 40 40 60 00 40 00 00 40 00 00 40 7f 40 00 00 00 00 40 40 40 00 00 00 00 00 00 2e 00 40 7f 00 7f 7f 40 04 00 00 00 30 01 00 00 40 00 00 40 40 40 40 40 30 01 00 00 40 00 00 40 40 40 40 40 64 01 40 00 00 00 00 30 7f 40 00 01 01 7f 00 45 10 40 40 01 00 01 00 40 00 10 0c 01 40 00 00 00 01 00 00 00 00 40 00 00 00 00 40 00 30 01 00 00 01 00 00 00 01 39 04 00 00 00 00 7f 00 00 01 42 3e 01 00 01 01 01 24 00 00 40 00 00 00 00 00 40 40 28 2b 55 40 40 40 40 00 00 40 40 40 40 40 00 40 40 40 00 00 00 00 40 00 00 40 00 40 00 00 40 00 40 00 40 00 40 00 40 00 03 00 24 70 30 40 7f 00 40 47 33 40 40 28 20 00 00 00 00 03 00 40 03 00 40 03 00 40 20 2d 20 49 6e 69 74]
      RAW:[20 2d 20 02 00 00 01 03 00 71 00 01 00 02 50 14 31 1c 00 00 00 40 03 04 02 00 00 00 00 00 7f 40 40 7f 7f 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 7f 7f 40 00 00 00 00 00 14 46 00 40 46 14 46 00 40 46 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f 6e 7d 01 1a 5f 00 65 73 01 46 7d 00 26 55 00 73 40 01 74 1f 01 6f 6a 00 40 71 00 4a 0a 00 15 53 01 23 20 01 6e 50 00 3f 1e 01 3b 59 01 6c 29 00 3f 2a 01 25 1e 00 17 0a 01 57 51 01 5d 1d 00 12 53 01 4d 41 01 3f 7c 01 6b 24 01 5c 46 01 40 5c 00 1d 0f 01 40 3c 01 10 4c 01 12 78 01 2e 17 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
      RAW:[00 00 00 30 7f 40 00 01 00 00 48 f7

      #67990
      atom
      Keymaster
        • Topics: 159
        • Replies: 2945
        • Total: 3104
        • ★★★★★

        How big in bytes is the response from the device, there are some places i can change in the JUCE/MIDI(ALSA) code that could increase the buffer size, that could help, but i was wondering how big this data is.

        #67991
        dasfaker
        Keymaster
          • Topics: 80
          • Replies: 793
          • Total: 873
          • ★★★

          The dump is 522 bytes and it is received by the panel as blocks of 256 bytes max.

          #67993
          mrmowgli
          Participant
            • Topics: 1
            • Replies: 11
            • Total: 12

            Overall the banks are around 68k each.

            #67994
            dasfaker
            Keymaster
              • Topics: 80
              • Replies: 793
              • Total: 873
              • ★★★

              But every patch is sent individually, so the max dump size coming from the Virus is 522 bytes.

              #68000
              atom
              Keymaster
                • Topics: 159
                • Replies: 2945
                • Total: 3104
                • ★★★★★

                I need to test this on my linux box with some actual midi hardware, i expect every MIDI driver on linux behaves different so there might be issues with that, i need to dig into this a bit deeper.

                #68016
                Possemo
                Participant
                  • Topics: 14
                  • Replies: 638
                  • Total: 652
                  • ★★★

                  I just has a similar problem. I try to receive a BulkDump from the MKS-70. These are not that big (64×66 bytes and 50×88 bytes) but they are 64+50 separate sysex-messages. I saw that someting is not right, because the end-byte (F7) was altered on some messages (not on all messages). By playing around with the midiReceived script I got it working. I guess the Dumps are to fast to get done.

                  I am not 100% sure but I think the getRange made the difference. getRange is in fact not needed and when I commented it out it worked fine…

                  BulkPatchData=SysexMessage:getData() --:getRange(0,65)

                  But MKS-70 has a small BulkDump. Don’t know it this will work on bigger ones, and I have to say I am using Windows10. So this may be another issue.

                  • This reply was modified 8 years, 3 months ago by Possemo.
                  • This reply was modified 8 years, 3 months ago by Possemo.
                  #68124
                  mrmowgli
                  Participant
                    • Topics: 1
                    • Replies: 11
                    • Total: 12

                    Thanks Possemo, but everything works well in Windows and Mac, this is a Linux specific problem, and a few people have run into it.

                    #68441
                    mrmowgli
                    Participant
                      • Topics: 1
                      • Replies: 11
                      • Total: 12

                      So far it’s looking like the input buffer is what’s having problems, the output buffer seems to be dumping correctly, with no issues.

                      #68444
                      Possemo
                      Participant
                        • Topics: 14
                        • Replies: 638
                        • Total: 652
                        • ★★★

                        I see it now, this is a different issue. Maybe input buffer too small? My problem was that I wanted to process the sysex messages just when they arrived, instead of waiting until all messages were arrived correctly (I put them just in a variable now).

                        #68445
                        atom
                        Keymaster
                          • Topics: 159
                          • Replies: 2945
                          • Total: 3104
                          • ★★★★★

                          I’ll add another callback to Lua that will be called on partial data:
                          http://www.juce.com/doc/classMidiInputCallback#af31fb0fe3195c72e76e9ebdfa89cf344

                          if it will be split into “packets” a lua callback will be called on each part. that might help

                        Viewing 11 posts - 1 through 11 (of 11 total)
                        • The forum ‘Linux’ is closed to new topics and replies.
                        There is currently 0 users and 72 guests online
                        No users are currently active
                        Forum Statistics
                        Threads: 2,495, Posts: 17,374, Members: 77,605
                        Most users ever online was 12 on January 22, 2019 3:47 pm
                        Ctrlr