LibreOffice / MuseScore Extension Manager - update

• Jun 3, 2019 - 17:44

Some of you may know I had developed an extension for use with LibreOffice that would help automate the task of inserting musical examples into text documents (see This extension did a number of interesting things above and beyond what you could do by simply using the image capture tool to copy images from MuseScore into LibreOffice. But I think the most useful was the fact that it added the image as a link back to the score, so you could later Ctrl+click the image in LibreOffice and the corresponding score would automatically open in MuseScore for further editing (basically, a poor man's "object linking and embedding", for those familiar with this).

Changes to LibreOffice over the past year have broken the extension, which would have needed to be updated for MuseScore 3 as well. And while I really want to see this functionality continue to exist, I find that I am stretched a bit too thin to continue to maintain this myself. Plus, I'd really like to see similar functionality for other programs besides LibreOffice.

So, I have a couple of things to propose:

1) I have a trial implementation of a new feature from within MuseScore's image capture mode, "Copy image with link to score" that copies a snapshot of the selected region to the clipboard similarly to the existing Copy command, but in a way that includes a link to the score. You can then paste this into LibreOffice and have that same basic advantage as the extension, but it requires only a dozen lines of code and maintaining this is not likely to become a problem over time. Plus, it at least has a chance of working with other programs.


2) If someone wants to take over maintenance of the extension as it stands, please be my guest, and I'm happy to help get you up and running.

Question regarding 1) above: I recognize there are some aspects of the current extension that would be lost here (automatic resizing of images to fit within margins, ability to select the score and update it directly from within LibreOffice). But my sense is these aren't as important as having the link, and those people usign the extension would find there to be advantages to the new scheme that are pretty strong too (ability to use regions rather than requiring each example to be a separate score, possible support for programs other than LibreOffice). Thoughts?


Thanks for doing this! I think there are a few more features we should provide in MuseScore that would make it much easier to produce musicbooks-with-text, but a separate program will always be needed to produce textbooks-with-music. The LibreOffice extension was a great idea but too niche to see much adoption, and much effort for one person to develop on their own. These linked images sound like a more robust solution.

Now what would be great is if we could select a region of the score, such as a system or measure, and say "please take a screenshot of this region, and please overwrite that screenshot with a new one whenever this region changes". This is clearly a feature for MuseScore rather than another program/extension.

In reply to by shoogle

"please take a screenshot of this region, and please overwrite that screenshot with a new one whenever this region changes"
+1. It would be very useful. By the way, I hope the Libreoffice extension could be update, it doesn't work here (Debian Stretch, LibreOffice with Musescore 3.2.3, but works nicely with Musescore 2.3.2

In reply to by sub26nico

"Snapshot" to me means "snapshot". If I take a snapshot of the guy with his hand in the cookie jar, or Bigfoot outside my window, I don't want them updated when he or Bigfoot moves on. I would find this intensely disturbing, unless I'm really misunderstanding. I do not want software overwriting "shapshot"s ever, unless I'm really misunderstanding (which happens!).

In reply to by [DELETED] 1831606

@BSG, I think you are in danger of falling for a few logical fallacies:

  1. "I don't want this feature, therefore nobody wants it."
  2. "Implementing this new feature would necessitate removing an existing feature that I know and love."
  3. "If this feature exists, that means I would be forced to use it."

Nobody said anything about removing the ability to take standard snapshots.

In reply to by shoogle

That's why I said I may well be wrong. I'm not saying nobody wants it; obviously, the poster above does. And as long as what is now continues to exist, and is the default. I will be satisfied. Do you know of any other applications that silently, unasked, updates images of any sort (other than their active documents) in the file system?

In reply to by sub26nico

As explained in the original message here, I am unable to continue maintaining the extension. LibreOffice simply changed too many things about how their plugin framework works. The extension is open source, so if someone else is willing to take over maintenance, I'm more than happy to pass the torch.

Meanwhile, the change I mentioned in paragraph 1) is already implemented and working well in the current release of MuseScore, 3.2.3. From within MuseScore, use the image capture tool, right-click the region, and choose "Copy with Link to Score". Now you have a snippet of HTML in your clipboard you can simply paste into LibreOffice that does the exact same thing the extension used to do: insert an image with a link back to the score for easy update later.

The idea of a "live" image capture - one that updates whenever the score changes - is interesting, but I don't see how it could be practical. For one thing, merely defining the region is tricky because as the score layout changes, the region you wanted to capture may change position - and indeed, may now be split across lines in a non-rectangular way. And then there is the question of, where does the image get stored? Right now. it's in the clipboard, but that is constantly updated every time you change a selection and do a "copy". It would not be advisable to throw away the clipboard every time the score is updated! Finally, you'd still have to paste the result into LibreOffice.

What would really be useful is to use Object Linking and Embedding, which was once a hallmark of Microsoft Office but somehow seems to not be ow people do things anymore. But this is what I think we all really want: a way to specify from within LibreOffice that we are inserting an object into the document that will be rendered on the fly by some external program. Then everything just works. Every time you update the score, it automatically updates within LibreOffice. Now that would be worth spending some time on, but I have no idea how to use OLE in LibreOffice, so again, I would hope someone else would volunteer to take that project on.

Do you still have an unanswered question? Please log in first to post your question.