GithubHelp home page GithubHelp logo

Comments (6)

krevis avatar krevis commented on June 12, 2024 1

Hmmm. Napkin math:

  • 120 KB = 122880 bytes
  • MIDI transmits at 3125 bytes / second
  • It should take 122880 / 3125 = 39.3 seconds at full speed.

Not sure why it's only taking half of that time!

from midiapps.

krevis avatar krevis commented on June 12, 2024

It's unlikely I will make a command-line version, since sendmidi already exists, and looks pretty complete. Sorry.

(I could definitely look into Automator, though.)

There might be a workaround. In theory, when you set a port's sysex transmit speed using SysEx Librarian's preferences, that will apply to any app that sends sysex using the CoreMIDI MIDISendSysex function.

I don't know whether sendmidi uses that function, though. Would have to dig through its code (and any libraries like JUCE that it uses) to find out.

Or, you could try it. What happens if you set the speed using SEL, say to a really slow speed, and then use sendmidi to send a file? Is it any slower?

(Also, are you sure you actually need the throttling? It's the year 2022, and any reasonable MIDI interface and device should be able to handle full-speed sysex transmission. Or so I'd hope.)

from midiapps.

mmontag avatar mmontag commented on June 12, 2024

Interesting... just tried it, changing the speed in SEL doesn't affect sendmidi behavior. Sendmidi is also weird in that it doesn't show a progress bar but immediately terminates. I set the speed to 20% in Sysex Librarian. I'm sending a 120 KB sysex file; the MIDI activity continues after the sendmidi exits for about 19 seconds.

I think my device at least needs a small delay between messages. In any case, the transfer from sendmidi is not working.

from midiapps.

krevis avatar krevis commented on June 12, 2024

(But thanks for running the experiment.)

from midiapps.

mmontag avatar mmontag commented on June 12, 2024

It looks like JUCE doesn't make use of the MIDISendSysex function (see also juce_mac_CoreMidi.mm). It does use MIDISend and MIDISendEventList. Would this explain why the system-wide transmit speed is being ignored?

from midiapps.

krevis avatar krevis commented on June 12, 2024

Yes, exactly.

from midiapps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.