Comments (2)
This is an interesting idea, I'm just not sure how many people would (1) need it and (2) figure out how to use it.
Do you have any particular hardware in mind that can't handle full-speed MIDI and needs to be throttled?
Also, if there was a browser-based editor/librarian for that hardware, couldn't it do its own throttling?
(MIDI is 40 years old, and is absurdly slow by modern standards. Any hardware newer than about 1990 has no excuses for not handling full-speed MIDI. That said, I know there are plenty of older and bad devices out there.)
from midiapps.
thanks Kurt. yeah, i agree this is a corner case and might not warrant bloating the codebase. pls feel free to close the issue as you see best. i'll create a local fork and try to implement it here.
browser side cannot unfortunately throttle as it only supports sending complete sysex messages. as for the user experience, the user would simply need to select Sysex Librarian port as output at the browser side, unless already set as default. at Sysex Librarian side s/he would need to A) activate thru port mode in settings, B) possibly set its buffer size, and C) select the throttled output port in the main window.
bit complicated for sure. i guess another option could be to expose custom sysex commands which enables browser side control over those settings. that would introduce security issues though if the browser page resides in the open internet.
my specific use case is in chip-level emulation of 80s gear (in sw), and with those i've noticed that slight throttling gives more reliable results compared to full speed. i've seen the issue with several vintage models especially with larger sysex dumps. it may well be related to emulation only, and as such, is definitely a corner case of a corner case.
googling around however seems to indicate that there may be issues with real hw as well. possibly due to bad usb interfaces/drivers instead of synths themselves. interestingly, it appears to be important that the chunk size is set correctly at the sending side, since usb midi spec defines that sysex payload is carried over in three byte blocks. that was all news to me.
but agreed, this issue may not justify the bloat. in any case big thanks for the tools. i find both MIDIApps very useful.
from midiapps.
Related Issues (20)
- Support command line or scripting with AppleScript/Automator actions HOT 6
- I am having issues getting the project to run Issue with sparkle HOT 3
- Add feature: Window always on top
- Multiple Instances / multiple saved libraries
- Locate / Scan from folder
- Keyboard shortcut for Rescan MIDI HOT 3
- Showing Controller names and numerical value HOT 1
- Add a way to receive program change, send sysex to specific destination (multiple destinations)
- macOS 13.3 beta: Spying driver isn't loading HOT 1
- Duplicated events from spying MIDI driver
- MIDIMonitor: crash when using device IAC and many notes sent at once HOT 6
- Add a search field to quickly find files
- MIDI Monitor new untitled window too small, inconsistent location HOT 1
- Add right click contextual menu on files
- Crash when quitting or closing window, when "Ask to save when a changed window is closed" is off HOT 1
- MIDI Monitor in full screen: hiding/showing Sources or Filters causes broken layout
- MIDI Monitor crash on quit with unsaved changed document
- MIDI Monitor crash when saving, with events with host timestamps > Int64.max
- MIDI Monitor: timestamps can be inconsistent across save/open HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from midiapps.