Home › Forums › Platform Specific › Linux › Linux Dump Requests Broken
- This topic has 10 replies, 4 voices, and was last updated 8 years, 2 months ago by atom.
-
AuthorPosts
-
January 13, 2016 at 1:58 pm #67989
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 f7January 13, 2016 at 3:58 pm #67990How 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.
January 13, 2016 at 4:25 pm #67991The dump is 522 bytes and it is received by the panel as blocks of 256 bytes max.
January 14, 2016 at 12:43 am #67993Overall the banks are around 68k each.
January 14, 2016 at 8:39 am #67994But every patch is sent individually, so the max dump size coming from the Virus is 522 bytes.
January 15, 2016 at 3:56 pm #68000I 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.
January 17, 2016 at 11:01 pm #68016I 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.
January 24, 2016 at 10:50 am #68124Thanks Possemo, but everything works well in Windows and Mac, this is a Linux specific problem, and a few people have run into it.
February 11, 2016 at 11:11 pm #68441So far it’s looking like the input buffer is what’s having problems, the output buffer seems to be dumping correctly, with no issues.
February 12, 2016 at 10:59 am #68444I 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).
February 12, 2016 at 11:24 am #68445I’ll add another callback to Lua that will be called on partial data:
http://www.juce.com/doc/classMidiInputCallback#af31fb0fe3195c72e76e9ebdfa89cf344if it will be split into “packets” a lua callback will be called on each part. that might help
-
AuthorPosts
- The forum ‘Linux’ is closed to new topics and replies.