Playback: dump all relevant info over OSC
Hi,
I have a feature request that would aid me immensely to connect several standalone programs and allow for easier hacking and extension of musescore:
When running playback, musescore should dump all its current playback information over OSC in real time.
I am thinking of something along the lines of how Sibelius organizes its playback hierarchically and allows to fall back to standards of the specialized version does not exist. Say a violin is currently playing a bartok pizzicato on E +quarter tone, the OSC message could look something like this: /musescore/playback/64.5/instrument/strings/violin/pizz/bartok/ (64.5 represents the MIDI value for E (64) with a .5 to indicate a quarter tone step up).
A dynamics change for an specific instrument (e.g. our violin above) could look like: /musescore/playback/64.5/instrument/strings/violin/dynamics/mf - or, could have a user defined range between e.g. 0. for ppp and 1. for fff: /musescore/playback/64.5/instrument/strings/violin/dynamics/0.65 (which would also allow good control of e.g. crescendo +similar in real time)
Of course, all control data, for example tempo (/musescore/tempo/120) or practically any symbol (/musescore/symbol/clef/treble, /musescore/misc/bar) could even be sent. The whole score can be translated into OSC messages, which can prove highly beneficial for hackers and developers to potentially create amazing ideas.
I for my part have IRCAM's Solo Instrument library, which I would like to hook up to musescore, specifically *only* for the extended playing techniques that I cannot find anywhere else, but currently have no idea how to mix this with other playback methods...
Comments
Unfortunately, MuseScore doesn't have any realtime clock and so cannot generate this type of information. It only generate MIDI events if plugged into Jack. From there you could try to plug your instrument library.
There is no plan to add a realtime clock in MuseScore in the next release.