lwc:musescore

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lwc:musescore [2026/09/17 11:32] – [Known Gotchas] John Harrisonlwc:musescore [2026/09/17 11:37] (current) – [Verifying a Merge Against Real Playback] John Harrison
Line 80: Line 80:
  
 ^ Issue ^ Explanation ^ ^ Issue ^ Explanation ^
-| Flatpak sandboxing hides real file paths | Writing to `/tmpfrom the MuseScore flatpak actually lands in `~/.var/app/org.musescore.MuseScore/tmp`, not the real `/tmp`. Fix: `flatpak override --user org.musescore.MuseScore --filesystem=/tmp`, or just save to `~/Documentsinstead. |+| Flatpak sandboxing hides real file paths | Writing to ''/tmp'' from the MuseScore flatpak actually lands in ''~/.var/app/org.musescore.MuseScore/tmp'', not the real ''/tmp''. Fix: ''flatpak override --user org.musescore.MuseScore --filesystem=/tmp'', or just save to ''~/Documents'' instead. |
  
 ===== Merging Multiple Scores into One (Movements/Album) ===== ===== Merging Multiple Scores into One (Movements/Album) =====
Line 86: Line 86:
 MuseScore 4 has no built-in Album/Join feature (it existed in MS2/3, not restored as of testing). MuseScore 4 has no built-in Album/Join feature (it existed in MS2/3, not restored as of testing).
  
-**Community PowerShell script** — combines full `.msczfiles sequentially (concatenates the raw staff XML from each score, inserting a barline + section/page break between each), rather than doing a manual copy/paste per instrument: +**Community PowerShell script** — combines full ''.mscz'' files sequentially (concatenates the raw staff XML from each score, inserting a barline + section/page break between each), rather than doing a manual copy/paste per instrument: 
-  * Script + thread: https://musescore.org/en/node/305513 — look for the attached **MusescoreCombine.txt** in the thread (renamed from `.ps1because the forum blocks script uploads directly — rename back to `.ps1after downloading) +  * Script + thread: https://musescore.org/en/node/305513 — look for the attached **MusescoreCombine.txt** in the thread (renamed from ''.ps1'' because the forum blocks script uploads directly — rename back to ''.ps1'' after downloading) 
-  * Runs fine on Linux under PowerShell 7 (`pwsh`) unmodified — it's pure zip/XML text manipulation via built-in cmdlets, no Windows-only APIs and no dependency on the `mscorebinary itself +  * Runs fine on Linux under PowerShell 7 (''pwsh'') unmodified — it's pure zip/XML text manipulation via built-in cmdlets, no Windows-only APIs and no dependency on the ''mscore'' binary itself 
-  * Usage: `pwsh MusescoreCombine.ps1 file1.mscz file2.mscz file3.mscz ...— order = argument order, not filename or directory order. First file's header/style/instrument list becomes the whole merged score's. Output is `MergedSore.mscz(script's own naming) in whatever directory you ran the command from.+  * Usage: ''pwsh MusescoreCombine.ps1 file1.mscz file2.mscz file3.mscz ...'' — order = argument order, not filename or directory order. First file's header/style/instrument list becomes the whole merged score's. Output is ''MergedSore.mscz'' (script's own naming) in whatever directory you ran the command from.
   * Preserves tempo/key/time-sig changes and ties correctly (raw XML concatenation), unlike manual copy/paste in the MuseScore UI, which drops tempo and key/time-signature changes across the paste boundary.   * Preserves tempo/key/time-sig changes and ties correctly (raw XML concatenation), unlike manual copy/paste in the MuseScore UI, which drops tempo and key/time-signature changes across the paste boundary.
   * Each inserted section break defaults to a **3-second pause** between movements (MuseScore's normal section-break default) — if you don't want a gap, select the break → Properties → set "Pause before new section starts" to 0.   * Each inserted section break defaults to a **3-second pause** between movements (MuseScore's normal section-break default) — if you don't want a gap, select the break → Properties → set "Pause before new section starts" to 0.
   * Requires identical staff/instrument layout (same instruments, same order) across all input files.   * Requires identical staff/instrument layout (same instruments, same order) across all input files.
  
-**Installing PowerShell (`pwsh`) on Ubuntu 24.04** — standalone `.deb`, no need to add the Microsoft apt repo for a one-off task:+**Installing PowerShell (''pwsh'') on Ubuntu 24.04** — standalone ''.deb'', no need to add the Microsoft apt repo for a one-off task:
 <code bash> <code bash>
 POWERSHELL_VERSION=$(curl -s "https://api.github.com/repos/PowerShell/PowerShell/releases/latest" | grep -Po '"tag_name": "v\K[0-9.]+') POWERSHELL_VERSION=$(curl -s "https://api.github.com/repos/PowerShell/PowerShell/releases/latest" | grep -Po '"tag_name": "v\K[0-9.]+')
Line 100: Line 100:
 sudo apt install -y ./powershell.deb sudo apt install -y ./powershell.deb
 </code> </code>
-If apt complains about `_aptsandbox permission denied on the local file, move the .deb somewhere `_aptcan read first: ``sudo cp powershell.deb /tmp/ && sudo apt install -y /tmp/powershell.deb``. This usually means your home directory's permissions are blocking the `_aptuser from traversing into it.+If apt complains about ''_apt'' sandbox permission denied on the local file, move the .deb somewhere ''_apt'' can read first: ''''sudo cp powershell.deb /tmp/ && sudo apt install -y /tmp/powershell.deb''''. This usually means your home directory's permissions are blocking the ''_apt'' user from traversing into it.
  
-===== Verifying a Merge Against Real Playback ===== 
  
-Useful technique for confirming a merged/edited score's timing actually matches what MuseScore will play, without needing to reverse-engineer tempo/time-signature math by hand: 
- 
-  - Solo the Metronome channel in the Mixer and export just the click track as WAV (see Playback section above). 
-  - Detect click onsets from the waveform (short percussive transients — a simple amplitude-threshold peak search works well; MuseScore's metronome accents downbeats at a measurably louder amplitude than other beats, which lets you segment the clicks into per-measure groups automatically). 
-  - Compare the click count per measure against the beats-per-measure implied by each measure's time signature in the score's XML — mismatches pinpoint exactly which measure has a structural problem (missing section break, unexpected pickup/irregular measure, etc.) far faster than guessing from the notation alone. 
  • lwc/musescore.1789644737.txt.gz
  • Last modified: 2026/09/17 11:32
  • by John Harrison