Community Blog

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

3 years 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: Albums, Week 2, Prepare for takeoff

3 years ago • 0 comments

Excitement

Welcome, once again, to this running series of weekly blog posts about the Albums feature. The last seven days proved to be very exciting. Let me share that excitement with you.

MuseScore Café

First of all, I want to thank Marc Sabatella for inviting me to last week's MuseScore Café to talk about GSoC and this project. Check it out if you want to learn more about Albums (especially if you haven't read the previous blogs) or about MuseScore

Read more

GSOC 2020: Tree Model - Week 2 (Tree model nearly complete!)

3 years ago • 0 comments

Hello again!

Here’s what I did last week:

Last time I had planned that I will be adding most of the elements to the score tree model. So to do that first I needed to make a complete hierarchy of all the elements.

So, I went through all the scanElement functions in the libmscore/ folder and made a rough diagram of what all elements they pass through.

Here is the diagram:

[inline:drawing2.png]

The green lines in the diagram show an

Read more

GSoC 2020 Week 1 Recap: Early Success

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

GSoC 2020: Albums, Week 1, Boarding :-)

3 years ago • 0 comments

Decisions, decisions.

Hello again, it's time for our weekly blog-meeting. This was an interesting week. I continued working on the Album-mode (if you don't remember, this is the mode where the user sees and edits the entire album as a single score), mainly on laying out the movements correctly and drawing them. I also spent a considerable amount of time trying to understand the relationships between the various Score classes in the MuseScore database and thinking of possible ways to

Read more

GSOC 2020: Tree Model - Week 1

3 years ago • 0 comments

Hello guys! Time for another blog ...

This week, I had an interesting talk with Marc Sabatella, MuseScore Director of Education. He had invited me to his weekly series on YouTube called MuseScore Café, in which I talked about my project. It was a nice experience for me, and I am quite thankful to Marc for inviting me to MuseScore Café. :-)

MuseScore Café

MuseScore Café

After this I had some discussion with my mentor, and we finally decided that we will

Read more

Week 0: Start of the coding period

3 years ago • 1 comment

Me and my mentor had a video call and discussed the possible approaches in which we could do this tree model refactoring. We identified three different ways, which I’ll explain next:

Approach 1 - Using the setParent() function to populate a children vector in parent object

The objects of class Element already have a function parent() and setParent(), which means that already the parent element exists for each element. So it means we already have the whole tree structure, but

Read more

GSoC 2020: Albums, Week 0, At the Gate

3 years ago • 3 comments

Album-mode

Greetings and salutations MuseScore blog readers, this week I will show you the 2nd mode of operation in action, Album-mode.

[inline:Screenshot from 2020-06-02 10-25-47.png]

Progress

The Good
  • As promised last week I worked on the layout and playback of scores with multiple movements. I am happy to announce that most of my attempts have been met with success, as you will see on the video. The movements are displayed properly, playing the album works, and editing the individual score
Read more

GSoC 2020 Day 1: It Begins.

3 years ago • 1 comment

It's June 1st, and the coding period is now underway!

Update from last week

My pull request remains open, but it is, I think, mergeable. No changes to the file format were required; I made sure to write "Rest" instead of "MMRest" in the MSCX output, and to check when reading "Rest" to create the correct Rest or MMRest object. I also discovered a bug that I fixed completely by accident, #306192: Lyrics entry with multimeasure rest selected, so

Read more

GSoC 2020 Week 1 BC (Before Coding): Under-the-Hood Changes

3 years ago • 2 comments
Previous post Next post

Last week, I was in a conference call with the other MuseScore GSoC students and mentors, where we mainly discussed the challenge of minimizing conflicting code changes (both among ourselves and between us and the core team). We could work in three different directions all summer, happily oblivious to each other, and find out in three months that it's impossible for all three of our projects to be merged at once. Or, we could submit our

Read more