Community Blog

GSoC 2020: Tree Model - Week 9

3 years ago • 0 comments

Hi! This is another progress update blog for my GSoC project.

Last week I had my college vivas and seminar until Wednesday. After that, I have started working again on the write function refactoring.
The main progress I have made is, I have written from scratch a virtual treeWrite() function, and made it match somewhat with the current mscx format by reimplementing it in the top-level classes.

Here's a link to diffs between the original and new files produced by

Read more

GSoC 2020 Week 9 Recap: Playback Plus

3 years 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

GSoC 2020 Week 8 Recap: Model Design and Convincing Illusions

3 years 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

GSoC 2020: Tree Model - Week 8

3 years ago • 0 comments

Hi all, Welcome to this week's GSoC progress blog!

I have been trying to refactor the write() function based on the tree model. The basic idea is very simple:
We will have a generic ScoreElement::write() function which will be something like the following:

void ScoreElement::write(XMLWriter& xml)
{
    xml.beginElement(name());
    for (p : properties()) {
         p.write(w);
Read more

GSoC 2020: Albums, Week 8, Approaching our destination.

3 years ago • 0 comments

The end of stage 2

The time for the second evaluation of this GSoC project has come and with that, I bring you a bunch of updates and the long-awaited video that I promised you weeks ago. Let's get down to business now, shall we?

The updates

  • Added the option to include the absolute paths to the scores when saving the album.
  • Added the ability to edit the style of the movements in album mode.
  • Added an option to move
Read more

GSoC 2020 Week 7 Recap: Keeping It Together

3 years 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

GSoC 2020: Albums, Week 7, Approaching our destination

3 years ago • 0 comments

Polishing

Greetings MuseScorers, one more Album GSoC progression blog is here. We have officially entered the second half of this year's Google Summer of Code. I am pretty satisfied with the state of the project and I believe that I still am quite a bit ahead of schedule.

Since the last blog I've fixed a bunch of bugs, crashes and brought the editing capabilities of the album-mode closer to those of a normal score.

The Specifics

  • Added a way to
Read more

GSoC 2020: Tree Model - Week 7 (finished scanElements refactoring)

3 years ago • 0 comments

Hello MuseScore blog readers!

Work done last week

Since my last blog on Wednesday, I have made some final changes to my PR and addressed all the review comments.

I tried testing the application after all the changes were made, and although 99% of the things seemed to be working fine I noticed a few small bugs and a bit bigger one.

The smaller bugs were related to the palette, some elements like spanners, glissandos and fret diagrams were not

Read more

GSoC 2020: Tree Model - Week 6

3 years ago • 0 comments

Hello! Sorry for the delayed blog post, I was busy making final changes to my pull request and squashing the 25 commits into 7 major ones. I thought it's going to be 1 hour's work and I'll write my blog post after finishing it, but it took 1-2 days. It really was a struggle against git... 😂

So here's what I have been working on this week:

  1. I have added MMRests (or rather, MMRest measures) to the tree model!
    Basically,

Read more

GSoC 2020: Albums, Week 6, Weather conditions optimal

3 years ago • 0 comments

Improvements and roadblocks

Welcome to this week's progress blogpost. It was an exciting week that marked the end of my exams period (which means that progress will accelerate) and was full of improvements and bug fixes for MuseScore's Albums.

The successes

This week I focused on polishing the album-mode editing experience and on improving the codebase.

  • Decoupled the album Score instances from the Score instances used by the ScoreVIew. This allows the Album to work without opening all its scores
Read more