Community Blog

GSoC 2019: Chord Symbol Playback - Week 7

4 years ago • 7 comments

We're past halfway through the official period!

So far

The last day I've beeen flying and having some issues with airport wifi so I apologize for the late blog pose (I'm home now though! :)). This week, I've been full speed ahead on voicing algorithms. I've got some kind of version of a few different algorithms and you can see them in action here:

Video Here!

And here is a look at the actual notes produced by a few of the algorithms

Read more

GSoC 2019: Plugin Manager (Week 7)

4 years ago • 0 comments

The past week was probably not so productive, since I have been busy with moving into my new college dorm… So no new features were added, and I mainly worked on bug fixes and code cleaning.

What I've done

  • Code cleaning. The unused old plugin manager is completely removed. And most plugin related codes in resource manager also got moved into the new plugin manager. The resource manager now only handles displaying of plugins from repo, refreshing buttons' status, and

Read more

GSoC 2019: Week 6

4 years ago • 0 comments

This week I've been working on adding an instrument change warning automatically when an instrument change is added. So far I have a very basic implementation that adds the warning when an instrument change object is added before some notes, and automatically moves the warning when more notes are added before the existing warning. The basic idea is that if an instrument change is added, it finds the next note on that staff (if there is one), and adds a

Read more

GSoC 2019: Week 6 - Icons for the Palette Elements.

4 years ago • 0 comments

Works Planned To Do:

As mentioned in the last week's blog post, I wanted to set icons for the palette elements. To do this I had to understand how the icons for the elements were drawn, so most of the time I had to learn how the pre-existing code worked.

Work Done:

Completed setting the icons for the Palette Elements:

I started by creating a QPixmap by using a QPainter and also reimplemented the Palette::pixmap() function for making drawing the

Read more

GSoC 2019: Plugin Manager (Week 6)

4 years ago • 0 comments

During the last week, I have been working on local plugin management. Though it essentially means moving the original plugin manager inside the resource manager, it took me more time than expected, since lots of code refactoring is needed. So now the complete workflow of installing and enabling a plugin can be achieved in the resource manager, and later we could make this even simpler by automagically enabling the plugin after getting installed.

A demo

the gif is a bit

Read more

GSoC 2019: Chord Symbol Playback - Week 6

4 years ago • 2 comments

So Far

Last week I spent a lot of time on Qt and unfortunately did not get to implement the voicing algorithms I had mentioned last week. I wrote a lot of code and tried to design UIs that I ended up just scrapping, but I've landed on just a more basic system for handling user interaction. I've also improved the testing and fixed a couple bugs. I've also made a few stops this week around Tokyo which stole a

Read more

GSoC 2019: Week 5

5 years ago • 0 comments

Building on my progress from last week, I have finished my work on key signatures interacting with key changes, at least for now. Adding a key change before an instrument change now updates the key signature for that instrument change, including for atonal key signatures, and deleting an instrument change deletes the key change.

After finishing this work, I have been investigating approaches into a dynamic instrument change warning object that is automatically placed at the end of the last

Read more

GSoC 2019: Week 5 - TreeWidget on a Palette

5 years ago • 0 comments

Work Planned To Do:

As mentioned in the last week, I wanted to place the icons of each element in the Palette Item. But due to certain difficulties that I had to face while using the Model-View Programming approach, me and my mentor decided it would be great to use a QTreeWidget instead of a QTreeView. Therefore, this week I had planned to work on creating a palette using a QTreeWidget instead of a QTreeView.

Work Done:

During this week,

Read more

GSoC 2019: Plugin Manager (Week 5)

5 years ago • 2 comments

What I've done

This week I focused on the multi-thread facility and relevant features. Now, multiple downloading, installing and checking for update processes can run simultaneously. This greatly improves the speed, as shown in the demo below:

A demo

[inline:parallel.gif]

The implementation uses a thread pool that Qt provides, and allows a certain number of threads working for each plugin. The number of threads depends on your CPU's thread count.

There're also some other small feautres I've added:

  • Abort install

Read more

GSoC 2019: Chord Symbol Playback - Week 5

5 years ago • 6 comments

First evaluations done!

So far

Last week I ventured into some unfamiliar territory. I spent a lot of time reading code and documentation again to understand how to make UIs for MuseScore with Qt as well as to understand how to use the testing system. Qt is still pretty beastly to me, but I think I have a decent grasp on how to make something that is at least passably pretty to look at. I have set up the ground

Read more