I just managed to clone, compile and run MuseScore on my PC. So I'm ready to start contributing, right?
My initial thought was to tackle something simple: like "Implode". In looking into Implode, it seems like it's just one of many potential algorithm for combining multiple voices (or staves) into a single voice (or staff). Other versions might be equally valid, neither better nor worse. I'm wondering what might be the best direction for development. Implode is in Edit / Tools, which seems to be a set of internal "plugins". A useful plugin system should allow for functions in Edit / Tools to be created as plugins. If it were a plugin, then I could just create alternate implementations of Implode and the end-user could decide which ones to use. My first question is: Is Implode (and the other tools) built-in because the plugin system is not powerful enough to implement it? If it's not, perhaps that is something I might look at (although I would guess is not a good first project). If it is, then perhaps I could re-implement the current tools as plugins with the goal of removing the internal versions. If the plugin system is not powerful enough, another alternative would be to develop an internal plugin solution. This would add the ability for the end-user to select the internal plugins he/she wants to use. The big drawback is that these plugins probably have to become part of the MuseScore build system—they have to be compiled, maintained and updated—so the big advantage of plugins (independent development) is lost. For Implode, specifically, there is another solution. Perhaps the ability to merge and split voices and staves should be promoted to a major feature. I noticed that elsewhere on the list someone is proposing a piano reduction feature. Another merge tool I would find useful is the ability to combine two single-voice instruments on two staves into a single staff using the "1.", "2." and "a2" notation. Again, this is probably not a good place to start as a new developer. Or I could just try to improve the current Implode, if people are OK with that. Its main problem, from my point of view, is that it uses voice 1 as a template for the merge. If voice 1 has a lot of empty measures, none of the other selected music will fill this space. I'd like to do a merge that fills empty space with notes from any voice. I'd also like to experiment with a version that would handle different rhythms by using using all four voices in the target staff. The idea is that you would merge to an empty staff. The code would try to graft notes onto existing chords with matching durations. If no existing chord works, then a new voice is created (until you run out of voices, of course). My hesitation with changing the existing Implode is that I would be changing the way an existing feature works, which might have an implication for existing documentation. Adding an alternate Implode to the Tools menu doesn't seem like a good approach—thus the discussion of plugins. -- View this message in context: http://dev-list.musescore.org/What-to-tackle-Questions-regarding-implode-built-in-tools-plugins-tp7579858.html Sent from the MuseScore Developer mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Mscore-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mscore-developer
