Isaac Weiss's blog

GSoC 2020 Week 10 Recap: MusicXML in Difficult Circumstances
2 days ago • 1 comment

What a week.

What a week.

Update from last week

One sweltering day in August, a well-loved MacBook went to sleep and never woke up. During the very week when I was over 300 miles away from my (non-Mac) secondary machine.

I am amazed at how much I was able to accomplish under the circumstances. I commandeered someone else's gaming laptop, set up a guest account, and immediately began downloading at least a dozen gigabytes of stuff (Visual Studio, Qt,

Read more
Isaac Weiss GSoC 2020 Week 9 Recap: Playback Plus
1 week ago • 0 comments

Update from last week

Since the playback algorithms already had handling for one-measure repeats, it turned out to require only small changes to get the two-measure and four-measure repeats to play correctly. (However, in some circumstances it is questionable what it is to "play correctly"—see https://t.me/musescoreeditorchat/82334. Please don't put your musician in a circumstance where it is questionable what it is to "play correctly.") And I was pleased to find that, by investing in playback, I got MIDI export

Read more
Isaac Weiss GSoC 2020 Week 8 Recap: Model Design and Convincing Illusions
2 weeks ago • 0 comments

Hello! The last week ended up being quite different than what I had planned, but some solid improvements were made nonetheless.

Update from last week

PR #6211, my multimeasure rest work, was merged! I have now opened PR #6365 for my measure repeat work.

Inspector

According to plan, I added an Inspector for MeasureRepeats. Not according to plan, the ground shifted under my feet and suddenly all my files were in the wrong place. I should have had PR

Read more
Isaac Weiss GSoC 2020 Week 7 Recap: Keeping It Together
3 weeks ago • 1 comment

Hello! For this week, I made a longer video:

Update from last week

I made the bond between the measures of a MeasureRepeat group much stronger, disallowing or adding special handling for as many scenarios as I could think of that would interfere with them. Among those scenarios:

  • Copying and pasting measures within a group (disallowed, unless the whole group is selected)
  • Pasting anything into a group (allowed, removes the MeasureRepeat and resets associated measures)
  • Note input within a group
Read more
Isaac Weiss

GSoC 2020 Week 6 Recap: Warning Warning

4 weeks ago • 0 comments
Previous post Next post

Hello again! Last week was a bit of a mixed bag. I didn't accomplish everything I hoped to, but still, progress was made. Let's get into it.

Update from last week

Bugs

My "Priority 1" issue, having to do with undo/redo, was unexpectedly fixed for me by (once again) @mattmcclinch. The "Priority 2" issue, though... I banged my head against the wall all week, and went deep, deep into the weeds with my mentor to figure

Read more

GSoC 2020 Week 5 Recap: Laying Out Measure Repeats

1 month ago • 9 comments
Previous post Next post

Update from last week

My goals for last week were as follows:

  • Expand MeasureRepeat class to support varying numbers under the hood
  • Draw the MeasureRepeat from the font instead of with a hard-coded path
  • Make all current uses of MeasureRepeat specify that it is the one-measure version being called (i.e., keeping same functionality, but changing implementation)

I did all of that in the first couple of days, and went on to, well, take those under-the-hood changes

Read more

GSoC 2020 Week 4 Recap: Time Warp (ft. Matt McClinch)

1 month ago • 0 comments
Previous post Next post

Hello, all! In the last week, I did some work a few weeks ago. Let me explain.

Update from last week

Group measures

On Wednesday I joined Marc Sabatella's weekly MuseScore livestream to demonstrate the current state of my project, and discovered a bug in my code live on the air—measure numbers were incorrect starting after a measure group.

This was a mystery to figure out because there didn't seem to be any models to follow

Read more

GSoC 2020 Week 3 Recap: "Group Measures" is a better "Don't Break"

1 month ago • 0 comments
Previous post Next post

Hello again! I'm happy to report another productive week.

Update from last week

Multimeasure rests

The question of n/2 time signatures was resolved; I put it to some engraving specialists in a Facebook group, and followed their recommendations, ensuring that in such cases the one-measure "multi"-measure rest would be a standard whole rest with the numeral 1 above it, like this:
[inline:old-one.png]

Thus, PR #6211 is finished. Now I'm just waiting for it to be

Read more

GSoC 2020 Week 2 Recap: Old-Style Multimeasure Rests, or Fun with Special Cases

1 month ago • 2 comments
Previous post Next post

Hello again! Hard to believe it's only been two weeks of official coding so far. I'm almost done with the first part of my project, a week ahead of schedule—and that's probably for the best, because what comes next will be far more difficult.

Update from last week

I previously had opened a second PR for the old-style multimeasure rests, because I wanted to leave the first PR in a state of completeness and merge-readiness, but

Read more

GSoC 2020 Week 1 Recap: Early Success

2 months ago • 3 comments
Previous post Next post

Hello again! Last week I was completely surprised by how easily everything went. I'm glad I got a head start on disentangling the code for MMRests from Rests, because with that out of the way, I had only simple and straightforward tasks.

Update from last week

I wanted to accomplish three things last week:
- Make the thickness and length of the horizontal and vertical strokes of H-bar rests variables, rather than hard-coded values
- Expose

Read more