Serious flaws in copy/paste operations for Staff Text Properties

• Aug 9, 2013 - 00:27

I’m starting work on an arrangement that uses bariolage extensively in the guitar part. The piece is about 80 bars long, and for all of it, the guitar is playing steady bariolé 16th notes, alternating between the open B string (2) and B3 fretted on the G string (3), or the open E (1) and E4 fretted on the B string.

In order to get this to sound right in playback, I chose the C-trumpet for the staff instrument, then changed the staff name to Guitar. The trumpet allocates 2 channels, normal and mute, which I’m sending to LinuxSampler. The “normal” channel is loaded with one guitar soundfont, and the “mute” channel is loaded with a slightly duller guitar soundfont, which replicates the sound of a fretted string.

For each open-string note, I create Staff Text with the numeral “1” and assign it to the “normal” channel with the Staff Text Properties dialogue. For each fretted-string note, I create Staff Text with the number “2” and assign it to the “mute” channel. In the final score, the 1s and 2s will be invisible.

The first bar I set up this way sounds just the way I want. However, 80 bars at 16 16ths per bar works out to 1,280 notes, and I obviously don’t want to perform the text+channel assignments 1,280 times.

Knowing that Muscescore doesn’t copy Staff Text, tempo markings, or dynamics when you block select a bar (a serious, serious drawback in Musescore when scores require repeats to be written out in full—the recapitulation in classical sonata form, for example), I figured I’d copy my first bar to the remaining 79 bars, change whatever notes needed changing; then, having selected and copied my “1” Staff Text, use Ctrl-click to select all the notes requiring channel 1 (7 per bar) and paste the Staff Text onto them.

Guess what? No go. Apparently, you can’t “group paste” in Musescore.

First workaround for “no group pasting” of Staff Text

Okay, I thought, I’ll copy my “1” and paste it individually onto every note requiring it. Click, ctrl-v, click, ctrl-v, click, ctrl-v... Then I’ll do the same thing for every note requiring “2”. Click, ctrl-v, click, ctrl-v, click, ctrl-v...

I tried this on a couple of bars, and discovered, on playback, that Musescore wasn’t copying the channel assignments. When I called up the Staff Text Properties, it said the channel assignments were correct (ie “normal” or “mute”), but the playback wasn’t respecting them.

Second workaround for “no group pasting” of Staff Text

I discovered that the only way to get what I wanted was to

  1. select Staff Text “1” (click)
  2. copy “1” (ctrl-c)
  3. select the next note requiring “1” (click)
  4. paste “1” (ctrl-v)
  5. select Staff Text “2” (click)
  6. copy “2” (ctrl-c)
  7. select the next note requiring “2” (click)
  8. paste “2” (ctrl-v)
  9. repeat steps 1-4 for the next note requiring “1”
  10. repeat steps 5-8 for the next note requiring “2”

and so on and so on and so on. In short, getting the correct channel assignment for all 1,280 notes is going to mean performing 5,120 one-at-a-time operations, and that’s just for the guitar part!

Clearly, there’s a bug in the copy/paste operations of Musescore if my first workaround doesn’t work, and an overall design flaw if what ought to be simply a matter of selecting a bar and copying ALL the data associated requires instead the insanely laborious second workaround.

Sure hope this gets fixed in the mythical 2.0 release.


Comments

Since nightly builds of what you call the mythical 2.0 release (what other calls an "every day effort", it would be great if you could test the different points you mentioned.

For the quick tests I did, staff text are now copied with a selected measure. Not sure if the channel assignment is carried out. Would be great if someone could test and create an issue if not. http://musescore.org/en/project/issues

"Group pasting" of texts is not working and I couldn't find a feature request for it. Can someone post one http://musescore.org/en/project/issues

In reply to by [DELETED] 5

I’d very much like to test the things I’ve mentioned, but nightly builds are a no-go. I have the Qt5 libraries, but the nightly builds also require libc6-2.16 and my libc6 is 2.15, on a Ubuntu 12.10 (quantal) system. libc6-2.16 isn’t in the repos, I’ve heard there are some issues with it, and I’ve no wish to build it myself and have two versions of libc6 co-existing on my system. Been there, done that, got the bald spots on my head from tearing out my hair.

Would it be possible, as someone else suggested, to have static rather than dynamically linked nightly builds? My “mythical” crack stems from too many repetitions of this:

1. Run 1.3.
2. Discover a bug.
3. Report the bug.
4. Get told it’s fixed in 2.0.

I’m sympathetic to the reasons for the very long delay in releasing 2.0, having just lost a whole weekend to programming because I’m the sole maintainer of the project. However, it’s been over two years since work on 2.0 was announced, and 2.0, unlaunchable on a recent-release Ubuntu system, is now the sole focus of improvements and bug fixes. You can see how it’s rapidly developing into a kind of Eldorado. :)

In reply to by [DELETED] 5

I’m confused. Are you saying there are nightly builds compiled to run on Precise 12.04, which would mean they don’t have the libc6-2.16 dependency? If so, please, where are they? The nightly-build tarballs all have the 2.16 dependency, and I couldn’t see anything useful on Travis’ site.

You can try a nightly build of Musescore... perhaps copy/paste for staff text properties behaves better.

As Musescore is primarily a scorewriter, I am always intrigued by how far some users challenge its playback capabilities. Your use of the 2 channel allocation for muted and unmuted trumpet as a means for playback of the timbral difference between an enharmonic note played on different strings of the guitar is clever. Too bad the copy/paste didn't work.

I have no idea of your score, although you do mention that there are other parts, besides guitar. So, would not all the nuanced guitar playback get lost in the mix?
Solo guitar would seem more appropriate for this sort of endeavor. (Even use of a midi sequencer app.)

Having said that, have a look at the attachment:
You may wish to consider using a second instrument for the enharmonic tone. The guitar can, in reality, sustain both tones at the same time, more noticeable at slower tempos. Unless you use separate voices or another instrument you won't get this effect - however subtle. Copy/paste works better with a separate instrument.

I have used the standard sondfont, TimGM6mb when I created the attachment. You should experiment with various tempos, your own guitar sounds, even muting one part or the other for clarity.

Again, at faster tempos the differences become less noticeable.

Regards...

Attachment Size
Bariolage.mscz 3.24 KB

In reply to by Jm6stringer

“I have no idea of your score, although you do mention that there are other parts, besides guitar. So, would not all the nuanced guitar playback get lost in the mix?”

No. The scoring is very light (solo cello, guitar, clarinet, bassoon, 6-8 violins I & II, bass), and with the way I’m setting up the bariolage, the timbral difference is quite evident in playback.

Your suggestion of a second staff to handle the enharmonic tone is precisely what I want to avoid. There is no way to make a staff disappear completely from the score while remaining available for playback, which means I’d have to prepare two scores, the “real” score, correctly and conventionally notated, and a “playback” score. Amongst other things, that would mean I’d have to make changes in two scores any time I revised my work, which I am prone to do.

My solution for the bariolage works fine. The problem is that it’s nightmarish to implement because of copy/paste problems.

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