Notational features that are available with open API
I am trying to build a new music software and are thinking of using MuseScore API. Can someone please let me know what specific notational features are available with their open API?
I am trying to build a new music software and are thinking of using MuseScore API. Can someone please let me know what specific notational features are available with their open API?
Do you still have an unanswered question? Please log in first to post your question.
Comments
Not sure what you mean by API. Do you mean the functions in libmscore within the MuseScore source code on GitHub? This library wasn't really designed as an API to be used by other applications, although of course as open source software, nothing prevents you from it. But there isn't the sort of documentation you woould want for that, nor are there any guarantees these function interfaces won't change over time (in fact, I can pretty much guarantee they will). Anyhow, best way to get familiar with the MsueScore source is to build MuseScore itself, maybe try your hand at fixing some bugs.
In reply to Not sure what you mean by… by Marc Sabatella
By API I mean if musescore features listed in this link https://musescore.org/en/handbook/musescore-product-description
can be used with communication protocols to work in software that we’d like to build?
In reply to By API I mean if musescore… by Max Kryzhanovskiy
MuseScore as a standalone application has those features, sure. But it isn't clear yet how you propose using them. Can you explain more about what you are trying to do?
In reply to MuseScore as a standalone… by Marc Sabatella
I am trying to build another music application using some of musescore available features using musescrore API so that I don't have to build those notational features from scratch. Does that make sense?
In reply to I am trying to build another… by Max Kryzhanovskiy
MuseScore doesn't offer API in the traditional sense (a public, described interface usable from external software by well defined calls).
Not a single one.
It could do, but that hasn't be the focus until now (one of the reason to not do it is to stay free to do any changes to the MuseScore code without fear of breaking API)
In reply to MuseScore doesn't offer API… by frfancha
How else can we use their features in our web app?
In reply to How else can we use their… by Max Kryzhanovskiy
You could incorporate part of their source code in your own, checking their licence to see exactly what's allowed (what licence you are allowed to use for your own software if you use their code).
In reply to I am trying to build another… by Max Kryzhanovskiy
Again, in order to help, we would need a lot more information about what you are trying to do. Like, what does you app do, what kind of information does it have and in what format, how would you propose passing that information to MsueScore, what kind of information would you want to get back, etc. Right now there is simply no way to even begin to guess at how to help.
In reply to Again, in order to help, we… by Marc Sabatella
I will also someday be creating my own music software, and i've thought about using the technology that MuseScore uses for the Staff view (displaying the notes with a standard musical staff). One day i would have asked this same question.
Is there anything in MuseScore's code that can be borrowed for the staff notation code of someone else's non-commercial software? IDK if i'll be using Qt, and probably not if their GUI is limited to the most basic elements.
In reply to I will also someday be… by harbinger
Qt can create pretty sophisticated GUI's, everything in MuseScore is done using it and we're hardly scratching the surface. But anyhow, in theory you can compile libmscore and use it like a library, but the reality is, it's a moving target and I wouldn't advise it. I'd be more inclined to use it as a standalone converted (eg, MusicXML to SVG or MIDI or whatever). But again, it all depends on what one is actually trying to accomplish, and it's virtually impossible to answer questions like this without a ton more info.
In reply to Qt can create pretty… by Marc Sabatella
Idk what info you need, but the open-source software i will create (one day) will use the standard staff notation techniques that MS does. The user would be able to view the staff, piano roll, audio waveform, and event MIDI all at once for one or more channels. My dreamware would be more of a composition application than a notation software, but i like MuseScore's approach to setting notes and ornaments and i hope to find something good in the code that can be transferred. I will probably end up poring thru the lines of code picking-and-choosing what i might need. I won't be getting into anything deep like tablature, and probably not even chord diagrams, just something simple but professional, at the very least for part extraction.
As far as the GUI, i believe i will be creating my own code for a completely customizable "skin"-based interface, so that devs would be able to create a different look for the build they create for their own software.
In reply to Idk what info you need, but… by harbinger
What about rather participating to the rewrite of MuseScore in a modular form proposed by Shoogle in another thread?
In reply to What about rather… by frfancha
No, this piece of dreamware is the equivalent of art project, but i will have to learn programming (I'm an artist first). But of all the software i've seen and used, nothing is done intelligently and intuitively. So one day, i will sit and start the process of creating only the best composition software ever! :D
In reply to Idk what info you need, but… by harbinger
It's still entirely unclear what your program would actually do. Are you proposing, for example, creating a MusicXML file, then invoking MuseScore via the command line to render that MusicXML as a PNG file, then read that PNG file from the disk and display it within a widget in your program? That's certainly doable. But that's the sort of specific information we would need in order to help: "I have an X (musicxml file, data structure in emmroy represented using music21, etc) and I want to use MuseScore turn into Y (PNG file, graphic imagine on the clipboard, a new data structure represented using music21, etc). Saying you want to "transfer something good" doesn't help :-)