VLC Film Scoring Sync Plugin V2

• Mar 20, 2025 - 08:14

This seems worth a new post, as much of the old one is obsolete. The plugin now references Musescore's playback time, thanks to Casper Jeukendrup, making a true sync possible, and making the old playback staff thing unnecessary.

To set up, go to settings in VLC and enable "HTTP web interface"

Then click "show all" and go to Interface > Main interfaces > Lua > and set password as "Test". You can set it to something else by changing the plugin code.

enter a value in the jump to time section and click "Go" to set Musescore and VLC both to that time. "Play/Pause" starts and stops both apps together from wherever they're currently positioned.

Auto-sync VLC syncs Musescore and VLC to the same time on play (sometimes VLC takes a second or so to sync up) and then stops them both when you pause in Musescore.

EDIT: V20-fixed text issues on some systems, made spacing slightly tighter and more consistent.

EDIT: V27 Fixed Auto-Sync, made a compact version to save screen space.

https://musescore.org/en/project/vlc-sync-film-scoring


Comments

This is a walk-through of the features in V2.0.19:
https://youtu.be/CqPaCBvov6o?si=MH5mcR2oSnDwADja

Here is a variant of V2.0.20 that condenses the GUI to symbolized buttons and essential features. This variant strips out the currently buggy auto-sync feature and eliminates the test and close buttons, providing a tighter layout and features limited to essential transport functions:

Attachment Size
VLC_Sync_2.0_v20.1GUI.png 19.33 KB
vlc-sync-2.0 v20.1.qml 35.84 KB

This is very exciting! One thing, though, that I had to change in the plugin code was to add explicit "font.pixelSize: 12" statements to all the text (including button labels), otherwise they are too big to fit in the window. Probably that's because of the way my system is set up for high DPI scaling. but anyhow, I assume adding those statements won't hurt on other systems since several of the elements are already setting font.pixelSize to 12. Maybe there is a better way to handle this - a way to set the default font size for everything in the window? - but anyhow, would you consider addressing this? And then, ideally, making the source available on GitHub and including this in the main Download / Plugins page for this site!

I have a semi-related and hoepfully super simple request for anyone who understands the code here.

One of the biggest complaints we get from blind users is that after pausing playback by pressing Space, there is no way to move the selection to the place where playback paused. So it's essentially impossible for a blind user to use playback to error check their compositions, because even if they hear an error, they can't easily jump to that spot. It's trivial for a sighted user because we can see the relevant measure on screen, but a blind user depends on the selection - and in particular, a single selected note.

So the request is this: can we adapt the code here so that after pausing playback, either the selection automatically jumps to a note at the playback position, or else running the plugin causes the selection to jump to the playback position? No UI required, just a simple matter of either starting the plugin and having playback always always move the selection, or else just running the plugin every time you pause playback and want to move the selection.

Looking at the code, I can tell the necessary info is all there, but it's a bit beyond me to sort out exactly how to strip it down. Well, given sufficient time, I could figure it out - but maybe somehow who knows the code already could know it out really quickly, and in the process, really help blind users out a lot.

In reply to by Marc Sabatella

I'm definitely not qualified to address that (at a programming level), but from what I understand, the selection functions in this plugin submit to the nearest second (due to the VLC timeline increments). So playing from a particular note is not really possible, unless a particular note happens to land squarely on a whole second. Even when the note select button is used, the actual jump is to the nearest prior second to the selection.

The good news, however, is that the M4 transport is not overridden or disabled with this plugin. So if the user is utilizing hot key functions for the application transport, nothing should be different than it would be without the plugin. When auto-sync is in use, VLC merely catches up on the next nearest second.

In reply to by cfirwin3

Wouldn't have to be accurate to less than a second in order to be extremely useful. Because by the time you notice the problem and stop, you're already past the problem area and would need to start cursoring backwards anyhow, with screenreader feedback. So it would necessarily still be a little trial and error to find the exact note, just as it would be for sighted users really.

Hi there! This plugin seem very helpful it arranging for video work. But no matter what I do I can't set it running. I've watched the video and go through instructions – it doesn't work. And every time I set it up for syncing VLC won't open after closing so I had to do hard reset every time and delete preferences file. Does anybody has the same issue?

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